00:06:45 -!- christoph_debian [~user@oteiza.siccegge.de] has quit [Remote host closed the connection] 00:09:12 -!- Fare [~Fare@74.125.59.116] has quit [Ping timeout: 240 seconds] 00:51:51 -!- Quadrescence [~quad@unaffiliated/quadrescence] has quit [Ping timeout: 255 seconds] 00:56:47 Quadrescence [~quad@unaffiliated/quadrescence] has joined #sbcl 05:27:36 -!- akovalenko [~anton@95.73.107.239] has quit [Read error: Operation timed out] 05:28:06 akovalenko [~anton@95.73.107.239] has joined #sbcl 06:07:11 sdemarre [~serge@91.176.40.215] has joined #sbcl 06:28:37 -!- sdemarre [~serge@91.176.40.215] has quit [Read error: Connection reset by peer] 06:46:11 sdemarre [~serge@91.176.11.83] has joined #sbcl 07:19:39 christoph_debian [~user@oteiza.siccegge.de] has joined #sbcl 07:33:46 Blkt [~user@89-96-199-46.ip13.fastwebnet.it] has joined #sbcl 07:41:44 -!- Krystof [~user@81.174.155.115] has quit [Ping timeout: 276 seconds] 07:45:39 good morning everyone 08:45:41 Krystof [~user@81.174.155.115] has joined #sbcl 09:04:43 Posterdati [~tapioca@host133-226-dynamic.10-87-r.retail.telecomitalia.it] has joined #sbcl 09:04:47 hi 09:05:15 please I've got a problem with gsll + sbcl: (ql:quickload "gsll") 09:05:32 Error while trying to load definition for system gsll from 09:05:32 pathname 09:05:32 The variable #:CFFI-GROVEL is unbound. 09:05:32 [Condition of type ASDF:LOAD-SYSTEM-DEFINITION-ERROR] 09:06:19 -!- sbryant [~freenode@ghanima.slavasaur.com] has quit [Quit: ZNC - http://znc.in] 09:08:00 sbryant [~freenode@ghanima.slavasaur.com] has joined #sbcl 09:25:34 Posterdati: What happens if you do (ql:quickload "cffi-grovel") before that? 09:26:09 To load "cffi-grovel": 09:26:09 Load 1 ASDF system: 09:26:09 cffi-grovel 09:26:10 ; Loading "cffi-grovel" 09:26:12 ("cffi-grovel") 09:26:34 right, can you now load gsll? 09:27:50 no 09:28:20 same error 09:28:47 ok, is your quickload version up to date? 09:28:54 don't know 09:29:14 1 dist to check. 09:29:15 You already have the latest version of "quicklisp": 2011-10-01. 09:29:15 NIL 09:29:23 after (ql:update-all-dists) 09:31:39 I did (ql:update-client) 09:31:42 Sorry, works here. No idea. 09:32:22 didn't work too 09:35:43 -!- Posterdati [~tapioca@host133-226-dynamic.10-87-r.retail.telecomitalia.it] has left #sbcl 09:36:44 Posterdati [~tapioca@host133-226-dynamic.10-87-r.retail.telecomitalia.it] has joined #sbcl 09:37:21 :( 10:21:18 akovalen` [~anton@95.72.97.89] has joined #sbcl 10:23:03 -!- akovalenko [~anton@95.73.107.239] has quit [Ping timeout: 256 seconds] 10:23:38 -!- akovalen` is now known as akovalenko 11:49:10 -!- cmm [~cmm@109.67.208.243] has quit [Ping timeout: 258 seconds] 11:49:40 cmm [~cmm@109.67.212.191] has joined #sbcl 12:14:28 homie [~levgue@xdsl-78-35-185-173.netcologne.de] has joined #sbcl 13:08:50 antgreen [~user@70.50.66.43] has joined #sbcl 13:16:26 -!- cmm [~cmm@109.67.212.191] has quit [Ping timeout: 256 seconds] 13:16:54 nyef [~nyef@c-174-63-105-188.hsd1.ma.comcast.net] has joined #sbcl 13:18:48 cmm [~cmm@109.67.212.191] has joined #sbcl 13:49:20 hi 13:49:23 please help 13:49:31 I've got problem using quicklisp to load gsll: on a machine (debian squeeze: emacs23-x 23.2.1, sbcl 1:1.0.40.0-3, slime 1:20100722-1, quicklisp 2011-05-22) it works, on other machine with same software but quicklisp 2011-10-01 it won't load gsll complaining about cffi-grovel: The variable #:CFFI-GROVEL is unbound. 13:58:45 prxq [~mommer@mnhm-590c080a.pool.mediaWays.net] has joined #sbcl 14:00:19 nikodemus [~nikodemus@cs181056239.pp.htv.fi] has joined #sbcl 14:00:23 -!- ChanServ has set mode +o nikodemus 14:00:48 -!- gienah [~mwright@ppp121-44-28-16.lns20.syd6.internode.on.net] has quit [Quit: leaving] 14:00:59 o/ 14:01:03 nyef: aroundp 14:05:16 nyef: very nice work on the fixnums! ...sour grapes: 64-bit build on darwin is broken (make-target-2) 14:05:38 nikodemus: could you help me with gsll and quicklisp? 14:06:12 Posterdati: in theory probably, but not just now 14:06:17 I've got problem using quicklisp to load gsll: on a machine (debian squeeze: emacs23-x 23.2.1, sbcl 1:1.0.40.0-3, slime 1:20100722-1, quicklisp 2011-05-22) it works, on other machine with same software but quicklisp 2011-10-01 it won't load gsll complaining about cffi-grovel: The variable #:CFFI-GROVEL is unbound. 14:07:10 Posterdati: sounds like a problem with gsll or cffi 14:07:20 cffi-grovel loads 14:07:31 gsll no 14:07:40 try to locate the piece of source the error comes from 14:07:47 gsll.asd 14:07:53 (backtrace, v in the debugger) 14:08:00 how? 14:08:21 ok 14:08:29 I've got a Backtrace list 14:08:37 nikodemus: I'm here. 14:08:40 what should I look for? 14:08:53 when you get the error, look at the backtrace and find the frame where the error occurs. probably very close to the top 14:09:26 0: ((FLET #:LAMBDA1702) #) 14:09:26 Locals: 14:09:26 SB-DEBUG::ARG-0 = # 14:09:27 nikodemus: I've never actually tried to build on darwin, is there any real trick to it on Lion with XCode 4.1? 14:09:57 (I'll probably have to XC it from linux, but that's at least straightforward, or should be.) 14:10:02 nyef: haven't updated to lion yet, so don't know. i'm stull on snow leopard 14:10:09 Fair enough. 14:10:30 Posterdati: earlier than that (lower down) 14:12:23 I've got 52 backtrace entries 14:12:37 some of them are green 14:12:40 Posterdati: reading backtraces is an essential skill... 14:12:49 green means restartable 14:13:26 ok 14:13:48 actually, i have a better idea 14:14:02 I've got no cffi-grovel into quicklisp dir 14:14:10 (setf *break-on-signals* 'unbound-variable) 14:14:14 ok 14:14:25 then to quickload it again 14:14:37 The variable #:CFFI-GROVEL is unbound. 14:14:37 BREAK was entered because of *BREAK-ON-SIGNALS* (now rebound to NIL). 14:14:37 [Condition of type SIMPLE-CONDITION] 14:14:46 excellent 14:14:59 now lisppaste (not here!) the backtrace 14:15:08 ok, expanding it? 14:15:11 Mmm. lisppaste to channel "None". 14:15:29 well, i mean lisppaste as opposed to pasting into irc :) 14:17:01 *nyef* sighs. 14:17:10 I did in channel #none 14:17:13 I see that cross-compiling got harder while I wasn't paying attention. 14:17:14 http://paste.lisp.org/display/125429 14:17:24 nikodemus: http://paste.lisp.org/display/125429 14:17:40 nikodemus: what kind of make-target-2 breakage? 14:17:50 x86-64-assem.S:197:suffix or operands invalid for `shl' 14:18:13 that's 2? 14:18:31 nikodemus: ok? 14:19:42 Posterdati: /home/angel/quicklisp/dists/quicklisp/software/gsll-20111001-git/gsll.asd # apparently does does (load-system #:cffi-grovel), which is not going to work replace :cffi-grovel there and it might work 14:20:20 there's no such package in /home/angel/quicklisp/dists/quicklisp/software/ 14:20:29 there's no cffi-grovel 14:20:31 unless you've modified that locally, then report to gsll maintainer :) 14:20:38 Posterdati: separate issue 14:21:14 before updating quicklisp it worked! 14:21:19 unless you're saying /home/angel/quicklisp/dists/quicklisp/software/gsll-20111001-git/gsll.asd isn't there either, in which case your system is utterly confused 14:21:24 Posterdati: cffi-grovel.asd is part of CFFI (within CFFI dir) 14:21:24 14:22:05 there's no cffi directory 14:22:41 Posterdati: either you have ~/quicklisp/dists/quicklisp/software/cffi_0.10.6/, or you aren't using quicklisp's CFFI 14:23:17 there's no cffi directory in ~/quicklisp/dists/quicklisp/software/ 14:23:41 that's why I recommended to start with ql:use-only-quicklisp-systems when you spammed for the second or third time 14:23:45 Posterdati: try (ql:use-only-quicklisp-systems) 14:23:53 same 14:24:05 akovalenko: and I told you that it didn't work 14:24:29 Posterdati: this is not the right channel in any case 14:24:44 Posterdati: I think you don't understand what it does and how to use. (ql:use-only-quicklisp-systems) should be invoked after you restart your CL afresh, before quickloading anything 14:24:46 #quicklisp and #lisp are the places for this 14:25:00 akovalenko: I did so 14:25:18 akovalenko: is restart ok? 14:25:28 sorry, I give up 14:25:34 Posterdati: #quicklisp, not here. i'm there too 14:25:39 ok 14:26:13 #sbcl is sbcl dev channel + urgent sbcl specific issues that no-one one #lisp could figure out 14:26:56 -!- nikodemus changed the topic of #sbcl to: SBCL developer hangout, more dev than help -- but if #lisp can't solve it and it's SBCL specific, we'll try 14:29:04 nikodemus: so anyway, I think that's a make-target-1 problem, surely? 14:30:28 it might be worth seeing what gcc -E says on x86-64-assem.S; specifically gcc -E x86-64-assem.S | grep fixnumize 14:31:13 oops, my bad 14:31:21 cheap trick is probably to have #define N_FIXNUM_TAG_BITS_FOR_ASSEM $1 be emitted by genesis-1 14:31:23 ENOCOFFEE 14:31:37 a target-2 failure would be much, much more interesting 14:32:06 akovalenko: tx, for the hints: I found debian package cl-cffi installed, I don't know why! Thanks again 14:32:24 Ugh. Okay, finally doing something that looks like host-1 for an XC build. 14:32:34 That took entirely too much figuring out. 14:32:35 nikodemus: heh, my gcc-4.6 groks $N_FIXNUM_TAG_BITS somehow :) 14:33:07 *akovalenko* successfully built SBCL/windows/amd64 with nyef's long fixnums 14:34:26 akovalenko: Congratulations. How much damage was involved? 14:34:46 -!- Blkt [~user@89-96-199-46.ip13.fastwebnet.it] has quit [Quit: rebooting] 14:35:03 nyef: only one fix (in my code for thread pooling/resurrection) that I've mentioned earlier was enough :) 14:35:14 Cool. 14:35:22 Hrm. 14:35:42 nyef: well, and some almost-mechanical conflict resolution in symbol-value-in-thread 14:36:29 Mmm. symbol-value-in-thread worries me, somehow. 14:36:54 Probably to do with the implications of precise stack scavenging and a partitioned register set. 14:37:20 nyef: I've opted out for pinning instead of backing off in my fork 14:39:39 nikodemus: Change $N_FIXNUM_TAG_BITS to $(N_FIXNUM_TAG_BITS). 14:40:08 nikodemus! \o/ How goes it? 14:42:00 nikodemus: If I get it building on both linux and darwin, I'll commit the fix. 14:45:40 nyef: that seems to make it happy 14:45:52 redline6561: hi 14:47:14 Hrm. type-error, datum 8590118731 expected-type (mod 1000001), in get-internal-run-type, somewhere under sub-gc. 14:47:44 Blkt [~user@89-96-199-46.ip13.fastwebnet.it] has joined #sbcl 14:47:56 s/run-type/run-time/ 14:50:50 darwin only? 14:52:20 I'm trying to cross-build from linux to darwin. 14:55:48 Looks like the change at least doesn't break the build on linux. 14:56:12 I don't know how we cound 8590118731 for a 32 bit field (: 14:58:07 it definitely looks like a 64-bit field whose minor 32 bits are the correct result 14:58:37 Is struct rusage grovelled, and grovelled correctly? 14:59:40 no structs in grovel-headers.c 15:00:47 Right, I see explicit definitions in unix.lisp for rusage and timeval. 15:01:01 nyef: cross-building may affect grovelling, btw (actually, time-t is grovelled, and it's used in rusage definition) 15:01:11 tsuru [~charlie@adsl-74-179-28-14.bna.bellsouth.net] has joined #sbcl 15:01:37 AIUI, grovel is done at the end of target-1, though, which should un-affect grovelling. 15:01:55 nyef: "seems problematic on Darwin x86-64 (and wrong)" ;; a comment from unix.lisp 15:02:54 Ah. And the grovelled suseconds-t is (sb!alien:signed 64). 15:03:49 __int32_t for __darwin_susecond_t here. 15:04:31 seems right. 15:05:16 Hrm. Yeah, I see that in sys/_types.h too. 15:06:06 what does the disassemble for unix-fast-getrusage look like? 15:06:20 nyef: seems that grovel_headers should be built for target (and run on target), not on your Linux system 15:07:06 akovalenko: And it is, at the end of make-target-1.sh, which I ran on the target. 15:09:49 Hmm. #if !defined(LISP_FEATURE_OS_PROVIDES_SUSECONDS_T) 15:09:49 15:10:40 (than it forcefully defines suseconds-t as long) 15:11:50 Mmm. And I'm not seeing that feature in local-target-features.lisp-expr. 15:13:16 nyef: can you compile tools-for-build/os-provides-suseconds-t.c on target manually? 15:14:18 (and run it, and see if it returns 104 :) 15:16:48 nyef: make-config on host? 15:17:02 Okay, that was the problem. 15:17:16 I was unaware that make-config.sh needed GNUMAKE set up. 15:17:33 oh, awesome failure mode. 15:17:59 Qworkescence [~quad@unaffiliated/quadrescence] has joined #sbcl 15:18:33 And there's some text file that needs a single newline in it, and version.lisp-expr needs setting up, and there's the prefix.def thing... 15:19:19 our cross compiles may have become a tad tedious... 15:20:42 Okay, here's a question: Why doesn't make.sh just pass all of its arg-parsing and whatnot off to make-config.sh, and have it do all the magic to set up a file to be sourced by the other make-* scripts to set up the environment properly? 15:21:30 That way, you make-config on your build target with appropriate command line, and it sets "everything" up for you, and you then just do the dance between host and target for the different phases? 15:21:40 no sane reason, i guess 15:21:54 it's just grown into current shape bit by bit 15:23:11 Hrm. Lot of pointer targets in return differ in signedness, some implicit declarations, a cast to pointer from integer of different size... and an unused variable. 15:23:15 All while building the runtime. 15:25:08 yeah, the darwin build has never been warning-free in the runtime 15:25:31 I guess it might be time to spend some TLC on it. 15:25:49 -!- antgreen [~user@70.50.66.43] has quit [Remote host closed the connection] 15:26:10 PPC test results have gotten worse at some point, btw. 15:26:49 Don't have my PPC powered up right now, but I remember something about an unhandled exception in one of the arith test files, among other things. 15:26:58 might be me (: 15:27:08 -!- cmm [~cmm@109.67.212.191] has quit [Ping timeout: 276 seconds] 15:27:43 cmm [~cmm@109.67.212.191] has joined #sbcl 15:28:06 Umm... And the commentary in SYS:SRC;CODE;TARGET-THREAD about stack scavenging on threaded targets always being conservative is a little worrisome... 15:28:45 As of unhandled arith exceptions... I've noticed (about a year ago) that FPU modes aren't set for new threads. That was bad for Windows, so i've added a #!+win32 fix.. 15:29:09 dunno if it's bad for other platforms as well 15:29:52 Hrm. That's probably not /good/, but I don't quite expect that to be an issue for the arith tests. 15:30:21 nyef: if with-pinned-objects is guaranteed to work, that's what should be used for thread function (iirc, it's where the conservatism is relied upon) 15:30:24 Umm... compiling grovel-headers bitches quite a bit about "format '%d' expects type 'int', but argument 3 has type 'long unsigned int'". 15:30:50 akovalenko: Yes, when you can get the object into W-P-O without a race condition. 15:34:45 -!- antifuchs [~foobar@care.boinkor.net] has quit [Ping timeout: 244 seconds] 15:35:39 nyef: are the comment that bothers you in %symbol-value-in-thread? You may take my version that uses pinning (and make it do so unconditionally, removing #!-sb-gc-safepoint stuff). 15:36:16 That's one of the comments that bother me, but it's the lesser of two evils. 15:36:44 Yay. make-target-2 is finally running. 15:37:48 antifuchs [~foobar@care.boinkor.net] has joined #sbcl 15:40:58 -!- redline6561 is now known as redline6561_nop 15:45:11 this is amusing: take a look at the (POLICY USE ...) bit in SB-C::TAIL-ANNOTATE 15:45:35 -!- _8david` [~user@port-92-195-41-59.dynamic.qsc.de] has quit [Ping timeout: 260 seconds] 15:46:43 nikodemus: Is that... backwards? 15:46:50 Ah. 15:46:55 Integers are all true. 15:47:53 There's something wrong with a policy mechanism where such a mistake can be made for what is essentially a boolean decision. 15:50:07 rpg [~rpg@mpls.sift.info] has joined #sbcl 15:51:58 I remember finding something like that -- (or ...) somewhere in some backend 15:52:09 easily done when you've just been writing C 15:53:27 as maintainers are wont to do. 15:54:22 Mmm. Somewhere around, I've got a tree marked "no-x86oid-assem.S". 15:54:29 turn java mode on and add a BOOLEAN type check? 15:54:55 Might be interesting to just do a proof-of-concept test for moving more runtime stuff into the core. 15:57:47 nyef: might be even more interesting to get rid of ldso-stubs first (of its hand-maintained function list, at least :) 15:58:46 haha. the POLICY bug has been there since 0.7.12.10... so "fixing" it and turning TCO off by default might surprise people :) 15:59:23 Almost certainly more of an incompatible change than wider-fixnums (which only broke, what, two packages in quicklisp?) 15:59:26 nikodemus: proposed fix sounds right here. 15:59:35 nyef: what two? :) 15:59:41 fset and? 15:59:55 The other was a hu.dwim project. 16:00:17 It was using sb-pcl::n-positive-fixnum-bits or whatever it was. 16:01:02 *pkhuong* is half expecting a perf regression report of < 1%. 16:01:07 To which the only response I can give was "you earned that, use INTEGER-LENGTH instead". 16:01:56 nyef: have ita people shown appropriate exicitement for the patch yet? 16:02:03 -!- Krystof [~user@81.174.155.115] has quit [Remote host closed the connection] 16:02:10 I have no idea. 16:02:36 sounds right up QPX alley to me 16:02:44 Yeah, more or less. 16:03:07 Although, it might slow some array access down just a touch. 16:03:21 And if it does, they're perfectly welcome to patch n-fixnum-tag-bits back to 3. 16:03:48 At least it's only a single-character change now. 16:05:08 time to get packing, i think. bye! 16:05:12 -!- nikodemus [~nikodemus@cs181056239.pp.htv.fi] has quit [Quit: Leaving] 16:13:55 Krystof [~user@81.174.155.115] has joined #sbcl 16:17:35 -!- hlavaty [~user@91-65-217-112-dynip.superkabel.de] has quit [Remote host closed the connection] 16:21:43 -!- Blkt [~user@89-96-199-46.ip13.fastwebnet.it] has quit [Quit: going home] 17:09:47 homie` [~levgue@xdsl-78-35-179-64.netcologne.de] has joined #sbcl 17:11:53 -!- homie [~levgue@xdsl-78-35-185-173.netcologne.de] has quit [Ping timeout: 244 seconds] 17:12:00 -!- nyef [~nyef@c-174-63-105-188.hsd1.ma.comcast.net] has quit [Ping timeout: 240 seconds] 17:12:21 nyef [~nyef@c-174-63-105-188.hsd1.ma.comcast.net] has joined #sbcl 17:16:03 lichtblau [~user@p4FC96265.dip.t-dialin.net] has joined #sbcl 17:28:54 -!- homie` [~levgue@xdsl-78-35-179-64.netcologne.de] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 17:31:05 homie [~levgue@xdsl-78-35-179-64.netcologne.de] has joined #sbcl 18:17:49 -!- lichtblau [~user@p4FC96265.dip.t-dialin.net] has quit [Ping timeout: 240 seconds] 18:53:12 lichtblau [~user@port-92-195-173-253.dynamic.qsc.de] has joined #sbcl 19:32:37 -!- Krystof [~user@81.174.155.115] has quit [Ping timeout: 258 seconds] 19:44:30 -!- nyef [~nyef@c-174-63-105-188.hsd1.ma.comcast.net] has quit [Quit: G'night all.] 19:51:57 Krystof [~user@81.174.155.115] has joined #sbcl 19:56:37 -!- Krystof [~user@81.174.155.115] has quit [Ping timeout: 240 seconds] 20:30:48 -!- sdemarre [~serge@91.176.11.83] has quit [Ping timeout: 240 seconds] 20:49:52 _8david [~user@port-92-195-43-239.dynamic.qsc.de] has joined #sbcl 20:52:07 -!- lichtblau [~user@port-92-195-173-253.dynamic.qsc.de] has quit [Ping timeout: 252 seconds] 21:39:47 -!- rpg [~rpg@mpls.sift.info] has quit [Ping timeout: 252 seconds] 22:09:43 -!- cow-orker [~foobar@pogostick.net] has quit [*.net *.split] 22:09:43 -!- Xof [~crhodes@158.223.51.79] has quit [*.net *.split] 22:09:43 -!- jsnell [~jsnell@ash.snellman.net] has quit [*.net *.split] 22:11:20 cow-orker [~foobar@pogostick.net] has joined #sbcl 22:11:20 Xof [~crhodes@158.223.51.79] has joined #sbcl 22:11:20 jsnell [~jsnell@ash.snellman.net] has joined #sbcl 22:11:20 -!- niven.freenode.net has set mode +o Xof 22:54:26 nyef [~nyef@pool-70-109-155-234.cncdnh.east.myfairpoint.net] has joined #sbcl 23:21:31 ((fixnum fixnum) (if (> index #.(- sb!vm:n-word-bits sb!vm:n-lowtag-bits)) 23:21:33 seriously? 23:22:08 -!- Qworkescence [~quad@unaffiliated/quadrescence] has quit [Quit: Leaving] 23:22:18 What's wrong with integer-length m-p-f? :( 23:22:26 Where's this? 23:22:41 logbitp. 23:22:51 And, um... XC leakage, maybe? 23:22:51 the out of line version. 23:23:28 no, we have to guard against this already. 23:23:46 can't use #., but integer-length is constant folded. 23:34:23 Do you feel (> index #.(- sb!vm:n-word-bits sb!vm:n-fixnum-tag-bits 1)) is preferable? 23:34:49 No. 23:35:01 integer-length it is. 23:35:16 sb!vm:n-positive-fixnum-bits. 23:35:54 (Which /is/ (- n-word-bits n-fixnum-tag-bits 1), but it's an appropriate definition in context.) 23:36:20 So, integer-length is really shouldn't be. 23:37:20 there's an off by one in that logic. 23:37:29 it doesn't really matter because it's a fast path, but still. 23:37:52 An off-by-one? Where? 23:39:11 (logand (ash 1 (- sb!vm:n-word-bits sb!vm:n-lowtag-bits)) most-positive-fixnum) => 0 23:40:12 Well, yes. But 256 isn't a valid unsigned-byte 8. 23:40:41 You still need 8 bits to represent 255. 23:41:06 yes. The conditional determines when we're just checking for negativeness. 23:43:32 So the off-by-one is in logbitp, not in n-positive-fixnum-bits? 23:43:54 Do you happen to know where the documentation for deadlines is? 23:44:01 It's not in the manual. 23:44:42 nikodemus's head? 23:45:08 Oh, ugh. All the symbols are SB!SYS. 23:47:18 I hope some of the work nikodemus got funded for is documenting and exporting the deadline interface.