2015-11-01T00:13:34Z stassats`: ok, looks like i've got SB-VM:CONTEXT-FLOAT-REGISTER to work on arm64 2015-11-01T00:17:17Z stassats`: got systems i care about covered 2015-11-01T00:17:40Z nyef: So it's on me for the next few? 2015-11-01T00:18:02Z stassats`: it's not as much for cpus, it's OSes 2015-11-01T00:18:07Z nyef: Ah. 2015-11-01T00:18:09Z stassats`: i've got tired of snooping in header files 2015-11-01T00:19:06Z stassats`: &((struct fpsimd_context *)context->uc_mcontext.__reserved)->vregs[offset]; 2015-11-01T00:19:11Z stassats`: is the ARM64 solution 2015-11-01T00:19:19Z stassats`: lovely, isn't it? 2015-11-01T00:20:13Z nyef: Mmm. 2015-11-01T00:21:52Z stassats`: and it will probably break in the future 2015-11-01T00:22:18Z stassats`: i hope not, otherwise what's the point of reserving? 2015-11-01T00:22:28Z nyef: ... AFAICT, the floating-point representation for NaNs is the same between PPC and HPPA. 2015-11-01T00:22:47Z stassats`: they do not use IEEE? 2015-11-01T00:23:59Z nyef: They do. 2015-11-01T00:24:26Z nyef: But see code/float.lisp, FLOAT-NAN-P and FLAT-TRAPPING-NAN-P. 2015-11-01T00:24:37Z nyef: Err... s/FLAT/FLOAT/. 2015-11-01T00:25:48Z nyef: Ah! 2015-11-01T00:25:57Z nyef: The bit sense is reversed. 2015-11-01T00:26:06Z stassats`: be? 2015-11-01T00:26:20Z stassats`: but that's not right 2015-11-01T00:26:47Z nyef: PPC QNaNs have the bit as 1, HPPA QNaNs have the bit as 0. 2015-11-01T00:27:42Z stassats`: i need to begin adding threading VOPs to arm64 2015-11-01T00:27:49Z stassats`: and barrier instructions 2015-11-01T00:30:56Z nyef: Okay, FLOAT-TRAPPING-NAN-P implies FLOAT-NAN-P. 2015-11-01T00:31:25Z nyef: Yeah, I was right. This logic is broken. 2015-11-01T00:31:44Z nyef: With any luck, fixing it should clear up a couple of test cases, maybe more. 2015-11-01T00:32:20Z stassats`: a good band name, Broken Logic 2015-11-01T00:32:39Z nyef: ... Probably either techno or industrial. 2015-11-01T00:33:33Z stassats`: how about complete 64-bitization for sbcl 2.0? 2015-11-01T00:33:42Z stassats`: "now twice as large!" 2015-11-01T00:33:46Z nyef: Hrm... 2015-11-01T00:33:58Z stassats`: two down 2015-11-01T00:34:05Z nyef: All platforms up to some minimal spec for support? 2015-11-01T00:34:37Z stassats`: minimal spec would be "working" 2015-11-01T00:34:50Z nyef: All architectures working properly on Linux, all supporting threads, all supporting 64-bit variants? 2015-11-01T00:35:08Z stassats`: sounds right 2015-11-01T00:35:17Z nyef: Dibs on MIPS, Alpha, and HPPA. 2015-11-01T00:35:34Z stassats`: what else can be big for 2.0? 2015-11-01T00:35:41Z stassats`: precises GC on x86? 2015-11-01T00:35:51Z stassats`: beating C? 2015-11-01T00:36:01Z nyef: Beating the averages? 2015-11-01T00:36:04Z nyef runs. 2015-11-01T00:36:14Z stassats`: working on 640K of RAM? 2015-11-01T00:36:21Z nyef: Should be enough for anybody! 2015-11-01T00:36:41Z stassats`: maybe small executable 2015-11-01T00:36:45Z stassats`: application delivery 2015-11-01T00:36:54Z stassats`: and no bugs, that's a given 2015-11-01T00:37:31Z stassats`: oh, i know, CRLF support 2015-11-01T00:37:40Z nyef: Well, right now, Alpha doesn't build, and I don't think that anyone has even tried HPPA in a few years. 2015-11-01T00:40:04Z stassats`: there's qemu-alpha 2015-11-01T00:43:04Z nyef: I should be getting a disk to install in my DS10L on Monday. 2015-11-01T00:48:44Z nyef: Okay, PPC, SPARC, and x86 are all confirmed to have a QNaN bit, not an SNaN bit. 2015-11-01T00:52:14Z stassats` quit (Ping timeout: 260 seconds) 2015-11-01T00:52:15Z nyef: And Alpha also has a QNaN bit. 2015-11-01T00:55:46Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-01T00:57:07Z nyef: Time to start another build... 2015-11-01T01:03:45Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-11-01T01:09:33Z dougk2 quit (Ping timeout: 265 seconds) 2015-11-01T01:10:00Z dougk2 joined #sbcl 2015-11-01T01:21:47Z nyef: Hrm... VAX doesn't support IEEE FP, does it? 2015-11-01T01:21:52Z nyef: ... or does it? 2015-11-01T01:29:49Z nyef: Doesn't quite seem to. 2015-11-01T01:52:54Z sjl quit (Ping timeout: 260 seconds) 2015-11-01T01:58:43Z sjl joined #sbcl 2015-11-01T02:02:02Z nyef: Okay, only expected failures from compiler.pure.lisp now! (-: 2015-11-01T02:02:34Z nyef: Time for another full test-suite run. 2015-11-01T02:04:09Z nyef: Heh. Bet this also clears up float.pure.lisp. 2015-11-01T02:32:44Z scymtym_ quit (Ping timeout: 272 seconds) 2015-11-01T02:38:58Z nyef: http://paste.lisp.org/display/157516#6 <-- new test results. 2015-11-01T02:40:58Z SamSkulls quit (Ping timeout: 272 seconds) 2015-11-01T03:04:14Z nyef: ... Why is it called sub-set-debug-var-slot instead of (setf sub-access-debug-var-slot)? 2015-11-01T03:06:54Z nyef: I... have 64-bit results from sb-vm:context-register on a 32-bit lisp. 2015-11-01T03:07:29Z nyef: Yes, it's 64-bit hardware. Yes, the underlying registers are 64-bit registers. 2015-11-01T03:08:48Z nyef: Gah! It's explicitly unsigned-long-long. WTF? 2015-11-01T03:13:21Z nyef: Okay, that's actually specified by Linux. 2015-11-01T03:17:30Z nyef: clhs mask-field 2015-11-01T03:17:30Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_mask_f.htm 2015-11-01T03:28:26Z sjl quit (Ping timeout: 240 seconds) 2015-11-01T03:39:34Z Bike quit (Remote host closed the connection) 2015-11-01T03:53:22Z sjl joined #sbcl 2015-11-01T03:58:55Z sjl quit (Ping timeout: 268 seconds) 2015-11-01T04:17:19Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-01T04:23:08Z sjl joined #sbcl 2015-11-01T04:31:14Z dougk2 joined #sbcl 2015-11-01T04:43:25Z guicho joined #sbcl 2015-11-01T04:47:50Z sjl quit (Ping timeout: 240 seconds) 2015-11-01T05:11:33Z pchrist quit (Ping timeout: 256 seconds) 2015-11-01T05:18:35Z pchrist joined #sbcl 2015-11-01T05:35:34Z sjl joined #sbcl 2015-11-01T05:42:38Z sjl quit (Ping timeout: 265 seconds) 2015-11-01T05:48:57Z dougk2 quit (Ping timeout: 256 seconds) 2015-11-01T06:10:22Z Bike joined #sbcl 2015-11-01T06:38:08Z edgar-rft joined #sbcl 2015-11-01T06:44:25Z guicho quit (Quit: さようなら) 2015-11-01T07:04:45Z Bike quit (Quit: Lost terminal) 2015-11-01T07:05:10Z Bike joined #sbcl 2015-11-01T07:32:32Z sjl joined #sbcl 2015-11-01T07:41:02Z sjl quit (Ping timeout: 260 seconds) 2015-11-01T07:43:46Z sjl joined #sbcl 2015-11-01T08:03:43Z hydan joined #sbcl 2015-11-01T08:12:02Z sjl quit (Read error: Connection reset by peer) 2015-11-01T08:12:17Z hydan quit (Remote host closed the connection) 2015-11-01T08:26:46Z sjl joined #sbcl 2015-11-01T08:38:30Z sjl quit (Ping timeout: 240 seconds) 2015-11-01T08:41:46Z sjl joined #sbcl 2015-11-01T08:47:35Z nzambe quit (Ping timeout: 264 seconds) 2015-11-01T08:55:10Z Shinmera joined #sbcl 2015-11-01T09:03:11Z scymtym_ joined #sbcl 2015-11-01T09:06:22Z abbe quit (Ping timeout: 246 seconds) 2015-11-01T09:08:53Z abbe joined #sbcl 2015-11-01T09:14:41Z sjl quit (Ping timeout: 250 seconds) 2015-11-01T09:23:06Z ASau quit (Ping timeout: 260 seconds) 2015-11-01T10:01:52Z sjl joined #sbcl 2015-11-01T10:07:14Z sjl quit (Read error: Connection reset by peer) 2015-11-01T10:21:55Z sjl joined #sbcl 2015-11-01T10:32:49Z attila_lendvai joined #sbcl 2015-11-01T10:32:49Z attila_lendvai quit (Changing host) 2015-11-01T10:32:49Z attila_lendvai joined #sbcl 2015-11-01T10:34:58Z sjl quit (Ping timeout: 260 seconds) 2015-11-01T10:36:14Z hydan joined #sbcl 2015-11-01T10:36:47Z hydan quit (Remote host closed the connection) 2015-11-01T10:54:04Z hydan joined #sbcl 2015-11-01T10:55:57Z hydan quit (Remote host closed the connection) 2015-11-01T11:13:23Z stassats` joined #sbcl 2015-11-01T11:33:06Z hydan joined #sbcl 2015-11-01T11:45:33Z hydan quit (Remote host closed the connection) 2015-11-01T11:47:00Z hydan joined #sbcl 2015-11-01T12:02:18Z stassats`: i think i have to write new long-float vops after all 2015-11-01T12:02:31Z stassats`: there is no writer vops 2015-11-01T12:02:50Z stassats`: and sap-ref-long will stop returning doubles if long-float support makes a come back 2015-11-01T12:11:48Z fridim_ quit (Ping timeout: 255 seconds) 2015-11-01T12:21:30Z dougk2 joined #sbcl 2015-11-01T12:40:09Z dougk2 quit (Ping timeout: 255 seconds) 2015-11-01T12:54:20Z rszeno joined #sbcl 2015-11-01T13:15:08Z nyef: Heh. I was wondering if you were going to come to that conclusion. (-: 2015-11-01T13:47:00Z fridim_ joined #sbcl 2015-11-01T14:51:02Z nyef: Looks like the MIPS box that I was using died last night. 2015-11-01T14:52:53Z nyef: Taking a new baseline build, since I had to swap to what ISTR is a slower machine. 2015-11-01T14:53:10Z nyef: (And because the sb-gmp tests started failing, for some reason.) 2015-11-01T14:56:22Z rszeno quit (Quit: Leaving.) 2015-11-01T15:02:17Z sjl joined #sbcl 2015-11-01T15:19:13Z fikusz quit (Quit: Leaving) 2015-11-01T15:31:34Z guicho joined #sbcl 2015-11-01T15:54:43Z nyef: Hrm. sb-gmp tests passed this time. 2015-11-01T15:54:48Z nyef: That's... worrisome. 2015-11-01T16:03:11Z nyef: And next build running, so I now have another hour to wait. 2015-11-01T16:08:56Z nyef: And the build is only about ten minutes slower on this box, suggesting that it's mainly memory bandwidth bound, not compute bound. 2015-11-01T16:26:15Z zacts quit (Read error: Connection reset by peer) 2015-11-01T16:27:31Z zacts joined #sbcl 2015-11-01T16:47:59Z stassats`: better cpu would be able to extract more stuff to do 2015-11-01T16:51:15Z nyef: Oh? 2015-11-01T16:53:43Z gingerale joined #sbcl 2015-11-01T16:56:54Z guicho quit (Quit: さようなら) 2015-11-01T16:58:15Z stassats`: reordering around memory operations 2015-11-01T16:58:33Z nyef: Four-pipe superscalar out-of-order sufficient for that? 2015-11-01T17:01:49Z stassats`: what is it on haswell, 14-19 stages? 2015-11-01T17:01:59Z stassats`: not sure why it's listed as variable 2015-11-01T17:03:47Z nyef: MIPS R16000. The t5 architecture is rather impressive. (-: 2015-11-01T17:04:30Z nyef: Variable? Maybe some instructions can skip some of the pipeline stages? 2015-11-01T17:04:45Z nyef: Okay, phew, the sb-gmp tests just passed. 2015-11-01T17:04:55Z nyef: ... I should probably rebuild gmp, actually. 2015-11-01T17:05:42Z stassats`: looks like it depends on the uop cache 2015-11-01T17:11:10Z nyef: Hrm. On the one hand, my change definitely affected a broken test case. On the other hand, it didn't actually FIX it. 2015-11-01T17:32:04Z sjl quit (Ping timeout: 272 seconds) 2015-11-01T17:38:19Z flavioc joined #sbcl 2015-11-01T18:00:13Z nyef: Wow. MIPS %SET-SAP-REF-DOUBLE-C is broken. 2015-11-01T18:00:41Z nyef: Build time again! 2015-11-01T18:12:50Z edgar-rft quit (Quit: edgar-rft) 2015-11-01T18:14:12Z clique joined #sbcl 2015-11-01T18:14:44Z clique quit (Client Quit) 2015-11-01T18:45:43Z ASau joined #sbcl 2015-11-01T19:09:19Z lnostdal__ quit (Ping timeout: 240 seconds) 2015-11-01T19:14:12Z nyef: Grr... Build time _AGAIN_. 2015-11-01T19:14:27Z stassats`: do you fully rebuild? why not just cross-build? 2015-11-01T19:14:43Z stassats`: i cross-build even with 12 minute self builds 2015-11-01T19:15:59Z nyef: Hrm. I suppose I could do something with NFS to do cross-builds. 2015-11-01T19:16:08Z stassats`: i just rsync 2015-11-01T19:16:13Z nyef: Or that. 2015-11-01T19:16:29Z stassats`: there some rsync in make-config, but was too lazy to read about it 2015-11-01T19:16:36Z nyef: That makes sense for the moment, but will likely make less sense once I'm doing this on remote machines. 2015-11-01T19:16:39Z stassats`: and i had my rsync scripts done already 2015-11-01T19:17:18Z stassats`: also used network-over-usb to get faster cold-core syncs 2015-11-01T19:17:31Z stassats`: it's faster than through wireless 2015-11-01T19:18:38Z nyef: Okay, important question time: SPARC, HPPA, or Alpha next? 2015-11-01T19:18:43Z stassats`: hppa 2015-11-01T19:18:48Z nyef: Really? 2015-11-01T19:18:53Z stassats`: on OSF1 2015-11-01T19:19:01Z nyef: No can do. Linux only. 2015-11-01T19:19:11Z stassats`: or was that alpha? 2015-11-01T19:19:23Z nyef: My Alpha is Linux only as well. 2015-11-01T19:19:35Z nyef: And yeah, I think OSF1 was Alpha, not HPPA. 2015-11-01T19:19:42Z stassats`: looks there was OSF1 for HPPA, but not for long 2015-11-01T19:20:06Z stassats`: "The port was however never widely distributed and only sold for a short time as a commercial product, which was withdrawn quickly (probably due to not complete/competitive hardware and software support when compared to internal and external competitors). It was however used widely at the University of Utah. " 2015-11-01T19:21:07Z nyef: With any luck, with the current MIPS build, I'll be down to two known failures in compiler.pure.lisp, the two packages.impure.lisp failures, and the invalid exit status from exhaust.impure.lisp. 2015-11-01T19:21:14Z stassats`: nyef: i built sparc within the last two years, there is even an alpha build to download 2015-11-01T19:21:30Z nyef: Alpha failed to cross-build for me a couple of days ago. 2015-11-01T19:21:41Z stassats`: i can cross build apha 2015-11-01T19:22:08Z stassats`: that's about the only thing i can do with alpha 2015-11-01T19:22:19Z nyef: Heh. 2015-11-01T19:22:34Z stassats`: still may be useful 2015-11-01T19:22:37Z lnostdal__ joined #sbcl 2015-11-01T19:28:25Z stassats`: ; (during macroexpansion of (DEFINE-VOP (DOUBLE-FLOAT-LOW-BITS) ; ...)) ; UNSIGNED-BYTE-64 is not a defined primitive type 2015-11-01T19:28:35Z nyef: That'd be the one. 2015-11-01T19:29:23Z nyef: So, I should be getting my DS10L up and running properly tomorrow, so I'll definitely be tackling Alpha soon. 2015-11-01T19:31:42Z stassats`: adding that, out of bounds in !INTERN-IMPORTANT-ARRAY-TYPE-INSTANCES 2015-11-01T19:32:16Z nyef: Feel free to leave sorting out the alpha support to me. 2015-11-01T19:33:18Z nyef: I'm trying to increase my commit count, after all. (-: 2015-11-01T19:35:01Z stassats`: *unsigned-byte-n-types* is 33-long 2015-11-01T19:35:13Z stassats`: but of course it tries to get the 63rd element 2015-11-01T19:36:10Z stassats`: so, it should use n-machine-word-bits? 2015-11-01T19:37:02Z stassats`: this 32-on-64-but-wants-to-be-64-bit-sometimes is annoying 2015-11-01T19:37:21Z stassats`: the fact that it's not just confined to the backend 2015-11-01T19:37:28Z stassats`: but is all over the place 2015-11-01T19:38:41Z nyef: One of the reasons why I want to tackle Alpha... and MIPS n32. 2015-11-01T19:42:31Z stassats`: ok, alpha was a bad choice 2015-11-01T19:42:35Z stassats`: let's try hppa 2015-11-01T19:43:41Z stassats`: cross compiler built 2015-11-01T19:46:49Z nyef: Damnit, leave my targets alone! d-: 2015-11-01T19:51:53Z stassats`: i'll just fix one thing for hppa 2015-11-01T19:51:56Z stassats`: so you'll have no excuses 2015-11-01T19:53:04Z nyef: ... Not the FLOAT-NAN-P disaster, I hope? That's already in my pending queue. 2015-11-01T19:53:32Z stassats`: no, just one ignore declaration 2015-11-01T19:53:43Z nyef: Oh, okay. 2015-11-01T19:54:12Z stassats`: otherwise it builds 2015-11-01T19:54:23Z stassats`: croaks somewhere in genesis, for i don't have a proper sbcl.nm 2015-11-01T19:55:27Z stassats`: there's only mips, ppc, arm and s390 gccs in debian 2015-11-01T19:57:57Z stassats`: so, sbcl-s390? 2015-11-01T19:59:16Z sjl_ joined #sbcl 2015-11-01T19:59:35Z stassats`: s390x 2015-11-01T20:03:04Z nyef: mips or mipsel? 2015-11-01T20:03:21Z nyef: Is s390 the mainframe system? 2015-11-01T20:07:15Z sjl_ quit (Read error: Connection reset by peer) 2015-11-01T20:24:08Z nyef: Okay, improvement! Fourteen test failures for callback.impure, rather than an early exit. 2015-11-01T20:28:20Z akkad quit (Excess Flood) 2015-11-01T20:28:32Z nyef: ... And I get the fun of figuring out if these bugs are on the call-out side or the callback side. 2015-11-01T20:31:02Z akkad joined #sbcl 2015-11-01T20:35:55Z dougk2 joined #sbcl 2015-11-01T20:40:20Z stassats`: nyef: both 2015-11-01T20:40:34Z nyef: Very probably. 2015-11-01T20:40:38Z stassats`: nyef: which callback failures 2015-11-01T20:40:50Z stassats`: both was for "mips or mipsel" 2015-11-01T20:41:17Z nyef: Oh. 2015-11-01T20:41:43Z nyef: http://paste.lisp.org/display/157516#7 (captcha was "3600" this time) 2015-11-01T20:43:26Z stassats`: so, stack passed single floats and register passed double floats? 2015-11-01T20:43:29Z flavioc quit (Ping timeout: 268 seconds) 2015-11-01T20:43:50Z nyef: ... Hunh. 2015-11-01T20:43:55Z nyef: Hadn't quite gotten that far. 2015-11-01T20:44:22Z nyef: There's also the thing with the SHORT-RESULT tests as well. 2015-11-01T20:45:57Z stassats`: wouldn't trust that one to get actual callbacks right 2015-11-01T20:46:40Z stassats`: but something to investigate 2015-11-01T20:52:05Z stassats`: so, is it o32 abi? 2015-11-01T20:52:12Z nyef: Should be, yes. 2015-11-01T20:52:23Z nyef: Covering n32 is going to be interesting. 2015-11-01T20:52:50Z stassats`: "The o32-bit ABI allows only leading floating point (FP) arguments to be passed in FP registers; those coming after integer registers must be moved to integer registers" 2015-11-01T20:52:51Z nyef: Not that I _can_ do n32 right now, given the situation with the linux kernel. 2015-11-01T20:53:32Z nyef: I can't help but think that we may want to have some comprehensive call-out tests that don't require callbacks. 2015-11-01T20:53:35Z flavioc joined #sbcl 2015-11-01T20:53:40Z nyef: Presuming that we don't have some already, that is. 2015-11-01T20:54:14Z stassats`: and testing callbacks by actually calling C would be helpful too 2015-11-01T20:55:18Z dougk2 quit (Ping timeout: 260 seconds) 2015-11-01T20:57:19Z stassats`: reverse ssh to root doesn't seem to work 2015-11-01T20:57:44Z stassats`: the terminal in qemu is kinda broken 2015-11-01T21:00:04Z stassats`: or just not nice to use 2015-11-01T21:04:58Z stassats`: wrote a short C test, passing and returning short int works fine 2015-11-01T21:05:06Z fridim_ quit (Ping timeout: 260 seconds) 2015-11-01T21:05:24Z stassats`: and (short x, double y) works 2015-11-01T21:05:37Z nyef: What about double x, short y ? 2015-11-01T21:05:49Z stassats`: trying three doubles now 2015-11-01T21:06:10Z nyef: And then it'll turn out that it's specific to big-endian or something. 2015-11-01T21:07:13Z stassats`: three doubles work 2015-11-01T21:08:22Z stassats`: (double x, double y, double m, float f) does too 2015-11-01T21:08:28Z stassats`: ok, let's try callbacks now 2015-11-01T21:08:53Z nyef: Double callback results are broken. 2015-11-01T21:09:05Z nyef: ... Possibly only on big-endian. 2015-11-01T21:09:40Z stassats`: that's real callbacks? 2015-11-01T21:09:51Z stassats`: not calling back ourselves? 2015-11-01T21:10:06Z nyef: Calling back to ourselves. 2015-11-01T21:10:33Z nyef: It's an obvious issue in the callback wrapper, plus a bug in the SAP-set function. 2015-11-01T21:11:43Z nyef: I should probably pull, rebase, add NEWS entries, and push what I have so far. 2015-11-01T21:11:55Z nyef: I think I'm up to eleven commits already. 2015-11-01T21:12:34Z stassats`: ok, callbacks are really broken 2015-11-01T21:13:15Z nyef: That's... not news. 2015-11-01T21:14:22Z stassats`: for floats, passing and returning 2015-11-01T21:15:04Z stassats`: scratch that, just passing 2015-11-01T21:15:08Z stassats`: returning a double works 2015-11-01T21:15:22Z nyef: You're on little-endian? 2015-11-01T21:15:25Z stassats`: be 2015-11-01T21:15:28Z nyef: Hrm. 2015-11-01T21:16:19Z nyef: Hang about... What on earth? 2015-11-01T21:16:50Z nyef: Oh! Nevermind. Can't read this code worth a damn yet. 2015-11-01T21:18:24Z stassats`: disassembling the callback, f12 and f14 are used 2015-11-01T21:19:59Z stassats`: it got low and high bits mixed up 2015-11-01T21:21:14Z stassats`: it does try to be smart with *backend-byte-order* 2015-11-01T21:21:33Z nyef: Yeah, but the smarts keep breaking because they get tested on one side and not the other. 2015-11-01T21:22:11Z stassats`: do i have to get a little-endian mips now too? 2015-11-01T21:22:25Z nyef: I'm somewhat wondering the same thing. (-: 2015-11-01T21:22:49Z nyef: Oh, wait... Doesn't MIPS hardware allow a reverse-endian mode for userspace? 2015-11-01T21:23:43Z stassats`: flipped :big-endian and :little-endian, works 2015-11-01T21:24:36Z stassats`: now for some other combinations 2015-11-01T21:25:07Z nyef: Oh! I think I know what's going on with the :SHORT-RESULT tests. 2015-11-01T21:25:44Z stassats`: ok, now double, double works 2015-11-01T21:25:52Z stassats`: short,double,double doesn't 2015-11-01T21:26:17Z stassats`: short even doesn't work, i passed -2, it tells me -1 2015-11-01T21:26:26Z nyef: Right... The FPR case for DOUBLE args? 2015-11-01T21:26:35Z nyef: Or the GPR case? 2015-11-01T21:26:37Z stassats`: int-seen 2015-11-01T21:27:00Z stassats`: so, this is not o32? 2015-11-01T21:27:15Z nyef: This _should_ be o32. 2015-11-01T21:27:29Z stassats`: is my description of o32 wrong? 2015-11-01T21:27:35Z nyef: I have no idea. 2015-11-01T21:27:43Z stassats`: i can call short,double,double 2015-11-01T21:27:49Z stassats`: so, at least that part is right 2015-11-01T21:27:58Z stassats`: but callback can't call short,double,double 2015-11-01T21:28:35Z stassats`: in (double-float :arg-tn) (>= stack-frame-size 4) confuses me, though 2015-11-01T21:29:16Z stassats`: ok, i see now 2015-11-01T21:29:24Z stassats`: there's some 'double-int-carg-reg 2015-11-01T21:30:38Z stassats`: ok wait, i think i didn't recompile my new version of callbacks 2015-11-01T21:31:29Z nyef: Yeah, callbacks are generally broken for sub-word-wide values on big-endian. 2015-11-01T21:32:13Z nyef: Let me guess... single-float values are padded to doubles on the stack? 2015-11-01T21:32:35Z nyef: Hrm... No, that's not it. 2015-11-01T21:32:50Z stassats`: ok, switched, still bad results 2015-11-01T21:33:38Z stassats`: sw a0,0(sp) sw a3,8(sp) sw a2,12(sp) 2015-11-01T21:33:42Z stassats`: that's for short,double,double 2015-11-01T21:34:26Z nyef: The second double is presumably already on the stack? 2015-11-01T21:35:09Z nyef: Stack single-floats are busted? 2015-11-01T21:35:27Z nyef: But register single-floats aren't? 2015-11-01T21:36:04Z stassats`: it does (gpr1 (pop gprs)) (gpr2 (pop gprs)) 2015-11-01T21:36:06Z stassats`: when gpr1 2015-11-01T21:36:11Z stassats`: shouldn't it be when gpr2? 2015-11-01T21:37:41Z stassats`: but on the seaside it's mfc1 a3,$f0 mfc1 a2,$f1, so, it should be right 2015-11-01T21:37:44Z stassats`: so, that part is right 2015-11-01T21:38:28Z stassats`: when (oddp words-processed) tries to align things 2015-11-01T21:42:35Z stassats`: in the lisp wrapper it's (SAP+ SB-ALIEN::ARGS-SAP 4) 2015-11-01T21:42:47Z stassats`: but it saves the first argument to 8? 2015-11-01T21:45:01Z stassats`: the gpr case was actually rightly ordered 2015-11-01T21:45:44Z stassats`: ok, the first double is right 2015-11-01T21:47:51Z stassats`: i don't see where things are copied from the stack? 2015-11-01T21:48:01Z nyef: Got the SHORT-RESULT cases working. 2015-11-01T21:48:20Z stassats`: wait what, where are they, really? 2015-11-01T21:48:28Z nyef: Probably has something to do with alien-callback-lisp-wrapper-lambda ? 2015-11-01T21:48:32Z stassats`: my oh my 2015-11-01T21:49:22Z nyef: Let me guess, there's an off-by-one error somewhere, screwing up all of the single-float tests, and the double-float tests all "work" by accident because their low words are zero? 2015-11-01T21:49:51Z nyef: Hrm. That'd only work if there were also an ordering mismatch. 2015-11-01T21:50:00Z stassats`: let's try 5 ints 2015-11-01T21:50:46Z flavioc quit (Ping timeout: 240 seconds) 2015-11-01T21:51:02Z stassats`: hrm 2015-11-01T21:51:19Z stassats`: that works 2015-11-01T21:52:37Z stassats`: but how 2015-11-01T21:53:19Z stassats`: ok, seaside does li v0,5 sw v0,16(sp) 2015-11-01T21:53:30Z stassats`: so we expect the c stack to be just right 2015-11-01T21:53:36Z stassats`: and pump register values before 2015-11-01T21:53:46Z stassats`: which is clearly broken for floats 2015-11-01T21:55:22Z stassats`: for short,double,double, i removed (incf offset n-word-bytes) for the oddp words-processed case 2015-11-01T21:55:28Z stassats`: the first double gets in 2015-11-01T21:55:41Z stassats`: because that's where it gets it in the lisp wrapper 2015-11-01T21:55:57Z stassats`: now, the second double is somewhere on the stack arranged by c 2015-11-01T21:56:02Z stassats`: and not where we expect it 2015-11-01T21:56:08Z stassats`: so it needs to be copied 2015-11-01T21:56:14Z stassats`: that wasn't test at all 2015-11-01T21:56:16Z stassats`: tested 2015-11-01T21:56:48Z nyef: Why would it need to be copied? 2015-11-01T21:57:04Z nyef: Why wouldn't it be where we expect it? 2015-11-01T21:57:31Z nyef: Hrm. 2015-11-01T21:57:42Z nyef: Actually, did you get the floating stack arguments thing figured out? 2015-11-01T21:58:30Z stassats`: it's (SAP+ SB-ALIEN::ARGS-SAP 12) 2015-11-01T21:58:39Z stassats`: but C stores it at 16 2015-11-01T21:59:20Z stassats`: alien-callback-accessor-form has to change, but can it? 2015-11-01T21:59:28Z stassats`: it would need to perform the whole dance 2015-11-01T22:00:19Z nyef: I've already got a commit modifying alien-callback-accessor-form, FWIW. 2015-11-01T22:00:23Z stassats`: alien-callback-lisp-wrapper-lambda access things sequentially, it doesn't know the C alignment rules 2015-11-01T22:00:58Z stassats`: modifying how? 2015-11-01T22:01:49Z nyef: http://paste.lisp.org/display/157516#8 2015-11-01T22:02:35Z nyef: Oh! Does this apply to single-float args only, or also to double-float args? 2015-11-01T22:02:52Z nyef: Hrm, no, that shouldn't do it, surely? 2015-11-01T22:03:05Z nyef: Why 12? 2015-11-01T22:03:31Z stassats`: four plus eight 2015-11-01T22:04:05Z nyef: Doesn't that mean something isn't accounting for padding? 2015-11-01T22:04:26Z stassats`: that's why it should copy 2015-11-01T22:05:11Z stassats`: double,double,double should work 2015-11-01T22:05:13Z stassats`: let's try 2015-11-01T22:05:26Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-01T22:05:46Z stassats`: nyef: the portable alien part doesn't have any padding 2015-11-01T22:07:00Z stassats`: double,double,double works 2015-11-01T22:09:19Z stassats`: there is no other way, short of modifying alien-callback-lisp-wrapper-lambda 2015-11-01T22:10:08Z stassats`: all other backends copy 2015-11-01T22:10:47Z stassats`: ok, it would be nice not to copy, but it's too complicated as it is 2015-11-01T22:12:19Z stassats`: it would need alien-callback-accessors-forms 2015-11-01T22:13:01Z stassats`: alien-callback-accessor-form would need to return new offset 2015-11-01T22:14:12Z stassats`: and i don't want to be doing that while using /bin/cat as my text editor 2015-11-01T22:15:49Z angavrilov quit (Remote host closed the connection) 2015-11-01T22:19:51Z stassats`: debian has some s390 machines 2015-11-01T22:20:20Z stassats`: now, how to apply there 2015-11-01T22:20:34Z nyef: Is s390 the IBM mainframe system? 2015-11-01T22:20:41Z stassats`: yes 2015-11-01T22:20:43Z nyef: Ooh. 2015-11-01T22:21:04Z nyef: Maybe I _should_ try to do something in the way of an Itanic port, then. (-: 2015-11-01T22:21:41Z nyef: So, um... single-float stack arguments? 2015-11-01T22:21:56Z nyef: Oh. 2015-11-01T22:22:03Z nyef: I think I might know what's going on there. 2015-11-01T22:24:12Z flavioc joined #sbcl 2015-11-01T22:24:25Z stassats`: "People who are not DDs but are working on software in Debian can request access to porter machines for short term (1-2 months) in order to resolve port issues and the like." 2015-11-01T22:24:58Z stassats`: ok, so i'll have to request when i actually want to do that 2015-11-01T22:25:07Z stassats`: and i need a "sponsor" 2015-11-01T22:25:20Z stassats`: i guess christoph_debian could be one 2015-11-01T22:26:31Z stassats`: christoph_debian: also, do you plan on a sbcl-arm64 package? 2015-11-01T22:26:55Z christoph_debian: stassats`: I'd support that access, jep 2015-11-01T22:26:59Z christoph_debian: stassats`: is sbcl ready? 2015-11-01T22:27:03Z stassats`: yes 2015-11-01T22:27:49Z christoph_debian: guess I'll need a free afternoon for bootstrapping the package then ;-) 2015-11-01T22:28:02Z stassats`: sbcl-arm can do that 2015-11-01T22:30:19Z stassats`: i think i can do some preliminary work using qemu 2015-11-01T22:30:39Z stassats`: and i don't need a machine for adding instruction definitions 2015-11-01T22:30:53Z stassats`: well, but that's not going to happen this year 2015-11-01T22:32:31Z stassats`: arm64-threads and ppc-64 are for this year 2015-11-01T22:33:13Z christoph_debian: :-) 2015-11-01T22:33:29Z christoph_debian: very much looking forward to ppc64 2015-11-01T22:42:23Z nyef: Okay, wow. Now I see what you're getting at with alien-callback-lisp-wrapper-lambda being wrong. 2015-11-01T22:43:54Z stassats`: nyef: assuming doubles are always aligned, a simple fix would be just returning new offset 2015-11-01T22:44:34Z nyef: What happens with an int followed by three floats, btw? 2015-11-01T22:44:41Z nyef: Single-floats, that is. 2015-11-01T22:44:51Z nyef: Are they all register values, or do two of the floats get dumped to the stack? 2015-11-01T22:45:06Z stassats`: i'm not in the mood for checking anymore 2015-11-01T22:45:14Z nyef: Fair enough. 2015-11-01T22:45:22Z nyef: I should be able to check myself. 2015-11-01T22:45:50Z stassats`: if i had ssh access to my qemips 2015-11-01T22:47:44Z nyef: But, essentially, the entire alien-callback mechanism is broken by design, and some of the backends are patching it up as best they can. 2015-11-01T22:48:22Z stassats`: i would have preferred not going through an array 2015-11-01T22:48:32Z stassats`: but that's easier, i guess 2015-11-01T22:48:39Z nyef: I would have preferred using the same :arg-tn logic as for call-out. 2015-11-01T22:48:51Z nyef: Short-circuit the entire problem. 2015-11-01T22:50:43Z nyef: Might do that anyway. 2015-11-01T22:52:22Z lnostdal__ quit (Ping timeout: 246 seconds) 2015-11-01T23:06:22Z lnostdal__ joined #sbcl 2015-11-01T23:12:36Z stassats`: if we had unboxed XEPs, callbackes could be made without using an array 2015-11-01T23:12:54Z stassats`: unboxed XEPs would be pretty awesome overall 2015-11-01T23:30:25Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-11-01T23:37:05Z nyef: Oh, this is beautiful. a function with args (char, float, float, float) passes all of the arguments in the integer register set. 2015-11-01T23:38:01Z nyef: Same with (char, float, double). 2015-11-01T23:38:06Z gingerale quit (Remote host closed the connection) 2015-11-01T23:38:09Z stassats`: right 2015-11-01T23:38:16Z stassats`: who invented the MIPS ABI? 2015-11-01T23:38:23Z nyef: But a function with args (float, float, float) has to pass one of them on the stack! 2015-11-01T23:38:28Z stassats`: what substances were consumed? 2015-11-01T23:40:27Z stassats`: sometimes backwards compatibility is a boon 2015-11-01T23:40:31Z stassats`: sometimes it's a curse 2015-11-01T23:40:44Z stassats`: i'm glad ARM went with a completely new direction form arm64 2015-11-01T23:40:57Z nyef: Oh, wait, no. It's WORSE. (float, float, float) passes the third argument in an integer register. 2015-11-01T23:41:53Z nyef: Hrm... 2015-11-01T23:43:48Z nyef: Okay, given what I know now, is this situation salvageable? 2015-11-01T23:45:05Z stassats`: sure, just changes all the rules and add copying, or change the way alien-callback-accessor-form works 2015-11-01T23:45:20Z nyef: The latter, I think. 2015-11-01T23:45:32Z nyef: Fold in the alien-callback-argument-bytes bit. 2015-11-01T23:46:02Z nyef: At least this kind of change should be slammable, if slam works. 2015-11-01T23:46:10Z stassats`: the question is, do you want to be adjusting alien-callback-argument-bytes for all backends? 2015-11-01T23:46:27Z stassats`: err 2015-11-01T23:46:29Z stassats`: M-/ failure 2015-11-01T23:46:38Z stassats`: alien-callback-accessor-form 2015-11-01T23:46:56Z nyef: Sure, I'm willing to adjust it for all backends, because for all other backends I'll define it to maintain the status quo. 2015-11-01T23:49:22Z nyef: Then we can loop back around and do things to remove the copying from some of the other backends. 2015-11-02T00:16:24Z nyef: Down to just two callback failures! 2015-11-02T00:16:44Z nyef: And they're the ones which require additional alignment smarts. 2015-11-02T00:17:50Z stassats`: but i still can't explain why passing short -2 into a callback would be interpreted as -1 2015-11-02T00:18:11Z nyef: What? Where? 2015-11-02T00:18:23Z stassats`: maybe it just gets a bunch of #xFFFFFFs 2015-11-02T00:18:24Z nyef: Oh! The short-result tests? 2015-11-02T00:18:28Z nyef: Yeah, that's what it got. 2015-11-02T00:18:34Z nyef: Big-endian, remember? 2015-11-02T00:18:35Z stassats`: no, my own tests actually calling C 2015-11-02T00:18:42Z nyef: Hmm? 2015-11-02T00:21:04Z stassats`: are shorts promoted to ints then? 2015-11-02T00:21:22Z nyef: Should be, yes, at least for register values. 2015-11-02T00:21:47Z stassats`: that would explain -1 then 2015-11-02T00:22:05Z stassats`: or would it? 2015-11-02T00:22:30Z stassats` tries to switch his brain to big-endian, rebooting 2015-11-02T00:23:24Z stassats`: ok, right 2015-11-02T00:23:49Z stassats`: it rids just 16 bits, which would be #xFFFFFF 2015-11-02T00:23:57Z stassats`: so it either needs to go further or read the whole thing 2015-11-02T00:24:57Z nyef: I got the corresponding tests to pass in SBCL, and posted the patch for you. 2015-11-02T00:25:19Z stassats`: i seemed to have it applied, but still -1 2015-11-02T00:25:23Z nyef: Odd. 2015-11-02T00:25:24Z stassats`: but i've got everything shut down now 2015-11-02T00:25:31Z stassats`: can't recheck 2015-11-02T00:25:49Z nyef: Yeah, that's fine. I'm going to try to get the rest of this callback damage buttoned up tonight. 2015-11-02T00:25:51Z flavioc quit (Ping timeout: 256 seconds) 2015-11-02T00:26:31Z nyef: Now that I have a working mental model for what's going on, that is. 2015-11-02T00:26:46Z nyef: Of course, I'm going to have to cross-check against all of the other backends next. /-: 2015-11-02T00:27:44Z stassats`: booting, i want to check 2015-11-02T00:27:51Z nyef: Heh. 2015-11-02T00:28:30Z nyef: Oh, and I can confirm that SLAM works if you have an after-xc core, and this stuff is perfectly suited to slamming. 2015-11-02T00:29:01Z stassats`: slam usually doesn't work without after-xc-core 2015-11-02T00:29:44Z nyef: Yes. You need the after-xc-core, and it's easier to invoke it manually than use slam.sh and then do the genesis and the target-2 --load. 2015-11-02T00:29:56Z nyef: But the basic logic works. 2015-11-02T00:30:02Z stassats`: my slam.sh is modified 2015-11-02T00:30:05Z nyef: Ah. 2015-11-02T00:30:16Z stassats`: to not do the useless bits 2015-11-02T00:30:55Z stassats`: nyef: is your change for alien-callback-accessor-form just adding :big-endian/:little-endian? 2015-11-02T00:31:07Z stassats`: if so, then it would be using the same code, wouldn't it? 2015-11-02T00:31:16Z nyef: No, there's also explicitly calling to parse the alien-type. 2015-11-02T00:31:26Z nyef: Compare the PPC version which is big-endian and known to work. 2015-11-02T00:31:55Z nyef: All that logic there, and disabled due to a simple screw-up, and no little-endian maintainer would notice. 2015-11-02T00:33:13Z stassats`: short,short,short works 2015-11-02T00:33:21Z stassats`: i was using short,double,double initially 2015-11-02T00:33:23Z stassats`: let's check that 2015-11-02T00:34:28Z stassats`: ok, it does work after all 2015-11-02T00:36:13Z stassats`: can *backend-byte-order* be changed at run-time? 2015-11-02T00:36:35Z stassats`: each time i see it i ask myself, why isn't it a read-time conditional? 2015-11-02T00:36:48Z nyef: You know what? It's probably a holdover from the CMUCL days, with their crazy bootstrap process. 2015-11-02T00:37:56Z stassats`: it already is in the features 2015-11-02T00:39:18Z nyef: Heh. And, IIRC, it caused some sort of problem there. (-: 2015-11-02T00:39:26Z nyef: Might have been CLX. 2015-11-02T00:39:52Z stassats`: sb-md5 has (pushnew sb-c:*backend-byte-order* *features*) 2015-11-02T00:39:59Z stassats`: and then (setq *features* *old-features*) 2015-11-02T00:40:01Z stassats`: whaaat 2015-11-02T00:40:19Z stassats`: and lots of #+cmu 2015-11-02T00:40:30Z stassats`: that's not going to work anyway 2015-11-02T00:40:36Z stassats` gets his axe 2015-11-02T00:51:06Z dougk2 joined #sbcl 2015-11-02T00:52:00Z stassats`: i should add unboxed constants support for arm64 2015-11-02T00:52:18Z stassats`: it already sorta does, but ad-hoc, that way it can coalesce things 2015-11-02T00:55:15Z stassats`: remove #+cmu and *backend-byte-order* trickery from sb-md5 2015-11-02T00:56:32Z stassats`: removed 2015-11-02T00:56:46Z fikusz joined #sbcl 2015-11-02T00:57:49Z stassats`: more code deletions than additions, my favorite kind of commits 2015-11-02T00:58:13Z nyef: Negative productivity (measured in SLOC) for the win! (-: 2015-11-02T01:00:32Z stassats`: ok, now for inline constants 2015-11-02T01:00:43Z stassats`: should be easy and give some core reduction 2015-11-02T01:01:28Z scymtym_: http://paste.lisp.org/display/158196 has backtrace test improvements and a fix for lp 1498644. would anyone like to have a look? 2015-11-02T01:02:38Z stassats`: i should add SBCL_MAKE_JOBS for make-target-1 2015-11-02T01:02:46Z stassats`: i get tired editing it and then git resetting it 2015-11-02T01:07:24Z stassats`: with -j8 my phone is faster than my laptop at building the runtime 2015-11-02T01:07:40Z stassats`: what a time to be alive 2015-11-02T01:20:13Z nyef: Okay, managed to create a couple of new test cases which cover missing cases of register-only argument passing. 2015-11-02T01:31:30Z stassats`: trouble with getting load-from-label with a negative offset, ugh 2015-11-02T01:31:41Z stassats`: can't fit into three instructions 2015-11-02T01:33:07Z stassats`: maybe i can 2015-11-02T01:33:46Z nyef: Hrm... Thought of another couple of test cases. Purely integer, this time. 2015-11-02T01:43:05Z stassats`: oh, hm, looks like i can shift and extend at the same time in LDR? 2015-11-02T01:44:02Z stassats`: cool cool cool 2015-11-02T01:45:53Z nyef: clhs assoc 2015-11-02T01:45:53Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_assocc.htm 2015-11-02T01:54:54Z scymtym_ quit (Ping timeout: 260 seconds) 2015-11-02T01:59:15Z nyef: And, yeah, these break too. Might be interesting to know if they break on other platforms as well. 2015-11-02T02:06:53Z jlarocco_ quit (Quit: Leaving) 2015-11-02T02:07:41Z nyef: ... HPPA has callbacks, but SPARC and ALPHA don't? WTF? 2015-11-02T02:11:39Z nyef: Oh, heh! HPPA has _part_ of callbacks, but not all of it. Even better. 2015-11-02T02:16:55Z dougk2 quit (Ping timeout: 244 seconds) 2015-11-02T02:17:24Z stassats`: ok, negative load-from-label works, using sign-extension and left shift by 3 (the only amount ldr supports) 2015-11-02T02:45:12Z stassats`: fixups are structures and the equal constants hash-table doesn't compare them 2015-11-02T02:45:22Z stassats`: but equalp is case insensitive 2015-11-02T02:45:28Z stassats`: what do? 2015-11-02T02:45:55Z stassats`: i can put '(:fixup x) into the table instead, but that's ugly 2015-11-02T02:46:09Z stassats`: who will want to put strings into it? 2015-11-02T02:46:34Z nyef: Oh, I'm sure we'll find a case that it would break. 2015-11-02T02:46:58Z stassats`: i know 2015-11-02T02:47:15Z stassats`: i can also make (defvar *allow-tramp* (make-fixup)) 2015-11-02T02:47:16Z stassats`: not nice 2015-11-02T02:47:31Z stassats`: i'll just settle for '(:fixup name kind) for now 2015-11-02T02:49:51Z nyef: Does http://paste.lisp.org/display/157516#9 look okay to you? 2015-11-02T02:50:17Z stassats`: let's hope nobody puts wants to use '(:fixup "alloc_tramp") as a constant 2015-11-02T02:50:47Z nyef: You know, subtle bugs like that are really obnoxious to track down and fix. 2015-11-02T02:51:03Z stassats`: well, it's pretty anyway internal 2015-11-02T02:51:19Z stassats`: (some synchronization issues between my hands) 2015-11-02T03:00:23Z nyef: Okay, I'll slap a KLUDGE comment or two on this mess somewhere and form it up into a couple of commits and call it good enough. 2015-11-02T03:08:38Z stassats`: why is alignment a list? 2015-11-02T03:09:12Z nyef: Because I couldn't remember if LOOP would pitch a fit if it tries to destructure a one-element list as two elements. 2015-11-02T03:09:25Z stassats`: it won't 2015-11-02T03:09:49Z nyef: Oh, good. Then it doesn't need to be a list... But the APPLY #'+ becomes + (OR ALIGNMENT 0). 2015-11-02T03:10:16Z stassats`: that sounds better 2015-11-02T03:11:09Z stassats`: loop's destructuring has little in common with destructuring-bind 2015-11-02T03:13:35Z nyef: Testing that version now. 2015-11-02T03:13:56Z nyef: ... Without the mips bits that provide the alignment. 2015-11-02T03:15:39Z stassats`: inline-constants do not work with assembly-routines, apparently 2015-11-02T03:17:15Z stassats`: i can hack it for now by doing the old trick, ugh 2015-11-02T03:17:34Z stassats`: based on *emit-assembly-code-not-vops-p*, double ugh 2015-11-02T03:18:00Z stassats`: or maybe i can just fix the underlying issue 2015-11-02T03:19:27Z nyef: Okay, back to four test failures on callback.impure.lisp, but no more, using the alignment directly rather than as a list. 2015-11-02T03:19:53Z nyef: So I think that that's a go, modulo adding the KLUDGE comments. 2015-11-02T03:22:57Z nyef: Also going to mark one of the exhaust.impure.lisp tests as broken, since I have no energy for trying to track it down right now, and would much rather spend some time fixing up other issues. 2015-11-02T03:23:21Z stassats`: fixing inline constants for assemble-file seems trivial 2015-11-02T03:23:23Z nyef: Up to 22 patches for MIPS stuff. 2015-11-02T03:23:49Z nyef: Well, will be once I put together commits for the stuff in my working tree. 2015-11-02T03:27:22Z stassats`: hokay, make-target-2 runs, so i got at least something right 2015-11-02T03:28:09Z stassats`: 304KB of savings 2015-11-02T03:28:26Z stassats`: the core is now under 50MB 2015-11-02T03:35:51Z stassats`: nyef: in (ash alignment-bits -3), what is the magic 3? 2015-11-02T03:36:37Z nyef: log2 n-byte-bits. 2015-11-02T03:37:04Z stassats`: bits to bytes? i guess we won't be changing byte-length anytime soon, though (truncate alignment-bits n-byte-bits) might have been clearer just a smidgen 2015-11-02T03:37:43Z nyef: Done. 2015-11-02T03:42:33Z stassats`: i need to do something with validate mmap failures 2015-11-02T03:42:44Z stassats`: no idea what, though 2015-11-02T03:42:58Z stassats`: choose different addresses 2015-11-02T03:44:57Z stassats`: i know, i know, relocatable cores 2015-11-02T03:50:52Z stassats`: can't seem to fine s390 assembly manual 2015-11-02T03:52:10Z stassats`: something called "principles of operation" 2015-11-02T03:55:43Z zacts quit (Ping timeout: 250 seconds) 2015-11-02T03:57:38Z nyef: Okay, naptime. 2015-11-02T04:04:59Z lnostdal__ quit (Ping timeout: 240 seconds) 2015-11-02T04:07:51Z stassats`: it has "Appendix G. Table of Powers of 2" 2015-11-02T04:07:53Z stassats`: very useful 2015-11-02T04:08:16Z stassats`: even "Appendix H. Hexadecimal Tables" 2015-11-02T04:19:27Z loke: stassats`: Don't evert programmer know the powers of 2 by heart? 2015-11-02T04:19:30Z lnostdal__ joined #sbcl 2015-11-02T04:23:38Z akkad: can you define the dynamic space size in .sbclrc? 2015-11-02T04:23:45Z stassats`: no 2015-11-02T04:23:49Z jlarocco_ joined #sbcl 2015-11-02T04:39:07Z whiteline quit (Ping timeout: 252 seconds) 2015-11-02T04:46:21Z stassats` quit (Ping timeout: 268 seconds) 2015-11-02T07:35:13Z jackc- quit (Read error: Connection reset by peer) 2015-11-02T07:35:21Z jackc- joined #sbcl 2015-11-02T07:44:52Z Shinmera joined #sbcl 2015-11-02T07:50:03Z Quadrescence quit (Quit: This computer has gone to sleep) 2015-11-02T07:55:13Z ASau quit (Ping timeout: 256 seconds) 2015-11-02T07:58:15Z ASau joined #sbcl 2015-11-02T08:17:29Z angavrilov joined #sbcl 2015-11-02T08:25:28Z scymtym: since this build https://ci.cor-lab.org/job/sbcl-master/1274/ interface.test.sh fails on x86_64 (darwin and linux) with "test bug 881445 failed: 0" 2015-11-02T08:32:03Z Cymew joined #sbcl 2015-11-02T08:35:55Z gingerale joined #sbcl 2015-11-02T09:01:02Z scymtym: sorry, it was introduced earlier 2015-11-02T09:01:53Z scymtym: one commit in the previous bunch: https://ci.cor-lab.org/job/sbcl-master/1273/ 2015-11-02T09:04:21Z ASau quit (Ping timeout: 256 seconds) 2015-11-02T09:07:57Z hydan quit (Remote host closed the connection) 2015-11-02T09:24:12Z scymtym: seems to be my --evaluator-mode change in subr.sh 2015-11-02T09:25:43Z attila_lendvai joined #sbcl 2015-11-02T09:59:04Z whiteline joined #sbcl 2015-11-02T10:46:37Z ZabaQ joined #sbcl 2015-11-02T11:12:12Z hydan joined #sbcl 2015-11-02T11:58:46Z fridim_ joined #sbcl 2015-11-02T12:10:10Z sjl joined #sbcl 2015-11-02T12:46:53Z dougk2 joined #sbcl 2015-11-02T12:59:31Z sjl quit (Ping timeout: 256 seconds) 2015-11-02T13:03:06Z sjl joined #sbcl 2015-11-02T13:04:57Z stassats` joined #sbcl 2015-11-02T13:06:11Z dougk2 quit (Ping timeout: 265 seconds) 2015-11-02T13:09:16Z eudoxia joined #sbcl 2015-11-02T13:33:14Z dougk2 joined #sbcl 2015-11-02T13:36:51Z stassats`: dec/inc now seem to have the same latency as ADD/SUB on Intel Skylake 2015-11-02T13:37:17Z stassats`: quick, convert everything to dec/inc 2015-11-02T13:37:20Z myrkraverk: Can I tell SBCL where to look for shared libraries (loaded with CFFI) with Lisp? Or Can I only do it with the LD_LIBRARY_PATH environment? 2015-11-02T13:37:40Z stassats`: myrkraverk: you can pass absolute paths 2015-11-02T13:37:50Z myrkraverk: Oh yeah. 2015-11-02T13:37:58Z myrkraverk: Any other method? 2015-11-02T13:37:59Z stassats`: cffi:*foreign-library-directories* 2015-11-02T13:38:09Z myrkraverk: Ok. 2015-11-02T13:40:36Z dougk2 quit (Ping timeout: 250 seconds) 2015-11-02T13:50:05Z dougk2 joined #sbcl 2015-11-02T14:05:27Z psilord quit (Quit: Leaving.) 2015-11-02T14:07:39Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-02T14:11:16Z nyef: So, I turned up a description of the 32-bit PPC AIX calling convention. It looks very similar to the MIPS calling convention, which leads me to wonder what's going on that SBCL does copying and whatnot. 2015-11-02T14:19:59Z dougk2 joined #sbcl 2015-11-02T14:28:19Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-02T14:47:24Z dougk2 joined #sbcl 2015-11-02T14:48:46Z dougk_ quit (Ping timeout: 240 seconds) 2015-11-02T15:08:24Z psilord joined #sbcl 2015-11-02T15:19:39Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-02T15:19:50Z lnostdal__ is now known as lnostdal 2015-11-02T15:30:17Z jackdani1l joined #sbcl 2015-11-02T15:32:02Z dougk2 joined #sbcl 2015-11-02T15:36:06Z jackdaniel quit (*.net *.split) 2015-11-02T15:36:06Z salva quit (*.net *.split) 2015-11-02T15:36:06Z dustinm` quit (*.net *.split) 2015-11-02T15:36:06Z dustinm` joined #sbcl 2015-11-02T15:41:25Z salva joined #sbcl 2015-11-02T15:44:59Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-02T15:47:24Z chris2: i get this message trying to recompile sbcl on aarch64: http://sprunge.us/DfXE 2015-11-02T15:49:49Z chris2: hm, maybe its a hw issue 2015-11-02T15:51:25Z stassats`: you'll need to look at what's going on at 0X4FD0BA0C 2015-11-02T15:52:53Z stassats`: chris2: did all tests pass? 2015-11-02T15:53:13Z chris2: the dmesg had some swap stuff, lets do a clean rebuild on a fresh boot 2015-11-02T15:54:56Z chris2: i think the message is before the tests run tho? 2015-11-02T15:55:31Z stassats`: you have a built sbcl already, did that pass tests? 2015-11-02T15:55:45Z chris2: i used the provided binary for bootstrapping 2015-11-02T15:56:00Z stassats`: use sbcl-arm32 for bootstrapping 2015-11-02T15:56:12Z chris2: ok, can try that too 2015-11-02T15:56:44Z chris2: anyway, this triggers [ 303.492629] BUG: Bad page map in process sbcl pte:0005bcec pmd:a00000ebe00fd3 2015-11-02T15:56:48Z chris2: which sounds like a kernel bug? 2015-11-02T15:57:02Z chris2: this is on 4.1.1_1 so not the newest kernel 2015-11-02T15:57:20Z stassats`: can't help here 2015-11-02T15:58:21Z stassats`: i tested on 3.10.61 and 3.13.0-57 2015-11-02T15:58:25Z chris2: ok 2015-11-02T15:59:06Z stassats`: you can also run tests from my binary 2015-11-02T16:03:17Z chris2 runs the tests 2015-11-02T16:05:39Z lnostdal quit (Ping timeout: 240 seconds) 2015-11-02T16:08:20Z dougk2 joined #sbcl 2015-11-02T16:16:39Z nzambe joined #sbcl 2015-11-02T16:18:42Z lnostdal joined #sbcl 2015-11-02T16:22:04Z chris2: seems to hang in /tmp/sbcl-1.3.0-arm64-linux/tests/gc.impure.lisp Running :BUG-936304 2015-11-02T16:22:16Z stassats`: that one takes a bit 2015-11-02T16:22:30Z chris2: longer than 10min? 2015-11-02T16:22:41Z stassats`: how slow is your machine? 2015-11-02T16:22:59Z chris2: quite speedy 2015-11-02T16:23:04Z chris2: can build a kernel in 30min? 2015-11-02T16:23:26Z stassats`: can you see where it's hanging then? 2015-11-02T16:24:00Z chris2: [Mon Nov 2 16:23:29 2015] INFO: rcu_sched self-detected stall on CPU { 2} (t=78021 jiffies g=14347 c=14346 q=12440) 2015-11-02T16:24:02Z chris2: [Mon Nov 2 16:23:29 2015] Task dump for CPU 2: 2015-11-02T16:24:04Z chris2: [Mon Nov 2 16:23:29 2015] sbcl R running task 0 6619 1 0x00000002 2015-11-02T16:24:07Z chris2: it feels like sbcl triggers a kernel bug 2015-11-02T16:24:15Z chris2: i'll try on a different kernel 2015-11-02T16:24:45Z stassats`: :BUG-936304 takes 40 seconds here 2015-11-02T16:24:51Z chris2: it took far longer 2015-11-02T16:25:02Z stassats`: well, on a remote machine 2015-11-02T16:25:11Z chris2: its a vm, but beefy hw 2015-11-02T16:25:28Z stassats`: >vm that might be it 2015-11-02T16:25:46Z chris2: 3.16.0-37-generic 2015-11-02T16:25:50Z chris2: lets try that one 2015-11-02T16:26:41Z stassats`: and 32 seconds on my phone 2015-11-02T16:26:44Z myrkraverk quit (Remote host closed the connection) 2015-11-02T16:26:46Z chris2: :) 2015-11-02T16:26:48Z stassats`: only 3 seconds on the desktop, strange 2015-11-02T16:27:45Z stassats`: maybe because make-array is not optimized 2015-11-02T16:28:06Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-02T16:31:19Z stassats`: strange, strange 2015-11-02T16:34:51Z chris2: ::: Running :BUG-936304 2015-11-02T16:34:56Z chris2: ok, lets see how long it takes 2015-11-02T16:35:25Z chris2: 36.459 seconds of real time 2015-11-02T16:35:37Z chris2: definitely the other kernel is flaky 2015-11-02T16:35:48Z stassats`: ok, it seems to depend on the dynamic-space-size 2015-11-02T16:36:49Z chris2: this box has 16GB ram :) 2015-11-02T16:37:28Z stassats`: we don't base dynamic-space-size on available ram 2015-11-02T16:37:46Z stassats`: it spends most of the time GCing 2015-11-02T16:38:19Z stassats`: non-gc time seems to be 5 time slower, but gc time is 10 slower than on the desktop 2015-11-02T16:38:28Z stassats`: 5x i can believe in 2015-11-02T16:38:54Z stassats`: bzero? 2015-11-02T16:41:02Z chris2: results: http://sprunge.us/HjeB 2015-11-02T16:41:25Z stassats`: that's good 2015-11-02T16:41:38Z stassats`: can you ./run-test.sh unicode-properties.impure.lisp one more time? 2015-11-02T16:41:38Z chris2: so lets try a rebuild on that box 2015-11-02T16:41:42Z chris2: sure 2015-11-02T16:41:55Z stassats`: there is an intermittent mmap failure i can't figure out 2015-11-02T16:42:02Z stassats`: it doesn't mmap where is asked 2015-11-02T16:42:11Z chris2: Unhandled SIMPLE-FILE-ERROR: error opening #P"/tmp/sbcl-1.3.0-arm64-linux/tests/../tools-for-build/UnicodeData.txt": 2015-11-02T16:42:13Z chris2: oh 2015-11-02T16:42:26Z chris2: probably because i just copied the tests/ folder to the binary tarball :D 2015-11-02T16:42:26Z stassats`: ok, just ignore it hen 2015-11-02T16:42:54Z chris2: All tests succeeded 2015-11-02T16:42:56Z chris2: passes now 2015-11-02T16:43:24Z stassats`: i should mark the rest as expected failures 2015-11-02T16:43:28Z stassats`: they are the same with arm32 2015-11-02T16:43:54Z chris2: ok 2015-11-02T16:44:22Z stassats`: wonder if i can run perf on the phone 2015-11-02T16:45:53Z chris2: which phone do you use? 2015-11-02T16:46:05Z stassats`: galaxy s6 2015-11-02T16:46:13Z stassats`: i guess i can always use gperf 2015-11-02T16:46:46Z stassats`: argh, my kernel is wrong for perf 2015-11-02T16:47:54Z stassats`: gprof it is then 2015-11-02T16:50:13Z chris2: just next to the android system? 2015-11-02T16:50:21Z stassats`: debian chroot 2015-11-02T16:50:25Z chris2: ok 2015-11-02T16:50:44Z chris2 is still looking for cheapish hw where one can use a self-built kernel 2015-11-02T16:51:10Z stassats`: another host is the gcc compiler farm 2015-11-02T16:51:19Z stassats`: but they added arm64 just when i finished porting 2015-11-02T16:51:35Z stassats`: and it's slightly slower (12 minutes vs 15 minutes for self build) 2015-11-02T16:51:53Z stassats`: and network latency too high, so using the phone is still better 2015-11-02T16:52:10Z chris2: i use vm provided by datacentred 2015-11-02T16:52:24Z chris2: which work quite good, but openstack is a PITA 2015-11-02T16:53:06Z chris2: if you want to do more than use the provided ubuntu images at least 2015-11-02T16:53:34Z chris2: bbl. build is still running, looks good 2015-11-02T16:53:59Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-02T16:58:12Z Cymew quit (Ping timeout: 250 seconds) 2015-11-02T17:03:53Z scymtym_ joined #sbcl 2015-11-02T17:09:35Z eudoxia quit (Quit: Leaving) 2015-11-02T17:10:24Z Xof: I wonder if I can find my subclassable-struct hack that pkhuong refers to on reddit 2015-11-02T17:10:31Z Xof: at least I guess that's what you're talking about? 2015-11-02T17:12:59Z fridim_ quit (Ping timeout: 240 seconds) 2015-11-02T17:18:06Z ZabaQ quit (Quit: Leaving) 2015-11-02T17:18:16Z dougk2 joined #sbcl 2015-11-02T17:32:52Z stassats`: gprof is quite slow... 2015-11-02T17:34:12Z stassats`: and strange results 2015-11-02T17:34:15Z stassats`: are timings are 0 2015-11-02T17:34:48Z stassats`: is_lisp_pointer is called a lot 2015-11-02T17:35:04Z Quadrescence joined #sbcl 2015-11-02T17:43:50Z stassats`: ok, gprof is decidedly broken 2015-11-02T17:44:56Z stassats`: what now, write my own profiler? 2015-11-02T17:47:24Z guicho joined #sbcl 2015-11-02T17:48:08Z jackdani1l is now known as jackdaniel 2015-11-02T17:53:09Z stassats`: move sb-sprof into C, collect statistics during GC? 2015-11-02T17:53:18Z stassats`: moving sb-sprof might be a good idea in itself 2015-11-02T18:03:39Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-02T18:05:08Z chris2: perhaps google pprof? 2015-11-02T18:06:49Z stassats`: valgrind croaks 2015-11-02T18:09:33Z stassats`: will try pprof 2015-11-02T18:11:00Z stassats`: couldn't compile 2015-11-02T18:14:27Z stassats`: no damn luck 2015-11-02T18:22:45Z chris2: /build started: Mon Nov 2 16:42:59 UTC 2015 2015-11-02T18:22:47Z chris2: /build finished: Mon Nov 2 16:57:51 UTC 2015 2015-11-02T18:22:52Z chris2: so that worked 2015-11-02T18:22:58Z chris2: just my buildbox kernel is broken 2015-11-02T18:29:44Z dougk2 joined #sbcl 2015-11-02T18:42:20Z guicho quit (Quit: さようなら) 2015-11-02T19:06:52Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-02T19:14:09Z dougk2 joined #sbcl 2015-11-02T19:25:19Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-02T19:48:56Z stassats` quit (Ping timeout: 250 seconds) 2015-11-02T19:55:25Z ASau joined #sbcl 2015-11-02T19:57:10Z fridim_ joined #sbcl 2015-11-02T19:59:32Z stassats joined #sbcl 2015-11-02T20:02:50Z sjl quit (Ping timeout: 240 seconds) 2015-11-02T20:06:26Z dougk2 joined #sbcl 2015-11-02T20:13:22Z fikusz quit (Quit: Leaving) 2015-11-02T20:24:02Z dougk2 quit (Ping timeout: 250 seconds) 2015-11-02T20:35:13Z sjl joined #sbcl 2015-11-02T20:40:59Z m0li joined #sbcl 2015-11-02T20:48:31Z dougk2 joined #sbcl 2015-11-02T21:05:02Z gingerale quit (Remote host closed the connection) 2015-11-02T21:10:07Z guaqua joined #sbcl 2015-11-02T21:10:33Z guaqua: i'm trying to build sbcl (1.3.0) on debian wheezy, but i'm running into problems on alloc.o: http://paste.lisp.org/display/158335 2015-11-02T21:10:56Z guaqua: is this a known problem? otherwise i would just upgrade debian, but i wouldn't like to put the time in right now... 2015-11-02T21:11:49Z Xof: are you sure you have a 64-bit userland? 2015-11-02T21:12:00Z Xof: I built the release binary on debian squeeze 2015-11-02T21:12:46Z guaqua: well, it should be all 64-bit, but now that you ask, i can't naturally be sure :) 2015-11-02T21:13:05Z guaqua: some easy way to check? it's running a 64-bit kernel for sure 2015-11-02T21:13:10Z Xof: well, the error message you're getting looks to me like your C compiler not liking the q suffix in `orq' 2015-11-02T21:13:59Z guaqua: gcc -v refers to i486 a bit too many times 2015-11-02T21:14:21Z Xof: I have been building that exact code for I don't know how long on debian systems 2015-11-02T21:14:40Z Xof: call it a decade or so 2015-11-02T21:15:10Z guaqua: i built sbcl 1.1.6 on that same box, but something must have changed 2015-11-02T21:15:30Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-02T21:15:45Z Xof: I'm not sure exactly what's going on, but something weird looks like it's going on 2015-11-02T21:16:26Z guaqua: i have a hunch the host must be some multiarch thing. now sbcl seems to determine it should be building a 64-bit one and then it fails 2015-11-02T21:16:39Z nyef: What does "file tools-for-build/grovel-headers" say? 2015-11-02T21:17:08Z guaqua: the file doesn't exist 2015-11-02T21:17:17Z nyef: Hrm. Must come later in the process, then. 2015-11-02T21:17:44Z nyef: Do we build determine-endianness on x86oids? 2015-11-02T21:17:53Z nyef: ... Looks like it. 2015-11-02T21:18:28Z nyef: That should probably already be built, ISTR it gets done during make-config rather than a host or target stage. 2015-11-02T21:20:01Z guaqua: i tried passing in --arch now and force it to x86 2015-11-02T21:20:18Z attila_lendvai joined #sbcl 2015-11-02T21:21:20Z Xof: http://christophe.rhodes.io/notes/wiki/sbcl/subclassable_structures/ #hmm 2015-11-02T21:22:18Z Xof: hm hm 2015-11-02T21:22:28Z Xof: hm 2015-11-02T21:24:39Z Xof: aha 2015-11-02T21:24:47Z Xof: on this laptop over here -> 2015-11-02T21:24:58Z Xof: 8 years old and still resumes from suspend 2015-11-02T21:27:53Z guaqua: boom. thanks for the help! seems like setting the architecture fixed the problem. current working hypothesis is that something™ changed in my debian system that throws off sbcl's architecture detection 2015-11-02T21:30:16Z Xof: ok 2015-11-02T21:30:17Z Xof: ... 2015-11-02T21:30:31Z Xof: I have no idea what my passphrase is for this laptop :-( 2015-11-02T21:31:41Z nyef: guaqua: The 64-bit kernel probably did it. 2015-11-02T21:31:48Z Shinmera: You could try to boot from a live CD and look at the files that way. Unless you secured your BIOS or encrypted your disk of course. 2015-11-02T21:33:38Z nyef takes aim at the next-to-last MIPS test failure in compiler.pure.lisp. 2015-11-02T21:34:02Z guaqua: nyef: probably. this is a vm and the hosting company might have upgraded to a 64-bit kernel at some point in time even without my interaction. because i just cant remember doing much myself on that host other than running apt-get upgrade time by time 2015-11-02T21:34:44Z nyef: guaqua: Right. The "uname -a" result could have changed, which is part of what SBCL bases its auto-detection on. 2015-11-02T21:35:12Z Xof: Shinmera: luckily this is an ssh key, so I can just make a new one 2015-11-02T21:35:30Z Shinmera: Xof: Ah, phew. 2015-11-02T21:35:52Z nyef: ... Maybe we should be doing the detection on the basis of what "gcc -dumpmachine" says? 2015-11-02T21:35:58Z guaqua: nyef: explanation makes sense. would be nice to get rid of the i486-stuff and get that host fully to x86_64, but it's probably just lots of busywork for no good reason 2015-11-02T21:36:10Z Xof: Shinmera: I do have one computer where I'm not sure what the encryption passphrase is 2015-11-02T21:36:18Z Xof: luckily there's nothing much of value on that computer at the moment :-) 2015-11-02T21:36:28Z Shinmera: Until you remember that one thing... 2015-11-02T21:36:30Z guaqua: the output of that command on the host is "i486-linux-gnu" 2015-11-02T21:38:12Z Xof: pkhuong: https://github.com/csrhodes/sbcl/tree/subclassable-structures-rebase # this hack? 2015-11-02T21:38:22Z Xof: "4 commits ahead, 3823 commits behind sbcl:master" 2015-11-02T21:38:39Z nyef: Mmm. I'm currently building on a "mips-unknown-linux-gnu", and my main system is "x86_64-linux-gnu". 2015-11-02T21:40:06Z nyef: Xof: Should FLOAT-TRAPPING-NAN-P return true for infinities on some platforms? 2015-11-02T21:40:49Z Xof: I would have said "no" 2015-11-02T21:41:16Z Xof: I think Infs are distinct from NaNs in IEEE754 2015-11-02T21:41:39Z nyef: Yeah, that's what I would have said. But give it a try on something other than a MIPS or HPPA. (-: 2015-11-02T21:41:43Z Xof: and I think our float-trapping-nan-p really does mean "is this a signalling NaN" not "is this thing a thing" 2015-11-02T21:41:50Z Xof: no, I can well believe that our stuff is broken 2015-11-02T21:42:04Z Xof: I spent too long trying to get ppcs floating point control word to behave 2015-11-02T21:42:36Z nyef: Heh. I remember trying to get PPCs floating point exceptions to work. 2015-11-02T21:42:39Z Xof: alright, so here's a totally different question that I can probably not spend enough time on to justify asking 2015-11-02T21:42:55Z Xof: what is the size of the commercial sbcl support market? 2015-11-02T21:43:28Z stassats: "awkward silence" 2015-11-02T21:44:01Z Xof: well obviously it's $0 now :-) 2015-11-02T21:44:09Z Xof: but what could it be? 2015-11-02T21:44:21Z nyef: ... Not enough to support Nikodemus indefinitely? 2015-11-02T21:44:31Z stassats: what is the whole CL commercial market? 2015-11-02T21:44:32Z Xof: or if not support, support-and-consultancy? 2015-11-02T21:44:36Z Shinmera: I only know of three companies that use SBCL, but then I haven't been around much. 2015-11-02T21:44:52Z stassats: i use SBCL at work 2015-11-02T21:44:57Z nyef: I use SBCL at work. 2015-11-02T21:44:58Z Xof: I know that CCL has retrenched recently 2015-11-02T21:45:06Z stassats: so, they don't need SBCL consultancy 2015-11-02T21:45:16Z Xof: I mean Clozure, rather than CCL 2015-11-02T21:45:30Z Xof: not enough to support Nikodemus, for sure 2015-11-02T21:45:46Z stassats: maybe he just likes to party on yachts? 2015-11-02T21:45:47Z Xof: or dan_b before him 2015-11-02T21:45:59Z stassats: anyhow, paid work ain't fun 2015-11-02T21:46:02Z Xof: and I know about dan_b's lifestyle (it wasn't crazy partying) 2015-11-02T21:46:21Z Xof: one thing I'm trying to think through is that nothing much is fun at the moment 2015-11-02T21:46:36Z Xof: and I'm trying to think of ways to get to a somewhat happier place 2015-11-02T21:46:49Z stassats: more partying on yachts then? 2015-11-02T21:47:59Z stassats: well, one way is to restrict free help, close off #sbcl, sbcl-help to non paying customers 2015-11-02T21:48:03Z stassats: what can go wrong? 2015-11-02T21:48:57Z nyef: I find that time off, physical exercise, and less-to-no alcohol and caffeine helps me to re-center. 2015-11-02T21:49:43Z stassats: there's IBM and their PPC thing 2015-11-02T21:49:51Z stassats: although they didn't get back about the bounty 2015-11-02T21:50:19Z nyef: For platforms that support both gencgc and cheneygc, which tends to be faster for builds? 2015-11-02T21:50:19Z stassats: can't imagine porting SBCL to be fun, though 2015-11-02T21:50:20Z Xof: nyef: that could well help 2015-11-02T21:50:37Z Xof: the time off, not the gc question :-) 2015-11-02T21:50:44Z stassats: it's like a constant nightmare of perpetual brokenness 2015-11-02T21:50:57Z stassats: nyef: gencgc, marginally 2015-11-02T21:51:30Z Xof: you seem to have had a little bit of fun in your recent ports 2015-11-02T21:51:37Z Xof: I seem to recall it being OK too, back in the day 2015-11-02T21:51:47Z stassats: it's fun getting things to eventually work 2015-11-02T21:51:48Z Xof: of course I didn't have a customer breathing down my neck asking when it would be ready 2015-11-02T21:51:59Z stassats: so, it's not the journey 2015-11-02T21:52:21Z nyef: stassats: It's not the journey, it's the mileposts? 2015-11-02T21:52:40Z Xof: it's not the race, it's the satisfaction of grinding the turtle into the dust 2015-11-02T21:52:48Z stassats: porting also allows to learn more intricacies about the runtime 2015-11-02T21:52:55Z nyef: ... Not the hare? 2015-11-02T21:55:00Z stassats: what could a paying customer request? 2015-11-02T21:55:24Z stassats: like, what's missing from SBCL that someone badly needs? 2015-11-02T21:55:32Z stassats: CRLF support? 2015-11-02T21:55:33Z nyef: A sane GC. 2015-11-02T21:55:54Z stassats: define sane. precise? 2015-11-02T21:55:58Z Shinmera: FFI to C++, apparently. 2015-11-02T21:56:17Z nyef: Better behavior under load. 2015-11-02T21:56:27Z stassats: Shinmera: we don't want to upstage drmeister 2015-11-02T21:57:12Z stassats: GC on ARM64 is twice as slow as on x86-64 2015-11-02T21:57:28Z stassats: in an effort to find that out, no C profiler worked 2015-11-02T21:58:15Z stassats: let's see what's happening on ppc 2015-11-02T21:58:15Z Shinmera: A tree-shaker is another thing that comes to mind when I think about people complaining about missing features. Probably not something that is badly needed though. 2015-11-02T21:59:02Z stassats: one thing i want to eventually tackle, unboxed XEP 2015-11-02T21:59:03Z nyef: Shinmera: FWIW, I consider a tree-shaker to be a precisely-backwards approach to trying to deliver small executables. 2015-11-02T21:59:26Z nyef: Oh! Better debugging support would be nice. 2015-11-02T21:59:28Z Shinmera: nyef: What would the forwards way be? 2015-11-02T22:00:00Z Shinmera: Executable size doesn't really bother me anymore now that core compression is pretty good. 2015-11-02T22:00:19Z nyef: Shinmera: Rather than keeping everything that you can't prove isn't needed, why not only include things that you declare ARE needed? 2015-11-02T22:00:34Z fe[nl]ix: Shinmera: e.g. making stuff auto-loadable 2015-11-02T22:01:11Z Shinmera: fe[nl]ix: I'm not sure I understand. Do you mean splitting components off from the main image? 2015-11-02T22:01:37Z Shinmera: nyef: I see. 2015-11-02T22:01:57Z stassats: it's even worse on ppc, huh 2015-11-02T22:02:06Z stassats: memory problem? 2015-11-02T22:02:23Z nyef: stassats: Active code-objects not being pinned? 2015-11-02T22:02:36Z stassats: ok, ppc is 32-bit, need to compare to 32-bit sbcl 2015-11-02T22:03:34Z stassats: 2.036 seconds GC time, and 0.484 seconds non-GC time. on x86, 98.583 seconds GC time, and 0.310 seconds non-GC time on ppc 2015-11-02T22:03:55Z stassats: my kingdom for a profiler 2015-11-02T22:06:34Z stassats: the test is just 50 times of (make-array (truncate (* 0.2 (dynamic-space-size)) sb-vm:n-word-bytes)) 2015-11-02T22:06:54Z nyef: Umm... That's currently gencgc-specific, isn't it? 2015-11-02T22:07:24Z nyef: (I should know, I have a commit in my queue to make DYNAMIC-SPACE-SIZE work on cheneygc.) 2015-11-02T22:08:28Z stassats: ppc and arm have make-array as an assembly routine 2015-11-02T22:08:41Z stassats: so gc would be done from there 2015-11-02T22:08:55Z stassats: that shouldn't matter 2015-11-02T22:09:04Z Bicyclidine joined #sbcl 2015-11-02T22:15:59Z nyef: ... Is the PPC callback logic really just moving arguments to destroy alignment? 2015-11-02T22:16:48Z stassats: hmmmm 2015-11-02T22:16:58Z stassats: allocating in lisp seems to be ok 2015-11-02T22:17:25Z nyef: I'm kindof wishing that I still had a working PPC system to test with. 2015-11-02T22:18:14Z stassats: 50 x (sb-kernel:make-array-header sb-vm:simple-array-widetag (1- (expt 2 24))) is 1.003 seconds GC time, and 0.381 seconds non-GC time. 2015-11-02T22:18:18Z nyef: Hrm. Maybe one of the iMacs could be made to work... 2015-11-02T22:18:31Z stassats: 50 x (make-array (1- (expt 2 24))) is ... waiting 2015-11-02T22:18:44Z stassats: 58.169 seconds GC time, and 0.127 seconds non-GC time. 2015-11-02T22:19:07Z stassats: presumably less to scavenge? 2015-11-02T22:19:14Z nyef: stassats: I bet those numbers change if you make them unboxed arrays. 2015-11-02T22:19:14Z stassats: i'll need to write a vop for make-array 2015-11-02T22:19:23Z stassats: good idea 2015-11-02T22:20:11Z stassats: 50 of (make-array (1- (expt 2 24)) :element-type '(unsigned-byte 64)) ... waiting, but it's already slow 2015-11-02T22:20:48Z stassats: i do need a vop after all 2015-11-02T22:20:51Z stassats: but this can't be true! 2015-11-02T22:21:02Z stassats: '(unsigned-byte 64) didn't change anything 2015-11-02T22:21:28Z nyef: 32 bit system, not a specialized array type? 2015-11-02T22:21:42Z nyef: FIXNUM might have been a better choice. 2015-11-02T22:22:13Z stassats: ah damn 2015-11-02T22:22:43Z stassats: ok, that was it 2015-11-02T22:22:50Z stassats: so, scavenging arrays is too slow 2015-11-02T22:23:58Z stassats: how about filling them with something other than 0 2015-11-02T22:25:49Z stassats: that should make non-gc time more prominent 2015-11-02T22:25:55Z stassats: ppc 24.179 seconds GC time, and 2.040 seconds non-GC time. 2015-11-02T22:26:09Z stassats: x86-64 0.144 seconds GC time, and 1.108 seconds non-GC time. 2015-11-02T22:27:00Z nyef: That's... rather a bit of a difference. 2015-11-02T22:28:10Z stassats: slower memcpy? 2015-11-02T22:28:34Z nyef: You're picking arrays that are smaller than the large-object threshhold? 2015-11-02T22:28:57Z stassats: ub24 was for make-array-header to work 2015-11-02T22:32:38Z stassats: but that would be large for both 2015-11-02T22:32:42Z nyef: Oh, hell. sb-gmp test failed again. /-: 2015-11-02T22:33:14Z nyef: Current hypothesis: sb-gmp fails on alternate evenings. 2015-11-02T22:35:03Z stassats: with small objects it's slower too 2015-11-02T22:44:46Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-02T22:46:27Z stassats: tried (sb-kernel:%make-instance (1- (expt 2 24))), slow too 2015-11-02T22:46:32Z stassats: so it's not just vectors 2015-11-02T22:49:16Z stassats: 10 x (make-list (1- (expt 2 24))) 1.348 and 0.968 on x86-64, 75.517 and 3.560 and on ppc 2015-11-02T22:49:40Z stassats: power7 can't be that bad 2015-11-02T22:52:55Z stassats: got heap exhaustion on arm64 on this 2015-11-02T22:53:10Z nyef: So, do I tackle compiler.pure.lisp / COPY-MORE-ARG now, or do I claim "good enough", rebase, figure out NEWS entries, push, and move on to the next thing? 2015-11-02T22:53:50Z stassats: (make-list (1- (expt 2 24))) shouldn't exhaust heap on 1G dynamic-space 2015-11-02T22:54:04Z stassats: that's only when doing it 10 times, 5 times works fine 2015-11-02T22:54:08Z stassats: that doesn't smell good 2015-11-02T22:59:30Z stassats: why would it succeed several times before eventually exhausting? 2015-11-02T22:59:49Z nyef: Retained roots? 2015-11-02T22:59:55Z nyef: Tenure? 2015-11-02T23:00:40Z stassats: nothing should be retained 2015-11-02T23:00:49Z stassats: same thing with (make-array (1- (expt 2 25))) works 2015-11-02T23:01:22Z stassats: but here GC triggers only for each allocation block, there it's done multiple times for conses 2015-11-02T23:01:46Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-11-02T23:08:25Z fridim_ quit (Ping timeout: 265 seconds) 2015-11-02T23:12:00Z stassats: so if something is not touched long enough it will cause heap exhaustion? 2015-11-02T23:13:37Z stassats: nyef: would that count as "under load"? 2015-11-02T23:13:39Z nyef: If it gets promoted a generation? 2015-11-02T23:14:17Z nyef: It behaves as extra memory pressure, so it somewhat behaves as "under load". 2015-11-02T23:14:50Z dougk2 joined #sbcl 2015-11-02T23:15:16Z psilord quit (Quit: Leaving.) 2015-11-02T23:15:16Z stassats: ok, that's not what i was after anyway 2015-11-02T23:18:09Z stassats: and arm is doing much better at my original test than ppc 2015-11-02T23:20:15Z stassats: i guess i can profile it on x86-64 2015-11-02T23:21:11Z stassats: scavenge 55%, memset 22% 2015-11-02T23:21:42Z dougk2 quit (Ping timeout: 250 seconds) 2015-11-02T23:21:57Z stassats: a slow memset could be causing it 2015-11-02T23:26:27Z angavrilov quit (Remote host closed the connection) 2015-11-02T23:27:02Z stassats: maybe it's also os dependent, that i can test 2015-11-02T23:28:54Z stassats: netbsd ok 2015-11-02T23:29:29Z nyef: Heh. Bet with netbsd that the sb-posix termios stuff doesn't work. d-: 2015-11-02T23:30:01Z nyef: http://paste.lisp.org/display/157516#10 <-- latest MIPS test results. 2015-11-02T23:32:13Z stassats: openbsd is worse 2015-11-02T23:32:22Z stassats: so it's clearly a memset/memcpy issue 2015-11-02T23:32:33Z stassats: but, maybe i can profile something on openbsd 2015-11-02T23:34:03Z stassats: can't find a statistical profiler for openbsd 2015-11-02T23:34:07Z stassats: do people not profile or what? 2015-11-02T23:40:39Z stassats: arm even has a zero cache line instruction 2015-11-02T23:40:43Z stassats: glibc does use it 2015-11-02T23:42:02Z nyef sighs. 2015-11-02T23:42:10Z nyef: Merge conflict in the test suite. Wonderful. 2015-11-02T23:42:42Z stassats: though this DC ZVA may not be available 2015-11-02T23:43:14Z stassats: anyhow, without a profiler, i'm the dark 2015-11-02T23:43:16Z stassats: in 2015-11-02T23:44:23Z stassats: i can measure memset, though 2015-11-02T23:49:05Z stassats: memset on arm64 is just around 5 times slower than on x86-64 2015-11-02T23:49:09Z stassats: which is about as it should be 2015-11-02T23:50:36Z stassats: slow memory protection? 2015-11-02T23:51:28Z stassats: ok, i wasted enough time on this 2015-11-02T23:53:14Z stassats: memset is actually faster on ppc 2015-11-02T23:53:19Z stassats: so, that's not it at all 2015-11-02T23:53:42Z nyef: Whee... Something like three merge conflicts, due to someone yanking a chunk of debug.impure.lisp out to a new file at some point in the past... three days? 2015-11-02T23:54:10Z stassats: you should commit more often! 2015-11-02T23:54:24Z nyef: I still haven't even written the NEWS entries yet! 2015-11-02T23:55:38Z stassats: strace can time things, i can time mprotect 2015-11-02T23:57:12Z scymtym_: nyef: sorry 2015-11-02T23:57:52Z stassats: ok, mprotect don't take much time 2015-11-02T23:58:16Z stassats: what the hell is it? 2015-11-02T23:58:24Z stassats: should try cheneygc? 2015-11-02T23:58:29Z stassats: nyef: how do i build with cheneygc on ppc? 2015-11-02T23:58:49Z nyef: stassats: --without-gencgc --with-cheneygc 2015-11-02T23:58:57Z stassats: makes sense 2015-11-03T00:05:53Z stassats: maybe x86 is just that better at this task 2015-11-03T00:05:59Z stassats: i should try on another x86 cpu 2015-11-03T00:06:51Z nyef: Hrm. I should do a check-build on x86-64, given that I've added test cases and altered common logic. 2015-11-03T00:08:03Z dougk2 joined #sbcl 2015-11-03T00:09:00Z nyef hopes that nothing broke, either during the rebase or in master since the start of his original branch. 2015-11-03T00:12:06Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-03T00:14:34Z stassats: ok, an atom cpu the ratio is different, but still not as bad as on arm, let allone ppc 2015-11-03T00:15:20Z stassats: with (fill (make-array (1- (expt 2 25))) 2) non-gc time slightly dominates 2015-11-03T00:15:37Z stassats: on a full power x86-64 box non-gc time is twice as large 2015-11-03T00:15:46Z stassats: on arm gc time is twice as large 2015-11-03T00:17:05Z stassats: an opportunity to update my dusty chromebook 2015-11-03T00:29:16Z stassats: same thing with cheneygc 2015-11-03T00:31:19Z psilord joined #sbcl 2015-11-03T00:32:54Z stassats: maybe google's pprof works on powerpc 2015-11-03T00:33:19Z stassats: love make -j64 2015-11-03T00:54:47Z nyef: Hrm... Maybe there's some non-GC-safe edge case that the sb-gmp stuff triggers on occasion? 2015-11-03T00:55:00Z stassats: are you on cheneygc? 2015-11-03T00:55:17Z stassats: oh man, i should have thought of that before 2015-11-03T00:56:18Z stassats: nyef: https://bugs.launchpad.net/sbcl/+bug/1305266 2015-11-03T00:56:26Z stassats: see comment #15 and #16 2015-11-03T00:56:35Z stassats: basically at the end 2015-11-03T00:57:14Z nyef: Ahh... Yeah, on cheneygc. 2015-11-03T00:57:25Z nyef: Adding gencgc support for MIPS is on my shortlist. 2015-11-03T00:57:43Z stassats: sb-gmp is known broken on cheneygc 2015-11-03T00:58:22Z nyef: So, it works *sometimes*, but... Okay, sounds like I need to do some unbreakage. 2015-11-03T00:59:05Z stassats: basically it hands off protected memory to C 2015-11-03T00:59:21Z stassats: C is not happy with such an arrangement 2015-11-03T00:59:43Z nyef: That's fine, if that's what the problem is I can fix it. 2015-11-03T00:59:59Z stassats: similar with an issue where the trailing 0 in strings needs to be touched 2015-11-03T01:00:56Z nyef: Exactly. 2015-11-03T01:01:20Z nyef: Okay, no unexpected test failures with an x86-64 or x86 build. 2015-11-03T01:01:37Z nyef: And, even starting on them late, they both still ran through before the mips build completed. 2015-11-03T01:02:04Z nyef: So now I "just" have to wait for the mips build to run the test suite... And work out appropriate NEWS entries. 2015-11-03T01:02:26Z Bicyclidine quit (Ping timeout: 268 seconds) 2015-11-03T01:05:05Z stassats: the hurdles i had to jump to get a profiler... 2015-11-03T01:05:14Z stassats: looks like i have one now 2015-11-03T01:05:41Z stassats: all hot spots are in lisp? huh 2015-11-03T01:08:02Z dougk2 joined #sbcl 2015-11-03T01:09:17Z stassats: but i can't interpret where those functions were, cold-core.map is useless now 2015-11-03T01:10:59Z stassats: but sb-sprof doesn't show much going on in lisp-land 2015-11-03T01:12:55Z nyef: Does this look good? http://paste.lisp.org/display/157516#11 2015-11-03T01:14:31Z stassats: a different profiling run, 90.9% pthread_sigmask 2015-11-03T01:19:02Z dougk2 quit (Ping timeout: 272 seconds) 2015-11-03T01:19:56Z stassats: strace disagrees 2015-11-03T01:20:37Z dougk2 joined #sbcl 2015-11-03T01:21:32Z stassats: ok, i would need to move sb-sprof into C make it work during GC and collect data about C 2015-11-03T01:21:36Z stassats: i don't want to do that 2015-11-03T01:23:58Z stassats: no, it's not possible for pthread_sigmask to misbehave just for 10 gcs 2015-11-03T01:27:19Z stassats: ok, maybe it needs more time spinning 2015-11-03T01:32:08Z beaumonta joined #sbcl 2015-11-03T01:32:32Z abeaumont_ quit (Read error: Connection reset by peer) 2015-11-03T01:38:10Z scymtym_ quit (Ping timeout: 246 seconds) 2015-11-03T01:39:04Z Bicyclidine joined #sbcl 2015-11-03T01:42:15Z nyef waits impatiently for the test suite to finish running. 2015-11-03T01:46:23Z Bicyclidine quit (Ping timeout: 244 seconds) 2015-11-03T01:48:23Z Bicyclidine joined #sbcl 2015-11-03T01:50:40Z nyef: Okay, just one new test failure, and I'm fairly sure that it's one added recently. 2015-11-03T01:54:17Z nyef: Hrm. This link sucks for copying files. And it's only going to get worse if I add a VPN to the equation. I need to get the whole repository access thing sorted out. 2015-11-03T01:54:55Z nyef: (And then it turns out that my sourcefarce account is dead or something.) 2015-11-03T01:55:32Z stassats: nyef: re NEWS, i would have just put "general MIPS improvements" 2015-11-03T01:55:42Z stassats: people who read NEWS probably wouldn't care for such details 2015-11-03T01:57:10Z stassats: and gc probably blocks profiler signals, that's why i can't see zilch 2015-11-03T01:57:48Z nyef: And... Okay, my sf account still exists. I'd better rebuild the ssh, ssl, tls, and git stuff on MIPS. /-: 2015-11-03T01:58:46Z ASau quit (Ping timeout: 260 seconds) 2015-11-03T01:59:04Z nyef: Less than 100 commits to go until I have more commits than WHN! (-: 2015-11-03T01:59:28Z stassats: i don't have anyone in sight 2015-11-03T01:59:55Z nyef: You're 150 commits behind dougk2, aren't you? 2015-11-03T01:59:56Z stassats: maybe a 1000 commits 2015-11-03T02:00:17Z stassats: well, he's uncatchable 2015-11-03T02:01:08Z nyef: He's probably getting paid to do this stuff, too. 2015-11-03T02:01:31Z stassats: ok, finally profiling results 2015-11-03T02:01:45Z stassats: 36.1% forwarding_pointer_p ? 2015-11-03T02:01:47Z stassats: hmm 2015-11-03T02:01:53Z stassats: 36.0% fixnump 2015-11-03T02:01:56Z stassats: aren't they inlined? 2015-11-03T02:02:46Z nyef: Are they getting credited for their inlined versions? 2015-11-03T02:03:03Z stassats: that would be too smart? 2015-11-03T02:03:31Z nyef: Them DWARFs is tricky! 2015-11-03T02:05:18Z stassats: 0x1000b744 <+76>: bl 0x1000b5a4 2015-11-03T02:05:35Z nyef: Fair enough. 2015-11-03T02:06:15Z stassats: ok, how come? 2015-11-03T02:06:19Z stassats: inline static boolean 2015-11-03T02:06:45Z stassats: it is inlined on x86 2015-11-03T02:07:23Z Bicyclidine quit (Ping timeout: 264 seconds) 2015-11-03T02:07:32Z stassats: no -O2? 2015-11-03T02:07:37Z stassats: let's check 2015-11-03T02:08:21Z stassats: it's even -O3 2015-11-03T02:08:49Z stassats: cc -g -m32 -I. -DSBCL_PREFIX=\"'/usr/local'\" -c -o alloc.o alloc.c 2015-11-03T02:08:53Z stassats: neither is there 2015-11-03T02:09:10Z DeadTrickster quit (Ping timeout: 240 seconds) 2015-11-03T02:09:33Z DeadTrickster joined #sbcl 2015-11-03T02:09:35Z stassats: it doesn't += CFLAGS 2015-11-03T02:09:38Z stassats: goddamn it 2015-11-03T02:10:21Z nyef: Simple mistake in the Config file? 2015-11-03T02:11:26Z stassats: that did inline 2015-11-03T02:11:59Z stassats: gprof hinted at forwarding_pointer_p, but i checked that they are inlined and thought gprof is instrumenting and may know 2015-11-03T02:12:05Z stassats: so much wasted time and irc characters 2015-11-03T02:13:53Z Bicyclidine joined #sbcl 2015-11-03T02:16:16Z stassats: arms configs were copied from ppc 2015-11-03T02:16:31Z nyef: Sounds about right. 2015-11-03T02:16:52Z nyef: I copied from whichever platform seemed most appropriate, but PPC was, to a great extent, my primary exemplar. 2015-11-03T02:18:11Z stassats: at least the fix is simple 2015-11-03T02:18:23Z stassats: i wonder how fast will the build be now 2015-11-03T02:19:37Z stassats: good thing i noticed that arm's gc.impure was slow 2015-11-03T02:19:48Z stassats: all thanks to christoph_debian's broken kernel 2015-11-03T02:19:54Z stassats: it wasn't for nought 2015-11-03T02:19:58Z nyef: Are any other targets affected by this CFLAGS thing? 2015-11-03T02:20:04Z stassats: nope 2015-11-03T02:20:11Z stassats: they either += or have -O2 2015-11-03T02:20:34Z stassats: :BUG-936304 is now 3.291 seconds of real time 2015-11-03T02:20:37Z stassats: was something like 80 2015-11-03T02:20:53Z stassats: this is embarrassing 2015-11-03T02:21:39Z nyef: I think I'm done with the MIPS hacking for today. 2015-11-03T02:22:01Z stassats: well, we can now write 25 fold GC speed up into NEWS 2015-11-03T02:22:23Z Bicyclidine quit (Ping timeout: 264 seconds) 2015-11-03T02:23:31Z stassats: it took just 10 years to fix 2015-11-03T02:23:42Z stassats: more? 2015-11-03T02:23:43Z nyef: Heh. 2015-11-03T02:23:58Z stassats: 12 2015-11-03T02:24:38Z stassats: https://github.com/sbcl/sbcl/commit/5822b60341dea34bca191bedbbdd94adef6dc534 2015-11-03T02:25:01Z stassats: "As a temporary workaround" 2015-11-03T02:25:39Z nyef: "temporary, adj.: permanent." 2015-11-03T02:27:26Z nyef: Looks like the next thing for me to tackle on MIPS is gencgc? 2015-11-03T02:28:52Z stassats: i advise on not using signals for alloc_tramp 2015-11-03T02:29:00Z stassats: the less signals the better 2015-11-03T02:29:13Z Bicyclidine joined #sbcl 2015-11-03T02:29:23Z stassats: x86oids do not use them, which is what i copied for arm 2015-11-03T02:29:48Z nyef: Hrm. 2015-11-03T02:30:42Z stassats: no reason to involved the kernel just to get a piece of memory 2015-11-03T02:30:59Z nyef: Makes sense, unfortunately. 2015-11-03T02:33:29Z stassats: 32 => 9.538 seconds on arm64 2015-11-03T02:33:31Z nyef: Okay, defbt 6 and 7 are new... 2015-11-03T02:33:35Z stassats: not as dramatic as on ppc 2015-11-03T02:34:10Z nyef: And the &REST terms were removed from two of the cases in (:BACKTRACE :XEP). 2015-11-03T02:34:49Z stassats: ah, arm64 is 64-bit, maybe that's why 2015-11-03T02:36:47Z Bicyclidine quit (Ping timeout: 268 seconds) 2015-11-03T02:37:40Z stassats: the second test seems to be slow 2015-11-03T02:37:59Z stassats: but it's non-gc time 2015-11-03T02:39:41Z stassats: 32.436 => 9.811; 30.625 => 28.546 seconds 2015-11-03T02:44:21Z stassats: power7 did feel too slow 2015-11-03T02:44:28Z stassats: remeasuring build times now 2015-11-03T02:48:20Z dougk2 quit (Ping timeout: 272 seconds) 2015-11-03T02:51:50Z stassats: knocked off about a minute from the arm64 self build 2015-11-03T02:56:37Z dougk2 joined #sbcl 2015-11-03T02:57:37Z stassats: install.sh still creates site-systems? 2015-11-03T03:08:09Z stassats quit (Ping timeout: 265 seconds) 2015-11-03T03:08:56Z joshe joined #sbcl 2015-11-03T03:14:14Z akkad: power7 was the beginning of the end for speed 2015-11-03T03:14:56Z akkad: going from ooe to ioe and back was a bad idea 2015-11-03T04:18:07Z dougk2 quit (Ping timeout: 252 seconds) 2015-11-03T05:32:17Z gingerale joined #sbcl 2015-11-03T06:16:52Z gingerale quit (Remote host closed the connection) 2015-11-03T06:19:07Z nzambe quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2015-11-03T06:57:37Z Shinmera joined #sbcl 2015-11-03T07:55:19Z loke: So many MIPS fixes :-) 2015-11-03T07:55:36Z loke: What platforms use MIPS these days? (I know some routers do, but what else?) 2015-11-03T07:59:40Z Cymew joined #sbcl 2015-11-03T08:02:21Z Xof: oh that -O3 thing is embarrassing 2015-11-03T08:04:18Z Xof: I'm fairly sure the eventual problem turned out to be https://github.com/sbcl/sbcl/commit/21e84b532732503bc7cf8bb006fc3e9812505dd5 2015-11-03T08:05:03Z Xof: but of course we didn't disable the workaround when we finally found the bug 2015-11-03T08:05:49Z loke: Xof: The change is an OR instead of ADD. How could this impact differently when optimisation was activated? 2015-11-03T08:06:20Z Xof: because that sequence did the right thing, except if bit 15 of the address to jump to was 1 2015-11-03T08:06:34Z Xof: and if optimization is activated, functions in the runtime have different addresses 2015-11-03T08:07:08Z psy_ joined #sbcl 2015-11-03T08:07:13Z Xof: and it just so happened that if optimization was off the addresses of things we wanted to jump to didn't have bit 15 set, but if it was on, they did, at least more often 2015-11-03T08:07:24Z Xof: (depends on the compiler, the compiler options, the linker, ...) 2015-11-03T08:13:03Z scymtym_ joined #sbcl 2015-11-03T08:17:14Z loke: Xof: wow 2015-11-03T08:17:26Z loke: Xof: Thanks for the clarification. 2015-11-03T08:23:35Z angavrilov joined #sbcl 2015-11-03T08:26:18Z scymtym: nyef: defbt 6 and 7 are for the SB-DI:PARSE-COMPILED-DEBUG-FUN-LAMBDA-LIST bug (lp#1498644). i replaced the &REST terms with explicit checks for e.g. "unused argument" or "unavailable lambda list" markers where they seemed to be used as "don't care about the remainder of the argument list" 2015-11-03T08:52:06Z fridim_ joined #sbcl 2015-11-03T08:55:03Z Quadrescence quit (Quit: This computer has gone to sleep) 2015-11-03T08:59:39Z psy_ quit (Ping timeout: 240 seconds) 2015-11-03T09:00:18Z psy_ joined #sbcl 2015-11-03T09:11:51Z jlarocco_ quit (Read error: Connection reset by peer) 2015-11-03T09:27:31Z jlarocco_ joined #sbcl 2015-11-03T10:08:51Z guicho joined #sbcl 2015-11-03T10:22:17Z guicho quit (Quit: さようなら) 2015-11-03T10:58:27Z alchemis7 quit (Remote host closed the connection) 2015-11-03T11:01:59Z alchemis7 joined #sbcl 2015-11-03T11:03:54Z ZabaQ joined #sbcl 2015-11-03T11:37:39Z lnostdal quit (Ping timeout: 240 seconds) 2015-11-03T11:41:52Z duikboot joined #sbcl 2015-11-03T11:41:58Z duikboot_ joined #sbcl 2015-11-03T11:41:59Z Xof quit (Ping timeout: 240 seconds) 2015-11-03T11:50:13Z stassats joined #sbcl 2015-11-03T11:50:17Z lnostdal joined #sbcl 2015-11-03T11:58:32Z rszeno joined #sbcl 2015-11-03T12:35:26Z christoph_debian quit (Ping timeout: 240 seconds) 2015-11-03T12:40:39Z duikboot_ quit (Quit: Leaving) 2015-11-03T12:51:44Z eudoxia joined #sbcl 2015-11-03T13:03:03Z christoph_debian joined #sbcl 2015-11-03T13:11:25Z ZabaQ_ joined #sbcl 2015-11-03T13:14:26Z ZabaQ quit (Ping timeout: 240 seconds) 2015-11-03T13:21:20Z ZabaQ_ quit (Quit: Leaving) 2015-11-03T13:21:52Z ZabaQ_ joined #sbcl 2015-11-03T13:21:57Z ZabaQ_ is now known as ZabaQ 2015-11-03T13:22:18Z beaumonta quit (Ping timeout: 240 seconds) 2015-11-03T13:22:23Z beaumonta joined #sbcl 2015-11-03T13:22:26Z duikboot quit (Ping timeout: 240 seconds) 2015-11-03T13:22:26Z jlarocco_ quit (Ping timeout: 240 seconds) 2015-11-03T13:22:48Z jlarocco_ joined #sbcl 2015-11-03T13:23:09Z duikboot joined #sbcl 2015-11-03T13:28:24Z DGASAU quit (Read error: Connection reset by peer) 2015-11-03T13:29:03Z DGASAU joined #sbcl 2015-11-03T13:57:11Z Cymew quit (Ping timeout: 264 seconds) 2015-11-03T13:58:19Z Cymew joined #sbcl 2015-11-03T14:03:47Z nzambe joined #sbcl 2015-11-03T14:04:43Z angavrilov quit (Remote host closed the connection) 2015-11-03T14:05:04Z angavrilov joined #sbcl 2015-11-03T14:14:48Z m0li quit (Ping timeout: 250 seconds) 2015-11-03T14:14:52Z duikboot quit (Quit: Leaving) 2015-11-03T14:25:38Z stassats quit (Ping timeout: 272 seconds) 2015-11-03T14:27:00Z m0li joined #sbcl 2015-11-03T14:27:01Z m0li quit (Changing host) 2015-11-03T14:27:01Z m0li joined #sbcl 2015-11-03T14:28:10Z sjl quit (Ping timeout: 246 seconds) 2015-11-03T14:28:59Z lnostdal quit (Ping timeout: 240 seconds) 2015-11-03T14:32:45Z rszeno quit (Quit: Leaving.) 2015-11-03T14:34:53Z nyef: Hrm... "Unexpected frame during detailed check: wanted ((BT.2.2) (:EXTERNAL)), got ((BT.2.2 #) (:EXTERNAL))" 2015-11-03T14:41:39Z lnostdal joined #sbcl 2015-11-03T14:55:14Z scymtym: nyef: this is pretty new and i may have made mistakes 2015-11-03T14:55:36Z scymtym: the intention was to explicitly check for "unavailable argument" and "unavailable lambda list" markers 2015-11-03T14:56:44Z nyef: scymtym: The other possibility is that it's actually a latent bug in the MIPS backend. 2015-11-03T14:58:06Z scymtym: right, there doesn't seem be an unavailable argument with the way BT.2.2 is called 2015-11-03T14:59:15Z nyef: For future reference, when I'm extracting a chunk of one file to another and making changes, I prefer to use one commit to extract the file contents, and another to make the changes. It's a lot easier to figure out what's going on that way. 2015-11-03T14:59:25Z DeadTrickster quit (Ping timeout: 252 seconds) 2015-11-03T15:00:13Z scymtym: will do next time 2015-11-03T15:00:26Z nyef: Thank you. 2015-11-03T15:01:26Z nyef: And I figured out why the alpha build fails so early. 2015-11-03T15:01:34Z nyef blames stassats. 2015-11-03T15:02:43Z nyef: At least it shouldn't take too much to sort out. 2015-11-03T15:03:07Z sjl joined #sbcl 2015-11-03T15:20:08Z Cymew quit (Ping timeout: 244 seconds) 2015-11-03T15:24:32Z nyef: scymtym: What systems did you test your backtrace changes on? 2015-11-03T15:32:29Z psy_ quit (Ping timeout: 250 seconds) 2015-11-03T15:41:24Z scymtym: nyef: my x86 laptop plus this matrix: https://ci.cor-lab.org/job/sbcl-master/ 2015-11-03T15:42:14Z scymtym: despite (probably expected) failures in sb-fasteval :interpret mode, everything seems to work 2015-11-03T15:42:25Z scymtym: may still be wrong, of course 2015-11-03T15:42:42Z nyef: So... x86oids only? 2015-11-03T15:42:52Z scymtym: yes 2015-11-03T15:43:35Z scymtym: are the expected backtraces architecture-specific? 2015-11-03T15:43:53Z nyef: I have no idea. Or there could be architecture-specific bugs. 2015-11-03T15:44:34Z scymtym: i naively assumed backtraces would be identical everywhere 2015-11-03T15:45:04Z nyef: x86oids are "special" in several ways, this might be one of them. 2015-11-03T15:49:31Z nyef: scymtym: Is this your Jenkins instance? 2015-11-03T15:50:46Z scymtym: my employer's, but i can use it for SBCL since it is work-related 2015-11-03T15:51:36Z nyef: Ah, okay. 2015-11-03T15:59:01Z ZabaQ quit (Quit: Leaving) 2015-11-03T16:00:58Z nyef: I wonder if Jenkins would make sense for my scenario? 2015-11-03T16:02:11Z scymtym: what do you want to do? 2015-11-03T16:02:35Z joshe: jenkins needs java running on its build hosts, right? 2015-11-03T16:03:01Z scymtym: on the "master" and the "slaves" afaik 2015-11-03T16:03:13Z nyef: I want a build farm with good coverage for SBCL platforms. 2015-11-03T16:03:21Z nyef: Hrm. Java is a deal-breaker. /-: 2015-11-03T16:04:10Z joshe: yea, not so good for testing something on platforms which lack java 2015-11-03T16:04:47Z joshe: I've poked at buildbot now and then but it's more of a toolkit than a program you deploy 2015-11-03T16:07:09Z scymtym: you can probably abuse jenkins by executing things on remote machines via ssh (i.e. without slaves) but you loose some of the benefits 2015-11-03T16:09:09Z nyef: Well, I'm not quite yet in a position where I need a buildbot. Still getting hardware put together and SBCL into minimal shape on the hardware. 2015-11-03T16:10:54Z scymtym: i agree. automated testing doesn't work very well with flaky software 2015-11-03T16:11:53Z nyef: Mmm. And right now I have flaky software, at best, for all of my designated build hosts... Except possibly one. 2015-11-03T16:12:05Z Shinmera: I'm working on an automatic building system that's written in CL, though I have no idea if it would suit your needs. 2015-11-03T16:12:07Z nyef: The other issue is that I don't want to have the hardware running all the time. 2015-11-03T16:12:19Z Shinmera: drmeister and I are currently using it to build test clasp. 2015-11-03T16:15:12Z nyef: So I may find that I power up a machine, it builds the latest and has a failure of some sort, and then I want to be able to have it bisect to find the problem commit. 2015-11-03T16:15:49Z nyef: Oh well. Problems for later, really. First priority is to get the hardware up and going, and SBCL reasonably stable on it. 2015-11-03T16:34:38Z joshe: being able to power build hardware on and off would be very nice 2015-11-03T16:35:20Z joshe: maybe I could find a switched pdu on ebay that would work out ok 2015-11-03T16:37:29Z nyef: Your keyword is "baytech power". 2015-11-03T16:37:34Z nyef: Look for an RPC-3 or so. 2015-11-03T16:38:33Z nyef: Actually, I guess it depends on how many switched outlets you want, and if you prefer RS-232 or TCP/IP for your remote access... And on how much of a power circuit you have. 2015-11-03T16:39:12Z nyef: Most of my designated build hardware has built-in power management, but the occasional box doesn't. 2015-11-03T16:40:58Z nyef: SPARC has ALOM, MIPS has L1, HPPA has something (I forget quite what), PPC is kindof dead anyway, but didn't have power control, one of my Alphas doesn't have power control, the other probably does but I haven't managed to figure out HOW yet... 2015-11-03T16:45:29Z joshe: I have sparc and (flaky) hppa, but my mips and ppc are cheap hardware 2015-11-03T16:45:41Z joshe: the ppc boxes don't even have serial console 2015-11-03T16:46:55Z nyef: So... not XServe G5? 2015-11-03T16:47:10Z nyef now has two dead XServe G5s. 2015-11-03T16:47:12Z joshe: mac minis, unfortunately 2015-11-03T16:47:23Z nyef: Hrm. 2015-11-03T16:47:29Z joshe: they're pretty quiet except when someone commits to sbcl 2015-11-03T16:47:35Z nyef: That... might be workable. I'd have to think about it. 2015-11-03T16:47:41Z joshe: then they get loud for an hour or two 2015-11-03T16:47:54Z nyef: I'm fairly sure I can spare a mini G4 to act as a build box. 2015-11-03T16:48:11Z joshe: well, loud when compared to modern non-server gear 2015-11-03T16:56:31Z nyef: So, changing topics a bit, I'm thinking that we need a :64-bit-registers feature that's always set for :64-bit backends, but also for :alpha. 2015-11-03T16:58:02Z nyef: I'll probably be making that happen today. 2015-11-03T17:05:47Z gingerale joined #sbcl 2015-11-03T17:13:22Z DeadTrickster joined #sbcl 2015-11-03T17:16:18Z dougk2 joined #sbcl 2015-11-03T17:21:04Z stassats joined #sbcl 2015-11-03T17:22:25Z nyef: stassats: Ah, good timing. 2015-11-03T17:22:31Z stassats: what did i break? 2015-11-03T17:22:34Z nyef: Alpha. 2015-11-03T17:23:12Z nyef: So, before I fix it, I want to get your opinion on the approach I'm planning to use. 2015-11-03T17:23:20Z stassats: what particularly? 2015-11-03T17:23:39Z stassats: stepping checks? but alpha doesn't have them, iirc 2015-11-03T17:23:40Z nyef: I want to add a :64-bit-registers feature, always set for (or :64-bit :alpha). 2015-11-03T17:24:07Z nyef: And will also be used for MIPS n32. 2015-11-03T17:24:27Z stassats: makes sense 2015-11-03T17:25:18Z nyef: Okay, so I'll get that done soon, probably today, and use it to fix where you conflated n-word-bits and n-machine-word-bits. 2015-11-03T17:25:47Z stassats: hm, i thought i was doing search and replace, i guess something slipped up 2015-11-03T17:26:23Z stassats: what does alpha use 64-bit register for? doubles? 2015-11-03T17:26:46Z nyef: Integers. 2015-11-03T17:27:19Z nyef: Also, SAPs, I believe. 2015-11-03T17:27:46Z stassats: what's the point of a 32-bit everything else? 2015-11-03T17:27:46Z nyef: And the control stack pointer gets to be 64-bits, which means no dynamic-extent. 2015-11-03T17:27:49Z stassats: compact memory? 2015-11-03T17:28:34Z stassats: i can see it being fully 32-bit 2015-11-03T17:28:36Z nyef: Not having to put the work in to making the first full 64-bit port in order to run on Alpha. 2015-11-03T17:30:00Z nyef: But yeah, also memory bandwidth considerations. 2015-11-03T17:30:12Z stassats: did it have 32-bit buss? 2015-11-03T17:31:31Z nyef: No. 2015-11-03T17:35:28Z stassats: new ppc build is now 5m48 2015-11-03T17:35:36Z stassats: was around 7-8 minutes before 2015-11-03T17:36:15Z stassats: now that's more like a 3.5GHz POWER7 2015-11-03T17:36:29Z stassats: and there i thought it was just that slow 2015-11-03T17:37:40Z stassats: lucky enough to notice the slow down 2015-11-03T17:59:34Z scymtym quit (Ping timeout: 246 seconds) 2015-11-03T18:07:57Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-03T18:27:15Z nyef: Hunh. RS-422 is basically RS-232 but with differential transceivers? 2015-11-03T18:34:38Z scymtym joined #sbcl 2015-11-03T18:35:43Z dougk2 joined #sbcl 2015-11-03T18:36:11Z stassats: i guess it's time to add sb-thread to arm64 and see what starts to break 2015-11-03T18:37:48Z foom: nyef: yes, and you can usually connect an rs422 port to an rs232 port by connecting one side of the rs422 to the rs232's ground. 2015-11-03T18:38:06Z foom: although i think the voltage ranges also aren't exactly the same, so that might not be 100% guaranteed to work 2015-11-03T18:45:18Z attila_lendvai joined #sbcl 2015-11-03T18:45:18Z attila_lendvai quit (Changing host) 2015-11-03T18:45:18Z attila_lendvai joined #sbcl 2015-11-03T18:53:59Z sjl quit (Ping timeout: 240 seconds) 2015-11-03T19:10:51Z ASau joined #sbcl 2015-11-03T19:34:39Z gingerale quit (Remote host closed the connection) 2015-11-03T19:36:29Z eudoxia_ joined #sbcl 2015-11-03T19:36:48Z eudoxia_ quit (Read error: Connection reset by peer) 2015-11-03T19:40:00Z eudoxia quit (Ping timeout: 255 seconds) 2015-11-03T19:51:13Z scymtym_ quit (Ping timeout: 246 seconds) 2015-11-03T19:53:31Z nyef: Hrm. Run "git pull" in a repository on box 1, it works. Use "ssh -A" to connect to box 2, confirm that box 2 is set to allow agent forwarding, use "git pull" on a copy of the repository, it asks for a password. WTF? 2015-11-03T19:53:53Z nyef: And by "copy", I mean "rsync". Same configuration file and everything. 2015-11-03T19:54:05Z stassats: different user name? 2015-11-03T19:55:11Z nyef: Same user name, same user ID. 2015-11-03T20:01:08Z stassats: printed register names on paper, i spend too much time finding lispregs.h 2015-11-03T20:01:09Z White_Flame: rsync doesn't copy symlinks by default. that's bitten me a few times on other things 2015-11-03T20:01:59Z nyef: White_Flame: I rsync -av or -avz, typically. 2015-11-03T20:02:32Z nyef: Hrm. ssh to box 2 without agent forwarding, ssh localhost, get prompted for a password. ssh to box 2 with agent forwarding, ssh localhost, logs in without password. 2015-11-03T20:03:14Z nyef: ... maybe there's something weird about the version of git installed? 2015-11-03T20:13:26Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-03T20:17:28Z attila_lendvai joined #sbcl 2015-11-03T20:17:28Z attila_lendvai quit (Changing host) 2015-11-03T20:17:28Z attila_lendvai joined #sbcl 2015-11-03T20:18:04Z ASau quit (Remote host closed the connection) 2015-11-03T20:24:40Z scymtym_ joined #sbcl 2015-11-03T20:29:21Z foom: git upstream is ssh, not https? 2015-11-03T20:37:44Z nyef: Yes, it's an ssh:// URL. 2015-11-03T20:59:21Z stassats: sb-threadified arm64-assem.S 2015-11-03T20:59:29Z jdz quit (Ping timeout: 252 seconds) 2015-11-03T20:59:43Z stassats: now to remember the syntax of inline asm and to understand how to implement CAS on using load and store exclusive 2015-11-03T21:00:00Z nyef: PPC uses LL/SC, doesn't it? 2015-11-03T21:00:22Z stassats: seems so 2015-11-03T21:00:36Z stassats: but copying without understanding is no good 2015-11-03T21:00:40Z nyef: True. 2015-11-03T21:00:57Z dougk2_ joined #sbcl 2015-11-03T21:01:01Z nyef: "How will I know that I have reached enlightenment?" "The program will then run correctly." 2015-11-03T21:01:52Z dougk2 quit (Ping timeout: 268 seconds) 2015-11-03T21:02:49Z stassats: ARMv8.1 introduced "Compare and swap of 8-, 16-, 32-, 64- or a pair of 32- or 64-bit registers as a conditional update of a value in memory." 2015-11-03T21:05:14Z dougk2_ quit (Ping timeout: 260 seconds) 2015-11-03T21:06:09Z jdz joined #sbcl 2015-11-03T21:06:36Z dougk2 joined #sbcl 2015-11-03T21:06:47Z stassats: they couldn't do that in armv8 right away? sigh 2015-11-03T21:12:36Z stassats: load-exclusive actually marks an up to 512 byte memory block 2015-11-03T21:12:49Z nyef: That's not atypical. 2015-11-03T21:12:55Z stassats: there could be a deadlock here, couldn't it? 2015-11-03T21:13:37Z nyef: Umm... Is it actually an exclusion, or is it more like load-linked/store-conditional, where the link breaks if some other system writes to the block? 2015-11-03T21:13:55Z nyef: The thing about LL/SC is that it can live-lock, but can't dead-lock. 2015-11-03T21:14:30Z stassats: i think stxr will just fail 2015-11-03T21:14:50Z stassats: but there's also load-acquire 2015-11-03T21:18:41Z stassats: there are also Wait For Event and Send Event 2015-11-03T21:18:51Z stassats: for energy usage optimization 2015-11-03T21:20:46Z nyef: Hrm. 2015-11-03T21:21:12Z nyef: "invalid magic number in core: 0xf145342434c should have been 0x5342434c." 2015-11-03T21:21:31Z stassats: alpha? 2015-11-03T21:21:34Z nyef: Bet something thinks it's doing 32-bit things, when it's actually doing 64-bit things. 2015-11-03T21:21:36Z nyef: Yeah. 2015-11-03T21:24:27Z nyef: So, I have my MIPS machine serving as NFS host, the Alpha is running a gentoo livecd and a chroot to an NFS mount of gentoo, I'm editing files from my x86-64 using emacs tramp-mode, but I also have the NFS point mounted on my x86-64 so that I can use it as a build host. 2015-11-03T21:24:33Z nyef: What a lash-up! 2015-11-03T21:27:52Z stassats: the "acquire" flavors have something to do with memory ordering, apparently 2015-11-03T21:29:26Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-03T21:31:14Z stassats: they just don't need a memory barrier 2015-11-03T21:31:23Z stassats: do i need a memory barrier? ppc does use one 2015-11-03T21:38:49Z attila_lendvai joined #sbcl 2015-11-03T21:41:19Z stassats: huh, is get_spinlock stuff even used? 2015-11-03T21:44:36Z stassats: ok, less stuff to implement and get wrong 2015-11-03T21:44:59Z stassats: swap_lispobjs is used 2015-11-03T21:49:00Z beaumonta is now known as abeaumont 2015-11-03T21:53:06Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-03T21:57:34Z fridim_ quit (Ping timeout: 246 seconds) 2015-11-03T21:59:28Z clique joined #sbcl 2015-11-03T22:01:17Z clique quit (Quit: q) 2015-11-03T22:14:02Z stassats: concocted some sort of a swap_lispobj 2015-11-03T22:26:14Z ASau joined #sbcl 2015-11-03T22:29:42Z nyef: So, guess which backend didn't have a :TRANSLATE option for VOP SAFE-FDEFN-FUN? 2015-11-03T22:29:51Z nyef: Even HPPA has it! 2015-11-03T22:37:56Z nyef: Gah! Forgot :POLICY! 2015-11-03T22:44:17Z nyef wonders how he got a cold-core out of this mess before, given that massive oversight... unless :sb-show changes the default policy? 2015-11-03T22:45:00Z stassats: i don't need a temporary register for allocation on sb-thread, i can go without the temporary register, by just reloading boxed_region, but i don't want to slow down -sb-thread 2015-11-03T22:45:13Z stassats: but i don't want to be writing #-sb-thread in all the allocation calls 2015-11-03T22:45:41Z stassats: ah, who cares about no-threads anyway 2015-11-03T22:45:55Z stassats: will go back to reloading from boxed_region 2015-11-03T22:46:02Z nyef: Burn an SC for a suitable temporary which dumps to a non-allocated SB on non-threaded systems? 2015-11-03T22:46:53Z stassats: too smart 2015-11-03T22:47:55Z nyef: Heh. 2015-11-03T22:49:36Z ASau` joined #sbcl 2015-11-03T22:49:55Z nyef: ... It occurs to me that Alpha and HPPA are the two ports with really off-the-wall requirements for their runtime assembly code. 2015-11-03T22:50:30Z stassats: not having to pass a temporary register also make things simpler overall 2015-11-03T22:50:47Z stassats: and i won't be looking much at non-threaded disassembly soon for it to annoy me 2015-11-03T22:52:18Z ASau quit (Ping timeout: 272 seconds) 2015-11-03T22:53:15Z ASau` is now known as ASau 2015-11-03T22:53:35Z stassats: i already didn't like having to allocate and pass a temporary register 2015-11-03T22:53:42Z stassats: reader conditionals make it even worse 2015-11-03T22:55:50Z nyef: I think I'm up to three commits worth of changes so far for alpha. 2015-11-03T22:57:38Z stassats: "gc signals blocked" 2015-11-03T22:57:59Z nyef: Broken default sigmask? 2015-11-03T22:58:06Z nyef: PPC had that, IIRC. 2015-11-03T22:58:40Z nyef: See thread.c / initial_thread_trampoline(), about line 224. 2015-11-03T23:00:30Z stassats: my lispregs.h can't stay pinned to the wall 2015-11-03T23:00:37Z stassats: fell down again 2015-11-03T23:02:39Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-11-03T23:03:44Z nyef: http://paste.lisp.org/display/158438 <-- build results, such as they are. 2015-11-03T23:04:13Z stassats: what did pass? 2015-11-03T23:04:15Z nyef: Rebuilding without :sb-show, to see if that helps at all. 2015-11-03T23:04:35Z nyef: I don't know what passed, I don't remember what other contribs there are. (-: 2015-11-03T23:04:45Z nyef: The test suite won't run without sb-posix, though. 2015-11-03T23:04:59Z nyef: I'm hoping that it's a bad interaction with :sb-show. 2015-11-03T23:05:21Z stassats: sb-posix may be in a working enough state 2015-11-03T23:05:53Z stassats: "Received signal 11 in non-lisp thread 547556397056, resignalling to a lisp thread." 2015-11-03T23:05:54Z stassats: whaa 2015-11-03T23:05:57Z nyef: Dies from "don't know how to REQUIRE SB-POSIX". 2015-11-03T23:06:17Z nyef: Still, this is progress. 2015-11-03T23:06:45Z stassats: there's just one thread 2015-11-03T23:07:32Z stassats: it actually fails in create_thread_struct 2015-11-03T23:07:41Z stassats: at bind_variable 2015-11-03T23:08:21Z stassats: some more :x86-64/:64-bit stuff 2015-11-03T23:08:26Z nyef: Heh. 2015-11-03T23:08:28Z stassats: tls index is stored in the header 2015-11-03T23:09:06Z lnostdal_ joined #sbcl 2015-11-03T23:09:38Z stassats: ok, it's too bad without sb-after-xc-core 2015-11-03T23:10:37Z stassats: modifying slam.sh for the nth time to just rebuild the core 2015-11-03T23:10:43Z stassats: i should add a key 2015-11-03T23:11:19Z lnostdal quit (Ping timeout: 240 seconds) 2015-11-03T23:11:24Z stassats: gs signals still blocked 2015-11-03T23:14:57Z stassats: trying to figure how to use gdb to examine sigmask, faster to just print things 2015-11-03T23:15:21Z stassats: and of course i modified the wrong source file for unblock_gc_signals 2015-11-03T23:15:38Z stassats: i hate that 2015-11-03T23:16:56Z stassats: slam.sh "SB-COLD" doesn't designate any package 2015-11-03T23:16:58Z stassats: what on earth? 2015-11-03T23:17:41Z stassats: probably a problem with --core 2015-11-03T23:18:50Z stassats: ok, memory fault at 0xf0 2015-11-03T23:18:52Z stassats: better 2015-11-03T23:19:32Z stassats: and i broke gdb 2015-11-03T23:19:51Z stassats: anyhow, there's 1800 frames of call_into_lisp 2015-11-03T23:20:59Z stassats: reg_thread is 0 2015-11-03T23:23:24Z stassats: invalid magic number in core: 0xf145342434c should have been 0x5342434c 2015-11-03T23:23:29Z stassats: rrright 2015-11-03T23:24:01Z stassats: forget to pass the right core 2015-11-03T23:26:01Z sjl joined #sbcl 2015-11-03T23:30:21Z sjl__ joined #sbcl 2015-11-03T23:30:33Z sjl quit (Ping timeout: 252 seconds) 2015-11-03T23:32:08Z nyef: Heh. That's a familiar looking error message. (-: 2015-11-03T23:32:50Z stassats: yeeah, tried to load an arm32 core from /usr/local 2015-11-03T23:33:50Z nyef: Whereas, in my case, it was more a matter of a disagreement between genesis and the runtime about the shape of the core file header. 2015-11-03T23:36:37Z stassats: gdb says pthread_key specials is 0 2015-11-03T23:38:10Z nyef: Okay, looks like the list of "working" contribs from that build is: asdf, sb-cltl2, sb-concurrency, sb-cover, sb-executable, sb-grovel, sb-introspect, sb-queue, sb-rotate-byte, and sb-rt. 2015-11-03T23:39:22Z nyef: Unless it got a bit confused by me figuring out how to ask in the middle of my rebuild running make-target-contrib. 2015-11-03T23:40:08Z nyef: "could not execute cc: bad address"? 2015-11-03T23:41:46Z nyef: Unhandled SIMPLE-ERROR: Couldn't execute "cc": Bad address 2015-11-03T23:42:42Z nyef: ... "Bad address"? 2015-11-03T23:44:25Z nyef: Looks like EFAULT? 2015-11-03T23:44:41Z stassats: funcall0 already gets the current thread, it could just pass it to call_into_lisp and call_into_lisp wouldn't have to call pthread_getspecific 2015-11-03T23:45:13Z nyef: But that would change the contract for call_into_lisp. 2015-11-03T23:45:20Z stassats: well, yeah 2015-11-03T23:46:00Z nyef: Hrm. So, why is RUN-PROGRAM pitching that particular fit? 2015-11-03T23:46:12Z ASau quit (Remote host closed the connection) 2015-11-03T23:46:34Z nyef: It can't be a problem with exec(), because that happens post-fork(), doesn't it? 2015-11-03T23:46:54Z ASau joined #sbcl 2015-11-03T23:47:20Z nyef: Hrm. Or maybe it can? 2015-11-03T23:47:50Z nyef: Hrm. Spawn? 2015-11-03T23:48:53Z nyef: Okay, that's in the runtime... 2015-11-03T23:49:41Z stassats: for some reason there's a bazillion of call_into_lisp 2015-11-03T23:51:33Z nyef: ... Oh god, I'm trying to figure out how run-program works. Please shoot me now. 2015-11-03T23:52:00Z stassats: i spend some time on it, can shed some light 2015-11-03T23:53:23Z stassats: funcall0 also pass the stack pointer, another optimization point 2015-11-03T23:53:49Z stassats: that's useful for callbacks, but the callback wrapper is probably the slowest part anyway 2015-11-03T23:54:35Z nyef: Okay, what is the significance of spawn() returning -2 with errno set to EFAULT? 2015-11-03T23:57:16Z stassats: -2 means couldn't execute 2015-11-03T23:57:31Z nyef: Yeah, I think I just got to that point. 2015-11-03T23:57:51Z nyef: So either execvp or execv failed, and the errno is from there? 2015-11-04T00:00:19Z nyef: So... why am I catching an EFAULT from... presumably execvp()? 2015-11-04T00:00:44Z nyef: Yeah, I see :SEARCH T in the backtrace. 2015-11-04T00:01:18Z stassats: EFAULT filename or one of the pointers in the vectors argv or envp points outside your accessible address space. 2015-11-04T00:01:39Z stassats: what about the null at the end of a string? 2015-11-04T00:01:57Z nyef: Shouldn't be this reliable about causing a fault. 2015-11-04T00:02:15Z nyef: ... Wait, isn't this a unicode build anyway? 2015-11-04T00:02:20Z stassats: it shouldn't catch a sigsegv anyway 2015-11-04T00:02:40Z stassats: so what the hell does it mean, accessible address space? 2015-11-04T00:04:14Z nyef: Has to be program, argv[], or envp[], right? 2015-11-04T00:04:38Z stassats: ok, pthread_getspecific returns 0 2015-11-04T00:05:04Z nyef: And all of these are read-only at this point. 2015-11-04T00:05:10Z nyef: Or, not-written, at least. 2015-11-04T00:05:42Z stassats: hm, it loads some strange address for specials 2015-11-04T00:05:59Z nyef: So, with-args, with-environment, or progname... 2015-11-04T00:07:20Z stassats: ok, the address is right, then why 2015-11-04T00:08:33Z nyef: Oh, wow. (run-program "cc" :search t) => memory fault. Backtrace => another memory fault. 2015-11-04T00:09:06Z nyef: "This might be the wine talking but... HI, I'M MADE FROM GRAPES." 2015-11-04T00:09:16Z nyef: This is amusing. (-: 2015-11-04T00:09:57Z nyef: Hrm. A couple of unaligned traps? 2015-11-04T00:11:30Z stassats: funcall0, calling arch_os_get_current_thread, works, but the i don't get its disassembly 2015-11-04T00:11:31Z stassats: or stepping 2015-11-04T00:11:47Z stassats: the pthread_key it passes to pthread_getspecific is 0 2015-11-04T00:12:08Z nyef: Something tells me you're missing a bit of *-arch magic. 2015-11-04T00:12:18Z nyef: Where is the pthread_key supposed to get set up? 2015-11-04T00:12:45Z stassats: well, i "call pthread_getspecific(specials)" from gdb and it's right 2015-11-04T00:12:57Z stassats: arch_os_get_current_thread() works too 2015-11-04T00:13:12Z stassats: i just don't get how and can't subsequently replicate it in assembly 2015-11-04T00:14:35Z stassats: is gcc using a different calling convetion? 2015-11-04T00:14:37Z stassats: it's a @plt 2015-11-04T00:18:10Z nyef: Hrm. 2015-11-04T00:18:29Z stassats: (no) 2015-11-04T00:18:59Z nyef: I can (run-program "cc" nil :search t), but I can't (run-program "cc" '("--help") :search t). 2015-11-04T00:20:09Z nyef: Hrm. And there's an unaligned trap when I do so... 2015-11-04T00:21:01Z stassats: i don't get it, stepping through funcall0 2015-11-04T00:21:06Z stassats: it can't be right, yet it's right 2015-11-04T00:21:39Z nyef sighs. 2015-11-04T00:22:25Z stassats: stepping through pthread_getspecific, it is passed a 0 2015-11-04T00:22:27Z stassats: what the hell 2015-11-04T00:23:02Z nyef: Yes, let's calculate pointers and alignments on heap-wide words, not machine-wide words. 2015-11-04T00:23:04Z stassats: so, there are two arguments? 2015-11-04T00:23:07Z stassats: is it a macro? 2015-11-04T00:23:32Z stassats: ok, my idea of not using pthread_getspecific in call_into_lisp doesn't look so bad now 2015-11-04T00:26:32Z stassats: looking at glibc, i don't get it even further 2015-11-04T00:27:36Z nyef: ... and starting over from make-host-1. 2015-11-04T00:30:02Z nyef: Up to five commits worth of changes. 2015-11-04T00:30:43Z nyef: And two NEWS entries. One for basic build restoration, one for RUN-PROGRAM working again. 2015-11-04T00:32:04Z stassats: oh 2015-11-04T00:32:12Z stassats: could it be that the key doesn't matter, only its value 2015-11-04T00:32:15Z stassats: so it uses 0? 2015-11-04T00:32:58Z nyef: No, the key is the identity of the TLS slot. 2015-11-04T00:33:34Z stassats: well, i was passing a pointer to the key 2015-11-04T00:33:38Z stassats: but i should pass the value? 2015-11-04T00:34:29Z nyef: For getspecific? Yeah, you pass the key, not a pointer. The pthread specific functions only seem to take a pointer to the key when it's expecting to use it as an output parameter. 2015-11-04T00:34:49Z stassats: so, the value is 0 2015-11-04T00:35:15Z nyef: Not implausible, but the other option is that it's in the BSS segment and hasn't been initialized. 2015-11-04T00:35:34Z stassats: well, i trapped a running x86-64 sbcl, p specials = 0 2015-11-04T00:36:06Z stassats: ok, let's see if another invocation of pthread_key_create returns something different 2015-11-04T00:36:25Z stassats: p lisp_thread = 1 2015-11-04T00:36:26Z nyef: Probably either 1 or 8. 2015-11-04T00:36:28Z stassats: damn 2015-11-04T00:36:37Z stassats: ok then 2015-11-04T00:36:47Z stassats: but passing the thread to call_into_lisp is still a good idea 2015-11-04T00:45:13Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-04T00:45:47Z stassats: ok, stumbling over pseudo-atomic now 2015-11-04T00:46:17Z karswell joined #sbcl 2015-11-04T00:46:38Z stassats: x86oids use one slot 2015-11-04T00:47:44Z stassats: can't use on slot on load-store 2015-11-04T00:48:47Z scymtym_ quit (Ping timeout: 264 seconds) 2015-11-04T00:49:17Z nyef: sb-bsd-sockets built without errors. Looks like I might have nailed the worst of it. 2015-11-04T00:49:39Z nyef hopes that the HPPA machine still boots. 2015-11-04T00:51:23Z stassats: or maybe one pseudo-atomic can be used 2015-11-04T00:52:05Z stassats: x86-64 does XOR [R12+64], RBP to clear PA and check for PAI 2015-11-04T00:54:20Z stassats: on arm, it would need to load it, mask, put it back then compare 2015-11-04T00:54:25Z stassats: ok, i'll with two slots for now 2015-11-04T00:54:31Z nyef: Okay, sb-bsd-sockets and sb-simple-streams built, the rest are still broken. 2015-11-04T00:54:48Z dougk2 joined #sbcl 2015-11-04T00:54:49Z nyef: The critical one to fix is sb-posix... 2015-11-04T00:55:11Z nyef: ... A test failure? 2015-11-04T00:55:24Z nyef: Hrm. 2015-11-04T00:55:51Z stassats: is it fcntl.1? 2015-11-04T00:56:36Z nyef: Spot on. 2015-11-04T00:57:18Z stassats: take a look at it in posix-tests.lisp 2015-11-04T00:57:35Z nyef: Was doing so. Trying the obvious thing now. 2015-11-04T01:05:09Z nyef: Okay, sb-posix built! Still failing on sb-gmp (which I'm willing to chalk up to cheneygc for the moment), sb-md5 (corruption trying to run test case sb-md5.md5sum-file.0), sb-mpfr (haven't looked at it), and sb-sprof (haven't looked at it). 2015-11-04T01:05:59Z nyef: Now to see if the test sui... Guess not. 2015-11-04T01:06:38Z nyef: Hrm. 2015-11-04T01:06:39Z stassats: pseudo-atomic.h uses one slot for sb-thread 2015-11-04T01:07:05Z stassats: that means ppc 2015-11-04T01:07:19Z stassats: but call_into_lisp in ppc does /* Turn on pseudo-atomic */ li reg_ALLOC,flag_PseudoAtomic for everything 2015-11-04T01:07:29Z stassats: that's not going to work, is it? 2015-11-04T01:07:51Z nyef: PPC has two PA flags, one for Lisp, the other for C. 2015-11-04T01:08:47Z nyef: Okay, test suite semi-works, but some of the "pure" test files trash the system to the point of not being able to run. 2015-11-04T01:09:13Z stassats: uh, so it has 2015-11-04T01:10:43Z stassats: i'm storing the address of do_pending_interrupt in PAI 2015-11-04T01:11:04Z stassats: where i jump on non-zero 2015-11-04T01:11:31Z stassats: i can now trap easily from lisp too 2015-11-04T01:13:26Z nyef: Hrm. 2015-11-04T01:14:19Z nyef: Oh dear. 2015-11-04T01:14:50Z nyef: Timeouts don't get delivered to SLEEP. Guess what that means for test (sleep :pretty-much-forever)? 2015-11-04T01:15:34Z nyef: Currently poisonous test files: array.pure.lisp, interface.pure.lisp. 2015-11-04T01:19:03Z stassats: http://paste.lisp.org/display/158447 2015-11-04T01:19:22Z stassats: so, two slots is actually more compact 2015-11-04T01:19:51Z nyef: ... Oh, right, you don't have a reg_ALLOC, do you? 2015-11-04T01:20:04Z stassats: i don't 2015-11-04T01:20:19Z stassats: not sure i want it 2015-11-04T01:20:24Z nyef: Okay then. 2015-11-04T01:20:53Z stassats: now that i have reg_THREAD, especially 2015-11-04T01:22:24Z stassats: or is ALLOC just used for PA? 2015-11-04T01:22:50Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-04T01:22:51Z nyef: On gencgc, it's used for PA, and as a hidden input to ROOM. 2015-11-04T01:23:19Z nyef: Except on those platforms that don't have reg_ALLOC, in which case they have some other arrangement for their PA bits and use the runtime variable for that input to ROOM. 2015-11-04T01:24:00Z stassats: on ppc, check_pa is: ADDI $ALLOC,$ALLOC,-4 ANDI. $NL3,$ALLOC,1 TWI NE,$NL3,0 2015-11-04T01:24:16Z stassats: no memory loads, slightly more compact, but not by much 2015-11-04T01:25:15Z nyef: Also note that it takes a conditional trap. 2015-11-04T01:25:27Z stassats: yes, i see that 2015-11-04T01:25:59Z nyef: Okay, running as much of the test suite as I can manage... I hope. 2015-11-04T01:26:15Z stassats: if i store zero right away to pa-bits, is that bad? 2015-11-04T01:26:22Z stassats: i.e. clearing pa-interrupted 2015-11-04T01:27:28Z nyef: I have no idea. 2015-11-04T01:29:13Z stassats: i can do a 32-bit store 2015-11-04T01:29:28Z stassats: to the higher half 2015-11-04T01:29:48Z nyef: There you go. 2015-11-04T01:31:29Z stassats: http://paste.lisp.org/display/158447#1 2015-11-04T01:32:07Z stassats: endianness shouldn't matter if i always use memory loads, but that assume le 2015-11-04T01:33:00Z stassats: if i set flag_PseudoAtomic and flag_PseudoAtomicInterrupted right, i don't have to modify pseudo-atomic.h 2015-11-04T01:33:00Z nyef: You could make the PA bits depend on endianness... 2015-11-04T01:34:06Z stassats: ok, that's settled 2015-11-04T01:35:57Z stassats: ppc also has reg_BSP 2015-11-04T01:36:32Z stassats: i have no metric to determine if something is a good idea to waste a register on 2015-11-04T01:37:32Z nyef: You forked from ARM, which had just barely too few registers to work with. The x86oids are even worse. Everything else comes from a tradition of having registers to burn. 2015-11-04T01:38:28Z nyef: Typically at least five bits worth of registers, if not six, possibly less a few dedicated in hardware or by ABI convention. 2015-11-04T01:38:35Z stassats: offsetting from THREAD, i can do 0-32760 2015-11-04T01:38:51Z stassats: i don't really need reg_BSP that much 2015-11-04T01:39:06Z stassats: well, i gave arm64 four arg-passing registers 2015-11-04T01:39:23Z stassats: and a tmp register, and CSP 2015-11-04T01:42:20Z nyef: Guh. 30.963 seconds of GC time, and 0.011 seconds non-GC time 2015-11-04T01:42:34Z stassats: on gc.impure? 2015-11-04T01:42:36Z nyef: On the other hand, 2.6 gigs consed. 2015-11-04T01:42:38Z nyef: Yeah. 2015-11-04T01:42:46Z stassats: disassemble scavenge() 2015-11-04T01:43:18Z nyef: ... Once the test run finishes. 2015-11-04T01:43:33Z stassats: can't you do that in parallel? 2015-11-04T01:43:56Z stassats: but alpha Config.alpha-linux doesn't touch CFLAGS 2015-11-04T01:44:12Z nyef: I'm controlling for an easy time copying out the test results, and using a new screen window would corrupt that. 2015-11-04T01:45:26Z stassats: does BSP follow control stack space? 2015-11-04T01:45:46Z nyef: Don't know. thread.c sets up the layout, doesn't it? 2015-11-04T01:47:02Z stassats: if it was right after the thread struct, it could encode more 2015-11-04T01:48:30Z stassats: well, only x86oids have constant tls indexes 2015-11-04T01:49:07Z stassats: but i can encode indexes immediately, or load them from the symbol 2015-11-04T01:49:25Z stassats: though constructing a register should have lower latency than a memory load 2015-11-04T01:49:38Z nyef: Wait, what? Only x86oids have constant tls indexes? 2015-11-04T01:49:59Z stassats: immediate 2015-11-04T01:50:07Z nyef: Hrm. 2015-11-04T01:53:14Z stassats: and i was confused, reg_BSP wouldn't allow easier access, it's not reg_BFP 2015-11-04T01:53:20Z stassats: just easier binding 2015-11-04T01:54:11Z stassats: when binding special variables was a bottleneck? 2015-11-04T01:55:05Z stassats: so, i don't think reg_BSP is that a great an idea 2015-11-04T01:56:35Z stassats: now, reg_PA that's a two stores and one load, but it's allocating memory anyway, not going to impact things much 2015-11-04T01:58:20Z nyef: Test results: http://paste.lisp.org/display/158438#2 2015-11-04T01:58:43Z stassats: that's a lot 2015-11-04T01:59:06Z nyef: There's probably going to be a small number of root causes for most of it. 2015-11-04T01:59:29Z stassats: things like Unhandled Error hide more test failures 2015-11-04T01:59:37Z nyef: What I'm not seeing is any "unexpected success" notices. 2015-11-04T01:59:39Z nyef: Yeah, I know. 2015-11-04T01:59:47Z nyef: We had that earlier, with the callback test cases. 2015-11-04T02:00:07Z stassats: well, it finished 2015-11-04T02:00:09Z stassats: that's unexpected 2015-11-04T02:00:45Z nyef: That's with two of the test files spliced out, because they either crash the test runner or don't complete before the MTBF of the hardware is up. 2015-11-04T02:05:26Z nyef: I think that my next steps are to make commits for the various changes in my working tree, get my DS10L running on a real disk, not this NFS-and-livecd lash-up, and start figuring out why array.pure.lisp dies. 2015-11-04T02:06:05Z stassats: it's pure, will it go to heaven? 2015-11-04T02:10:00Z nyef: No, it's going to hell, and taking the test runner with it. 2015-11-04T02:32:56Z nyef: Oh, wow. Something is broken about HANDLER-CASE. 2015-11-04T02:33:38Z stassats: dx? 2015-11-04T02:33:53Z nyef: Shouldn't be DX. Nothing is supposed to DX on this platform. 2015-11-04T02:34:17Z stassats: printf ' :stack-allocatable-closures :stack-allocatable-lists' >> $ltf 2015-11-04T02:34:43Z nyef: ... WHAT? 2015-11-04T02:34:49Z nyef: Whose bright idea was that?!? 2015-11-04T02:35:46Z nyef: Hrm... Actually, the control-stack pointer is in range. 2015-11-04T02:35:47Z nyef: That's odd. 2015-11-04T02:37:49Z nyef: Ah well. 2015-11-04T02:43:58Z kanru quit (Remote host closed the connection) 2015-11-04T02:57:04Z kanru joined #sbcl 2015-11-04T03:02:56Z guaqua quit (Read error: Connection reset by peer) 2015-11-04T03:07:48Z nyef: Ugh. Forgot to unmount the NFS before killing the server. /-: 2015-11-04T03:08:44Z stassats: that's why i stopped using nfs 2015-11-04T03:10:28Z pchrist quit (Ping timeout: 246 seconds) 2015-11-04T03:11:37Z pchrist joined #sbcl 2015-11-04T03:28:06Z nyef: Bleh. Just tried to read a file over a tramp connection to an offline server. 2015-11-04T03:28:29Z stassats: tramp is getting on my nerves too 2015-11-04T03:28:58Z stassats: i'm tired of doing M-x tramp-cleanup-all-connections 2015-11-04T03:54:03Z Quadrescence joined #sbcl 2015-11-04T04:00:42Z stassats quit (Ping timeout: 260 seconds) 2015-11-04T04:03:02Z ASau quit (Ping timeout: 260 seconds) 2015-11-04T04:05:45Z ASau joined #sbcl 2015-11-04T04:10:46Z Bike_ joined #sbcl 2015-11-04T04:11:28Z abbe quit (Ping timeout: 240 seconds) 2015-11-04T04:11:37Z lnostdal_ quit (Ping timeout: 240 seconds) 2015-11-04T04:11:37Z sigjuice quit (Ping timeout: 240 seconds) 2015-11-04T04:11:37Z Bike quit (Ping timeout: 240 seconds) 2015-11-04T04:11:37Z psilord quit (Ping timeout: 240 seconds) 2015-11-04T04:11:40Z psilord joined #sbcl 2015-11-04T04:12:24Z abbe joined #sbcl 2015-11-04T04:14:27Z sigjuice joined #sbcl 2015-11-04T04:22:45Z nyef: Hunh. Okay, looks like the runtime goes to quite a bit of trouble to make sure that the Lisp stack is in the low two gigs, meaning that DX is viable. 2015-11-04T04:25:00Z lnostdal_ joined #sbcl 2015-11-04T04:53:27Z Bike_ is now known as Bike 2015-11-04T05:07:50Z dougk2 joined #sbcl 2015-11-04T05:15:14Z dougk2 quit (Ping timeout: 260 seconds) 2015-11-04T06:01:46Z gingerale joined #sbcl 2015-11-04T06:18:46Z ASau quit (Ping timeout: 240 seconds) 2015-11-04T06:50:53Z gingerale quit (Remote host closed the connection) 2015-11-04T07:04:00Z Shinmera joined #sbcl 2015-11-04T07:10:09Z sigjuice quit (Ping timeout: 265 seconds) 2015-11-04T07:10:38Z sigjuice joined #sbcl 2015-11-04T07:23:54Z dustinm`_ joined #sbcl 2015-11-04T07:27:26Z dustinm` quit (*.net *.split) 2015-11-04T07:41:30Z fridim_ joined #sbcl 2015-11-04T08:20:33Z lnostdal_ quit (Ping timeout: 246 seconds) 2015-11-04T08:33:41Z lnostdal_ joined #sbcl 2015-11-04T08:36:40Z fridim_ quit (Ping timeout: 265 seconds) 2015-11-04T08:38:10Z fridim_ joined #sbcl 2015-11-04T08:39:10Z fridim_ quit (Remote host closed the connection) 2015-11-04T08:40:39Z attila_lendvai joined #sbcl 2015-11-04T09:25:58Z yvm quit (Ping timeout: 265 seconds) 2015-11-04T09:26:23Z yvm joined #sbcl 2015-11-04T09:32:19Z lnostdal_ quit (Ping timeout: 246 seconds) 2015-11-04T09:42:05Z Cymew joined #sbcl 2015-11-04T09:45:52Z lnostdal_ joined #sbcl 2015-11-04T10:02:27Z guicho_ joined #sbcl 2015-11-04T10:18:51Z psilord quit (Ping timeout: 246 seconds) 2015-11-04T10:21:04Z psilord joined #sbcl 2015-11-04T10:38:10Z guicho_ quit (Quit: さようなら) 2015-11-04T10:52:36Z fridim_ joined #sbcl 2015-11-04T11:30:58Z sjl__ is now known as sjl 2015-11-04T11:45:07Z guicho joined #sbcl 2015-11-04T11:51:29Z sjl quit (Quit: WeeChat 1.3) 2015-11-04T12:24:06Z dougk2 joined #sbcl 2015-11-04T12:41:37Z nyef: Okay, I think I know what's going on. Something is busted about _backtrace_. An internal-error triggers backtrace, backtrace triggers memory-fault-error, corruption warning appears thanks to the runtime, and then the memory-fault-error gets caught by the handler-case. 2015-11-04T12:43:23Z nyef: And this would almost certainly cover a large number of failing test cases if the internal-error mechanism is effectively busted. 2015-11-04T12:55:53Z sjl joined #sbcl 2015-11-04T13:22:26Z nyef: Backtrace through a memory-fault-error being delivered works, but not through internal-error? 2015-11-04T13:22:43Z nyef: ... Implies problems with the interrupt context, I think. 2015-11-04T13:22:48Z dougk2 quit (Ping timeout: 244 seconds) 2015-11-04T13:33:51Z attila_lendvai: what's the deal with C99's _Bool type regarding aliens? when I use sb-ablien:boolean will it work as expected? 2015-11-04T13:35:34Z nyef has no idea. 2015-11-04T13:37:00Z attila_lendvai: wikipedia entry suggests "Boolean values still behave as integers, can be stored in integer variables, and used anywhere integers would be valid" (https://en.wikipedia.org/wiki/Boolean_data_type#C.2C_C.2B.2B.2C_Objective-C.2C_AWK) 2015-11-04T13:39:10Z flip214: yeah, but is the size now defined as "int"? ISTR that some compiler would allocate only a char... 2015-11-04T13:40:35Z attila_lendvai: in my reading that comment means that it's still just a C int, plus a few compile-time extras 2015-11-04T13:43:03Z stassats joined #sbcl 2015-11-04T13:49:01Z attila_lendvai: nyef: shouldn't backtrace have a finegrained web of error handlers? e.g. wrap everything down to every part of the backtrace, e.g. printing a frame could be wrapped and in case of any error # be printed instead of it. we made that for our logging because nested print errors often screwed up our backtrace logs... http://hub.darcs.net/hu.dwim/hu.dwim.util/browse/integration/backtrace-sbcl.lisp#33 2015-11-04T13:50:28Z attila_lendvai: nyef: actually, I've ported some of that into this pull request: https://github.com/sbcl/sbcl/pull/3 2015-11-04T13:51:15Z nyef: attila_lendvai: That may be the case, but it isn't, and should work _anyway_ at least for basic operation. 2015-11-04T13:51:18Z attila_lendvai: although it doesn't wrap unconditionally, only when the debugger gets nested 2015-11-04T13:55:34Z nyef: In this case, I'm almost surprised at how much stuff works, not at what's broken. 2015-11-04T13:56:00Z stassats: have you started on hppa? 2015-11-04T13:56:04Z nyef: Not yet. 2015-11-04T13:56:26Z nyef: I don't want to multi-task too badly. 2015-11-04T14:19:36Z attila_lendvai: FTR, sb-alien:boolean is just cl:boolean 2015-11-04T14:20:06Z nyef: In terms of symbol-identity, maybe. 2015-11-04T14:20:20Z stassats: (sb-alien:alien-size boolean) => 64 2015-11-04T14:23:18Z fe[nl]ix: C99 _Bool/bool is a char 2015-11-04T14:24:00Z fe[nl]ix: used to be int as a convention, not standard, but was defined in C99 in order to match C++ 2015-11-04T14:24:54Z fe[nl]ix: except on OSX 2015-11-04T14:32:12Z attila_lendvai: fe[nl]ix: and what's the deal with cffi? cffi-sbcl.lisp doesn't contain a mapping from :bool to anything. I've added a :bool -> cl:boolean and I'm just about to test it, but stuck on a phone call and other stuff 2015-11-04T14:32:34Z fe[nl]ix: https://github.com/cffi/cffi/commit/1da02a614f248bdf2c8b7f2ff8a87a4d70b0280f 2015-11-04T14:34:51Z attila_lendvai: fe[nl]ix: so, :bool should work as a foreign type? because when I use it I get an error from (CFFI-SYS::CONVERT-FOREIGN-TYPE :BOOL) 2015-11-04T14:35:03Z fe[nl]ix: although we should make a release 2015-11-04T14:35:27Z fe[nl]ix: use HEAD for the moment 2015-11-04T14:36:08Z attila_lendvai: that's where I am to the best of my knowledge, but let me rmfasl 2015-11-04T14:36:37Z nyef: Hrm... I think I may have found my bug. 2015-11-04T14:37:18Z nyef: Now, how the deuce do I make this situation Not Suck? 2015-11-04T14:40:23Z attila_lendvai: fe[nl]ix: FTR, my issue comes from using cl-autowrap that (mis)uses cffi-sys directly 2015-11-04T14:41:29Z fe[nl]ix: I would advise against using it 2015-11-04T14:44:01Z jackdaniel: fe[nl]ix: (curiosity) - what's wrong with cl-autowrap? I was considering using it soon 2015-11-04T14:44:08Z dougk2 joined #sbcl 2015-11-04T14:44:29Z fe[nl]ix: from its docs: "Instead, cl-autowrap defines a "new" higher-level interface I call SFFI, for "simplified FFI". While CFFI's high-level interface is nice for manually defining types and functions, it proves difficult when trying to automatically generate things or exercise precise control over various things like field layout." 2015-11-04T14:44:39Z fe[nl]ix: that's full of shit 2015-11-04T14:45:13Z attila_lendvai is not completely happy with cl-autowrap's internals, but made quick progress with it 2015-11-04T14:45:33Z fe[nl]ix: it's a poor reimplementation of cffi, the code is mind-boggingly awful, etc... 2015-11-04T14:46:07Z guicho quit (Quit: さようなら) 2015-11-04T14:46:14Z jackdaniel: after thinking a bit about it's exactly what groveller does (parsing headers for definition) 2015-11-04T14:46:30Z jackdaniel: s/it's/it it's/ 2015-11-04T14:46:33Z nyef: Whee... rebuild from host-1. /-: 2015-11-04T14:46:45Z jackdaniel: thanks 2015-11-04T14:46:50Z attila_lendvai: fe[nl]ix: any recommendation for something that automatically can generate an ffi? verrazano is dead, and not any cleaner. c2ffi generates json spec pretty nicely, but anything that generates a CFFI from that? 2015-11-04T14:47:20Z fe[nl]ix: jackdaniel: the groveller outputs a C program that prints Lisp code, no parsing is done except by the C compiler 2015-11-04T14:47:34Z jackdaniel: mhm 2015-11-04T14:47:35Z nyef: With a KLUDGEd fix in place rather than a proper one, no less, just to see if I'm right about causes. /-: 2015-11-04T14:47:38Z fe[nl]ix: attila_lendvai: swig has a CFFI backend 2015-11-04T14:47:53Z attila_lendvai: jackdaniel: the big difference is that c2ffi generates a json file that you can commit into your project, and from that point it's full lisp without the gcc/.so of the groveller. also, you don't need to write the grovel file. 2015-11-04T14:48:33Z jackdaniel: yep, I'm pretty ignorant yet in this topic, thanks for explanations 2015-11-04T14:48:34Z attila_lendvai: fe[nl]ix: I've tried swing some time ago and wasn't happy. should look again, it was quite some tiem ago. 2015-11-04T14:49:08Z attila_lendvai notes that this is offtopic and replies to the ffi thread should switch to #lisp 2015-11-04T14:50:31Z stassats: nyef: what was the problem? 2015-11-04T14:50:56Z eudoxia joined #sbcl 2015-11-04T14:51:22Z nyef: Have a look at the bottom of compiler/generic/objdef.lisp. 2015-11-04T14:51:34Z stassats: (padding)? 2015-11-04T14:51:39Z nyef: (padding). 2015-11-04T14:52:08Z stassats: that's 816c50a5589bcf756f67119e657ae348e4858357 2015-11-04T14:52:27Z nyef: There are currently *two* un-paired 32-bit slots, separated by a number of pointer slots. 2015-11-04T14:52:39Z nyef: Guess what happens to the pointers? 2015-11-04T14:53:36Z nyef: The C compiler aligns them, throwing off Lisp's idea of where the slots are... TWICE. And then there's a padding field added. 2015-11-04T14:53:56Z nyef: Which throws off the interrupt contexts even further. 2015-11-04T14:54:14Z stassats: so, the padding field doesn't really pad if thread was changed in the meantime? 2015-11-04T14:54:40Z nyef: Yeah. I'm going to have to de-kludge this thing. 2015-11-04T14:55:01Z stassats: good luck 2015-11-04T14:55:21Z nyef: Thanks. 2015-11-04T14:55:26Z lnostdal_ is now known as lnostdal 2015-11-04T14:55:39Z nyef: Not too worried about it, though. I've already got a plan of attack in mind. 2015-11-04T14:57:33Z flip214: ATTACK AT DAWN 2015-11-04T15:02:25Z nyef: Given this level of screweduppedness, I'm somewhat surprised that the system was as stable as it was. 2015-11-04T15:05:50Z nyef: Well, things still seem a little messed up, but much, much better. 2015-11-04T15:06:11Z nyef: Building contribs now, having done a simple smoke test for the changes. 2015-11-04T15:07:36Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-04T15:13:33Z nyef: Well, array.pure.lisp now exits with an unhandled error, rather than exits by crashing the SBCL process, that's an improvement. 2015-11-04T15:21:39Z DGASAU quit (Ping timeout: 240 seconds) 2015-11-04T15:28:18Z DGASAU joined #sbcl 2015-11-04T15:35:04Z reb quit (Remote host closed the connection) 2015-11-04T15:49:15Z reb joined #sbcl 2015-11-04T16:07:13Z dougk2 joined #sbcl 2015-11-04T16:08:48Z gingerale joined #sbcl 2015-11-04T16:08:57Z nyef: Gods, how did this EVER work? 2015-11-04T16:09:29Z ZabaQ joined #sbcl 2015-11-04T16:10:28Z nyef sighs. 2015-11-04T16:10:47Z stassats: what in particular? 2015-11-04T16:11:01Z stassats: internal errors? accidental alignment? 2015-11-04T16:11:28Z nyef: SAPs. 2015-11-04T16:14:40Z nyef: Yeah, someone allocated a SAP on the C stack, and guess what Lisp can't see? 2015-11-04T16:15:24Z nyef: So, how do I make THIS not suck? 2015-11-04T16:16:02Z reb quit (Ping timeout: 272 seconds) 2015-11-04T16:16:06Z nyef: Answer: I'm already in a fake control stack frame, so why not DX-allocate the SAP on the control stack instead? 2015-11-04T16:16:18Z stassats: i started allocating allocating SAPs on the stack 2015-11-04T16:16:31Z stassats: but it works everywhere fine, what's the deal with alpha? 2015-11-04T16:17:12Z nyef: Alpha's number stack (alien stack, C stack) is outside of the 2 gig zone for the Lisp heap. 2015-11-04T16:17:52Z nyef: I'm fairly sure that I can make this work, though... 2015-11-04T16:18:10Z nyef: ... maybe. 2015-11-04T16:19:47Z nyef: It _does_ explain the... Hey, wait. Why are we boxing a SAP for this thing, anyway? It's almost certainly guaranteed to be an aligned pointer, we can pass it as a fixnum! 2015-11-04T16:20:00Z nyef: ... Except on Alpha. Nevermind. 2015-11-04T16:21:13Z reb` joined #sbcl 2015-11-04T16:26:27Z stassats: well, if you're willing to change all the places where SAPs are expected, then sure, you can modify them to be fixnums 2015-11-04T16:29:10Z reb```` joined #sbcl 2015-11-04T16:29:13Z reb` quit (Ping timeout: 250 seconds) 2015-11-04T16:30:19Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-04T16:32:01Z nyef: Yeah, though in this case, FIXNUMs are LISPOBJs, and LISPOBJs are 32 bits wide... 2015-11-04T16:35:36Z Cymew quit (Ping timeout: 250 seconds) 2015-11-04T16:37:50Z scymtym_ joined #sbcl 2015-11-04T16:43:43Z nyef: Okay, I can fix this DX_ALLOC_SAP thing... By splitting it into a "dx allocated sap" variable declaration, and the actual allocation step, so that we can be sure that it occurs inside the fake_foreign_function_call(). 2015-11-04T16:45:04Z eudoxia quit (Quit: Leaving) 2015-11-04T17:00:41Z jdz quit (Ping timeout: 252 seconds) 2015-11-04T17:01:15Z jdz joined #sbcl 2015-11-04T17:01:16Z loke quit (Ping timeout: 265 seconds) 2015-11-04T17:03:26Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-04T17:12:47Z loke joined #sbcl 2015-11-04T17:20:06Z ZabaQ quit (Quit: Leaving) 2015-11-04T17:41:23Z loke quit (Ping timeout: 268 seconds) 2015-11-04T17:48:39Z lnostdal quit (Ping timeout: 240 seconds) 2015-11-04T17:53:46Z loke joined #sbcl 2015-11-04T17:54:51Z nyef: http://paste.lisp.org/display/158438#3 <-- full test suite this time. 2015-11-04T17:56:07Z stassats: nyef: are saps 64-bit? 2015-11-04T17:56:21Z nyef: Yes. 2015-11-04T17:56:25Z stassats: i see #!+alpha #!-alpha there 2015-11-04T17:56:26Z stassats: ok 2015-11-04T17:57:00Z nyef: I'll start shaking out actual commits in a bit. 2015-11-04T17:58:33Z nyef: http://paste.lisp.org/display/158438#4 <-- the changes I made to DX_ALLOC_SAP (not yet cleaned up) 2015-11-04T17:58:49Z nyef: (Also not yet tested on non-Alpha.) 2015-11-04T18:02:22Z nyef: Well! sb-md5 started passing its tests as well. 2015-11-04T18:06:29Z dougk2 joined #sbcl 2015-11-04T18:17:33Z nyef: stassats: Do those DX_ALLOC_SAP changes look okay to you, or should I be doing something else instead? 2015-11-04T18:20:00Z stassats: well, they only change how it works for alpha 2015-11-04T18:20:09Z stassats: so, whatever goes there, i don't really care 2015-11-04T18:20:45Z stassats: at that rate, sbcl-x86-x32? 2015-11-04T18:22:39Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-04T18:24:35Z stassats: so, all those #+alpha better be #+32-on-64 2015-11-04T18:31:21Z nyef: I'm planning on having some stuff happen automagically. 2015-11-04T18:32:43Z stassats: what about changing define-primitive-object to automatically padding? 2015-11-04T18:32:52Z nyef: Also note that a lot of the Alpha damage is because we're trying to run a 32-bit heap on a 64-bit userland. MIPS n32 (and presumably the x86oid equivalent) is a 32-bit userland with 64-bit registers, so there's less hackery required. 2015-11-04T18:33:03Z nyef: Automatic padding is *precisely* what I had in mind, yes. 2015-11-04T18:33:03Z stassats: and sap could be (pointer :c-type "char *" :length (/ n-machine-bits n-word-bits)) 2015-11-04T18:33:52Z stassats: or maybe n-sap-bits 2015-11-04T18:34:41Z nyef: Heh. In case we need to run on a 32-bit system with a segmented memory architecture? (-: 2015-11-04T18:34:53Z stassats: ok, time to implement my PA stuff for ARM64-sb-thread 2015-11-04T18:35:22Z stassats: and write new symbol vops 2015-11-04T18:37:09Z zacts joined #sbcl 2015-11-04T18:46:36Z dougk2 joined #sbcl 2015-11-04T18:55:53Z gingerale quit (Remote host closed the connection) 2015-11-04T19:06:18Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-04T19:08:54Z lnostdal joined #sbcl 2015-11-04T19:12:18Z Bicyclidine joined #sbcl 2015-11-04T19:23:58Z dougk2 joined #sbcl 2015-11-04T19:26:15Z reb````: stassats: Will ARM32 ever support threads? Too few registers? 2015-11-04T19:26:24Z stassats: not from me 2015-11-04T19:26:55Z stassats: it can support threads, just i'm not going be doing them 2015-11-04T19:27:20Z reb````: ok thanks ... just wanted to know if there is some fundamental impediment 2015-11-04T19:34:06Z sjl quit (Ping timeout: 240 seconds) 2015-11-04T19:43:19Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-04T20:00:14Z dougk2 joined #sbcl 2015-11-04T20:05:39Z Bicyclidine quit (Ping timeout: 255 seconds) 2015-11-04T20:11:14Z sjl joined #sbcl 2015-11-04T20:13:51Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-04T20:15:05Z Bicyclidine joined #sbcl 2015-11-04T20:16:01Z dougk_ joined #sbcl 2015-11-04T20:24:26Z sjl__ joined #sbcl 2015-11-04T20:25:50Z sjl quit (Ping timeout: 240 seconds) 2015-11-04T20:29:20Z dougk2 joined #sbcl 2015-11-04T20:43:57Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-04T21:23:20Z fridim_ quit (Ping timeout: 250 seconds) 2015-11-04T21:37:31Z dougk2 joined #sbcl 2015-11-04T21:42:39Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-04T21:58:40Z sjl__ quit (Ping timeout: 272 seconds) 2015-11-04T22:00:58Z nyef: Okay, something is broken with floats, the disassembler is so anemic as to break some of the compiler tests, and some of these other test cases are just plain weird... 2015-11-04T22:01:45Z ASau joined #sbcl 2015-11-04T22:02:12Z ASau quit (Remote host closed the connection) 2015-11-04T22:03:40Z ASau joined #sbcl 2015-11-04T22:07:02Z dougk2 joined #sbcl 2015-11-04T22:11:12Z Bicyclidine quit (Ping timeout: 255 seconds) 2015-11-04T22:12:23Z angavrilov quit (Remote host closed the connection) 2015-11-04T22:18:07Z prxq joined #sbcl 2015-11-04T22:20:54Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-04T22:23:11Z Bicyclidine joined #sbcl 2015-11-04T22:24:18Z sjl joined #sbcl 2015-11-04T22:30:59Z Shinmera quit (Ping timeout: 240 seconds) 2015-11-04T22:32:02Z Shinmera joined #sbcl 2015-11-04T22:47:18Z prxq quit (Remote host closed the connection) 2015-11-04T23:35:11Z attila_lendvai joined #sbcl 2015-11-04T23:35:11Z attila_lendvai quit (Changing host) 2015-11-04T23:35:11Z attila_lendvai joined #sbcl 2015-11-04T23:59:53Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-11-05T00:02:22Z Bicyclidine quit (Ping timeout: 260 seconds) 2015-11-05T00:05:47Z Bicyclidine joined #sbcl 2015-11-05T00:24:58Z scymtym_ quit (Ping timeout: 272 seconds) 2015-11-05T00:52:44Z dougk2 joined #sbcl 2015-11-05T00:58:05Z Bicyclidine quit (Quit: di) 2015-11-05T01:31:59Z nyef: stassats: Finally disassembled scavenge() on alpha. No suspicious function references. 2015-11-05T01:35:06Z stassats quit (Ping timeout: 250 seconds) 2015-11-05T02:01:55Z eschatologist joined #sbcl 2015-11-05T02:02:06Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-05T02:12:29Z nyef: ... At least six test cases fail because the disassembler is horribly anemic on Alpha. Then there's a bunch that fail because of insufficient DX. A few that I know what's what with, and a bunch more that I have no clue about. 2015-11-05T02:15:24Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-05T02:52:22Z nyef: Okay, there's ONE test case that I have no clue about. 2015-11-05T03:32:22Z loke quit (Remote host closed the connection) 2015-11-05T03:34:24Z loke joined #sbcl 2015-11-05T04:04:28Z nyef: Note to self: stack-allocatable-fixed-objects, fixed-alloc 2015-11-05T04:07:47Z eschatologist quit (Quit: Textual IRC Client: www.textualapp.com) 2015-11-05T04:22:48Z foom quit (Ping timeout: 246 seconds) 2015-11-05T04:36:10Z foom joined #sbcl 2015-11-05T04:37:40Z loke: In SBCL, is there a way I can force a given optimisation level? I'm trying to debug a tricky problem and I'd like to ensure that everything is compiled with (DEBUG 3) (SPEED 0) (SAFETY 3) for testing purposed. 2015-11-05T04:45:35Z Bike: there's sb-ext:restrict-compiler-policy, but i guess that's minimums, so speed could be declared higher 2015-11-05T04:55:35Z loke: Bike: I guess that's Ok :-) 2015-11-05T07:02:47Z Shinmera joined #sbcl 2015-11-05T07:27:02Z ASau quit (Ping timeout: 244 seconds) 2015-11-05T08:01:52Z fridim_ joined #sbcl 2015-11-05T08:01:59Z fridim_ quit (Remote host closed the connection) 2015-11-05T08:25:26Z DeadTrickster quit (Read error: No route to host) 2015-11-05T08:29:03Z attila_lendvai joined #sbcl 2015-11-05T08:33:06Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-05T08:35:14Z angavrilov joined #sbcl 2015-11-05T08:38:27Z loke quit (Ping timeout: 265 seconds) 2015-11-05T08:42:10Z scymtym_ joined #sbcl 2015-11-05T08:46:49Z Cymew joined #sbcl 2015-11-05T08:52:09Z loke joined #sbcl 2015-11-05T09:24:35Z ZabaQ joined #sbcl 2015-11-05T09:47:09Z easye joined #sbcl 2015-11-05T09:49:40Z easye: Hello SBCL community. Kicking the tires with sbcl-1.3.0 on the armv7l architecture, and finding that SB-THREAD does not seem to be supported. I assume that threading hasn't been ported to ARM. Any idea/effort to change that? 2015-11-05T09:53:53Z scymtym: easye: iiuc, thread support would be hard to do on 32bit ARM because of lack of registers. arm64 doesn't have that problem and i think stassats is planning to add thread support for that architecture. 2015-11-05T09:54:51Z easye: scymtym: thanks for the 411. So, stassats is behind the recent work on arm64? 2015-11-05T09:55:52Z scymtym: yes and also a large part of the 32bit ARM port before that 2015-11-05T09:58:31Z easye: Thanks again. I'll follow up with stassats when I get a chance. 2015-11-05T10:01:44Z scymtym: sure 2015-11-05T10:44:42Z DeadTrickster joined #sbcl 2015-11-05T12:18:53Z stassats joined #sbcl 2015-11-05T12:21:08Z stassats: easye: you were looking for me? 2015-11-05T12:22:08Z attila_lendvai joined #sbcl 2015-11-05T12:22:08Z attila_lendvai quit (Changing host) 2015-11-05T12:22:08Z attila_lendvai joined #sbcl 2015-11-05T12:25:06Z sjl quit (Ping timeout: 240 seconds) 2015-11-05T12:32:18Z dougk2 joined #sbcl 2015-11-05T12:59:36Z eudoxia joined #sbcl 2015-11-05T13:01:46Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-05T13:05:52Z sjl joined #sbcl 2015-11-05T13:06:39Z nyef: Fun and games: Running a build while running the test suite in the same source tree. 2015-11-05T13:20:57Z dougk2 quit (Ping timeout: 244 seconds) 2015-11-05T13:32:28Z nyef: "Be patient. This test is slow... And it doesn't help that you're on a single-core machine and compiling a Linux kernel at the same time, you know." 2015-11-05T14:01:06Z psilord quit (Quit: Leaving.) 2015-11-05T14:08:21Z Cymew quit (Ping timeout: 250 seconds) 2015-11-05T14:15:01Z Cymew joined #sbcl 2015-11-05T14:21:51Z yvm quit (Ping timeout: 255 seconds) 2015-11-05T14:33:14Z dougk2 joined #sbcl 2015-11-05T14:43:02Z White_Flame quit (Remote host closed the connection) 2015-11-05T14:45:37Z salva quit (Ping timeout: 250 seconds) 2015-11-05T14:45:46Z White_Flame joined #sbcl 2015-11-05T14:45:52Z specbot quit (Remote host closed the connection) 2015-11-05T14:46:00Z specbot joined #sbcl 2015-11-05T14:46:03Z pkhuong quit (Ping timeout: 250 seconds) 2015-11-05T14:46:39Z pkhuong joined #sbcl 2015-11-05T14:46:58Z salva joined #sbcl 2015-11-05T14:47:02Z pkhuong is now known as Guest45691 2015-11-05T14:47:41Z eudoxia quit (Quit: Leaving) 2015-11-05T15:05:18Z Cymew quit (Ping timeout: 272 seconds) 2015-11-05T15:13:48Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-05T15:20:55Z dougk2 joined #sbcl 2015-11-05T15:24:23Z psilord joined #sbcl 2015-11-05T15:29:12Z _iwc joined #sbcl 2015-11-05T15:41:28Z _iwc quit (K-Lined) 2015-11-05T15:46:10Z kanru quit (Ping timeout: 250 seconds) 2015-11-05T16:13:39Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-05T16:30:33Z nyef sighs. 2015-11-05T16:30:49Z nyef: Alien-funcall. Unsigned-int all the way through, yet somehow returns a signed result. 2015-11-05T16:35:22Z nyef: Guess I need to figure out how to get foreign.test.sh to work, maybe? 2015-11-05T16:41:39Z scymtym: nyef: did you build with sb-fasteval? doing so seems to break foreign.test.sh on all platforms 2015-11-05T16:42:05Z nyef: No, I've never touched sb-fasteval. 2015-11-05T16:42:39Z scymtym: ok 2015-11-05T16:44:04Z nyef: First issue is that the compiler needed to be passed -fPIC in order to build the shared objects. 2015-11-05T16:44:53Z nyef: Of course, after that things get nastier... 2015-11-05T16:51:52Z reb````` joined #sbcl 2015-11-05T16:52:36Z stassats` joined #sbcl 2015-11-05T16:52:43Z sjl__ joined #sbcl 2015-11-05T16:53:13Z _8hzp joined #sbcl 2015-11-05T17:05:14Z sjl quit (*.net *.split) 2015-11-05T17:05:14Z stassats quit (*.net *.split) 2015-11-05T17:05:16Z reb```` quit (*.net *.split) 2015-11-05T17:05:16Z alchemis7 quit (*.net *.split) 2015-11-05T17:05:16Z hzp quit (*.net *.split) 2015-11-05T17:06:04Z nzambe quit (Ping timeout: 264 seconds) 2015-11-05T17:24:08Z attila_lendvai joined #sbcl 2015-11-05T17:24:08Z attila_lendvai quit (Changing host) 2015-11-05T17:24:08Z attila_lendvai joined #sbcl 2015-11-05T17:27:31Z _8hzp is now known as hzp 2015-11-05T17:33:26Z gingerale joined #sbcl 2015-11-05T17:48:28Z dougk2 joined #sbcl 2015-11-05T17:52:42Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-05T18:06:59Z ZabaQ_ joined #sbcl 2015-11-05T18:09:26Z ZabaQ quit (Ping timeout: 240 seconds) 2015-11-05T18:10:13Z sjl__ is now known as sjl 2015-11-05T18:11:43Z BWV988 joined #sbcl 2015-11-05T18:12:11Z ZabaQ_ quit (Ping timeout: 264 seconds) 2015-11-05T18:17:53Z dougk2 joined #sbcl 2015-11-05T18:24:17Z sjl__ joined #sbcl 2015-11-05T18:26:51Z sjl quit (Ping timeout: 260 seconds) 2015-11-05T18:29:57Z BWV988 left #sbcl 2015-11-05T18:35:11Z jdz quit (Ping timeout: 252 seconds) 2015-11-05T18:38:33Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-05T18:39:06Z jdz joined #sbcl 2015-11-05T18:45:41Z jackc- quit (Read error: Connection reset by peer) 2015-11-05T18:45:42Z christoph_debian quit (Ping timeout: 272 seconds) 2015-11-05T18:46:45Z christoph_debian joined #sbcl 2015-11-05T18:48:45Z jackc- joined #sbcl 2015-11-05T18:53:39Z dash joined #sbcl 2015-11-05T18:54:18Z dash: howdy. i'm trying to revive an unmaintained lisp project that i used a few years ago on osx 2015-11-05T18:54:35Z dash: i'm trying to get it running on a recent sbcl on linux 2015-11-05T18:55:16Z dash: I'm getting "thread local storage is exhausted" and wondering if that's a configurable limit or constrained by the OS 2015-11-05T18:55:39Z dash: here's some output: http://paste.lisp.org/display/158577 2015-11-05T18:55:43Z nyef: ... Either you have a LOT of special variables, or you're abusing PROGV. 2015-11-05T18:55:57Z dash: nyef: likely the former, this is generated code 2015-11-05T18:56:36Z nyef: Hrm. Do you need threads in the first place? 2015-11-05T18:56:43Z dash: hmm, there is a usage of progv here, not sure if it counts as abuse: https://github.com/kpreid/e-on-cl/blob/f93d188051c66db0ad4ff150bd73b838f7bc25ed/lisp/compiler-base.lisp#L681 2015-11-05T18:57:00Z dash: ah hmm, i can probably rip that out 2015-11-05T18:58:47Z nyef: That... would do it. Burns two unrecoverable TLS slots at a time. 2015-11-05T18:59:31Z dash: ok great thanks 2015-11-05T19:00:03Z nyef: Other options include building SBCL --without-sb-thread, and building SBCL with a tweak to src/compiler/generic/parms.lisp, the definition of TLS-SIZE. 2015-11-05T19:00:05Z stassats`: but why on earth? it's only ever used lexically 2015-11-05T19:00:53Z dash: Hey, it was like this when I got here. ;-> 2015-11-05T19:02:02Z sjl__ quit (Ping timeout: 250 seconds) 2015-11-05T19:03:53Z stassats`: those two specials make no sense whatsoever 2015-11-05T19:04:02Z dash: heheh 2015-11-05T19:04:19Z dash: brb 2015-11-05T19:04:37Z Cymew joined #sbcl 2015-11-05T19:04:43Z stassats`: the only thing a lexical variable wouldn't do is (boundp asked-log) 2015-11-05T19:04:52Z stassats`: but that's a silly reason to use special variables 2015-11-05T19:06:56Z stassats`: i can't even think of a single valid reason to use runtime generated special variables 2015-11-05T19:10:53Z Guest45691: oh yeah. I had a lock-free freelist for TLS slots 2015-11-05T19:10:57Z Guest45691 is now known as pkhuong 2015-11-05T19:11:05Z stassats`: looking a around, a dolist with a block around it? that's novel 2015-11-05T19:11:30Z dash: Yes, the author of this code did many... novel... things 2015-11-05T19:11:32Z pkhuong: that made kpreid very happy, but the use case is so niche I didn't feel like potentially breaking normal apps 2015-11-05T19:12:13Z jdz quit (Ping timeout: 252 seconds) 2015-11-05T19:13:10Z jdz joined #sbcl 2015-11-05T19:18:10Z dash: stassats`: huh, i sort of see why it was done this way, the asked-log/guard-log values are used during repeated calls to the ask method, but with dynamic extent 2015-11-05T19:18:35Z dash: so i guess not making it part of its lexical closure theoretically would be more efficient 2015-11-05T19:18:40Z dash: in real life i guess not! 2015-11-05T19:19:56Z nyef: That... might make sense in a world without DX closures and DX value cells. 2015-11-05T19:20:20Z stassats`: that still allocates a symbol 2015-11-05T19:20:30Z stassats`: besides, you can use structure or classes too 2015-11-05T19:20:53Z stassats`: and it still closes over the symbol 2015-11-05T19:21:03Z stassats`: so, no, there's nothing efficient about this 2015-11-05T19:21:26Z dash: ok :) 2015-11-05T19:32:58Z fe[nl]ix: nyef: how about an OS/2 port ? 2015-11-05T19:35:22Z stassats`: who writes new software for os/2? 2015-11-05T19:36:02Z nyef: fe[nl]ix: Working on architectures right now, not operating systems. 2015-11-05T19:37:59Z fe[nl]ix: OS/2 on Alpha 2015-11-05T19:38:26Z fe[nl]ix: I have a feeling they still support that :D 2015-11-05T19:38:56Z nyef: That... could be amusing, I guess. 2015-11-05T19:39:34Z stassats`: did it ever run on alpha? 2015-11-05T19:40:46Z fe[nl]ix: maybe not 2015-11-05T19:41:23Z stassats`: windows nt, then 2015-11-05T19:43:40Z fe[nl]ix: support for MIPS, Alpha, and PowerPC was later dropped in Windows 2000 2015-11-05T19:45:00Z dougk2 joined #sbcl 2015-11-05T19:49:39Z foom: Apparently os/2 is an actual thing that people still use for some reason. 2015-11-05T19:50:17Z foom: They have a convention and everything. 2015-11-05T19:50:17Z foom: http://www.warpstock.org/ 2015-11-05T19:54:27Z stassats`: if people still pdp11 and apple ii, then no wonder os/2 is still used 2015-11-05T19:55:33Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-05T19:56:45Z dash left #sbcl 2015-11-05T19:57:10Z dougk2 joined #sbcl 2015-11-05T20:03:41Z fe[nl]ix: foom: that's why I mentioned it 2015-11-05T20:03:55Z fe[nl]ix: there was a major release recently 2015-11-05T20:04:17Z stassats`: openvms would be more interesting 2015-11-05T20:04:49Z nyef has been considering trying to get an OpenVMS hobbyist license. 2015-11-05T20:06:21Z gingerale quit (Remote host closed the connection) 2015-11-05T20:07:13Z prxq joined #sbcl 2015-11-05T20:07:19Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-05T20:15:49Z Bicyclidine joined #sbcl 2015-11-05T20:25:18Z scymtym_ quit (Ping timeout: 246 seconds) 2015-11-05T20:42:35Z dougk2 joined #sbcl 2015-11-05T20:50:59Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-05T20:52:41Z Bicyclidine quit (Quit: restart) 2015-11-05T20:56:26Z Bicyclidine joined #sbcl 2015-11-05T21:32:59Z lnostdal quit (Ping timeout: 240 seconds) 2015-11-05T21:37:50Z dougk2 joined #sbcl 2015-11-05T21:38:35Z angavrilov quit (Remote host closed the connection) 2015-11-05T21:41:20Z scymtym_ joined #sbcl 2015-11-05T21:41:59Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-05T21:44:43Z dougk2 joined #sbcl 2015-11-05T21:45:55Z lnostdal joined #sbcl 2015-11-05T21:54:57Z ASau joined #sbcl 2015-11-05T22:03:19Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-05T22:09:21Z foom quit (Ping timeout: 240 seconds) 2015-11-05T22:19:07Z dougk2 joined #sbcl 2015-11-05T22:22:32Z prxq quit (Remote host closed the connection) 2015-11-05T22:25:02Z foom joined #sbcl 2015-11-05T22:32:39Z psilord quit (Quit: Leaving.) 2015-11-05T22:55:18Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-11-05T23:06:59Z Cymew quit (Ping timeout: 240 seconds) 2015-11-05T23:28:26Z sjl joined #sbcl 2015-11-05T23:51:15Z dougk2 quit (Ping timeout: 252 seconds) 2015-11-06T00:09:06Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-06T00:22:56Z psilord joined #sbcl 2015-11-06T00:33:39Z stassats` quit (Ping timeout: 240 seconds) 2015-11-06T01:03:37Z scymtym_ quit (Ping timeout: 244 seconds) 2015-11-06T01:03:40Z alchemis7 joined #sbcl 2015-11-06T01:03:59Z nyef: Hrm. There are some gratuitous #!+alpha #!-alpha pairs in the system, for things that are already expressible in a portable way. 2015-11-06T01:08:31Z stassats` joined #sbcl 2015-11-06T01:10:08Z stassats`: nyef: how well does putting stuff on the control stack work? 2015-11-06T01:10:32Z stassats`: stuff with widetags in particular 2015-11-06T01:10:58Z stassats`: what if the old frame's stuff interferes? 2015-11-06T01:12:01Z nyef: It used to be a problem, but I kept running into it, so I rewrote the stack scavenger to only deal with one word at a time. 2015-11-06T01:12:20Z stassats`: i'm thinking about saps on alpha 2015-11-06T01:12:33Z stassats`: a pointer takes up two sbcl words 2015-11-06T01:12:35Z nyef: Oh, for the... Damnit. 2015-11-06T01:12:37Z nyef: Thank you for that. 2015-11-06T01:13:00Z nyef: Guess I'll have to come up with another solution. /-: 2015-11-06T01:14:05Z nyef: On the upside, or maybe the downside, it doesn't explain any of the issues that I still have to fix. 2015-11-06T01:15:36Z stassats`: but why isn't the C stack relocated to the lower half? 2015-11-06T01:15:50Z nyef: Because Alpha doesn't swap C stacks? 2015-11-06T01:16:04Z nyef: ... Actually, I don't know that any of the non-x86oid backends do... 2015-11-06T01:16:06Z stassats`: do we care? 2015-11-06T01:16:10Z stassats`: just fixup the stack pointer? 2015-11-06T01:16:49Z nyef: I may end up doing that. 2015-11-06T01:17:22Z nyef: But right now I'm just going to push the issue onto my stack, as I don't have much focus available right now for dealing with it. 2015-11-06T01:18:11Z stassats`: which stack, control or number? 2015-11-06T01:20:15Z nyef: captured-continuation d-: 2015-11-06T01:23:16Z nyef: Hrm. I see no obvious reason why backq.impure.lisp / READ-BACKQ-VECTOR-ILLEGAL should fail... 2015-11-06T01:27:36Z dougk2 joined #sbcl 2015-11-06T01:28:27Z nyef: Ah. 2015-11-06T01:29:46Z zacts quit (Read error: Connection reset by peer) 2015-11-06T01:30:30Z zacts joined #sbcl 2015-11-06T01:32:09Z nyef: Yeah, found it. 2015-11-06T01:36:36Z Bicyclidine quit (Quit: live live live) 2015-11-06T01:40:36Z stassats`: list-pointer-lowtag is not available in arch/parms.lisp, wonderful 2015-11-06T01:42:17Z stassats`: backend-params it is then 2015-11-06T01:45:37Z nyef: Hrm... The disassembler can't aim. 2015-11-06T01:45:59Z nyef: The relative branches are off by one instruction. 2015-11-06T01:50:50Z nyef: Is there some way to tell the disassembler that it's outputting the instruction bytes backwards? 2015-11-06T01:55:24Z nyef: Oh. 2015-11-06T01:55:41Z nyef: Bloody MIPS influence. /-: 2015-11-06T01:58:28Z nyef: So, still to do: NaNs, undefined-function backtrace, figure out what's going on with the binding-stack exhaustion, and sort out the problems with call-out. 2015-11-06T01:58:47Z nyef: Oh, and figure out an alternative for that SAP thing. 2015-11-06T02:05:38Z nyef: Heh. For some of the SAPs, what if we trash the interrupt context array and have it include SAP headers for each element? 2015-11-06T02:38:12Z kanru joined #sbcl 2015-11-06T02:53:16Z stassats`: alloc-tls-index is not a fun part 2015-11-06T02:54:48Z nyef: I suppose I should congratulate you for tackling the second non-x86oid thread port, and the first 64-bit non-x86oid thread port. 2015-11-06T02:56:07Z stassats`: i should really study up on locks 2015-11-06T02:57:13Z stassats`: i get the general idea, but all those memory reordering and energy implications 2015-11-06T03:02:28Z stassats`: i wonder if there's a close-to-metal threading book of sorts 2015-11-06T03:03:53Z stassats`: maybe https://www.kernel.org/pub/linux/kernel/people/paulmck/perfbook/perfbook.html 2015-11-06T03:04:06Z nyef: Hrm. 29 commits in my working tree. Two of which are for the DX SAP thing, so possibly bogus. 2015-11-06T03:04:35Z nyef: Time to shut down for the night. 2015-11-06T03:10:36Z nyef: Okay, there we go, all servers are off, and the stack has been re-arranged the way that I want it. 2015-11-06T03:11:04Z stassats`: with a bunch of pop and nip values? 2015-11-06T03:11:17Z nyef: More like a swap. 2015-11-06T03:12:20Z nyef: Well, okay, I popped everything above the O350 off into storage, then swapped the v210 on top of the O350, and then put the DS10L on top of that. 2015-11-06T03:14:31Z nyef: So the big things that I need to try and do tomorrow are to sort out the worst of the cabling mess, see if the HPPA box still works, see if the SPARC box still works (and if I might want to prepare to install Gentoo on it instead of Debian), and try to figure out WTF is going on with alien-funcall on Alpha. 2015-11-06T03:15:56Z stassats`: found a file in ~ with an easy way to get backtracks from foreign functions 2015-11-06T03:16:00Z nyef: Oh, and at this rate, I'm likely to embed a series of pre-allocated SAPs in the thread structure on Alpha, so that the runtime can just pick one off like it does the interrupt contexts. 2015-11-06T03:16:08Z stassats`: (sb-alien:alien-funcall (sb-alien:extern-alien "funcall0" (function void sb-alien:system-area-pointer)) (sb-sys:int-sap (sb-kernel:get-lisp-obj-address #'break))) 2015-11-06T03:16:52Z stassats`: instead of doing (read) and kill()ing it with something 2015-11-06T03:16:56Z nyef: Hrm. 2015-11-06T03:17:50Z nyef: Ugh. Just noticed a typo in my disassembler changes, and I've already shut the relevant filesystem down so I can't fix it right now. /-: 2015-11-06T03:25:23Z dougk2 quit (Ping timeout: 260 seconds) 2015-11-06T03:28:26Z stassats`: i guess access to free-tls-index isn't going to be really contested 2015-11-06T03:35:27Z stassats`: but intel recommends testing before test-and-setting 2015-11-06T03:35:55Z stassats`: which free-tls-index doesn't do, but it probably doesn't matter much 2015-11-06T03:41:35Z nyef: Isn't there a limit to how many times you can call it before you start getting error messages anyway? 2015-11-06T03:42:05Z stassats`: yeah, moreover 2015-11-06T03:42:35Z stassats`: http://lxr.free-electrons.com/source/arch/arm64/include/asm/spinlock.h is useful 2015-11-06T03:45:27Z nyef: Hrm. Only four ethernet ports available, and four-to-six computers to set up, plus the terminal server. 2015-11-06T03:45:39Z nyef: On the upside, one of the optional machines is a router. 2015-11-06T03:47:31Z nyef: Plus I need to make five new cables for the terminal server to get to the various console ports that I need access to. 2015-11-06T03:48:10Z nyef: ... Two of which need to be male connectors, and three of which need to be female. 2015-11-06T03:48:21Z nyef: And all done by mid-day on Saturday. 2015-11-06T03:48:31Z |3b| quit (Read error: Connection reset by peer) 2015-11-06T03:49:54Z |3b| joined #sbcl 2015-11-06T04:20:00Z stassats`: i guess we do not actually need any sort of performance for our locks 2015-11-06T04:20:06Z stassats`: just correctness 2015-11-06T04:20:30Z stassats`: most of the locks will be done using futexes 2015-11-06T04:49:10Z stassats` quit (Ping timeout: 240 seconds) 2015-11-06T05:25:18Z whiteline quit (Ping timeout: 260 seconds) 2015-11-06T05:36:07Z joshe quit (Ping timeout: 250 seconds) 2015-11-06T05:36:33Z lnostdal quit (Ping timeout: 246 seconds) 2015-11-06T05:50:02Z lnostdal joined #sbcl 2015-11-06T07:02:12Z Shinmera joined #sbcl 2015-11-06T07:33:13Z Cymew joined #sbcl 2015-11-06T07:57:38Z ASau quit (Remote host closed the connection) 2015-11-06T07:58:06Z ASau joined #sbcl 2015-11-06T08:15:49Z jlarocco_ quit (Quit: Leaving) 2015-11-06T08:33:21Z ZabaQ joined #sbcl 2015-11-06T08:40:32Z attila_lendvai joined #sbcl 2015-11-06T08:40:33Z attila_lendvai quit (Changing host) 2015-11-06T08:40:33Z attila_lendvai joined #sbcl 2015-11-06T08:41:01Z ZabaQ quit (Read error: No route to host) 2015-11-06T08:59:08Z ZabaQ joined #sbcl 2015-11-06T09:12:06Z ASau quit (Ping timeout: 272 seconds) 2015-11-06T09:28:31Z angavrilov joined #sbcl 2015-11-06T10:45:01Z whiteline joined #sbcl 2015-11-06T10:48:11Z sjl quit (Ping timeout: 264 seconds) 2015-11-06T11:12:25Z ZabaQ quit (Quit: Leaving) 2015-11-06T11:46:42Z DGASAU quit (Ping timeout: 260 seconds) 2015-11-06T11:50:53Z DGASAU joined #sbcl 2015-11-06T12:02:36Z sjl joined #sbcl 2015-11-06T12:03:24Z gabriella joined #sbcl 2015-11-06T12:07:12Z ZabaQ joined #sbcl 2015-11-06T12:32:02Z dougk2 joined #sbcl 2015-11-06T12:35:34Z alchemis7 quit (Remote host closed the connection) 2015-11-06T12:35:57Z sjl quit (Quit: WeeChat 1.3) 2015-11-06T12:48:12Z nyef: Okay, the rp3440 still works, but has a 32-bit debian installed. 2015-11-06T12:48:20Z nyef: ... which is badly in need of updates. 2015-11-06T12:58:21Z nyef: Still need to build a bunch of serial cables, and a VPN server, and DNS... 2015-11-06T13:02:10Z dougk2 quit (Ping timeout: 260 seconds) 2015-11-06T13:16:53Z dougk2 joined #sbcl 2015-11-06T13:17:23Z gabriella quit 2015-11-06T13:22:58Z dougk2 quit (Ping timeout: 244 seconds) 2015-11-06T13:31:13Z eudoxia joined #sbcl 2015-11-06T13:46:45Z eudoxia quit (Quit: Leaving) 2015-11-06T14:34:02Z dougk2 joined #sbcl 2015-11-06T14:41:46Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-06T14:50:02Z stassats` joined #sbcl 2015-11-06T14:51:59Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-06T14:53:42Z psy_ joined #sbcl 2015-11-06T14:54:08Z psy_ quit (Max SendQ exceeded) 2015-11-06T14:54:56Z psy_ joined #sbcl 2015-11-06T15:12:07Z dougk2 joined #sbcl 2015-11-06T15:30:00Z nzambe joined #sbcl 2015-11-06T15:31:39Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-06T15:40:07Z dougk2 joined #sbcl 2015-11-06T16:17:59Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-06T16:31:03Z dougk2 joined #sbcl 2015-11-06T16:33:48Z ZabaQ quit (Quit: Leaving) 2015-11-06T16:44:59Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-06T16:48:34Z dougk2 joined #sbcl 2015-11-06T16:51:46Z prxq joined #sbcl 2015-11-06T17:06:53Z scymtym_ joined #sbcl 2015-11-06T17:26:21Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-06T17:28:45Z dougk2 joined #sbcl 2015-11-06T17:29:45Z fitzsim joined #sbcl 2015-11-06T17:32:59Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-06T17:34:05Z joshe joined #sbcl 2015-11-06T17:35:10Z joshe quit (Client Quit) 2015-11-06T17:35:37Z joshe joined #sbcl 2015-11-06T17:44:40Z dougk2 joined #sbcl 2015-11-06T17:49:59Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-06T18:06:07Z rszeno joined #sbcl 2015-11-06T18:09:25Z attila_lendvai joined #sbcl 2015-11-06T18:09:25Z attila_lendvai quit (Changing host) 2015-11-06T18:09:25Z attila_lendvai joined #sbcl 2015-11-06T18:13:46Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-06T18:15:27Z dougk2 joined #sbcl 2015-11-06T18:35:59Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-06T18:43:35Z dougk2 joined #sbcl 2015-11-06T19:10:19Z eudoxia joined #sbcl 2015-11-06T19:10:43Z eudoxia quit (Remote host closed the connection) 2015-11-06T19:15:59Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-06T19:22:52Z rszeno quit (Quit: Leaving.) 2015-11-06T19:49:21Z stassats`: got threaded binding vops 2015-11-06T19:49:25Z stassats`: now to check that they actually work 2015-11-06T19:49:59Z nyef: Is there some way to find out the current signal mask from gdb? 2015-11-06T19:50:25Z stassats`: i've tried to do that, not so easy 2015-11-06T19:50:33Z stassats`: basically you have to "call" things 2015-11-06T19:58:15Z nyef: Thanks. That helped. 2015-11-06T19:59:07Z stassats`: care to share? could be useful for .gdbinit 2015-11-06T20:04:40Z gingerale joined #sbcl 2015-11-06T20:05:42Z nyef: I'm on SBCL, and have a signal context to hand in my current situation. 2015-11-06T20:06:00Z nyef: Which means that the relevant sigmask is already available to me. 2015-11-06T20:07:15Z stassats`: a tn conflict 2015-11-06T20:07:16Z stassats`: great 2015-11-06T20:07:36Z stassats`: t1[NL1]> is wired to location 1 in SC # of kind :NORMAL that it conflicts with. 2015-11-06T20:07:39Z stassats`: what does that even mean? 2015-11-06T20:07:43Z Bicyclidine joined #sbcl 2015-11-06T20:09:34Z stassats`: using nl3 didn't help 2015-11-06T20:12:35Z stassats`: maybe it's the assem-rtn vop, i actually don't need a vop for it 2015-11-06T20:12:55Z dougk2 joined #sbcl 2015-11-06T20:13:36Z stassats`: huh, #!+sb-thread, but #+sb-assembling 2015-11-06T20:13:43Z stassats`: how on earth do i do both? 2015-11-06T20:15:54Z stassats`: let's hop that #+sb-assembling #!+sb-thread works 2015-11-06T20:20:16Z nyef: Hang on, had to do something like that a while back. 2015-11-06T20:20:38Z stassats`: that seemed to help, but how portable is it? 2015-11-06T20:21:00Z nyef: Have a look at x86/assem-rtns.lisp, the Win32 UWP block SEH interface. 2015-11-06T20:22:17Z stassats`: #+assembling (progn #!+sb-thread would be easier 2015-11-06T20:22:24Z nyef: If you want. 2015-11-06T20:26:15Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-06T20:33:07Z stassats`: ok, managed to get a cold-core 2015-11-06T20:33:38Z stassats`: "gc invariant lost" 2015-11-06T20:34:12Z stassats`: no PA, boo 2015-11-06T20:44:23Z stassats`: reg_NULL is zero 2015-11-06T20:44:27Z stassats`: not good 2015-11-06T20:45:24Z Bicyclidine quit (Quit: back later) 2015-11-06T21:03:34Z attila_lendvai joined #sbcl 2015-11-06T21:03:34Z attila_lendvai quit (Changing host) 2015-11-06T21:03:34Z attila_lendvai joined #sbcl 2015-11-06T21:07:38Z stassats`: that resolved, now reg_THRED has some garbage 2015-11-06T21:10:19Z stassats`: am i still allocating reg_THRED? 2015-11-06T21:10:37Z stassats`: yep, duh 2015-11-06T21:11:31Z nyef: Dare I ask if you're using the PPC threading commit series as a guide for what needs to be done? 2015-11-06T21:13:07Z scymtym_ quit (Ping timeout: 252 seconds) 2015-11-06T21:14:01Z stassats`: not really 2015-11-06T21:14:04Z stassats`: just doing it 2015-11-06T21:14:44Z stassats`: Internal error #133 "(an alias for help)" at 0x4f3daf74 2015-11-06T21:14:57Z stassats`: and a bout half a billion of sc-offsets listed 2015-11-06T21:15:02Z stassats`: what's up with that, by the way? 2015-11-06T21:19:45Z stassats`: the error is actually unbound symbol error 2015-11-06T21:20:18Z stassats`: *pinned-objects* 2015-11-06T21:26:15Z Bicyclidine joined #sbcl 2015-11-06T21:26:39Z dougk_: stassats`: the #!+ reader allows you to look at host features. See example in x86-64/vm.lisp for #!+(and sb-simd-pack ...) 2015-11-06T21:27:06Z stassats`: ok 2015-11-06T21:27:28Z nyef: Ooh. (host-feature whatever) ? 2015-11-06T21:27:38Z nyef: Yes, much cleaner. 2015-11-06T21:36:22Z prxq quit (Read error: Connection reset by peer) 2015-11-06T21:37:02Z dougk2 joined #sbcl 2015-11-06T21:41:30Z gingerale quit (Remote host closed the connection) 2015-11-06T22:19:42Z stassats`: forgot about symbol-value and set 2015-11-06T22:30:56Z angavrilov quit (Remote host closed the connection) 2015-11-06T22:34:00Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-06T22:46:13Z stassats`: somehow a tls index is at the wrong position 2015-11-06T22:48:33Z nyef: So, that (:EXHAUST :BINDING-STACK) that I said was broken on MIPS? Almost certainly a kernel or hardware bug with my system. 2015-11-06T22:50:15Z stassats`: i thought tls-index is stored in the header data, huh 2015-11-06T22:50:32Z nyef: ... You didn't realize that it was a separate slot? 2015-11-06T22:50:46Z stassats`: but on x86-64 i've got two symbols with the same tls-index 2015-11-06T22:51:11Z nyef: IIRC, symbols are TRANS_BOXED, which means that the header value is the total length in words. 2015-11-06T22:52:04Z stassats`: ok, same means 0 2015-11-06T22:52:15Z stassats`: how do they work then? hmm 2015-11-06T22:52:38Z nyef: Thread structure slot 0 always holds NO-TLS-MARKER-WIDETAG or something like that. 2015-11-06T22:52:42Z stassats`: oh, 0 just means there is no thread binding, that's where i lose 2015-11-06T22:52:55Z nyef: I've had trouble occasionally corrupting slot 0. 2015-11-06T22:53:12Z nyef: Very confusing to figure out. 2015-11-06T22:53:12Z dougk2 joined #sbcl 2015-11-06T22:53:17Z stassats`: i once tried removing no-tls-marker-widetag without success 2015-11-06T22:53:24Z stassats`: from struct thread 2015-11-06T22:53:29Z nyef: This would be why. 2015-11-06T22:54:12Z stassats`: ok, the tls-index is at the right place, in the header, but it's just 0 2015-11-06T22:54:21Z nyef: Symbols are created with a TLS index of 0, so that when their thread-local value is taken you get that widetag, which is checked for by SYMBOL-VALUE... 2015-11-06T22:54:47Z nyef: ... And just bounces back to the global value. 2015-11-06T22:56:32Z stassats`: huh, no_tls_value_marker = 0 2015-11-06T22:57:02Z stassats`: my set is must broken 2015-11-06T22:57:22Z stassats`: or bind 2015-11-06T22:59:53Z ASau joined #sbcl 2015-11-06T23:03:08Z flavioc joined #sbcl 2015-11-06T23:07:58Z nyef: Okay, if I use the ERLite and bridge its ports, I have just BARELY enough network to connect all of the various bits and bots. 2015-11-06T23:09:18Z nyef: So, I have... twenty hours at most to get a VPN up and running, with a hole punched through the main gateway for it, or at least an SSH listener, and preferably to get the DNS thing sorted. 2015-11-06T23:10:08Z stassats`: what happens after 20 hours? 2015-11-06T23:10:20Z nyef: I leave for a couple of weeks. 2015-11-06T23:12:27Z nyef: Before I go, I'd like to make sure that I can keep hacking on SBCL in the way that I have been for the past week and a half. 2015-11-06T23:16:56Z stassats`: ok, where do i butcher no_tls_value_marker 2015-11-06T23:17:05Z stassats`: i wish i had a debugger which could just tell me 2015-11-06T23:19:01Z nyef: There's a chance that it's in the runtime. 2015-11-06T23:19:35Z nyef: Otherwise, anything that sets, binds, unbinds, or compare-and-swaps a symbol is a candidate. 2015-11-06T23:19:48Z stassats`: ok 2015-11-06T23:19:54Z nyef: Wow. PPC threads was five years ago?!? 2015-11-06T23:20:08Z nyef: Where the hell did the time go? 2015-11-06T23:20:10Z stassats`: i'm using the x86-64 api, could be some bogus conditionals 2015-11-06T23:22:01Z stassats`: seem to have changed everything to 64_BIT 2015-11-06T23:23:14Z nyef: You realize that I have the hardware for three more 64-bit ports, right? (-: 2015-11-06T23:23:48Z stassats`: less changes for you 2015-11-06T23:23:56Z nyef: And I'm only aware of horrid, not-yet-tracked-down mprotect() and TLB bugs on one of them! 2015-11-06T23:28:07Z stassats`: no break on alloc-tls-index 2015-11-06T23:28:13Z stassats`: so, it's either set or bind 2015-11-06T23:29:18Z nyef: Do you want another set of eyeballs on it? 2015-11-06T23:29:33Z stassats`: not yet 2015-11-06T23:43:23Z nyef: Oh, cute. The /bin/ed on this thing is a symlink to busybox... And busybox doesn't behave exactly like /bin/ed should. 2015-11-06T23:53:21Z nyef: Hrm. Trying to involve the E3000 with a USB hub and a bunch of USB-serial adapters is probably not a bright idea. 2015-11-06T23:53:44Z nyef: Largely because I'd have to ssh to the E3000 and run the terminal programs there in order to do anything. 2015-11-06T23:54:09Z dougk2 quit (Read error: Connection reset by peer) 2015-11-06T23:54:49Z nyef: Whereas while the EL-16 requires special cables to be made up in order to be useful, it sits as a network device, thus I can run the terminal programs locally. 2015-11-06T23:56:52Z flavioc quit (Ping timeout: 272 seconds) 2015-11-06T23:58:06Z stassats`: no_tls_value_marker seems to go haywire after write-string 2015-11-07T00:07:55Z stassats`: ok, it's in unbind 2015-11-07T00:09:33Z nyef: Oh boy. 2015-11-07T00:10:01Z nyef: One bug fixed on this hardware, three NEW bugs enabled. 2015-11-07T00:10:35Z stassats`: that reminds me of Lenin 2015-11-07T00:11:14Z stassats`: COLD-INIT... 2015-11-07T00:11:17Z stassats`: oh boy, is it spinning? 2015-11-07T00:11:19Z nyef: http://paste.lisp.org/display/157516#12 2015-11-07T00:11:48Z nyef: (That's after re-enabling the (EXHAUST BINDING-STACK) test.) 2015-11-07T00:12:01Z stassats`: oh my, oh my 2015-11-07T00:12:14Z stassats`: it's b $pc 2015-11-07T00:12:37Z nyef: ... Wha? 2015-11-07T00:12:46Z stassats`: current-thread-offset-sap 2015-11-07T00:12:53Z nyef: Heh! 2015-11-07T00:13:17Z Bicyclidine quit (Quit: no) 2015-11-07T00:13:24Z stassats`: should mark it as always-translatable 2015-11-07T00:13:52Z stassats`: bound to break something else, later then 2015-11-07T00:16:48Z stassats`: or having a defknown would have caught it 2015-11-07T00:16:57Z stassats`: but the defknown is beside the vop, for some reason 2015-11-07T00:18:09Z dougk2 joined #sbcl 2015-11-07T00:30:04Z stassats`: oh bother, still cold-init.. 2015-11-07T00:30:41Z stassats`: compare and swap now 2015-11-07T00:32:06Z stassats`: ok, i need a break then 2015-11-07T00:34:42Z nyef: It occurs to me that the next few months of SBCL releases are going to be rather interesting. 2015-11-07T00:35:33Z stassats`: compare-and-swaps should, presumably, more thought out 2015-11-07T00:35:48Z stassats`: i didn't really do any energy saving stuff for the spinlock in alloc-tls-index 2015-11-07T00:37:10Z nyef: Okay, just powered up the SunFire v210... And immediately remembered why I don't use it. 2015-11-07T00:37:30Z nyef: Hrm. Interesting metallic whine to one of the fans... or the spinning-platter-device. 2015-11-07T00:37:44Z stassats`: is it as host as the sun? 2015-11-07T00:37:46Z stassats`: hot 2015-11-07T00:37:58Z nyef: By definition, how could it not be? 2015-11-07T00:39:01Z Shinmera: My first workstation sounded like a moped when you turned it on. 2015-11-07T00:39:16Z stassats`: nyef: transitioned to a neutron star? 2015-11-07T00:40:30Z stassats`: neutron stars are pretty hot, oops 2015-11-07T00:43:00Z nyef: ... Wow. This thing takes a while to POST before getting to BrokenFirmware. 2015-11-07T00:43:52Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-11-07T00:44:36Z stassats`: is CAS a good building block if the machine only has LL/SC? 2015-11-07T00:44:56Z nyef: No idea. But PPC is an LL/SC machine, IIRC. 2015-11-07T00:45:07Z nyef: You can crib from that. 2015-11-07T00:45:21Z stassats`: i took the spinlock from the ARM manual 2015-11-07T00:45:25Z nyef: Get it working first, then worry about more optimal solutions. d-: 2015-11-07T00:45:44Z stassats`: ARM doesn't need memory barriers, for example 2015-11-07T00:46:37Z stassats`: for the runtime, why not just use https://gcc.gnu.org/onlinedocs/gcc-4.4.5/gcc/Atomic-Builtins.html ? 2015-11-07T00:46:51Z nyef: ... Why the deuce do these machines have MTAs? 2015-11-07T00:47:16Z nyef: Probably because the runtime predates wide deployment of gcc-4.4. 2015-11-07T00:47:21Z stassats`: debian is insistent on having one 2015-11-07T00:48:00Z stassats`: i have some sort of exim installed 2015-11-07T00:48:08Z stassats`: never used it in my life 2015-11-07T00:51:02Z stassats`: i can look up what __sync_fetch_and_add does 2015-11-07T00:52:47Z nyef: Okay, I don't need access to the console on the ERLite-3, which is good, because I only have one Cisco console cable... 2015-11-07T00:54:32Z nyef: The localnet is as good as it's getting until I can get my bloody switch back from the orifice which is holding it... And it's just about as well, because I'm out of known-working machines, and I'd rather focus on SBCL than on Linux hacking... 2015-11-07T00:55:36Z stassats`: arm actually now has CAS and atomic-inc/dec 2015-11-07T00:57:43Z nyef tries a SPARC build, just because. 2015-11-07T01:05:49Z stassats joined #sbcl 2015-11-07T01:06:28Z stassats: hm, gcc uses ldxr+stlxr+memory barrier for CAS 2015-11-07T01:06:59Z stassats` quit (Ping timeout: 250 seconds) 2015-11-07T01:07:04Z nyef: Hrm. I wonder if the E3000 puts out enough oomph on the USB port to hold up an RPi or a BBB? 2015-11-07T01:07:15Z nyef: ... Not that I have any network ports available for one, but still... 2015-11-07T01:07:36Z stassats: maybe i should look into gcc sources for comments 2015-11-07T01:12:24Z stassats: and it doesn't use WFE/SEV either 2015-11-07T01:13:07Z stassats: but CAS and FADD are the similar to spinlocks, just without unlocking, so i can just nick it from the ARM manual 2015-11-07T01:13:58Z stassats: wonder what clang does 2015-11-07T01:15:19Z stassats: clang doesn't use explicit memory barriers, but no WFE/SEV either 2015-11-07T01:21:09Z stassats: well, if they both don't use WFE/SEV, then why should i? 2015-11-07T01:21:32Z nyef: That's fine as long as it works. 2015-11-07T01:21:41Z stassats: that's just an energy optimization 2015-11-07T01:21:57Z stassats: but i find energy optimizations to be quite important 2015-11-07T01:27:09Z stassats: will leave it for the future 2015-11-07T01:42:11Z pkhuong: the barrier-ness of sync_foo is ill defined, iirc 2015-11-07T01:42:26Z pkhuong: gcc implements them as full barriers (closer to x86's and SPARC's TSO) 2015-11-07T01:42:34Z pkhuong: but clang might well decide otherwise 2015-11-07T01:42:46Z nyef: IIRC, we define CAS to be a full barrier, FWIW. 2015-11-07T01:42:52Z pkhuong: we definitely do 2015-11-07T01:43:00Z stassats: the armv8 ldaxr/stlxr have an implicit barrier 2015-11-07T01:43:15Z stassats: gcc uses ldxr, no barrier, and then dmb 2015-11-07T01:45:14Z stassats: another source http://lxr.free-electrons.com/source/arch/arm64/include/asm/atomic_ll_sc.h 2015-11-07T01:45:39Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-07T01:46:19Z dougk2 joined #sbcl 2015-11-07T01:47:11Z stassats: it does use dmb 2015-11-07T01:47:15Z stassats: but http://lxr.free-electrons.com/source/arch/arm64/include/asm/spinlock.h doesn't 2015-11-07T01:47:37Z pkhuong: spinlocks only need acquire and release barriers 2015-11-07T01:48:08Z pkhuong: iirc arm is rmo and some of these half barriers are implicit 2015-11-07T01:49:05Z pkhuong: i can check tomorrow... but unless we really want perf on multicore arm, I'd go with a full barrier 2015-11-07T01:49:42Z stassats: from the arm manual "The Load-Acquire/Store-Release instructions can remove the requirement to use the explicit DMB memory barrier instruction." 2015-11-07T01:50:08Z pkhuong: if you don't want a full barrier 2015-11-07T01:50:51Z pkhuong: but I don't know that we don't rely on full barrier semantics for atomic RMW 2015-11-07T01:53:20Z stassats: https://www.kernel.org/doc/Documentation/memory-barriers.txt talks about release and acquire 2015-11-07T01:53:30Z stassats: but are the armv8's release/acquire the same? 2015-11-07T01:53:39Z chu joined #sbcl 2015-11-07T01:54:06Z nyef: Heh. SPARC alien-funcall looks to also be damaged. 2015-11-07T01:58:09Z stassats: so the difference is that there might be non-atomic reading access to a location? 2015-11-07T01:58:21Z stassats: as opposed to locks always using acquire/release? 2015-11-07T02:01:07Z stassats: DMB has a lot of different options 2015-11-07T02:01:40Z stassats: gcc uses ISH, inner shareable 2015-11-07T02:03:45Z stassats: that's too complicated, i'll just use the full system barrier 2015-11-07T03:17:06Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-07T03:25:18Z stassats: tls-index of 0x555? 2015-11-07T03:25:30Z stassats: that's not right 2015-11-07T03:26:19Z stassats: (+ #x545 16) 2015-11-07T03:26:33Z stassats: and 545 is the symbol widetag 2015-11-07T03:26:34Z stassats: ok 2015-11-07T03:37:12Z stassats: sprinkle some lifetime issues 2015-11-07T03:37:19Z stassats: can't get around without it 2015-11-07T03:45:45Z stassats: heap exhausted 2015-11-07T03:45:46Z stassats: huh 2015-11-07T03:47:25Z stassats: managed to kill the phone 2015-11-07T03:47:31Z stassats: forget it's only 3GB of ram 2015-11-07T03:48:16Z stassats: only the android UI crashed, interesting 2015-11-07T04:18:20Z stassats: coming from globaldb-cold-init 2015-11-07T04:25:32Z alchemis7 joined #sbcl 2015-11-07T05:08:15Z |3b| quit (Read error: Connection reset by peer) 2015-11-07T05:09:34Z |3b| joined #sbcl 2015-11-07T05:44:51Z lnostdal quit (Ping timeout: 246 seconds) 2015-11-07T05:56:44Z stassats: damn, was describe_internal_error broken all that time? 2015-11-07T05:56:59Z stassats: it was surely broken for arm64, but it also uses the old definition of sc-offset 2015-11-07T05:57:25Z lnostdal joined #sbcl 2015-11-07T05:58:41Z stassats: finally proper error decoding 2015-11-07T05:59:07Z stassats: i should have done that from the outset, not waited until it got really annoying 2015-11-07T06:16:27Z angavrilov joined #sbcl 2015-11-07T07:15:32Z gingerale joined #sbcl 2015-11-07T07:24:11Z dougk2 quit (Ping timeout: 264 seconds) 2015-11-07T07:40:51Z Shinmera joined #sbcl 2015-11-07T07:50:46Z scymtym_ joined #sbcl 2015-11-07T08:33:53Z flavioc joined #sbcl 2015-11-07T08:56:57Z flavioc quit (Ping timeout: 255 seconds) 2015-11-07T09:10:34Z flavioc joined #sbcl 2015-11-07T09:11:39Z pkhuong quit (Ping timeout: 240 seconds) 2015-11-07T09:20:48Z gingerale quit (Ping timeout: 246 seconds) 2015-11-07T09:23:08Z gingerale joined #sbcl 2015-11-07T09:30:32Z pkhuong joined #sbcl 2015-11-07T09:30:55Z pkhuong is now known as Guest49265 2015-11-07T09:34:45Z flavioc quit (Ping timeout: 255 seconds) 2015-11-07T09:52:19Z gingerale quit (Remote host closed the connection) 2015-11-07T09:52:21Z ASau quit (Remote host closed the connection) 2015-11-07T09:52:49Z ASau joined #sbcl 2015-11-07T10:11:39Z lnostdal quit (Ping timeout: 240 seconds) 2015-11-07T10:24:39Z lnostdal joined #sbcl 2015-11-07T10:28:26Z edgar-rft joined #sbcl 2015-11-07T11:11:18Z flavioc joined #sbcl 2015-11-07T11:26:06Z flavioc quit (Ping timeout: 250 seconds) 2015-11-07T11:39:32Z flavioc joined #sbcl 2015-11-07T11:44:39Z flavioc quit (Ping timeout: 240 seconds) 2015-11-07T12:13:56Z fikusz joined #sbcl 2015-11-07T12:21:41Z scymtym_ quit (Ping timeout: 250 seconds) 2015-11-07T12:48:18Z psy_ quit (Ping timeout: 244 seconds) 2015-11-07T12:58:59Z dougk2 joined #sbcl 2015-11-07T13:13:02Z attila_lendvai joined #sbcl 2015-11-07T13:13:02Z attila_lendvai quit (Changing host) 2015-11-07T13:13:02Z attila_lendvai joined #sbcl 2015-11-07T13:14:10Z nimiux joined #sbcl 2015-11-07T13:24:24Z Cymew quit (Ping timeout: 250 seconds) 2015-11-07T15:25:18Z scymtym: dougk2: is there a known issue with sb-fasteval interning names of structure slot accessors in the wrong package? 2015-11-07T15:27:47Z dougk2 quit (Ping timeout: 264 seconds) 2015-11-07T15:47:19Z scymtym: seems to be a macro-expansion issue regarding the value of *PACKAGE* 2015-11-07T15:53:44Z nyef: scymtym: BTW, that backtrace test from earlier fails on MIPS, Alpha, and SPARC. I haven't tried ARM or HPPA yet, and I don't have ARM64 or PPC hardware to test with, but I don't hold out much hope. 2015-11-07T15:55:44Z scymtym: nyef: if i remember correctly, you saw an extra argument in the backtrace that wasn't present in the function call, right? 2015-11-07T15:56:16Z nyef: Something like that. I forget the details. 2015-11-07T15:56:39Z stassats: arm uses precise arg-count errors, fwiw 2015-11-07T15:56:41Z stassats: same as x86oids 2015-11-07T15:57:04Z nyef: stassats: Oh? What's involved in that? 2015-11-07T15:57:20Z stassats: checking nargs before the stack is destroyed 2015-11-07T15:57:53Z nyef: Hrm. 2015-11-07T15:57:58Z scymtym: does that mean the expected frame specification should be something like ( #+precise-arg-count-error-feature &rest)? 2015-11-07T15:58:03Z nyef: If that's it, then we should keep the test as is? 2015-11-07T15:58:05Z stassats: non armx86oids use a different calling sequence where this is difficult, don't remember how, though 2015-11-07T15:58:15Z scymtym: s/#+/#-/ 2015-11-07T15:58:26Z stassats: what is the test? 2015-11-07T15:58:30Z stassats: arg-count errors? 2015-11-07T15:58:33Z nyef: scymtym: No, it means that the test should be marked :fails-on '(not precise-arg-count-error-feature). 2015-11-07T15:58:43Z stassats: i can test ppc 2015-11-07T15:59:02Z scymtym: i think multiple tests were affected after i naively made them less lenient 2015-11-07T15:59:03Z stassats: what should i do? just run tests normally? 2015-11-07T15:59:17Z scymtym: yes, backtrace.impure.lisp 2015-11-07T15:59:18Z nyef: stassats: Just backtrace.impure.lisp. 2015-11-07T16:00:44Z nyef: I have call-args handling fixes on my to-do list for mips and alpha already, and maybe sparc. 2015-11-07T16:01:24Z nyef: (Though I may leave sparc for later, let it take HPPA's title of "least maintained SBCL backend" for a bit.) 2015-11-07T16:05:10Z stassats: i somehow broke globaldb 2015-11-07T16:05:22Z stassats: and can't figure it out, probably something with CAS 2015-11-07T16:05:55Z stassats: ppc Failure: backtrace.impure.lisp / (BACKTRACE XEP) 2015-11-07T16:06:21Z nyef: That'd be the one. 2015-11-07T16:06:37Z stassats: arm64 (1 tests skipped for this combination of platform and features) 2015-11-07T16:07:20Z nyef: Okay, looks like I can power an RPi from an E3000. 2015-11-07T16:07:44Z scymtym: stassats: does it say what the expected and actual frames looked like? 2015-11-07T16:08:15Z stassats: Unexpected frame during detailed check: wanted ((BT.2.2) (:EXTERNAL)), got 2015-11-07T16:08:15Z stassats: ((BT.2.2 #) (:EXTERNAL)) 2015-11-07T16:09:58Z scymtym: stassats: thanks. seems to be the same problem 2015-11-07T16:11:06Z nyef: Damn. I can power the RPi, but I need to make a sacrifice to the network gods to get a usable network port for it. So much for that. /-: 2015-11-07T16:12:10Z scymtym: marking the whole test as :fails-on may be too much since e.g. the BT.2.1 call works as intended 2015-11-07T16:13:34Z nyef: Well, except that you're testing backtrace behavior, and this is a legitimate issue with the backtracer. 2015-11-07T16:14:20Z nyef: So we DO need some test to cover this difference, protected by that feature (presuming that there is such a feature), or by the more typical arch-based criteria. 2015-11-07T16:20:39Z scymtym: we could split out the debug 1+speed 3 and debug 0 cases (i.e. bt.2.2, bt.2.3) into a separate WITH-TEST 2015-11-07T16:21:39Z nyef: Aha! Found a suitable sacrifice for the network gods. 2015-11-07T16:39:48Z nyef: Hrm. Now there's a slap to the face. Three USB<->RS-232 adapters, all the same model, and no distinguishing characteristics such as serial numbers. /-: 2015-11-07T16:40:19Z stassats: a sharpie 2015-11-07T16:41:56Z nyef: The computer can't read serial numbers written with a sharpie. 2015-11-07T16:46:04Z nyef: Saving graces: Every port is connected to a device that runs at 9600 8-N-1, and it turns out that I only need two of the un-numbered adapters. 2015-11-07T16:47:33Z stassats: not many hooks into that globaldb issue... 2015-11-07T16:48:57Z psy_ joined #sbcl 2015-11-07T16:51:28Z stassats: notinlining info crashes in META-INFO 2015-11-07T16:52:44Z dougk2 joined #sbcl 2015-11-07T16:54:20Z stassats: truly-the in the compiler-macro just ate it 2015-11-07T16:54:31Z stassats: so, i don't have a :type :kind info 2015-11-07T17:00:20Z dougk2 quit (Ping timeout: 265 seconds) 2015-11-07T17:03:42Z dougk2 joined #sbcl 2015-11-07T17:04:34Z stassats: (!get-meta-infos :kind) is nil 2015-11-07T17:08:19Z fikusz quit (Quit: Leaving) 2015-11-07T17:27:01Z zacts quit (Read error: Connection reset by peer) 2015-11-07T17:31:12Z nyef: ... VPN verified working, console connections are a bit of a lash-up, but should work... 2015-11-07T17:31:35Z stassats: dang, not another lifetime issue 2015-11-07T17:31:38Z stassats: those are the worst 2015-11-07T17:32:46Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-07T17:33:15Z stassats: i hope it's the last issue 2015-11-07T17:33:58Z zacts joined #sbcl 2015-11-07T17:34:56Z stassats: that was too good to be true 2015-11-07T17:35:02Z stassats: but a different one, at least 2015-11-07T17:35:18Z nyef: No more critical-to-do-before-leaving changes to make, just very-nice-to-have-done changes left. 2015-11-07T17:37:04Z dougk2 quit (Ping timeout: 265 seconds) 2015-11-07T17:37:06Z lnostdal quit (Ping timeout: 246 seconds) 2015-11-07T17:50:16Z lnostdal joined #sbcl 2015-11-07T17:53:07Z csziacobus joined #sbcl 2015-11-07T17:56:23Z dougk2 joined #sbcl 2015-11-07T18:04:53Z dougk2 quit (Ping timeout: 250 seconds) 2015-11-07T18:07:14Z nyef: Looks like I have all the bits required to put a PPC G4 on my little mess here, just not the patience to get the G4 set up properly for it. 2015-11-07T18:24:00Z dougk2 joined #sbcl 2015-11-07T18:26:07Z stassats: the ppc port is quite healthy 2015-11-07T18:26:14Z stassats: save, maybe, for the copy-more-arg thing 2015-11-07T18:27:17Z nyef: Yes, well, we've both put some serious effort into it over the years. 2015-11-07T18:27:55Z stassats: and some sb-concurrency test fails intermittently 2015-11-07T18:28:04Z nyef: Probably a barrier issue? 2015-11-07T18:28:48Z attila_lendvai joined #sbcl 2015-11-07T18:28:48Z attila_lendvai quit (Changing host) 2015-11-07T18:28:48Z attila_lendvai joined #sbcl 2015-11-07T18:28:49Z stassats: yes, it's doesn't fail reliably enough to properly test, though 2015-11-07T18:29:23Z nyef: I bet we'll find a ton of barrier problems once I get my dual-CPU alpha up and running. 2015-11-07T18:29:54Z stassats: hm %atomic-inc-symbol-global-value vop is only available on x86-64 2015-11-07T18:30:14Z stassats: for some reason i'm spinning somewhere around the %atomic-inc-symbol-global-value function 2015-11-07T18:37:49Z stassats: get-info-value is being called with *type-cache-nonce* repeatedly, alternating with 15 and 18 for the info number 2015-11-07T18:51:30Z dougk2 quit (Ping timeout: 260 seconds) 2015-11-07T18:58:51Z stassats: atomic-incf is broken, replacing it with incf got make-target-2 to complete 2015-11-07T19:11:25Z dougk2 joined #sbcl 2015-11-07T19:30:26Z dougk2 quit (Ping timeout: 272 seconds) 2015-11-07T19:43:49Z scymtym_ joined #sbcl 2015-11-07T19:47:16Z stassats: i was adding an unsigned sign-extended negative, instead of subtracting 2015-11-07T19:51:56Z stassats: finally a warm core without any compromises 2015-11-07T19:52:13Z Shinmera: Sounds cozy. 2015-11-07T19:53:23Z nyef: Congratulations. 2015-11-07T19:57:52Z stassats: make-thread: control stack exhausted 2015-11-07T19:59:43Z stassats: (sb-thread:join-thread (sb-thread:make-thread (lambda () (sb-thread::thread-os-thread sb-thread:*current-thread*)))) works 2015-11-07T19:59:51Z stassats: (lambda () (print 20)) CS exhausted 2015-11-07T20:05:27Z stassats: and in the parent thread 2015-11-07T20:13:34Z stassats: strange, strange 2015-11-07T20:13:51Z stassats: added PC printing, it's in initial-thread-function-trampoline 2015-11-07T20:18:00Z stassats: something around unwinding 2015-11-07T20:18:10Z stassats: can i be unwinding into the parent thread? 2015-11-07T20:22:47Z stassats: with gdb attached and breaking on schedule_thread_postmortem, it doesn't crash 2015-11-07T20:25:25Z stassats: ok, that's enough for today 2015-11-07T20:25:40Z stassats: time to unwind 2015-11-07T20:35:19Z flavioc joined #sbcl 2015-11-07T20:46:23Z dougk2 joined #sbcl 2015-11-07T20:56:11Z nyef quit (Quit: Shutting down, back late tonight or tomorrow) 2015-11-07T21:06:26Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-07T21:08:56Z dougk2 joined #sbcl 2015-11-07T21:17:18Z DeadTrickster: hey guys, what you think? http://pastebin.com/UPYubKZK 2015-11-07T21:25:42Z joshee joined #sbcl 2015-11-07T21:26:19Z joshe quit (Ping timeout: 264 seconds) 2015-11-07T21:35:21Z flavioc quit (Ping timeout: 265 seconds) 2015-11-07T21:39:50Z stassats quit (Ping timeout: 240 seconds) 2015-11-07T21:47:46Z scymtym_: DeadTrickster: seems to be something with spurious wakeups in CONDITION-WAIT under load 2015-11-07T21:51:19Z DeadTrickster: scymtym_, yeah but is that expected I mean wakeups - yes but so many? 2015-11-07T21:52:08Z DeadTrickster: because effectively this just locks calling thread and btw receive-message CAN return - after 5, 10 minutes 2015-11-07T21:53:23Z scymtym_: i'm wondering whether the condition becoming true is not detected because of a missing memory barrier or something similar 2015-11-07T22:05:40Z DeadTrickster: scymtym, so you think it's a bug in sbcl? 2015-11-07T22:05:43Z DeadTrickster: or in my code? 2015-11-07T22:05:56Z scymtym_: not sure yet 2015-11-07T22:11:46Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-07T22:13:58Z attila_lendvai joined #sbcl 2015-11-07T22:18:28Z joshee is now known as joshe 2015-11-07T22:20:28Z scymtym_: %DECREMENT-SEMAPHORE does not recalculate the timeout in case of spurious wakeups 2015-11-07T22:20:39Z scymtym_: i think that's the problem 2015-11-07T22:24:22Z DeadTrickster: yea 2015-11-07T22:27:30Z DeadTrickster: scymtym, will get-internal-real-time work here? 2015-11-07T22:28:06Z scymtym_: i'm trying a solution that reuses the time calculations done in CONDITION-WAIT 2015-11-07T22:29:29Z DeadTrickster: no real-time is a bad idea, 2015-11-07T22:30:20Z DeadTrickster: scymtym, it would be nice if condition-wait also return wait-time 2015-11-07T22:30:26Z DeadTrickster: as a third value maybe 2015-11-07T22:30:42Z scymtym_: yes, that's i'm looking into 2015-11-07T22:30:46Z scymtym_: *what 2015-11-07T22:35:06Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-07T22:54:25Z scymtym_: DeadTrickster: i think that does the trick (module increased consing in CONDITION-WAIT in the timeout case) 2015-11-07T22:54:37Z scymtym_: would you be interested in trying a patch? 2015-11-07T22:56:22Z scymtym_: there may be another issue in SB!IMPL::RELATIVE-DECODED-TIMES, but that seems to be independent 2015-11-07T22:58:28Z DeadTrickster: scymtym, yep 2015-11-07T23:01:40Z scymtym_: DeadTrickster: http://paste.lisp.org/display/158748 2015-11-07T23:01:45Z scymtym_: should apply against master 2015-11-07T23:04:26Z DeadTrickster: scymtym, can remaining-wait-time be negative? 2015-11-07T23:05:08Z dougk2 quit (Ping timeout: 272 seconds) 2015-11-07T23:05:14Z scymtym_: no RELATIVE-DECODED-TIMES prevents that 2015-11-07T23:05:32Z scymtym_: but i'm afraid it can return a positive amount when it should return 0 2015-11-07T23:05:49Z scymtym_: that's the other potential problem i mentioned above 2015-11-07T23:05:54Z DeadTrickster: I see 2015-11-07T23:06:06Z scymtym_: the amount is below one second, though 2015-11-07T23:09:49Z edgar-rft quit (Quit: edgar-rft) 2015-11-07T23:11:40Z DeadTrickster: scymtym, in my tests even 0.4, 0.5 sec failed 2015-11-07T23:12:31Z DeadTrickster: 0.1 returns immediately 0.2 after 4-5 seconds and so on 2015-11-07T23:14:59Z dougk2 joined #sbcl 2015-11-07T23:21:02Z DeadTrickster: scymtym, yep patch works 2015-11-07T23:28:05Z DeadTrickster: however 2015-11-07T23:28:16Z DeadTrickster: I'm not sure real-time is the right choice 2015-11-07T23:28:31Z DeadTrickster: for relative-decoded-time 2015-11-07T23:28:51Z DeadTrickster: for example - I changed timeout to 100 and just advanced system time using date -s 2015-11-07T23:29:44Z DeadTrickster: http://pastebin.com/ndD7PrKd 2015-11-07T23:31:45Z DeadTrickster: scymtym, ping 2015-11-07T23:37:53Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-11-07T23:41:15Z scymtym_: DeadTrickster: was doing household chores 2015-11-07T23:44:13Z scymtym_: DeadTrickster: i see, that's a separate issue, though 2015-11-07T23:46:26Z DeadTrickster: scymtym, so there are 3 issues, wakeups, non-zero return, and gettimeofday 2015-11-07T23:46:28Z DeadTrickster: right? 2015-11-07T23:46:39Z DeadTrickster: first was fixed with your patch 2015-11-07T23:46:57Z scymtym_: will be fixed, but yes 2015-11-07T23:47:34Z ASau quit (Ping timeout: 244 seconds) 2015-11-07T23:47:55Z scymtym_: i suspect that real time vs. run time may have larger implications and may not be easy to change 2015-11-07T23:49:00Z DeadTrickster: the problem for me here not my maybe artificial test. but stuff like leap seconds, VM time syncs 2015-11-07T23:49:24Z DeadTrickster: say I sat timeout to 2 seconds and boom, leap second occurs 2015-11-07T23:49:57Z scymtym_: i know, i just fixed similar problem with timers 2015-11-07T23:50:10Z scymtym_: i'm just saying it may need some consideration 2015-11-07T23:56:08Z scymtym_: DeadTrickster: i'm out of time for today. i will try to work on this tomorrow 2015-11-07T23:56:30Z DeadTrickster: cool let me know if there will be more stuff to test 2015-11-07T23:56:39Z scymtym_: sure 2015-11-08T00:17:14Z attila_lendvai joined #sbcl 2015-11-08T00:17:14Z attila_lendvai quit (Changing host) 2015-11-08T00:17:14Z attila_lendvai joined #sbcl 2015-11-08T00:51:26Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-08T01:11:14Z ASau joined #sbcl 2015-11-08T01:24:11Z ASau quit (Ping timeout: 244 seconds) 2015-11-08T01:28:45Z ASau joined #sbcl 2015-11-08T01:33:47Z ASau quit (Ping timeout: 264 seconds) 2015-11-08T01:48:52Z scymtym_ quit (Ping timeout: 250 seconds) 2015-11-08T02:41:39Z drmeister quit (Remote host closed the connection) 2015-11-08T03:40:35Z dougk2 quit (Ping timeout: 244 seconds) 2015-11-08T04:04:03Z dougk2 joined #sbcl 2015-11-08T04:24:39Z yvm joined #sbcl 2015-11-08T04:30:46Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-08T04:57:54Z guicho joined #sbcl 2015-11-08T05:31:18Z csziacobus quit (Quit: csziacobus) 2015-11-08T07:10:22Z guicho quit (Quit: さようなら) 2015-11-08T08:12:48Z ASau joined #sbcl 2015-11-08T08:39:13Z ASau quit (Ping timeout: 244 seconds) 2015-11-08T09:00:53Z ASau joined #sbcl 2015-11-08T09:09:31Z stassats joined #sbcl 2015-11-08T09:27:11Z edgar-rft joined #sbcl 2015-11-08T09:32:39Z ASau quit (Ping timeout: 240 seconds) 2015-11-08T09:43:23Z ASau joined #sbcl 2015-11-08T10:05:31Z stassats: so, threads, it dies during unwinding, maybe unwinding in general is broken 2015-11-08T10:07:54Z stassats: seems to work, with a 100 of specials 2015-11-08T10:08:40Z stassats: it only happens why i call print, so, ffi? so, i'm maybe butchering BSP 2015-11-08T10:13:45Z stassats: (let () (sb-ext:get-time-of-day)) fails in the dispose-local-alien transform 2015-11-08T10:13:48Z stassats: huh 2015-11-08T10:17:23Z stassats: that was slam.sh, i remembered seeing something similar, i need to investigate that before it bothers me again 2015-11-08T10:27:10Z abeaumont quit (Ping timeout: 260 seconds) 2015-11-08T10:32:24Z abeaumont joined #sbcl 2015-11-08T10:51:54Z Xof joined #sbcl 2015-11-08T11:04:30Z pepol quit (Ping timeout: 260 seconds) 2015-11-08T11:11:34Z psy_ quit (Ping timeout: 272 seconds) 2015-11-08T11:29:18Z stassats: gdb makes it go away 2015-11-08T11:39:40Z clique joined #sbcl 2015-11-08T11:46:32Z pepol joined #sbcl 2015-11-08T11:46:53Z stassats: the parent thread dies when the child is starting a foreign call 2015-11-08T11:46:56Z stassats: doesn't make any sense 2015-11-08T11:49:30Z clique quit (Quit: q) 2015-11-08T11:49:40Z stassats: or before that, how do i step two thread in gdb? 2015-11-08T11:51:29Z Xof: hm, in that thing about #+sb-assembling 2015-11-08T11:51:43Z Xof: I'd be a lot happier if that feature were sb-cold:sb-assembling 2015-11-08T11:51:55Z Xof: maybe I will write up on my whiteboard an action item to rework our features 2015-11-08T11:53:04Z Xof: or maybe I should just make the host-feature thing check that the first three characters of the feature are SB- 2015-11-08T11:53:30Z Xof: clearly I am only contemplating this so that I can have a feature branch named 'feature-branch' 2015-11-08T11:55:32Z stassats: what if there were no feature at all? 2015-11-08T11:56:02Z stassats: (define-assembly-routine (:have-vop nil)) 2015-11-08T11:57:46Z stassats: more clear also 2015-11-08T11:58:03Z stassats: there's no optimization to be had from a reader conditional in this case 2015-11-08T12:00:07Z stassats: so, the original thread waits on a semaphore "thread setup semaphore" 2015-11-08T12:00:13Z stassats: something bad happens when it wakes up 2015-11-08T12:01:32Z stassats: probably why it fails on FFIs only because there is a time to wake up, but lisp-only code executes before the parent wakes up 2015-11-08T12:01:36Z stassats: let's add a loop 2015-11-08T12:04:40Z stassats: ok, that turned out to be true 2015-11-08T12:07:41Z attila_lendvai joined #sbcl 2015-11-08T12:07:41Z attila_lendvai quit (Changing host) 2015-11-08T12:07:41Z attila_lendvai joined #sbcl 2015-11-08T12:15:22Z stassats: i disabled sb-futex, maybe it works better 2015-11-08T12:15:28Z stassats: i had it disabled, enabling now 2015-11-08T12:23:35Z stassats: sb-futex broken too 2015-11-08T12:27:36Z stassats: something bad happens when make-thread returns 2015-11-08T12:30:44Z stassats: initial-thread-function returns after make-thread exits, and it's dx, so wait-on-semaphore is broken? 2015-11-08T12:33:57Z stassats: my idea that stack allocating a closure wouldn't require it to be pinned is not going to be so great on non-x86oids 2015-11-08T12:37:19Z zacts quit (Ping timeout: 240 seconds) 2015-11-08T13:05:12Z drmeister joined #sbcl 2015-11-08T13:57:51Z stassats: stepping is of no help 2015-11-08T13:57:58Z stassats: either there's too much to step 2015-11-08T14:00:29Z stassats: i keep continuing when i want to step, damn 2015-11-08T14:03:34Z nyef joined #sbcl 2015-11-08T14:13:32Z Shinmera joined #sbcl 2015-11-08T14:17:26Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-08T14:20:37Z stassats: there's throw involved, how? 2015-11-08T14:23:50Z nyef: Dare I ask? 2015-11-08T14:24:07Z stassats: my thing from yesterday 2015-11-08T14:24:40Z stassats: if the child thread doesn't exit when make-thread returns, it goes kaboom 2015-11-08T14:25:09Z stassats: stepping and stepping, i stumbled on throw 2015-11-08T14:25:41Z nyef: Did you update SET-UNWIND-PROTECT and the other one for catch-blocks and the unwind logic in assem-rtns to use thread-local symbol references where appropriate? 2015-11-08T14:26:11Z nyef: Umm... And UNLINK-UNWIND-PROTECT and such? 2015-11-08T14:26:17Z stassats: no... 2015-11-08T14:26:23Z nyef: My memory on these names is a bit fuzzy. 2015-11-08T14:27:39Z nyef: So, my VPN seems to be working, except for the static IP that I tried to assign to one of the machines. 2015-11-08T14:28:01Z nyef: And I finally fixed the problem that my Mac Mini has with booting from the internal disk. 2015-11-08T14:28:36Z stassats: ok, x86-64 uses a macro that's different on sb-thread 2015-11-08T14:28:41Z stassats: that's why i didn't catch that 2015-11-08T14:28:48Z stassats: for unlink-unwind-protect 2015-11-08T14:29:13Z nyef: I have to make a food run soonish, but then I should be able to get back to figuring out the last few Alpha issues. 2015-11-08T14:30:09Z stassats: nyef: did you update the sc-offsets in error traps in alpha-assem.S? 2015-11-08T14:30:23Z |3b| quit (Read error: Connection reset by peer) 2015-11-08T14:31:54Z nyef: stassats: Yes. Among other things. 2015-11-08T14:31:57Z |3b| joined #sbcl 2015-11-08T14:32:07Z stassats: so, undefined_tramp now works? 2015-11-08T14:32:30Z nyef: Mostly. 2015-11-08T14:33:20Z stassats: ok, i hope nlx will solve this (and that would be the last issue) 2015-11-08T14:34:16Z nyef: backtrace.impure.lisp / (BACKTRACE UNDEFINED-FUNCTION BUG-346) still fails, as it does on SPARC and did on MIPS and PPC, and probably does on HPPA (though I haven't checked that yet), but that's relatively minor, really. 2015-11-08T14:34:30Z nyef: And it's on my list anyway. 2015-11-08T14:43:56Z Guest49265 is now known as pkhuong 2015-11-08T15:05:05Z gingerale joined #sbcl 2015-11-08T15:12:02Z dougk2 joined #sbcl 2015-11-08T15:16:39Z stassats: nyef: that helped 2015-11-08T15:16:49Z stassats: you showed up just in time 2015-11-08T15:17:29Z stassats: building contribs and looking at the tests fall out 2015-11-08T15:18:05Z stassats: all contribs just failed, i didn't switch away from *stepping* yet 2015-11-08T15:19:38Z dougk2 quit (Ping timeout: 244 seconds) 2015-11-08T15:27:31Z dougk2 joined #sbcl 2015-11-08T15:39:36Z stassats: some sb-concurrency tests already failed 2015-11-08T15:41:57Z dougk2 quit (Ping timeout: 255 seconds) 2015-11-08T15:55:37Z _iwc joined #sbcl 2015-11-08T16:03:30Z nyef: stassats: Sounds good. 2015-11-08T16:04:06Z stassats: i'm still not sure about all the memory barriers 2015-11-08T16:04:08Z dougk2 joined #sbcl 2015-11-08T16:05:31Z stassats: running threaded slime, which is nice 2015-11-08T16:08:09Z _iwc quit (Killed (Sigyn (Spam is off topic on freenode.))) 2015-11-08T16:11:08Z dougk2 quit (Ping timeout: 272 seconds) 2015-11-08T16:15:18Z pkhuong: doing anything but lock-all-the-things in !SPARC/x86 is an interesting endeavour 2015-11-08T16:15:43Z stassats: i should commit my big ball of thread changes before it gets any bigger 2015-11-08T16:16:14Z stassats: i should have done compare-and-swaps without threads, but i didn't know i could test them separately 2015-11-08T16:17:38Z dougk2 joined #sbcl 2015-11-08T16:28:46Z stassats: 40 files changed, 723 insertions(+), 281 deletions(-) 2015-11-08T16:28:53Z stassats: not a very nice commit, better luck next time 2015-11-08T16:31:33Z stassats: frlock.1 and test-mailbox-produces-consumers fail 2015-11-08T16:31:39Z stassats: frlock.1 is the one on ppc too 2015-11-08T16:38:29Z stassats: atomic-incf/decf fails fails, that's probably it 2015-11-08T16:43:39Z pkhuong: frlock misses a barrier 2015-11-08T16:43:45Z pkhuong: I'll fix it. 2015-11-08T16:48:00Z lnostdal quit (Ping timeout: 246 seconds) 2015-11-08T16:51:01Z stassats: fixed atomic-incf/decf, it was just using without-interrupts 2015-11-08T16:51:34Z dougk2 quit (Ping timeout: 260 seconds) 2015-11-08T16:51:54Z stassats: for some reason all the atomic-incs were using (and x86 x86-64 ppc), i replaced it with compare-and-swap-vops 2015-11-08T16:52:04Z stassats: those are not really compare-and-swap, but close enough 2015-11-08T16:52:32Z stassats: no particular desire to introduce fetch-and-add-vops, those usually go together anyway 2015-11-08T16:53:00Z pkhuong: right. I think LL/SC vs atomic read-modify-write is the real split. 2015-11-08T16:53:20Z stassats: ok, no sb-concurrency failures anymore 2015-11-08T16:54:24Z stassats: sb-sprof got broken on both sb-thread and -sb-thread 2015-11-08T16:57:43Z dougk2 joined #sbcl 2015-11-08T17:00:26Z lnostdal joined #sbcl 2015-11-08T17:01:44Z nyef: ... Now that I very carefully don't have access to my hardware for a couple of weeks, I manage to figure out a simple, obvious way to disambiguate the two easily-confused serial ports attached to my RPi. One that requires plugging one of them into a different USB port. /-: 2015-11-08T17:03:58Z stassats: ok, pushed 2015-11-08T17:04:59Z stassats: here's my CAS: https://github.com/stassats/sbcl/blob/arm64/src/compiler/arm64/memory.lisp#L69 2015-11-08T17:05:36Z stassats: and FAA https://github.com/stassats/sbcl/blob/arm64/src/compiler/arm64/cell.lisp#L522 2015-11-08T17:07:26Z dougk2 quit (Ping timeout: 265 seconds) 2015-11-08T17:10:21Z pkhuong: I'll ask a trusted colleague to look at it (: 2015-11-08T17:10:54Z stassats: basically what gcc does, but with full-system DMB 2015-11-08T17:11:05Z stassats: and a DSB at the start, because that's what's done on PPC 2015-11-08T17:11:11Z stassats: or that's my interpretation of it 2015-11-08T17:11:33Z nyef: Because PPC sync has somewhat-odd semantics. 2015-11-08T17:11:57Z stassats: i'm still not clear about the differences between DSB and DMB 2015-11-08T17:12:13Z stassats: DSB prevents reordering, i think 2015-11-08T17:12:23Z stassats: instruction reordering 2015-11-08T17:13:23Z stassats: ok, right, i was clear on that then 2015-11-08T17:13:37Z stassats: "No instruction in program order after this instruction executes until this instruction completes." 2015-11-08T17:13:59Z stassats: do we need it? do we need DSB at both places? 2015-11-08T17:13:59Z nyef: Basically, you want anything the current CPU to be doing to have already taken effect before any other CPU sees the output of the CAS, and then you also need to sync up the current CPU to anything other threads might have done before they did anything with the CAS. 2015-11-08T17:14:03Z stassats: DMB at both places? 2015-11-08T17:14:04Z stassats: none?? 2015-11-08T17:14:09Z stassats: replaced with acquire/release? 2015-11-08T17:14:48Z nyef is working from memories from five years ago here. 2015-11-08T17:15:29Z stassats: i can test some things 2015-11-08T17:15:31Z stassats: i have 8 cores 2015-11-08T17:22:18Z lnostdal quit (Ping timeout: 246 seconds) 2015-11-08T17:34:43Z lnostdal joined #sbcl 2015-11-08T17:36:09Z stassats: frlock.1 does sometimes fail on ARM too 2015-11-08T17:39:35Z fikusz joined #sbcl 2015-11-08T17:45:49Z stassats: all thread.* tests pass 2015-11-08T17:46:56Z DeadTrickster: scymtym, what about %decrement-semaphore? will this be merged anytime soon? 2015-11-08T17:47:22Z scymtym: DeadTrickster: i'm currently cleaning up commits and will then asks for reviews 2015-11-08T17:47:36Z scymtym: hopefully within an hour 2015-11-08T17:50:46Z DeadTrickster: I also hope condition-wait will stop using realtime 2015-11-08T17:52:40Z stassats: there are still some optimizations to be had, like more FAA VOPs, wired tls indexes 2015-11-08T17:52:46Z stassats: but threads largely work 2015-11-08T17:52:51Z scymtym: DeadTrickster: one thing at a time 2015-11-08T17:53:28Z stassats: i should write a NEWS entry 2015-11-08T17:53:38Z DeadTrickster: is it really that difficult to submit patches? 2015-11-08T17:53:53Z DeadTrickster: I mean can I do it myself? 2015-11-08T17:54:31Z stassats: submitting is easy 2015-11-08T17:54:36Z stassats: reviewing them is hard 2015-11-08T17:54:43Z stassats: i, for example, don't want to do that at the moment 2015-11-08T17:55:57Z DeadTrickster: how many people do that? 2015-11-08T17:56:24Z stassats: you can use your hand to count them 2015-11-08T17:56:43Z stassats: maybe two hands, on a good day 2015-11-08T17:57:10Z Xof: how could we increase that number? 2015-11-08T17:58:06Z DeadTrickster: I'm subscribed to sbcl-devel but still not getting the review process. is it required to have agreement from all core members? 2015-11-08T18:01:24Z stassats: Xof: get more hands? 2015-11-08T18:01:36Z stassats: DeadTrickster: not really 2015-11-08T18:01:53Z stassats: just someone willing to review things 2015-11-08T18:01:58Z stassats: DeadTrickster: what's the subject? 2015-11-08T18:05:28Z DeadTrickster: stassats, yesterday I discovered a couple of bugs one in %decrement-semaphore - it doesn't decrement timeout on spurious wakeaps 2015-11-08T18:06:13Z DeadTrickster: and the other one is that condition-wait uses wall clocks and if system time changed that affects actual timeout 2015-11-08T18:06:24Z DeadTrickster: http://pastebin.com/ndD7PrKd 2015-11-08T18:06:32Z scymtym is running tests for the fix 2015-11-08T18:06:39Z DeadTrickster: here is example output for :timeout 100 2015-11-08T18:06:48Z DeadTrickster: but yea scymtym kindly working on it 2015-11-08T18:07:32Z stassats: DeadTrickster: what's the email subject? 2015-11-08T18:08:22Z DeadTrickster: stassats, nah I just wrote that on #lisp because I was sure that is my fault, and scymtym replied and started to work on that 2015-11-08T18:08:44Z stassats: oh, you're not getting as in not understanding 2015-11-08T18:08:49Z stassats: i read it as not getting a patch review 2015-11-08T18:08:50Z stassats: ed 2015-11-08T18:10:54Z stassats: ooh, might try that pprint-lambda-list bug, to get away from backend internals 2015-11-08T18:11:05Z DeadTrickster: correct, also I hope I'm not that bad and probably can contribute so I asked about the process 2015-11-08T18:12:25Z edgar-rft quit (Quit: edgar-rft) 2015-11-08T18:13:27Z leuler joined #sbcl 2015-11-08T18:13:56Z stassats: the review process is basically the person who commits the patch has to understand to the best of his abilities that the patch doesn't break anything 2015-11-08T18:15:30Z DeadTrickster: stassats, that pprint-lambda-list message was for me? 2015-11-08T18:15:50Z stassats: not exactly 2015-11-08T18:15:56Z stassats: just to #sbcl 2015-11-08T18:16:09Z stassats: but i tried searching for your email and found a starred one, about pprint-lambda-list 2015-11-08T18:18:14Z scymtym: i may have to touch SB!IMPL::RELATIVE-DECODED-TIMES as well 2015-11-08T18:21:25Z stassats: the only new test failures on sb-thread are clos.impure no-primary-method/retry and no-applicable-method/retry 2015-11-08T18:21:38Z stassats: which is a pretty strange place 2015-11-08T18:23:10Z DeadTrickster: stassats, I'm sorry, where you searched? launchpad? 2015-11-08T18:23:36Z stassats: sbcl-devel 2015-11-08T18:24:24Z DeadTrickster: err 2015-11-08T18:25:11Z stassats: or everywhere, i guess 2015-11-08T18:25:16Z stassats: i get launchpad emails too 2015-11-08T18:37:00Z stassats: SB-PCL::CALL-NO-APPLICABLE-METHOD gets miscompiled, but recompiling at runtime makes it work 2015-11-08T18:41:32Z DeadTrickster: stassats, can't find anything could you give me a hint 2015-11-08T18:42:22Z scymtym is re-building and running tests again, this time somewhat confident that the fix actually works 2015-11-08T18:42:51Z stassats: DeadTrickster: it was http://article.gmane.org/gmane.lisp.steel-bank.devel/19272 2015-11-08T18:43:04Z stassats: but now i'm on fixing the arm64 thing 2015-11-08T18:47:53Z stassats: can reproduce with the right optimize settings, probably another life time issue 2015-11-08T19:12:06Z stassats: it is a lifetime issue 2015-11-08T19:13:35Z stassats: but i can't see why 2015-11-08T19:18:30Z joshe quit (Ping timeout: 246 seconds) 2015-11-08T19:20:45Z stassats: is there not enough registers now? one less, the thread register 2015-11-08T19:25:02Z joshe joined #sbcl 2015-11-08T19:28:09Z stassats: ok, i see the overalp 2015-11-08T19:29:39Z scymtym: proposed fixes for the %DECREMENT-SEMAPHORE and JOIN-THREAD issues mentioned above: http://paste.lisp.org/display/158850. my main remaining concern is the added consing and arithmetic in the (CONDITION-WAIT … :timeout ) => (values t REMAINING-TIME) case 2015-11-08T19:29:52Z scymtym: any comments or objections? 2015-11-08T19:32:07Z stassats: what about (+ abs-usec (- 1000000 now-usec))? 2015-11-08T19:32:12Z stassats: shouldn't that cons less? 2015-11-08T19:32:17Z stassats: or more? 2015-11-08T19:32:20Z stassats: i don't know 2015-11-08T19:33:11Z dead_ joined #sbcl 2015-11-08T19:33:16Z stassats: or do you mean (/ usec 1000000)? 2015-11-08T19:33:28Z scymtym: the latter 2015-11-08T19:33:43Z stassats: you need ratios? 2015-11-08T19:33:50Z scymtym: RELATIVE-DECODED-TIMES should be unchanged in the common case 2015-11-08T19:33:55Z stassats: can you scale everything? 2015-11-08T19:34:11Z stassats: or it'll be a bignum in microseconds? 2015-11-08T19:34:16Z scymtym: that would complicate the interface 2015-11-08T19:34:19Z stassats: what about truncation? 2015-11-08T19:34:40Z scymtym: i could make a %CONDITION-WAIT that takes secs + usecs 2015-11-08T19:35:02Z stassats: consing on condition-wait is not exactly great 2015-11-08T19:35:22Z scymtym: right, that's why i voiced concern :) 2015-11-08T19:35:36Z DeadTrickster: stassats, sorry for interruption that is not my email :-) 2015-11-08T19:35:46Z stassats: DeadTrickster: sure, it never was 2015-11-08T19:36:07Z stassats: scymtym: i'll get back to the lifetime issue before i get confused in both 2015-11-08T19:36:14Z DeadTrickster: then I understand nothing but I like how it goes ) 2015-11-08T19:36:49Z scymtym: stassats: sure, sorry. i will try some more approaches in the meantime 2015-11-08T19:37:12Z DeadTrickster: stassats, woops finally I got it 2015-11-08T19:39:03Z stassats: consing in timeouts is already what costing me battery when running slime 2015-11-08T19:39:14Z stassats: if you look at top, sbcl periodically wakes up 2015-11-08T19:39:23Z stassats: that's due to consing a deadline and signalling, oops 2015-11-08T19:40:46Z scymtym: because of that, debugging timeouts is also quite annoying 2015-11-08T19:42:01Z stassats: ok, in full-call vops, arguments were :to :eval 2015-11-08T19:42:23Z stassats: but then arguments are used after the call for handling the return values 2015-11-08T19:42:27Z stassats: so, full lifetime span for them 2015-11-08T19:42:45Z stassats: maybe some flavours can live with :to :eval, but it's not really worth figuring out 2015-11-08T19:43:20Z stassats: removing a descriptor-reg triggered this, not threads per se 2015-11-08T19:43:29Z stassats: so, not a single thread failure, nice 2015-11-08T19:43:39Z Xof: awesome 2015-11-08T19:43:50Z Xof: clearly an sbcl support business is a non-starter :-) 2015-11-08T19:43:59Z Xof: have to find some value to add 2015-11-08T19:45:05Z stassats: spoke too soon, some tn conflict 2015-11-08T19:46:29Z stassats: why does something want to conflict with R0 2015-11-08T19:48:07Z stassats: doesn't help that the conflict error is useless 2015-11-08T20:02:45Z stassats: :to :result doesn't work, but the there are even targets, it still allocates bogusly 2015-11-08T20:03:10Z Quadrescence quit (Ping timeout: 240 seconds) 2015-11-08T20:08:42Z Quadrescence joined #sbcl 2015-11-08T20:18:12Z stassats: how do i target results? 2015-11-08T20:19:38Z stassats: unknown-values-receiver tries to do that by just lifetimes, but that obviously doesn't help 2015-11-08T20:21:49Z leuler: stassats: if that question wasn't rethoric: you don't target results, you target an argument or a temporary to the desired result. 2015-11-08T20:22:26Z stassats: leuler: :target for results holds more weight 2015-11-08T20:22:40Z stassats: here i just have overlapping lifetimes and it targets it to whatever it wants 2015-11-08T20:23:49Z stassats: so then, what's even the point of specifying lifetimes 2015-11-08T20:28:46Z stassats: oh, they have different scs, duh 2015-11-08T20:31:04Z stassats: all other backends have ocfp as a descriptor-reg, but arm had as a non-descriptor-reg 2015-11-08T20:31:36Z stassats: that's why it went haywire in the first place 2015-11-08T20:34:27Z stassats: ok, i still have overlapping lifetimes, but hopefully having the right sc will now help 2015-11-08T20:35:21Z stassats: otherwise, moving results to :from :save 2015-11-08T20:41:09Z stassats: ocfp is weird, ocfp-tn is listed as being any-reg, while it's being assigned as descriptor-reg 2015-11-08T20:41:55Z stassats: those -tns do not usually matter, though 2015-11-08T20:50:30Z dead_ quit (Ping timeout: 240 seconds) 2015-11-08T20:50:54Z stassats: two hours on a stupid lifetime issue, still not done 2015-11-08T20:55:56Z nyef: stassats: Still having trouble with target? 2015-11-08T20:57:20Z stassats: i moved the lifetimes so that the original problem disappeared, but it still doesn't target 2015-11-08T20:57:26Z nyef: stassats: Have you read http://lisphacker.com/codex/001-sbcl-vops.txt ? 2015-11-08T20:57:30Z stassats: sure 2015-11-08T20:58:23Z stassats: running the whole test suite 2015-11-08T21:00:59Z dougk2 joined #sbcl 2015-11-08T21:01:05Z Bike quit (Quit: leaving) 2015-11-08T21:05:04Z stassats: basically those have no effect, at least it now doesn't overwrite registers i need 2015-11-08T21:13:22Z karswell quit (Read error: Connection reset by peer) 2015-11-08T21:13:37Z karswell joined #sbcl 2015-11-08T21:14:04Z stassats: moving ocfp to descriptor-reg and trying again 2015-11-08T21:17:10Z stassats: this strangely doesn't work 2015-11-08T21:18:34Z hydan quit (Remote host closed the connection) 2015-11-08T21:18:48Z hydan joined #sbcl 2015-11-08T21:22:06Z stassats: it's not targeted on x86-64 either, so it's the problem is neither new nor mine 2015-11-08T21:23:22Z dead_ joined #sbcl 2015-11-08T21:24:20Z stassats: at least it works 2015-11-08T21:30:12Z stassats: can it actually allocate results to X Y and temporarires to Y X 2015-11-08T21:30:14Z stassats: ? 2015-11-08T21:31:07Z stassats: so in the end (move result-x temp-x) (move result result-y temp-y) would be x=y y=x? 2015-11-08T21:31:15Z stassats: would be pretty fun 2015-11-08T21:32:54Z stassats: looking at x86, there's already a mix up, but with only one of the pair, so swapping doesn't happen 2015-11-08T21:38:09Z stassats: i'm curious why it doesn't allocate as suggested, maybe not today, but i need to delve deep into pack 2015-11-08T21:42:57Z gingerale quit (Remote host closed the connection) 2015-11-08T21:46:47Z stassats: making a simple test vop with just results and temporaries, x86-64 packs them, arm64 does not 2015-11-08T21:47:47Z nyef: There's some backend-specific code in PACK, IIRC. 2015-11-08T21:48:35Z nyef: ... But not really such that would explain this particular difference between an armoid and an x86oid. 2015-11-08T21:48:45Z stassats: but x86-64 doesn't pack unknown-values-receiver either 2015-11-08T21:50:35Z dougk2 quit (Ping timeout: 264 seconds) 2015-11-08T21:52:28Z stassats: nyef: that's only for old-fp/return-pc 2015-11-08T21:52:34Z stassats: and it's for x86armoids 2015-11-08T21:53:09Z stassats: register allocation always surprised me, this may be a thread to pull in to get to know it more 2015-11-08T21:53:17Z nyef: As I said, not really such that would explain things. 2015-11-08T21:54:05Z stassats: i switched the order on x86-64, doesn't pack either 2015-11-08T21:54:22Z stassats: the first test was just RAX RCX, which naturally got picked up by first and second results 2015-11-08T21:55:34Z Bike joined #sbcl 2015-11-08T21:56:29Z stassats: so, that "targeting" is basically rubbish 2015-11-08T21:56:54Z dougk2 joined #sbcl 2015-11-08T21:57:37Z stassats: what's interesting, removing (optimize speed) with :greedy *register-allocation-method* targets 2015-11-08T21:57:52Z stassats: but doesn't with :iterative with either speed 2015-11-08T21:59:25Z stassats: that's must be a clue 2015-11-08T22:01:37Z nyef: Yes, :TARGET always was rubbish. 2015-11-08T22:02:18Z stassats: in sb-regalloc::select-location 2015-11-08T22:02:36Z stassats: if i remove schwartzian-stable-sort-list, i get it packed on :greedy-speed-3 2015-11-08T22:06:09Z stassats: it moves RCX to the start 2015-11-08T22:06:16Z stassats: if i do (safety 0), it packs too 2015-11-08T22:06:25Z stassats: so, since RCX is checked, it's sorted first 2015-11-08T22:06:56Z stassats: but, now i switch places in the :offset, it doesn't pack 2015-11-08T22:07:06Z stassats: so it's just a bloody tossup 2015-11-08T22:09:23Z stassats: so i guess it doesn't really try to optimize this 2015-11-08T22:09:27Z stassats: just to avoid conflicts 2015-11-08T22:10:26Z stassats: maybe it should something like, is there an already allocated offset with a non-overlapping lifetime, then use it? 2015-11-08T22:11:06Z stassats: ok, that's a rabbit hole 2015-11-08T22:19:46Z leuler quit (Quit: ERC Version 5.1.2 $Revision: 1.796.2.6 $ (IRC client for Emacs)) 2015-11-08T22:23:58Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-11-08T22:30:01Z dead_ quit (Ping timeout: 244 seconds) 2015-11-08T22:35:16Z attila_lendvai joined #sbcl 2015-11-08T22:35:16Z attila_lendvai quit (Changing host) 2015-11-08T22:35:16Z attila_lendvai joined #sbcl 2015-11-08T22:48:11Z stassats quit (Ping timeout: 265 seconds) 2015-11-08T23:22:47Z scymtym_ joined #sbcl 2015-11-08T23:28:00Z dougk2 quit (Ping timeout: 250 seconds) 2015-11-08T23:30:54Z dougk2 joined #sbcl 2015-11-09T00:15:46Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-09T01:06:55Z zacts joined #sbcl 2015-11-09T01:17:15Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-09T01:41:03Z dougk2 joined #sbcl 2015-11-09T01:53:35Z scymtym_ quit (Ping timeout: 244 seconds) 2015-11-09T04:19:12Z psy_ joined #sbcl 2015-11-09T04:56:41Z psy_ quit (Read error: Connection reset by peer) 2015-11-09T05:23:24Z kanru quit (Remote host closed the connection) 2015-11-09T05:24:19Z kanru joined #sbcl 2015-11-09T05:33:44Z lnostdal_ joined #sbcl 2015-11-09T05:37:30Z lnostdal quit (Ping timeout: 260 seconds) 2015-11-09T06:32:50Z igajsin1 joined #sbcl 2015-11-09T06:36:21Z dead_ joined #sbcl 2015-11-09T06:50:00Z dougk2 quit (Ping timeout: 250 seconds) 2015-11-09T06:58:10Z dead_ quit (Read error: Connection reset by peer) 2015-11-09T06:58:44Z gingerale joined #sbcl 2015-11-09T07:09:33Z dougk2 joined #sbcl 2015-11-09T07:13:33Z DeadTrickster quit (Ping timeout: 246 seconds) 2015-11-09T07:16:46Z ASau quit (Ping timeout: 240 seconds) 2015-11-09T07:35:34Z dougk2 quit (Ping timeout: 260 seconds) 2015-11-09T08:03:41Z Cymew joined #sbcl 2015-11-09T08:06:11Z Shinmera joined #sbcl 2015-11-09T08:15:30Z kanru quit (Ping timeout: 246 seconds) 2015-11-09T08:24:34Z Cymew quit (Read error: Connection reset by peer) 2015-11-09T08:27:25Z Cymew joined #sbcl 2015-11-09T08:44:56Z kanru joined #sbcl 2015-11-09T09:16:12Z stassats joined #sbcl 2015-11-09T09:22:37Z scymtym: stassats: i don't know whether this is already fixed since the most recent build is still running, but the commit "Implement threads on ARM64." seems to have broken building without sb-thread as well as the MacOS build (https://ci.cor-lab.org/job/sbcl-master/1289/) 2015-11-09T09:23:06Z scymtym: (and hello :) 2015-11-09T09:24:28Z stassats: that's certainly not fixed, but how come it even fails? 2015-11-09T09:24:47Z stassats: oh, without threads 2015-11-09T09:24:56Z stassats: ok, i see then 2015-11-09T09:25:10Z scymtym: do you need links to the respective build logs? 2015-11-09T09:25:17Z stassats: no 2015-11-09T09:32:38Z stassats: building a fix, but maybe i can remove *pseudo-atomic-bits* from x86oids on sb-thread too 2015-11-09T09:32:42Z stassats: why the special treatment 2015-11-09T09:33:34Z stassats: looks like it's not really needed 2015-11-09T09:39:51Z stassats: backtrace.impure says to me: Package SB-INTERPRETER does not exist. 2015-11-09T09:40:25Z scymtym: probably another recent regression 2015-11-09T09:40:50Z scymtym: i think doug improved backtraces for sb-fasteval and added tests 2015-11-09T09:42:19Z scymtym: at the bottom of https://github.com/sbcl/sbcl/commit/310b0fc5c3ccb130d73518d4af558c38b9d0e94e#diff-e026d5d19ffb8d0b053ed019cc8dc7f3R539 2015-11-09T09:43:03Z stassats: i have a working fix for -sb-thread 2015-11-09T09:43:10Z stassats: but i want to explore more options 2015-11-09T09:46:03Z stassats: so, on sb-thread *pseudo-atomic-bits* has tls-index of 64, which is the same as sb-vm::thread-pseudo-atomic-bits-slot 2015-11-09T09:50:54Z stassats: ideally, unifying all the divergent things in pseudo-atomic.h 2015-11-09T09:51:20Z stassats: but for now, just simplifying create_thread_struct to use clear_pseudo_atomic 2015-11-09T10:05:49Z stassats: scymtym: pushed a fix 2015-11-09T10:06:32Z stassats: clearing up pseudo-atomic handling would be a good idea before the next gengc and sb-thread port 2015-11-09T10:10:34Z scymtym: stassats: great. will take a few hours until new builds results come in 2015-11-09T10:11:17Z stassats: no fix for the backtrace.impure failure 2015-11-09T10:20:24Z scymtym: sure 2015-11-09T10:28:34Z stassats: updating documentation to mention threads on arm64 2015-11-09T10:28:59Z stassats: removed "experimentally" from threads other than x86oid linux 2015-11-09T10:29:06Z stassats: we're not making any experiments, are we? 2015-11-09T10:34:17Z scymtym: the parameter/return value protocols of some SB-THREAD functions are supposedly experimental 2015-11-09T10:34:43Z scymtym: but those warnings can probably just be removed as well 2015-11-09T10:34:55Z stassats: experimental thread support sounds like "boo, don't use it or you'll get hurt" 2015-11-09T10:35:12Z stassats: i mean, then the whole sbcl can be marked as experimental 2015-11-09T10:35:55Z scymtym: yes, threads are definitely not in a state that warrants a use-discouraging warning 2015-11-09T10:38:35Z joshe quit (Ping timeout: 264 seconds) 2015-11-09T10:38:56Z Xof: any reason for not enabling threads on arm64 by default? 2015-11-09T10:39:06Z stassats: i'm thinking of enabling... you beat me to it 2015-11-09T10:39:57Z Xof: I can see a small amount of value in having one release with them disabled 2015-11-09T10:40:03Z Xof: but it's very small and I won't argue for it 2015-11-09T10:40:09Z stassats: nobody really depends on arm64 yet anyway 2015-11-09T10:40:33Z stassats: so, it won't become a sudden burden for someone 2015-11-09T10:40:56Z stassats: and it's bound to use recent kernels, libcs, etc. 2015-11-09T10:41:59Z stassats: now trying threads on "APM X-Gene Mustang" 2015-11-09T10:42:17Z stassats: a mouthful 2015-11-09T10:43:49Z stassats: now you can use sbcl and hunchentoot on an arm server 2015-11-09T10:43:52Z stassats: like that one 2015-11-09T10:44:03Z stassats: yay, green 2015-11-09T10:49:17Z stassats: next target would be sbcl.so, paired with a commonqt rewrite: android apps 2015-11-09T10:49:23Z stassats: and maybe ios apps? who knows 2015-11-09T10:57:24Z DeadTrickster joined #sbcl 2015-11-09T10:59:29Z scymtym: sbcl.so would be cool 2015-11-09T10:59:38Z stassats: .so cool 2015-11-09T11:00:04Z scymtym: :) 2015-11-09T11:03:42Z DeadTrickster: how symbols will be exported? 2015-11-09T11:04:00Z DeadTrickster: e.g. naming convention 2015-11-09T11:04:40Z stassats: same as right now 2015-11-09T11:04:54Z scymtym: DeadTrickster: after i finished an initial version of the patches yesterday, stassats confirmed my suspicion that consing and generic arithmetic in CONDITION-WAIT is not acceptable. i started changing CONDITION-WAIT to address this, but still need to verify the new approach doesn't do any additional consing 2015-11-09T11:05:19Z stassats: scymtym: does it cons only after a time reset? 2015-11-09T11:05:33Z stassats: or what was the original problem? 2015-11-09T11:06:54Z scymtym: the original problem was the %DECREMENT-SEMAPHORE with timeout would not decrease the remaining timeout in case of spurious from CONDITION-WAIT before calling CONDITION-WAIT again, thus potentially waiting past the timeout and even indefinitely 2015-11-09T11:08:19Z scymtym: the consing would occur once per successful (condition-wait … :timeout) call and once for each spurious wakeup 2015-11-09T11:08:53Z scymtym: doing as many spurious wakeups as possible over a period of 5 seconds conses around 70 MB on my machine 2015-11-09T11:08:59Z attila_lendvai joined #sbcl 2015-11-09T11:09:34Z scymtym: not sure how of that also happens with SBCL master 2015-11-09T11:09:45Z scymtym: s/how/how much/ 2015-11-09T11:10:11Z stassats: so, where's the new patch? 2015-11-09T11:10:25Z scymtym: i'm now experimenting with an extra function %CONDITION-WAIT that takes decoded timeout components 2015-11-09T11:10:38Z scymtym: let me check 2015-11-09T11:12:38Z scymtym: would you like the new solution as a patch on top of the old one or both squashed? 2015-11-09T11:12:48Z stassats: just one diff 2015-11-09T11:12:48Z DeadTrickster: can you confirm this: If I want to have absolute timeout for operation (I don't want to wait less, probably no less than) I have to call condition-wait in a loop and decrement counter myself? 2015-11-09T11:15:02Z scymtym: DeadTrickster: yes, since it can return early in case of spurious wakeups. that's the case any timeout, though, not just absolute ones 2015-11-09T11:15:21Z pjstirling joined #sbcl 2015-11-09T11:16:17Z raeon joined #sbcl 2015-11-09T11:16:17Z DeadTrickster: scymtym, your %decrement related patch will address this? or it makes condition-wait return actual wait time? 2015-11-09T11:16:22Z scymtym: stassats: this is where i stopped yesterday: http://paste.lisp.org/display/158890 2015-11-09T11:16:41Z scymtym: DeadTrickster: the latter, in case we decide to actually apply it 2015-11-09T11:17:13Z scymtym has to go back to day job for a bit 2015-11-09T11:18:21Z raeon: Hmm.. I just wanted to get started learning lisp but SBCL.org is down 2015-11-09T11:18:39Z raeon: Time to boot linux \o/ 2015-11-09T11:18:57Z DeadTrickster: I hope this will be merged or solved in other way. don't feel comfortable with possible 'dead-locks' 2015-11-09T11:21:24Z pjstirling: hi, is anyone else seeing a test in backtrace.impure failing due to missing the package SB-INTERPRETER? 2015-11-09T11:28:10Z Xof: yes 2015-11-09T11:28:35Z stassats: raeon: seems to be up 2015-11-09T11:28:45Z stassats: now 2015-11-09T11:29:11Z raeon: stassats: Its all good, I booted to linux and installed it from the Arch package manager 2015-11-09T11:47:55Z stassats: scymtym: (and remaining-sec (zerop remaining-sec) remaining-usec (zerop remaining-usec)) can be just (and (eql remaining-sec 0) (eql remaining-usec 0)) 2015-11-09T11:50:00Z stassats: now, how to avoid consing deadlines? or is the whole interface hopeless? 2015-11-09T11:51:26Z stassats: not just consing, but the whole timeout processing to be as efficient as possible 2015-11-09T11:51:35Z stassats: so that waiting on something without block doesn't consume too much 2015-11-09T11:51:44Z stassats: without blocking 2015-11-09T11:52:12Z stassats: SB-SYS:SIGNAL-DEADLINE also conses a restart 2015-11-09T11:53:11Z stassats: a poor poor choice 2015-11-09T11:55:02Z scymtym: stassats: iiuc, deadlines should only come into play when WITH-DEADLINE is used - not for :TIMEOUT in general 2015-11-09T12:03:23Z Carisius joined #sbcl 2015-11-09T12:06:19Z stassats: right, slime uses with-deadline 2015-11-09T12:06:35Z stassats: can i just use :timeout instead? 2015-11-09T12:12:48Z scymtym: for a single operation, yes. WITH-DEADLINE installs a global deadline affecting multiple blocking operations 2015-11-09T12:21:04Z stassats: i'll try that 2015-11-09T12:30:03Z scymtym: stassats: would you accept a slime patch that makes it complete symbols in locally-nicknamed packages? 2015-11-09T12:33:15Z stassats: sure 2015-11-09T12:33:20Z stassats: if it's good 2015-11-09T12:33:51Z scymtym: i will try to make it good if there's a chance it will be accepted 2015-11-09T12:44:48Z dougk2 joined #sbcl 2015-11-09T12:46:33Z eudoxia joined #sbcl 2015-11-09T12:48:44Z stassats: does WITHOUT-INTERRUPTS effectively disable gcing? 2015-11-09T12:49:08Z stassats: but only in the current thread, another thread can trigger but will wait for that thread? 2015-11-09T12:49:29Z stassats: or that thread can start gcing too 2015-11-09T12:51:37Z stassats: i wonder how without-interrupts works with safepoints 2015-11-09T12:52:02Z stassats: well, safepoints are currently pretty broken anyway, and exactly at without-gcing 2015-11-09T13:10:02Z nimiux quit (Remote host closed the connection) 2015-11-09T13:17:19Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-09T13:25:32Z Carisius quit (Remote host closed the connection) 2015-11-09T13:29:35Z karswell quit (Ping timeout: 264 seconds) 2015-11-09T13:31:24Z dougk2 joined #sbcl 2015-11-09T13:45:46Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-09T13:49:34Z attila_lendvai: scymtym: what is a locally-nicknamed package? are you talking about this: https://github.com/3b/package-local-nicknames ? 2015-11-09T14:02:23Z scymtym: attila_lendvai: sbcl has an extension of the package system for "local nicknames". in a nutshell: (cl:defpackage #:my-package … (:local-nicknames (#:a #:alexandria))) (cl:in-package #:my-package) (a:factorial 10). see http://www.sbcl.org/manual/#Package_002dLocal-Nicknames 2015-11-09T14:03:17Z jozip quit (Ping timeout: 264 seconds) 2015-11-09T14:04:04Z attila_lendvai: oh, nice! 2015-11-09T14:05:45Z jozip joined #sbcl 2015-11-09T14:11:53Z psilord quit (Quit: Leaving.) 2015-11-09T14:22:47Z DeadTrickster: scymtym, hows it going? 2015-11-09T14:34:46Z scymtym: DeadTrickster: ok, but i have to run soon 2015-11-09T14:44:44Z DGASAU quit (Read error: Connection reset by peer) 2015-11-09T14:45:43Z DGASAU joined #sbcl 2015-11-09T15:12:53Z psilord joined #sbcl 2015-11-09T15:18:32Z eudoxia quit (Quit: Leaving) 2015-11-09T15:29:07Z psy_ joined #sbcl 2015-11-09T15:29:33Z psy_ quit (Max SendQ exceeded) 2015-11-09T15:29:56Z psy_ joined #sbcl 2015-11-09T15:33:38Z dougk2 joined #sbcl 2015-11-09T15:48:59Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-09T15:49:47Z joshe joined #sbcl 2015-11-09T16:16:50Z |3b| quit (Remote host closed the connection) 2015-11-09T16:18:01Z |3b| joined #sbcl 2015-11-09T16:26:12Z pjstirling quit (Ping timeout: 246 seconds) 2015-11-09T16:26:59Z pjstirling joined #sbcl 2015-11-09T16:35:52Z Cymew quit (Ping timeout: 265 seconds) 2015-11-09T16:41:22Z nyef: Preliminary conclusion about my current problem with Alpha: Our test suite is horribly anemic when it comes to alien-funcall. 2015-11-09T16:59:15Z DeadTrickster: scymtym, spurious wakeups consume cpu so if they happen under load it only makes things worse 2015-11-09T16:59:45Z DeadTrickster: like autocatalytic reaction 2015-11-09T16:59:57Z attila_lendvai: scymtym: now that I started to use package local nicknames, I realized I'll also need your slime patch... :) 2015-11-09T17:12:56Z scymtym_ joined #sbcl 2015-11-09T17:35:06Z |3b|: what does that patch do? 2015-11-09T17:42:38Z stassats: nyef: are there any tests that actually call into shared libraries? 2015-11-09T17:44:03Z nyef: stassats: foreign.test.sh 2015-11-09T17:45:40Z stassats: that's not very exhaustive 2015-11-09T17:45:58Z nyef: The phrase I used was "horribly anemic". 2015-11-09T17:46:25Z nyef: Anyway, I found it, I'll beef it up a bit. 2015-11-09T17:50:27Z nyef: Also, the failure mode I see with it is dreadful: Somehow, the floaty test cases corrupt somethingorother, and the process crashes. 2015-11-09T17:58:19Z scymtym_: |3b|: when completing something like a:f, it checks whether "a" is a local nickname in the context package and if so tries to complete "f" in that package before doing the usual completion 2015-11-09T17:58:33Z dougk2 joined #sbcl 2015-11-09T18:02:35Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-09T18:15:35Z |3b|: sounds about like what i patched last time i was using local nicknames, though i think i just bound *package* when doing completions 2015-11-09T18:16:52Z karswell joined #sbcl 2015-11-09T18:39:18Z stassats: scymtym_: does it work with the fuzzy completer? 2015-11-09T18:42:25Z scymtym_: sorry, i have to look after a child for some time. here is what i have: http://paste.lisp.org/display/158908 2015-11-09T18:43:11Z stassats: scymtym_: maybe put guess-locally-nicknamed-package into swank/sbcl.lisp? 2015-11-09T18:43:45Z scymtym quit (Ping timeout: 246 seconds) 2015-11-09T18:44:23Z stassats: find-package-using-package is also new, so it needs to be guarded 2015-11-09T18:44:27Z stassats: i can take care of those 2015-11-09T18:44:29Z scymtym joined #sbcl 2015-11-09T18:49:17Z ASau joined #sbcl 2015-11-09T18:51:59Z dougk2 joined #sbcl 2015-11-09T18:59:01Z |3b| 's version, for the completion style i was using: https://github.com/slime/slime/pull/166 2015-11-09T18:59:49Z stassats: i'll see what i can cook up using the two 2015-11-09T19:00:20Z |3b|: at least 1 other lisp implements same style of local nicknames (abcl maybe?), so might be nice if it didn't rely on internals 2015-11-09T19:00:43Z stassats: definterface then 2015-11-09T19:01:16Z |3b|: and i think one of the commercial lisps had relative packages or something, so might also want to hook into it 2015-11-09T19:04:10Z stassats: maybe sbcl can have some api too 2015-11-09T19:12:15Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-09T19:23:20Z dougk2 joined #sbcl 2015-11-09T19:23:30Z stassats: fixing pprint-lambda-list, beside the original bug, (defmethod foo ((function (eql #'foo))) function) is now printed as (DEFMETHOD FOO ((FUNCTION (EQL #'FOO))) FUNCTION) 2015-11-09T19:23:38Z stassats: not (DEFMETHOD FOO ((FUNCTION (EQL (FUNCTION FOO)))) FUNCTION) 2015-11-09T19:26:10Z DeadTrickster quit (Ping timeout: 250 seconds) 2015-11-09T19:29:26Z scymtym_: stassats: sorry for dumping the half-baked patch on you. i was planning to improve it once i knew the effort wouldn't be wasted, but then everybody got excited about it. 2015-11-09T19:30:28Z stassats: scymtym_: if you're going to work more on it, introduce a guess-locally-nicknamed-package DEFINTERFACE with a default method returning NIL 2015-11-09T19:30:54Z scymtym_: ok, i will into how to do that 2015-11-09T19:31:13Z scymtym_: i guess there are plenty of similar examples in slime 2015-11-09T19:31:21Z stassats: then guard sbcl's implementation #+#.(swank/backend:with-symbol "FIND-PACKAGE-USING-PACKAGE" "SB-IMPL") 2015-11-09T19:31:54Z scymtym_: i would also like to add tests if i manage to find out how that works 2015-11-09T19:32:04Z stassats: scymtym_: just grep for definterface and defimplementation 2015-11-09T19:34:38Z stassats: i don't know why the arguments to with-symbol are backwards 2015-11-09T19:35:15Z stassats: not sure what i was thinking when i did that 2015-11-09T19:39:09Z stassats: i guess i just copied swank::sbcl-with-symbol, but still 2015-11-09T19:39:24Z stassats: ::: Running (WAIT-ON-SEMAPHORE SEMAPHORE-NOTIFICATION hangs again 2015-11-09T19:44:35Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-09T19:44:55Z scymtym_: that happens often 2015-11-09T19:45:08Z stassats: not often as i'd like 2015-11-09T19:45:23Z scymtym_: in fact it is the main obstacle for running automated tests 2015-11-09T19:50:18Z dougk2 joined #sbcl 2015-11-09T19:52:33Z scymtym_: stassats: swank-fuzzy.lisp needs a separate change? 2015-11-09T19:52:39Z stassats: dunno 2015-11-09T19:52:52Z scymtym_: i will try to figure it out 2015-11-09T19:53:18Z stassats: maybe it's fuzzy enough to already work 2015-11-09T19:53:25Z stassats: though package nicknames already confuse it 2015-11-09T19:54:12Z stassats: scymtym_: just make it work for c-p-c first 2015-11-09T19:54:19Z scymtym_: done 2015-11-09T19:54:20Z stassats: let's worry about fuzzy later 2015-11-09T19:56:50Z scymtym_: http://paste.lisp.org/display/158908#1 2015-11-09T20:04:35Z stassats: scymtym_: maybe use SWANK::PARSE-STRING? 2015-11-09T20:06:05Z scymtym_: stassats: for the string -> package-name translation? 2015-11-09T20:06:20Z stassats: yes 2015-11-09T20:07:29Z stassats: otherwise, i'll test and apply tomorrow 2015-11-09T20:07:37Z scymtym_: sure, no rush 2015-11-09T20:07:59Z scymtym_: tests via make check don't work here, so i can't test 2015-11-09T20:08:36Z scymtym_: swank::parse-string seems to work 2015-11-09T20:08:42Z scymtym_: i'm making another annotation 2015-11-09T20:09:06Z stassats: can you test with a non-existing buffer package? 2015-11-09T20:09:14Z stassats: or symbol package 2015-11-09T20:09:20Z stassats: or with something non-existing 2015-11-09T20:12:53Z Bicyclidine joined #sbcl 2015-11-09T20:17:45Z prxq joined #sbcl 2015-11-09T20:18:32Z scymtym_: stassats: http://paste.lisp.org/+3EM4/2 and http://paste.lisp.org/display/158908#3 2015-11-09T20:19:24Z stassats: sounds right 2015-11-09T20:22:04Z abeaumont quit (Remote host closed the connection) 2015-11-09T20:31:18Z gingerale quit (Remote host closed the connection) 2015-11-09T20:32:22Z yvm quit (Read error: Connection reset by peer) 2015-11-09T20:33:45Z yvm joined #sbcl 2015-11-09T20:35:06Z lnostdal_ quit (Ping timeout: 240 seconds) 2015-11-09T20:38:55Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-09T21:10:03Z DeadTrickster joined #sbcl 2015-11-09T21:37:09Z prxq quit (Remote host closed the connection) 2015-11-09T21:41:47Z dead_ joined #sbcl 2015-11-09T21:50:14Z scymtym_ quit (Ping timeout: 252 seconds) 2015-11-09T21:58:50Z dougk2 joined #sbcl 2015-11-09T22:07:59Z Bicyclidine quit (Ping timeout: 240 seconds) 2015-11-09T22:32:39Z dead_ quit (Ping timeout: 240 seconds) 2015-11-09T22:40:02Z Bicyclidine joined #sbcl 2015-11-09T22:48:24Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-09T22:56:02Z psilord quit (Quit: Leaving.) 2015-11-09T23:16:54Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-11-09T23:24:45Z dougk2 joined #sbcl 2015-11-09T23:28:20Z stassats quit (Ping timeout: 272 seconds) 2015-11-09T23:45:05Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-09T23:58:31Z dougk2 joined #sbcl 2015-11-10T00:42:15Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-10T01:01:24Z Bicyclidine quit (Ping timeout: 246 seconds) 2015-11-10T01:08:45Z Bicyclidine joined #sbcl 2015-11-10T01:13:55Z Bicyclidine quit (Ping timeout: 240 seconds) 2015-11-10T02:11:43Z whiteline quit (Ping timeout: 260 seconds) 2015-11-10T02:17:35Z nyef: Desk-checking reveals at least three Alpha FFI bugs. The one that corrupts the number stack when working with "too many" arguments (somewhere around eight to ten, I believe) is a particularly nice touch. 2015-11-10T02:34:30Z psilord joined #sbcl 2015-11-10T02:40:54Z dougk2 joined #sbcl 2015-11-10T04:10:31Z nyef: Hrm. There's a small run of cases in foreign.test.sh that depend on linkage-table, but don't actually check before doing their thing. 2015-11-10T04:21:06Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-10T04:44:44Z dougk2 quit (Ping timeout: 250 seconds) 2015-11-10T06:49:57Z psy_ quit (Quit: Leaving) 2015-11-10T07:04:32Z Shinmera joined #sbcl 2015-11-10T08:03:08Z Cymew joined #sbcl 2015-11-10T08:06:00Z dead_ joined #sbcl 2015-11-10T08:38:15Z lnostdal joined #sbcl 2015-11-10T08:57:31Z ASau quit (Ping timeout: 265 seconds) 2015-11-10T09:07:41Z dead_: why "Exit SBCL (calling #'EXIT, killing the process)." restart is not available in repl? 2015-11-10T09:10:53Z scymtym: dead_: looking briefly, the restart seem to be only established during initialization 2015-11-10T09:11:01Z scymtym: s/seem/seems/ 2015-11-10T09:11:35Z dead_: I'm staring at toplevel.lisp now 2015-11-10T09:11:59Z dead_: why not to move (toplevel-repl noprint) under restart-case 2015-11-10T09:12:04Z dead_: into 2015-11-10T09:12:35Z dead_: I think I'll try it nowq 2015-11-10T09:15:21Z dead_: is there any way to speed up builds? like reusing object files or whatever? 2015-11-10T09:31:13Z scymtym: when you only modify the runtime in certain ways, there is slam.sh. you can also set SBCL_MAKE_JOBS to parallelize building the runtime. maybe disable building contribs. 2015-11-10T09:32:29Z scymtym: some changes can be tested in a running SBCL, setting *evaluator-mode* to :interpret if you touch the compile. this is probably not an option when hacking on toplevel init and repl things 2015-11-10T09:49:43Z dead_: yea so I did this change and it works! yay! 2015-11-10T09:49:47Z dead_: my first sbcl hack 2015-11-10T09:50:16Z dead_: now I'll try to invoke exit restart on second Ctrl-C 2015-11-10T09:50:46Z dead_: well technically not first, first sbcl lisp hack but anyway 2015-11-10T09:58:50Z dead_ is now known as DeadTrickster_ 2015-11-10T10:09:31Z DeadTrickster_ is now known as dead 2015-11-10T10:09:35Z dead is now known as dead_ 2015-11-10T10:10:52Z DeadTrickster quit (Quit: Leaving) 2015-11-10T10:11:09Z dead_ is now known as DeadTrickster 2015-11-10T10:12:54Z DeadTrickster left #sbcl 2015-11-10T10:16:55Z DeadTrickster joined #sbcl 2015-11-10T10:17:06Z DeadTrickster quit (Client Quit) 2015-11-10T10:17:19Z DeadTrickster joined #sbcl 2015-11-10T10:17:39Z DeadTrickster_ joined #sbcl 2015-11-10T10:20:49Z whiteline joined #sbcl 2015-11-10T11:00:22Z attila_lendvai joined #sbcl 2015-11-10T11:00:22Z attila_lendvai quit (Changing host) 2015-11-10T11:00:22Z attila_lendvai joined #sbcl 2015-11-10T11:59:17Z zacts quit (Read error: Connection reset by peer) 2015-11-10T12:01:52Z zacts joined #sbcl 2015-11-10T12:36:12Z christoph_debian quit (Ping timeout: 250 seconds) 2015-11-10T12:37:09Z Cymew quit (Remote host closed the connection) 2015-11-10T12:37:55Z abbe quit (Ping timeout: 240 seconds) 2015-11-10T12:38:10Z christoph_debian joined #sbcl 2015-11-10T12:39:47Z abbe joined #sbcl 2015-11-10T12:46:06Z nimiux joined #sbcl 2015-11-10T12:55:55Z stassats joined #sbcl 2015-11-10T13:06:31Z dougk2 joined #sbcl 2015-11-10T13:29:07Z Cymew joined #sbcl 2015-11-10T13:43:26Z dougk2 quit (Ping timeout: 244 seconds) 2015-11-10T13:43:49Z eudoxia joined #sbcl 2015-11-10T14:05:06Z Cymew quit (Ping timeout: 240 seconds) 2015-11-10T14:12:41Z Cymew joined #sbcl 2015-11-10T14:24:13Z abbe quit (Ping timeout: 264 seconds) 2015-11-10T14:25:04Z abbe joined #sbcl 2015-11-10T14:52:23Z ZabaQ joined #sbcl 2015-11-10T14:57:58Z dougk2 joined #sbcl 2015-11-10T15:03:13Z jilingju joined #sbcl 2015-11-10T15:04:12Z jilingju quit (Client Quit) 2015-11-10T15:08:30Z flip214 quit (Ping timeout: 240 seconds) 2015-11-10T15:13:19Z lnostdal quit (Ping timeout: 240 seconds) 2015-11-10T15:17:35Z Cymew quit (Remote host closed the connection) 2015-11-10T15:26:01Z lnostdal joined #sbcl 2015-11-10T15:26:20Z flip214 joined #sbcl 2015-11-10T15:26:20Z flip214 quit (Changing host) 2015-11-10T15:26:20Z flip214 joined #sbcl 2015-11-10T15:31:48Z ZabaQ quit (Quit: Leaving) 2015-11-10T15:46:10Z angavrilov quit (Remote host closed the connection) 2015-11-10T15:58:39Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-10T16:07:25Z dougk2 joined #sbcl 2015-11-10T16:22:55Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-10T16:32:20Z dougk2 joined #sbcl 2015-11-10T16:43:18Z psy joined #sbcl 2015-11-10T16:43:41Z psy quit (Max SendQ exceeded) 2015-11-10T16:44:25Z psy joined #sbcl 2015-11-10T16:49:07Z psy quit (Disconnected by services) 2015-11-10T16:49:34Z psy_ joined #sbcl 2015-11-10T16:58:59Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-10T17:05:54Z pjstirling quit (Quit: Leaving) 2015-11-10T17:06:51Z dougk2 joined #sbcl 2015-11-10T17:30:46Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-10T17:34:49Z gingerale joined #sbcl 2015-11-10T17:35:55Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-10T17:37:35Z lnostdal quit (Ping timeout: 240 seconds) 2015-11-10T17:47:56Z attila_lendvai joined #sbcl 2015-11-10T17:52:53Z chris2 quit (Ping timeout: 252 seconds) 2015-11-10T17:53:07Z lnostdal joined #sbcl 2015-11-10T18:08:02Z chris2 joined #sbcl 2015-11-10T18:17:33Z attila_lendvai: is alpha still relevant today, or is it just for the geek value? 2015-11-10T18:20:35Z dougk2 joined #sbcl 2015-11-10T18:21:59Z nyef: Alpha is the basis of our barrier model, and represents several rarely-used code paths in the overall system. Bringing it "up to scratch" is an investment in SBCL generally, regardless of how relevant the hardware architecture may or may not be. 2015-11-10T18:22:15Z eudoxia quit (Quit: Leaving) 2015-11-10T18:22:43Z attila_lendvai: oh, I see 2015-11-10T18:23:01Z nyef: The same applies to HPPA. 2015-11-10T18:23:37Z nyef: There are, in fact, some parts of the system that are conditioned on (OR ALPHA HPPA) simply due to lack of maintenance. 2015-11-10T18:26:54Z DeadTrickster_ quit (Read error: Connection reset by peer) 2015-11-10T18:27:06Z DeadTrickster_ joined #sbcl 2015-11-10T18:34:08Z christoph_debian: hm does bootstrapping sbcl with ecl/gcl work? 2015-11-10T18:34:55Z nyef: I have no idea, why not try it? 2015-11-10T18:35:12Z christoph_debian: :-) 2015-11-10T18:40:52Z joshe: I had it working with ecl years ago but didn't get all the patches committed 2015-11-10T18:41:24Z joshe: there has likely been more breakage since 2015-11-10T18:45:08Z christoph_debian: https://pbot.rmdir.de/2NKUCNQpN0cEzrHepqrROQ 2015-11-10T18:48:47Z chris2 quit (Ping timeout: 264 seconds) 2015-11-10T19:03:26Z chris2 joined #sbcl 2015-11-10T19:25:43Z stassats: christoph_debian: can't you just use clisp instead? 2015-11-10T19:27:55Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-10T19:37:23Z chris2 quit (Ping timeout: 264 seconds) 2015-11-10T19:40:30Z dougk2 joined #sbcl 2015-11-10T19:42:37Z christoph_debian: stassats: not on arm64 2015-11-10T19:43:10Z stassats: but on arm32? 2015-11-10T19:43:15Z christoph_debian: jah 2015-11-10T19:43:31Z christoph_debian: but once I need arm32 I can do whatever crossbotstrap ;-) 2015-11-10T19:43:47Z christoph_debian: and sshfs + x86/sbcl is probably faster ;-) 2015-11-10T19:53:15Z chris2 joined #sbcl 2015-11-10T20:00:30Z stassats: scymtym: there's a bit of a problem with guess-locally-nicknamed-package, nothing from SWANK is available to sbcl.lisp or any other swank/backend 2015-11-10T20:01:32Z stassats: i can commit a grossest hack in history (funcall (find-symbol (string 'parse-string) :swank)) 2015-11-10T20:02:15Z stassats: i'm not the first, sbcl.lisp has SWANK-VALUE 2015-11-10T20:11:55Z nzambe quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2015-11-10T20:12:35Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-10T20:13:10Z stassats: can't agree to that, trying to restructure swank 2015-11-10T20:26:10Z Bicyclidine joined #sbcl 2015-11-10T20:31:10Z gingerale quit (Remote host closed the connection) 2015-11-10T20:34:32Z dougk2 joined #sbcl 2015-11-10T20:42:50Z stassats: scymtym: your patch is in 2015-11-10T20:43:02Z stassats: along with a big package restructuring 2015-11-10T20:43:36Z stassats: i hope nobody finds it distasteful and reverts it 2015-11-10T20:43:45Z stassats: (we all know who that "nobody" is, though) 2015-11-10T20:44:21Z scymtym_ joined #sbcl 2015-11-10T21:03:00Z DeadTrickster quit (Read error: No route to host) 2015-11-10T21:13:19Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-10T21:18:04Z DeadTrickster joined #sbcl 2015-11-10T21:18:26Z stassats: swank-fuzzy now knows local nicknames 2015-11-10T21:27:35Z dougk2 joined #sbcl 2015-11-10T21:28:36Z DeadTrickster quit (Read error: No route to host) 2015-11-10T21:31:00Z stassats: local nicknames on ABCL too 2015-11-10T21:31:52Z DeadTrickster joined #sbcl 2015-11-10T21:38:36Z stassats: scymtym: not much of your original patch is left now 2015-11-10T21:39:21Z scymtym_: stassats: thanks. i will study your changes and hopefully do better next time. 2015-11-10T21:39:58Z stassats: i just used a different approach to be compatible with ABCL 2015-11-10T21:40:04Z stassats: and not to use internal sbcl packages 2015-11-10T21:44:53Z scymtym_: i see. it was my impression that FIND-PACKAGE-USING-PACKAGE was designed as a general extension mechanism for various lookup strategies. that's why i used it instead of going through the list of local nicknames. i think i even started with (assoc name (package-local-nicknames …) …). 2015-11-10T21:45:39Z scymtym_: it is the better solution while additional lookup strategies do not actually exist 2015-11-10T21:52:39Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-10T21:53:09Z stassats: i couldn't find an abcl equivalent, so i went with this 2015-11-10T21:53:26Z stassats: well, M-. didn't really work on abcl and i stopped at that 2015-11-10T21:54:11Z stassats: find-locally-nicknamed-package can still be specialized to produce something different, when there is a public interface 2015-11-10T21:55:07Z stassats: i give enough flak to people using internal sbcl packages, better heed my own advice 2015-11-10T22:01:56Z scymtym_: yeah, i wasn't really sure between re-implementing the search strategy and using internals 2015-11-10T22:03:05Z scymtym_: iirc, there were at one point ideas to make packages sub-classable and turn find-package-using-package into a generic function and export it 2015-11-10T22:03:14Z DeadTrickster_ quit (Ping timeout: 260 seconds) 2015-11-10T22:07:31Z dougk2 joined #sbcl 2015-11-10T22:16:25Z csziacobus joined #sbcl 2015-11-10T22:19:12Z ASau joined #sbcl 2015-11-10T22:22:45Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-10T22:23:31Z dougk2 joined #sbcl 2015-11-10T22:28:18Z nyef quit (Ping timeout: 260 seconds) 2015-11-10T22:29:35Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-10T22:40:46Z flavioc joined #sbcl 2015-11-10T22:41:02Z nyef joined #sbcl 2015-11-10T23:00:19Z csziacobus quit (Remote host closed the connection) 2015-11-10T23:06:16Z ASau quit (Ping timeout: 250 seconds) 2015-11-10T23:12:07Z csziacobus joined #sbcl 2015-11-10T23:18:22Z pkhuong: depends on Xof's subclassable struct hack 2015-11-10T23:19:42Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-11-10T23:23:21Z dougk2 joined #sbcl 2015-11-10T23:25:55Z Xof: srsly? 2015-11-10T23:25:59Z Xof: I'd better unhackify it 2015-11-10T23:27:30Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-10T23:34:15Z pkhuong: yeah. we need packages wayy too early to wait for CLOS 2015-11-10T23:34:30Z pkhuong: so we want to do def!struct and allow people to subclass correctly 2015-11-10T23:34:44Z pkhuong: unless we're OK with single inheritance for subclassing packages 2015-11-10T23:35:22Z nyef: No chance of having CLOS usable from the cross-compiler, then? 2015-11-10T23:35:54Z Xof: it looked to me like dougk_ was making small steps in that direction 2015-11-10T23:36:09Z Xof: we're subclassing packages? Yay 2015-11-10T23:36:23Z Xof: I can't remember if I pushed the branch with a subclassed random-state. Probably not 2015-11-10T23:41:25Z Xof: oh, yes 2015-11-10T23:41:28Z Xof: I remember all this now 2015-11-10T23:41:38Z Xof: I had this plan 2015-11-10T23:41:45Z Xof: it was all going to be marvellous 2015-11-10T23:41:48Z Xof: then real life happened 2015-11-10T23:42:18Z Xof: but yes, that's what find-package-using-package was for 2015-11-10T23:43:07Z Xof: so that we could have package-local nicknames and hierarchical packages and... possibly even package-local-hierarchical-nickname packages 2015-11-10T23:43:55Z Xof: find-package-using-package is clearly an OR method-combination generic function 2015-11-10T23:48:03Z stassats: i really wouldn't want using CLOS for the compiler, it would make the already not so fast compilation even slower, and for what? 2015-11-10T23:48:12Z stassats: for more bugs and more work? 2015-11-10T23:54:05Z dougk2 joined #sbcl 2015-11-11T00:00:56Z Xof: I wouldn't particularly want CLOS for the compiler either 2015-11-11T00:01:02Z Xof: but I'd like to be able to cross-compile clos code 2015-11-11T00:03:15Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-11T00:07:37Z nyef: Xof: How about using CLOS for some of the type-system stuff? 2015-11-11T00:08:24Z nyef: (I know, it's broken enough as it is, and the underlying mechanisms are solid enough these days...) 2015-11-11T00:10:18Z Xof: I sort-of want to do a complete clean bit-vector-based reimplementation 2015-11-11T00:10:38Z Xof: well. Possibly I want someone else to do that 2015-11-11T00:13:24Z Xof: (when did I become a manager?) 2015-11-11T00:13:34Z stassats: having proper DOCUMENTATION would be nice, i guess 2015-11-11T00:15:04Z Bicyclidine quit (Quit: leaving) 2015-11-11T00:15:08Z dougk2 joined #sbcl 2015-11-11T00:15:24Z stassats: tried transforming (constantly a-constant), turns out an unused &rest has a lot of unnecessary code 2015-11-11T00:18:49Z flavioc quit (Ping timeout: 240 seconds) 2015-11-11T00:28:59Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-11T00:30:46Z pkhuong: Xof: don't think we can do bit vectors without giving up on tight numeric bounds 2015-11-11T00:31:13Z Xof: not pure bit-vectors 2015-11-11T00:34:20Z pkhuong: I'm also not convinced that tight numeric bounds are useful 2015-11-11T00:34:23Z pkhuong: so :| 2015-11-11T00:39:03Z nyef: Tight bounds are probably more useful for integers than for floats. 2015-11-11T00:39:26Z stassats: tight float bounds are bound to cause problems 2015-11-11T00:39:40Z nyef: Exactly. 2015-11-11T00:40:26Z stassats: maybe if we had soft floats 2015-11-11T00:40:34Z stassats: but then, what's the point 2015-11-11T00:41:49Z pkhuong: even integers, there's a few key values that show up as literals in the source, + powers of two +/- 1, etc. 2015-11-11T00:41:54Z pkhuong: but the rest is just slowing down convergence 2015-11-11T00:44:54Z dougk2 joined #sbcl 2015-11-11T00:44:59Z stassats: oops, i broke something in slime 2015-11-11T01:25:47Z scymtym_ quit (Ping timeout: 276 seconds) 2015-11-11T01:27:39Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-11T01:28:36Z dougk2 joined #sbcl 2015-11-11T01:34:49Z nyef: Ugh. Trying to do a cross-build with this kind of filesystem delay would be brutal. )-: 2015-11-11T01:35:27Z stassats: hairy lambdas are truly hairy 2015-11-11T01:35:32Z stassats: or at least the code that handles them 2015-11-11T01:36:59Z pepol quit (Ping timeout: 240 seconds) 2015-11-11T01:37:04Z stassats: getting rid of dummy &rest arg processing is not as easy as i expected 2015-11-11T01:37:40Z pkhuong: stassats: generate &more ? 2015-11-11T01:38:26Z stassats: pkhuong: was trying for a general solution 2015-11-11T01:39:12Z stassats: sb-int:&more still has lots of code 2015-11-11T01:45:13Z nikki93 joined #sbcl 2015-11-11T01:45:52Z stassats: basically it's an unnecessary copy-more-arg 2015-11-11T01:46:42Z stassats: maybe i can just modify it there, at the end 2015-11-11T01:51:04Z stassats: ok, that worked a bit, no copy-more-arg from init-xep-environment 2015-11-11T01:51:11Z stassats: but there's still an optional entry 2015-11-11T01:51:49Z stassats: still, it's probably a better idea to not create all those optional dispatches just to ignore them later 2015-11-11T01:57:59Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-11T02:02:05Z stassats: would be also a good idea for unused optionals to not get initialized 2015-11-11T02:02:16Z stassats: need to figure out the conversion some more 2015-11-11T02:13:15Z pepol joined #sbcl 2015-11-11T02:15:53Z nyef wonders if it would be faster to do the host build steps from a 600 MHz MIPS against the local disk than his x86 over the VPN... 2015-11-11T02:16:23Z stassats: you just need to copy the core file and some header files 2015-11-11T02:19:06Z nyef: Don't even need to copy the header files, really, but I do need a full copy of the tree locally instead of NFS over the VPN. 2015-11-11T02:19:32Z nyef: (It's a built tree, and I'm not doing anything that would affect the output from genesis.) 2015-11-11T02:20:47Z dougk2 joined #sbcl 2015-11-11T02:22:02Z nyef: Hrm. Might be even easier to see if this thing will self-host? 2015-11-11T02:25:00Z nyef: Need to do a self-host test at some point anyway. 2015-11-11T02:26:06Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-11T02:44:10Z nyef: Oh, right, some of the contribs fail. I wonder if they still do now that I've mostly-fixed the FFI? 2015-11-11T02:44:44Z Bike quit (Quit: restart) 2015-11-11T02:47:31Z csziacobus quit (Quit: csziacobus) 2015-11-11T02:48:05Z Bike joined #sbcl 2015-11-11T02:50:08Z nyef: Grr... Now, if I could just manage to stay connected via SSH. Probably some dumbassery in the sshd trying to do something lock-free without appropriate barriers or something. /-: 2015-11-11T02:53:38Z csziacobus joined #sbcl 2015-11-11T03:16:42Z dougk2 quit (Ping timeout: 260 seconds) 2015-11-11T03:25:05Z dougk2 joined #sbcl 2015-11-11T03:27:27Z nyef: ... Damn. Same contribs fail. 2015-11-11T03:39:12Z nyef: Same observed symptoms, to a first approximation. 2015-11-11T03:40:11Z stassats: playing with circular symlinks and DIRECTORY 2015-11-11T03:40:23Z stassats: a -> . 2015-11-11T03:40:38Z stassats: returns two files #P"/tmp/x/" #P"/tmp/x/a" 2015-11-11T03:40:53Z stassats: tracing SB-IMPL::MAP-MATCHING-ENTRIES, and seeing "/tmp/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/" 2015-11-11T03:41:03Z stassats: (it's actually "x", not "a") 2015-11-11T03:41:08Z stassats: but why does it finish? 2015-11-11T03:41:23Z nyef: Maximum iteration depth? 2015-11-11T03:41:37Z stassats: i don't see that yet 2015-11-11T03:42:08Z nyef: ... Blowing the stack or PATH_MAX or whatever it's called, catching an error to the face, and there being a handler closer to toplevel? 2015-11-11T03:42:59Z stassats: nothing suspect, looks too short for PATH_MAX 2015-11-11T03:44:18Z stassats: "Error reading directory entry: Connection timed out" 2015-11-11T03:44:20Z stassats: huh what 2015-11-11T03:44:24Z nyef: Heh! 2015-11-11T03:44:26Z nyef: NFS? 2015-11-11T03:44:30Z stassats: nope 2015-11-11T03:44:35Z nikki93 quit (Remote host closed the connection) 2015-11-11T03:44:58Z nyef: Kernel-side limit on symlink recursion? 2015-11-11T03:45:10Z nyef: Hrm. There are a few commits in my current alpha tree that I could cherry pick out reasonably. 2015-11-11T03:45:18Z stassats: that's what i suspect 2015-11-11T03:45:23Z nyef: Mostly test-type things. 2015-11-11T03:45:46Z csziacobus quit (Quit: csziacobus) 2015-11-11T03:46:24Z stassats: If the end of the directory stream is reached, NULL is returned and errno is not changed. If an error occurs, NULL is returned and errno is set appropriately. 2015-11-11T03:46:38Z stassats: hm, say what? 2015-11-11T03:47:13Z stassats: reading http://pubs.opengroup.org/onlinepubs/009695399/functions/readdir.html now 2015-11-11T03:47:19Z stassats: Applications wishing to check for error situations should set errno to 0 before calling readdir(). If errno is set to non-zero on return, an error occurred. 2015-11-11T03:47:41Z nyef: "It takes a tough man to make a tender chicken"? 2015-11-11T03:48:51Z stassats: but that's just sb!unix:unix-readdir, nobody uses it but sbcl 2015-11-11T03:49:05Z stassats: and it's always used with error-p being nil 2015-11-11T03:49:10Z stassats: but, it's broken otherwise 2015-11-11T03:52:04Z nyef: Hrm... Why on earth would I be catching weird corruption issues when returning from an alien-funcall? 2015-11-11T03:52:45Z stassats: not saved registers? 2015-11-11T03:53:08Z nyef: Yeah, that's the conclusion I'm coming to, some registers probably not getting saved properly. 2015-11-11T03:54:09Z nyef: Now that I'm fairly certain that I have it allocating enough stack slots for the arguments, and placing the float arguments at the right place on the stack when they exceed the number of registers for them. 2015-11-11T03:57:46Z nyef: Actually, I should cross-check vm.lisp against lispregs.h to make sure that the GC and the compiler agree on which registers are boxed... And again which possess the interior-pointer nature. 2015-11-11T04:00:10Z nyef: Oh, AND against the logic in call_into_c and call_into_lisp, and those two against the register map for the alien calling convention that we seem to be using. 2015-11-11T04:00:27Z stassats: fixed readdir, it actually does not error 2015-11-11T04:05:50Z stassats: (truename #P"/tmp/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x") starts being #P"/tmp/x/x" 2015-11-11T04:07:14Z stassats: that's because stat fails 2015-11-11T04:07:25Z stassats: stat: cannot stat ‘/tmp/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x/x’: Too many levels of symbolic links 2015-11-11T04:08:14Z stassats: now that this is clear, let's make it not not go down that road 2015-11-11T04:08:21Z stassats: or maybe this is good enough 2015-11-11T04:08:33Z stassats: what does it on windows? 2015-11-11T04:10:35Z stassats: directory already maintains a hashtable 2015-11-11T04:13:17Z nyef: Well, on the upside, it DOES self-build. 2015-11-11T04:13:33Z nyef: ... Even if I'm starting to suspect yet another major botch in the FFI. 2015-11-11T04:15:00Z stassats: how did it ever work? 2015-11-11T04:15:07Z stassats: it didn't? 2015-11-11T04:16:00Z nyef: "More by good luck than good management." 2015-11-11T04:17:21Z reb````` quit (Remote host closed the connection) 2015-11-11T04:17:28Z stassats: i think 128-bit integers are still broken on x86-64 2015-11-11T04:17:35Z reb````` joined #sbcl 2015-11-11T04:17:37Z stassats: or there's no sign of them being supported 2015-11-11T04:17:51Z nyef: This bit with LRA aside, so long as no floating-point arguments were passed in registers, and there were no more than about 8-10 arguments total, and the stack didn't get disaligned for whatever reason... 2015-11-11T04:18:26Z stassats: it needs some random tests 2015-11-11T04:18:37Z stassats: or maybe a cross-product of all types 2015-11-11T04:18:41Z lnostdal quit (Ping timeout: 276 seconds) 2015-11-11T04:18:47Z nyef: I'm still absolutely stunned about unsigned 32-bit values read from memory getting sign-extended. 2015-11-11T04:19:31Z nyef: ... And then the test case for it getting stuck in a loop trying to do whatever it does with the ASSERT... 2015-11-11T04:21:13Z nyef: Actually, waitasec... Something else isn't right there. 2015-11-11T04:21:38Z nyef: It's still supposed to be an unsigned result, why is it showing up as -1 ? 2015-11-11T04:22:08Z stassats: readdir_r is the threadsafe variant, we call readdir 2015-11-11T04:24:02Z nyef: Oh, so I saw something odd in the calling convention documentation for Alpha. Apparently, it allows returning a complex float in two registers? 2015-11-11T04:26:17Z nyef: I'm also not a fan of returning values in an interior-pointer register. What if we catch a GC? 2015-11-11T04:28:49Z stassats: try some concurrent DIRECTORY 2015-11-11T04:30:32Z stassats: works so far 2015-11-11T04:30:56Z lnostdal joined #sbcl 2015-11-11T04:31:45Z stassats: reading "readdir_r considered harmful" 2015-11-11T04:32:19Z nyef: Oh? 2015-11-11T04:32:33Z stassats: well, as much as C is harmful 2015-11-11T04:33:00Z nyef: Ah, okay. 2015-11-11T04:33:07Z nyef: That's a lot less worrisome. (-: 2015-11-11T04:34:15Z stassats: readdir seems to be thread safe on linux, nobody complained before, so, i'll ignore it too then 2015-11-11T04:34:27Z nyef: Heh. 2015-11-11T04:35:02Z stassats: there's dirfd 2015-11-11T04:35:21Z stassats: or wait, what about it? 2015-11-11T04:36:38Z nyef: Is this nan-comparisons test basically saying that any comparison other than /= that involves a NaN should return false, and /= should return true? 2015-11-11T04:37:31Z stassats: unix considered harmful anyhow 2015-11-11T04:41:41Z nyef: "Creators admit C, Unix a hoax" 2015-11-11T04:43:34Z stassats: c++ one upped them all 2015-11-11T05:24:30Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-11T05:46:54Z reb`````` joined #sbcl 2015-11-11T05:47:10Z reb````` quit (Ping timeout: 240 seconds) 2015-11-11T06:04:07Z reb`````` quit (Ping timeout: 250 seconds) 2015-11-11T06:04:41Z reb`````` joined #sbcl 2015-11-11T06:05:59Z specbot quit (Disconnected by services) 2015-11-11T06:06:02Z specbot joined #sbcl 2015-11-11T06:07:56Z pkhuong: nyef: sounds about right 2015-11-11T06:08:39Z scymtym quit (Ping timeout: 240 seconds) 2015-11-11T06:08:59Z DeadTrickster quit (Ping timeout: 240 seconds) 2015-11-11T06:09:28Z DeadTrickster joined #sbcl 2015-11-11T06:10:25Z pkhuong: re readdir_r... isn't there a system-wide limit in limits.h? 2015-11-11T06:10:32Z pkhuong: 1K, iirc. 2015-11-11T06:35:19Z gingerale joined #sbcl 2015-11-11T06:48:15Z gingerale quit (Remote host closed the connection) 2015-11-11T06:48:46Z flip214: pkhuong: the file descriptor ulimit? 2015-11-11T07:05:44Z Shinmera joined #sbcl 2015-11-11T07:43:16Z zacts quit (Ping timeout: 244 seconds) 2015-11-11T07:43:47Z alchemis7 quit (Ping timeout: 244 seconds) 2015-11-11T07:44:21Z zacts joined #sbcl 2015-11-11T07:47:07Z alchemis7 joined #sbcl 2015-11-11T08:00:06Z DeadTrickster_ joined #sbcl 2015-11-11T08:31:54Z Posterdati quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2015-11-11T09:12:41Z Posterdati joined #sbcl 2015-11-11T09:45:21Z scymtym joined #sbcl 2015-11-11T09:48:20Z scymtym: dougk_: the last test in backtrace.impure.lisp causes a read-error in non-sb-fasteval builds. can i add a reader conditional to it? 2015-11-11T09:58:22Z angavrilov joined #sbcl 2015-11-11T10:22:45Z DeadTrickster_: scymtym, ping 2015-11-11T10:32:31Z scymtym: DeadTrickster_: pong 2015-11-11T10:32:57Z DeadTrickster_: scymtym, hows it going with that condition-wait patches? 2015-11-11T10:33:16Z DeadTrickster_: I'm not trying to put pressure in any way, just asking 2015-11-11T10:33:38Z scymtym: i have to verify that the improved patch does indeed not introduce additional unnecessary consing 2015-11-11T10:33:48Z scymtym: after that i will probably ask for another review 2015-11-11T10:34:45Z DeadTrickster_: feeling very uncomfortable now because of these bugs, because they are so deep 2015-11-11T10:35:06Z DeadTrickster_: consing is synonym for memory allocation, right? 2015-11-11T10:35:12Z scymtym: yes 2015-11-11T10:35:13Z DeadTrickster_: why it is bad in this context? 2015-11-11T10:36:36Z scymtym: it slows things down. much of the threading code is performance-sensitive so consing should be avoided where possible. 2015-11-11T10:38:37Z scymtym: i can understand that you feel uncomfortable, but i don't want to rush out a patch that fixes the issue at hand but makes other aspects worse 2015-11-11T10:38:46Z DeadTrickster_: sure 2015-11-11T10:56:22Z scymtym: ok, with improved patch, %DECREMENT-SEMAPHORE/CONDITION-WAIT cons 30 % more with :timeout and constant artificial spurious wakups. no apparent difference in consing without :timeout. any ideas for tests to catch performance regressions? 2015-11-11T10:56:34Z scymtym: stassats: would you kindly have another look at the improved patch? 2015-11-11T10:59:00Z edgar-rft joined #sbcl 2015-11-11T11:29:06Z attila_lendvai joined #sbcl 2015-11-11T11:29:06Z attila_lendvai quit (Changing host) 2015-11-11T11:29:06Z attila_lendvai joined #sbcl 2015-11-11T11:33:26Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-11T11:34:22Z attila_lendvai joined #sbcl 2015-11-11T11:37:07Z ignotus joined #sbcl 2015-11-11T11:38:41Z ignotus: hello, I'm trying to run a 32bit SBCL image on a 64 bit system (Debian Linux) it seems to work (spawning worker threads, writing log files etc), but when I do a http request then it fails with "Condition: Unhandled memory fault at #x14." (the web server is hunchentoot) 2015-11-11T11:43:43Z ignotus: ah never mind, the hit logger caused it somehow, I will investigate 2015-11-11T11:45:46Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-11T12:37:38Z DeadTrickster_ quit (Ping timeout: 260 seconds) 2015-11-11T12:54:04Z stassats` joined #sbcl 2015-11-11T12:56:05Z stassats quit (Ping timeout: 276 seconds) 2015-11-11T13:10:54Z dougk2 joined #sbcl 2015-11-11T14:08:18Z lnostdal quit (*.net *.split) 2015-11-11T14:08:22Z yvm quit (*.net *.split) 2015-11-11T14:15:58Z lnostdal joined #sbcl 2015-11-11T14:15:59Z yvm joined #sbcl 2015-11-11T14:23:10Z dougk2 quit (Ping timeout: 244 seconds) 2015-11-11T14:30:51Z dougk_ quit (Ping timeout: 246 seconds) 2015-11-11T14:36:32Z dougk2 joined #sbcl 2015-11-11T14:44:10Z dougk_ joined #sbcl 2015-11-11T14:59:34Z njmurphy joined #sbcl 2015-11-11T15:01:47Z attila_lendvai joined #sbcl 2015-11-11T15:01:47Z attila_lendvai quit (Changing host) 2015-11-11T15:01:47Z attila_lendvai joined #sbcl 2015-11-11T15:03:09Z stassats`: what a mess, sb-posix and sb-unix do not use the same wrappers 2015-11-11T15:03:30Z stassats`: sb-posix uses largefile wrappers, sb-unix doesn't 2015-11-11T15:03:56Z stassats`: i think i once wanted to reconcile some parts, but gave up 2015-11-11T15:04:34Z stassats`: so i'm only fixing error reporting for sb-unix:readdir, not sb-posix:readdir because of that mess 2015-11-11T15:16:19Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-11T15:17:20Z dougk2 joined #sbcl 2015-11-11T15:28:02Z dougk2 quit (Ping timeout: 272 seconds) 2015-11-11T15:29:43Z dougk_: scymtym: sure 2015-11-11T15:31:40Z dougk2 joined #sbcl 2015-11-11T15:40:26Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-11T15:46:50Z dougk2 quit (Ping timeout: 250 seconds) 2015-11-11T15:58:23Z dougk2 joined #sbcl 2015-11-11T16:01:51Z scymtym: dougk_: i tested the change to backtrace.impure.lisp with and without sb-fasteval. the former seems fine (test is not defined), the latter, however, defines but then skips the test because of :skipped-on (not :interpreter). did you mean :skipped-on (not :sb-fasteval)? 2015-11-11T16:05:06Z dougk_: :interpreter should have been placed into features, right? 2015-11-11T16:08:11Z scymtym: i did a build with ./make.sh --fancy --without-sb-eval --with-sb-fasteval but couldn't find it in *FEATURES* 2015-11-11T16:08:16Z scymtym: did i do something wrong? 2015-11-11T16:10:26Z lnostdal quit (Ping timeout: 276 seconds) 2015-11-11T16:14:17Z drmeister_ joined #sbcl 2015-11-11T16:14:26Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-11T16:17:08Z drmeister quit (Ping timeout: 240 seconds) 2015-11-11T16:17:08Z ignotus quit (Ping timeout: 240 seconds) 2015-11-11T16:17:11Z dougk_ quit (Ping timeout: 240 seconds) 2015-11-11T16:17:13Z dougk_ joined #sbcl 2015-11-11T16:17:33Z ignotus joined #sbcl 2015-11-11T16:17:33Z ignotus quit (Changing host) 2015-11-11T16:17:33Z ignotus joined #sbcl 2015-11-11T16:18:48Z lnostdal joined #sbcl 2015-11-11T16:24:49Z attila_lendvai joined #sbcl 2015-11-11T16:24:49Z attila_lendvai quit (Changing host) 2015-11-11T16:24:49Z attila_lendvai joined #sbcl 2015-11-11T16:30:55Z dougk_: scymtym: it's the test scaffold that should add in :interpreter. This is the way tests can be conditional on whether they're actually interpreted, versus the feature being present but not active 2015-11-11T16:32:01Z dougk2 joined #sbcl 2015-11-11T16:34:14Z _iwc joined #sbcl 2015-11-11T16:39:29Z sjl joined #sbcl 2015-11-11T16:46:31Z _iwc quit (Killed (Sigyn (Spam is off topic on freenode.))) 2015-11-11T16:55:50Z stassats`: almost got interleaved slots on arm64 2015-11-11T16:56:33Z stassats`: saved 32KB from the core 2015-11-11T16:57:14Z stassats`: dougk_: is there a point in raw-instance-init vops in the presence of interleaved vops? 2015-11-11T16:57:36Z dougk_: not really 2015-11-11T16:57:47Z dougk_: should we work on removing them? 2015-11-11T16:58:10Z stassats`: i won't add them to arm64, for one 2015-11-11T16:58:19Z stassats`: does that constitute as "work"? 2015-11-11T16:58:48Z dougk_: make-structure-instance-macro will need to know to just use the setters instead 2015-11-11T16:59:04Z stassats`: doesn't it already? 2015-11-11T16:59:18Z stassats`: or some other macro is used on #-raw-instance-init-vops? 2015-11-11T16:59:37Z dougk_: ah, i didn't actually make it not use the raw-instance-init vops. it still does even though they're equivalent to setters 2015-11-11T17:00:22Z stassats`: defstruct.* tests pass, that's a good sign 2015-11-11T17:00:46Z stassats`: now i need to make constant variants for the raw vops 2015-11-11T17:00:54Z dougk_: hm. maybe i did remove and i don't know what i'm talking about. will have to revisit 2015-11-11T17:02:55Z nzambe joined #sbcl 2015-11-11T17:04:09Z scymtym: dougk_: that worked. pushed. 2015-11-11T17:21:13Z nyef: Okay, I see why call_into_c doesn't do anything with LRA: It's a descriptor-reg, thus saved by the compiler over the course of call-out, and it's the return address register, thus should be fixnum-tagged anyway. 2015-11-11T17:37:45Z nzambe quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2015-11-11T17:53:47Z dougk2 quit (Ping timeout: 276 seconds) 2015-11-11T17:56:25Z nikki93 joined #sbcl 2015-11-11T18:21:39Z psy_ quit (Ping timeout: 250 seconds) 2015-11-11T18:22:21Z nikki93 quit (Read error: Connection reset by peer) 2015-11-11T18:30:44Z dougk2 joined #sbcl 2015-11-11T18:31:45Z DeadTrickster_ joined #sbcl 2015-11-11T18:34:06Z nikki93 joined #sbcl 2015-11-11T18:45:38Z stassats`: sloccount says "lisp: 398344" 2015-11-11T18:45:42Z stassats`: soon, 400K lines 2015-11-11T18:47:09Z stassats`: and i see we have a new committer, Your Name 2015-11-11T18:51:07Z dougk2 quit (Ping timeout: 250 seconds) 2015-11-11T18:58:25Z dougk2 joined #sbcl 2015-11-11T19:02:37Z nyef: Ohhh.... I think I know why I'm getting -1 as a result from that test case. It's spilling an unsigned-reg to a two-word bignum! 2015-11-11T19:02:55Z nyef: Hrm. Maybe? 2015-11-11T19:04:13Z nyef: Hrm. Or it's always allocating a three-word bignum, and the comment lies? 2015-11-11T19:05:00Z nikki93 quit (Remote host closed the connection) 2015-11-11T19:09:45Z nyef: No, it's allocating a 1-3 word bignum, this looks reasonable... So why do I get a -1? 2015-11-11T19:09:56Z nyef: Probably going to have to trace this. /-: 2015-11-11T19:13:24Z psy_ joined #sbcl 2015-11-11T19:18:41Z zacts quit (Quit: WeeChat 1.3) 2015-11-11T19:32:55Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-11T19:33:14Z gingerale joined #sbcl 2015-11-11T19:34:21Z dougk2 joined #sbcl 2015-11-11T19:38:45Z jdz quit (Ping timeout: 252 seconds) 2015-11-11T19:41:28Z nikki93 joined #sbcl 2015-11-11T19:45:41Z jdz joined #sbcl 2015-11-11T19:51:46Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-11T19:55:53Z dougk_ quit (Remote host closed the connection) 2015-11-11T20:05:21Z dougk2_ joined #sbcl 2015-11-11T20:08:15Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-11T20:11:39Z DeadTrickster_ quit (Ping timeout: 240 seconds) 2015-11-11T20:15:52Z drmeister_ is now known as drmeister 2015-11-11T20:23:54Z nyef: ... Why am I seeing a move-from-signed on an unsigned result? 2015-11-11T20:27:24Z nyef: ... dealloc-number-stack-space, word-move t30[LIP] => t31[NL0], move-from-signed t31[NL0] => t32[A0]. 2015-11-11T20:30:23Z dougk_ joined #sbcl 2015-11-11T20:33:45Z nyef: Why the deuce is it moving to a signed register? 2015-11-11T20:34:50Z stassats`: you mean to a descriptor register? 2015-11-11T20:35:41Z nyef: No, I mean before moving to a descriptor register. 2015-11-11T20:36:09Z stassats`: no move function for a direct move? 2015-11-11T20:36:28Z nyef: But it's supposed to be an unsigned value! 2015-11-11T20:38:07Z stassats`: move-from-signed accepts both? (arg :scs (signed-reg unsigned-reg) :target x) 2015-11-11T20:38:26Z nyef: But the MOVE VOP doesn't! 2015-11-11T20:38:26Z stassats`: but define-move-vop says signed-reg 2015-11-11T20:38:29Z nyef: Yeah. 2015-11-11T20:39:23Z stassats`: is it really unsigned then? 2015-11-11T20:40:20Z nyef: http://paste.lisp.org/display/159063 2015-11-11T20:42:04Z nyef: I'll fix the issue with it needing to be cut to width later, after I fix this signedness botch. 2015-11-11T20:42:28Z nyef: I'm somewhat wondering if it's because the result is coming in over LIP. 2015-11-11T20:43:32Z stassats`: lip is reg0 2015-11-11T20:46:41Z nyef: Looks like the word-move has to be signing the TN-SC. 2015-11-11T20:47:21Z nyef: But where does the signedness come in? 2015-11-11T20:51:02Z nyef: ... And why the double move, at that? 2015-11-11T20:53:04Z nyef: MIPS doesn't have the extra word-move. 2015-11-11T21:00:18Z clique joined #sbcl 2015-11-11T21:00:40Z nyef: Maybe because it can't be PACKed? 2015-11-11T21:03:49Z nyef: Trying the simple hack, to see if it helps at all. 2015-11-11T21:10:33Z m0li quit (Ping timeout: 246 seconds) 2015-11-11T21:50:27Z dougk2_ quit (Ping timeout: 246 seconds) 2015-11-11T21:53:25Z gingerale quit (Remote host closed the connection) 2015-11-11T21:53:44Z dougk2 joined #sbcl 2015-11-11T21:56:29Z prxq joined #sbcl 2015-11-11T21:56:36Z prxq quit (Read error: Connection reset by peer) 2015-11-11T21:56:39Z nyef: Hrm. That didn't work. 2015-11-11T21:56:51Z nyef: Oh, FFS. 2015-11-11T21:57:09Z nyef: Stupid bloody dead-reckoning assembly symbol math. 2015-11-11T21:58:52Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-11-11T22:04:21Z derrida joined #sbcl 2015-11-11T22:04:51Z derrida: Does sbcl provide a way to communicate with serial devices? 2015-11-11T22:05:04Z stassats`: just open the device file 2015-11-11T22:05:45Z nyef: derrida: Yes, but you might have trouble if you're planning to use SB-POSIX termios functions on a BSD host. 2015-11-11T22:05:55Z stassats`: sprinkle some sb-posix:ioctl 2015-11-11T22:06:36Z nyef: derrida: What sort of device are you trying to communicate with, anyway? 2015-11-11T22:06:58Z stassats`: found some code for i used for controlling a TV 2015-11-11T22:07:07Z derrida: pen plotters :) 2015-11-11T22:07:12Z nyef: Ooh. 2015-11-11T22:07:15Z stassats`: it's just (format stream ...) 2015-11-11T22:07:20Z ASau joined #sbcl 2015-11-11T22:07:37Z nyef: I've got some code that I was lashing together to talk to an Arduino-based FlashROM programmer. 2015-11-11T22:08:40Z derrida: I'm working on a library that compiles CL to HPGL (or RDGL/DXYGL/GPGL) and then communicates it to the plotters. I've been handling the communication with stty but I'd like to move everything to lisp. 2015-11-11T22:09:38Z p_l: derrida: you will likely need some form of groveller 2015-11-11T22:11:07Z derrida: p_l: hm, for what? 2015-11-11T22:12:07Z derrida: nyef: I need to support osx to start (would like to support all platforms eventually) 2015-11-11T22:12:09Z nyef: So, you're looking to set baud rates and the like? 2015-11-11T22:12:23Z p_l: if you want to do it fully from CL, you'll need information regarding IOCTL numbers and the like 2015-11-11T22:12:24Z nyef: I have no idea how well OSX will work with this, TBH. 2015-11-11T22:12:34Z nyef: p_l: What the deuce are you talking about? 2015-11-11T22:12:49Z derrida: I have about 10 plotters and they actually all operate at 9600 2015-11-11T22:13:53Z p_l: nyef: IIRC, there's no guarantee that serial ports (as opposed to terminals) will have standardized setup method... 2015-11-11T22:14:19Z nyef: p_l: That's part of what termios is FOR. 2015-11-11T22:14:52Z nyef: derrida: Do you need 8-bit clean connections with no line-end mangling? 2015-11-11T22:15:58Z p_l: nyef: ... right 2015-11-11T22:17:25Z nyef: Now, some line control stuff (such as frobbing the DTR line) tends to require IOCTL, but basic setup typically just needs a working termios. 2015-11-11T22:17:54Z nyef: But I don't know if OSX falls into the known hole in SB-POSIX termios support. 2015-11-11T22:17:56Z p_l: nyef: I forgot that termios also had basic line setup embedded 2015-11-11T22:29:47Z derrida: nyef: honestly, not completely sure, I have documentation on the protocols here so I'm reading into it. 2015-11-11T22:31:01Z nyef: Hrm... Damn. The simple thing still leads to the compiler using move-from-signed. WTF? 2015-11-11T22:31:05Z derrida: i stumbled on this while googling for sb-posix:ioctl (which I can't seem to find in the sbcl manual) 2015-11-11T22:31:12Z derrida: https://github.com/shamazmazum/cl-serial 2015-11-11T22:32:39Z derrida: some of the plotter languages allow you to use semicolons to terminate commands, in those cases commands can all be sent in a single line 2015-11-11T22:33:02Z nyef: ... Relies on SB-POSIX. 2015-11-11T22:33:09Z derrida: yeah 2015-11-11T22:35:36Z nyef: derrida: http://paste.lisp.org/display/159087 might be of some small help. 2015-11-11T22:36:17Z stassats`: sb-unix, even worse 2015-11-11T22:36:34Z nyef: derrida: You may wish to start with a test that opens the serial device, does a tcgetattr and a cfgetospeed, and see if it produces a sane result. 2015-11-11T22:37:04Z derrida: nyef: thank you. looking now, have you had any luck communicating with an arduino? 2015-11-11T22:37:26Z clique quit (Ping timeout: 240 seconds) 2015-11-11T22:37:51Z nyef: Yes, and this is the file that got me away from using stty to set the serial parameters before starting my test program. 2015-11-11T22:38:25Z derrida: will test now 2015-11-11T22:39:43Z scymtym_ joined #sbcl 2015-11-11T22:40:04Z nyef: You'll need a recent SBCL for this either way, but it may turn out that OSX is still broken for termios. 2015-11-11T22:41:14Z derrida: I'm on 1.3.0 2015-11-11T22:41:44Z pepol quit (Ping timeout: 276 seconds) 2015-11-11T22:48:43Z pepol joined #sbcl 2015-11-11T22:58:30Z nyef: That has the initial termios fix. 2015-11-11T23:17:07Z ASau quit (Remote host closed the connection) 2015-11-11T23:17:32Z ASau joined #sbcl 2015-11-11T23:45:58Z nikki93 quit (Remote host closed the connection) 2015-11-11T23:48:43Z csziacobus joined #sbcl 2015-11-11T23:51:19Z csziacobus quit (Client Quit) 2015-11-11T23:56:00Z nikki93 joined #sbcl 2015-11-12T00:05:07Z zacts joined #sbcl 2015-11-12T00:11:26Z psy_ quit (Ping timeout: 276 seconds) 2015-11-12T00:32:24Z csziacobus joined #sbcl 2015-11-12T00:41:21Z gabriel_laddel joined #sbcl 2015-11-12T00:42:39Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-12T00:55:40Z gabriel_laddel quit (Remote host closed the connection) 2015-11-12T00:55:50Z dougk2 joined #sbcl 2015-11-12T00:57:10Z attila_lendvai joined #sbcl 2015-11-12T01:40:08Z dougk_: it would be nice if not all builtin print-object methods claimed to be from the file 'force-delayed-defbangmethods'. I wonder how to achieve that. 2015-11-12T01:40:20Z dougk_: exit 2015-11-12T01:40:42Z scymtym_ quit (Ping timeout: 260 seconds) 2015-11-12T01:43:40Z csziacobus: cross-compile clos? 2015-11-12T01:43:55Z dougk_: aside from that obvious way... 2015-11-12T01:44:09Z nyef: Record the original source location, and patch it in after the fact? 2015-11-12T01:44:16Z dougk_: nyef: yah, i think so 2015-11-12T01:45:36Z nyef wonders if he's looking at a case of unsigned-32 being a subtype of signed-64, and signed-64 conversion somehow taking priority over unsigned-64... 2015-11-12T01:46:18Z nyef: Obvious initial test case: use unsigned-64 to begin with. 2015-11-12T01:46:37Z attila_lendvai quit (Remote host closed the connection) 2015-11-12T01:47:39Z nyef: Yes! That's a MOVE-FROM-UNSIGNED right there. Beautiful! 2015-11-12T01:48:17Z nyef: Okay, that's rather a relief to figure out. 2015-11-12T01:49:12Z stassats`: dougk_: i think i did something for some built-in methods 2015-11-12T01:49:19Z stassats`: which methods, and what, though, don't remember 2015-11-12T01:50:45Z stassats`: https://github.com/sbcl/sbcl/commit/7286e2ea5daeba48d4cfe74479aca81b88587855 2015-11-12T01:51:42Z stassats`: dougk_: that actually still works for me 2015-11-12T01:54:07Z attila_lendvai joined #sbcl 2015-11-12T02:10:12Z dougk2_ joined #sbcl 2015-11-12T02:11:35Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-12T02:26:34Z stassats` quit (Ping timeout: 260 seconds) 2015-11-12T02:29:03Z adhoc joined #sbcl 2015-11-12T02:47:26Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-12T03:01:46Z dougk2_ quit (Ping timeout: 240 seconds) 2015-11-12T03:03:44Z dougk2 joined #sbcl 2015-11-12T03:12:27Z foom quit (Ping timeout: 246 seconds) 2015-11-12T03:17:39Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-12T03:19:23Z dougk2 joined #sbcl 2015-11-12T03:20:04Z eschatologist joined #sbcl 2015-11-12T03:25:38Z foom joined #sbcl 2015-11-12T04:01:05Z csziacobus quit (Quit: csziacobus) 2015-11-12T04:12:11Z dougk2 quit (Ping timeout: 264 seconds) 2015-11-12T04:20:00Z eschatologist quit (Quit: Textual IRC Client: www.textualapp.com) 2015-11-12T04:22:57Z dougk2 joined #sbcl 2015-11-12T04:49:01Z psy joined #sbcl 2015-11-12T04:49:29Z psy quit (Max SendQ exceeded) 2015-11-12T04:50:01Z psy joined #sbcl 2015-11-12T05:00:23Z nikki93 quit (Remote host closed the connection) 2015-11-12T05:08:35Z foom quit (Ping timeout: 240 seconds) 2015-11-12T05:08:55Z dougk_ quit (Ping timeout: 240 seconds) 2015-11-12T05:17:56Z foom joined #sbcl 2015-11-12T05:18:09Z dougk_ joined #sbcl 2015-11-12T05:24:22Z psy quit (Disconnected by services) 2015-11-12T05:24:50Z psy_ joined #sbcl 2015-11-12T05:34:03Z lnostdal_ joined #sbcl 2015-11-12T05:37:31Z lnostdal quit (Ping timeout: 252 seconds) 2015-11-12T05:38:47Z akkad quit (Excess Flood) 2015-11-12T05:43:28Z akkad joined #sbcl 2015-11-12T05:44:51Z psy_ quit (Ping timeout: 252 seconds) 2015-11-12T05:45:06Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-12T06:10:02Z adhoc quit (Ping timeout: 250 seconds) 2015-11-12T06:17:07Z adhoc joined #sbcl 2015-11-12T06:49:57Z Shinmera joined #sbcl 2015-11-12T06:59:55Z emartenson__ joined #sbcl 2015-11-12T07:00:29Z emartenson__ is now known as loke__ 2015-11-12T07:01:11Z loke__ quit (Client Quit) 2015-11-12T07:09:12Z akkad quit (Excess Flood) 2015-11-12T07:17:22Z psy_ joined #sbcl 2015-11-12T07:17:48Z psy_ quit (Max SendQ exceeded) 2015-11-12T07:18:28Z akkad joined #sbcl 2015-11-12T07:18:39Z psy_ joined #sbcl 2015-11-12T07:18:49Z psy_ quit (Read error: Connection reset by peer) 2015-11-12T07:19:10Z psy_ joined #sbcl 2015-11-12T07:24:19Z psy_ quit (Ping timeout: 240 seconds) 2015-11-12T07:52:35Z gingerale joined #sbcl 2015-11-12T08:03:51Z ASau quit (Remote host closed the connection) 2015-11-12T08:04:25Z ASau joined #sbcl 2015-11-12T08:22:33Z nikki93 joined #sbcl 2015-11-12T08:34:19Z DeadTrickster_ joined #sbcl 2015-11-12T08:40:51Z psy_ joined #sbcl 2015-11-12T08:49:13Z attila_lendvai joined #sbcl 2015-11-12T08:51:40Z nikki93 quit (Ping timeout: 250 seconds) 2015-11-12T08:53:09Z nikki93 joined #sbcl 2015-11-12T09:06:50Z ASau quit (Ping timeout: 250 seconds) 2015-11-12T09:16:58Z scymtym: new test failure on x86 with --with-sb-fasteval and tests running with --evaluator-mode interpret: https://ci.cor-lab.org/job/sbcl-master/1303/featureset=8,label=ubuntu_trusty_32bit/consoleFull (search for "The function SB-KERNEL:%RAW-INSTANCE-CAS/WORD is undefined.") 2015-11-12T09:20:44Z scymtym: another one on x86{,_64} with --with-sb-fasteval and tests running with --evaluator-mode interpret: https://ci.cor-lab.org/job/sbcl-master/1304/featureset=8,label=ubuntu_trusty_{32,64}bit/consoleFull search for "fatal error encountered in SBCL" 2015-11-12T09:48:55Z nikki93 quit (Remote host closed the connection) 2015-11-12T09:57:06Z nikki93 joined #sbcl 2015-11-12T10:03:49Z nikki93 quit (Remote host closed the connection) 2015-11-12T11:02:23Z Cymew joined #sbcl 2015-11-12T11:35:16Z DeadTrickster_ quit (Ping timeout: 240 seconds) 2015-11-12T11:59:19Z zacts quit (Read error: Connection reset by peer) 2015-11-12T12:00:26Z zacts joined #sbcl 2015-11-12T12:02:24Z adhoc quit (Ping timeout: 272 seconds) 2015-11-12T12:02:54Z adhoc joined #sbcl 2015-11-12T12:04:39Z Cymew quit (Ping timeout: 244 seconds) 2015-11-12T12:28:19Z stassats` joined #sbcl 2015-11-12T12:41:26Z DeadTrickster: stassats`, can patch that makes :exit restart available in toplevel repl be accepted? 2015-11-12T12:41:40Z dougk2 joined #sbcl 2015-11-12T12:41:55Z DeadTrickster: it looks fairly straightforward 2015-11-12T12:42:26Z stassats`: not if you don't show it 2015-11-12T13:13:10Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-12T13:13:23Z yvm quit (Ping timeout: 276 seconds) 2015-11-12T13:14:25Z yvm joined #sbcl 2015-11-12T13:22:54Z shucao joined #sbcl 2015-11-12T13:24:52Z shucao quit (Remote host closed the connection) 2015-11-12T13:26:18Z Cymew joined #sbcl 2015-11-12T13:35:39Z adhoc quit (Ping timeout: 240 seconds) 2015-11-12T13:47:40Z eudoxia joined #sbcl 2015-11-12T13:56:57Z DeadTrickster: toplevel. loaded before error.lisp and I can't test condition type (can't open-code test of unknown type INTERACTIVE-INTERRUPT) 2015-11-12T14:01:23Z DeadTrickster: here is the diff http://pastebin.com/gz9qhEqT 2015-11-12T14:03:44Z stassats`: a) why are you testing for interactive-interrupt? b) why not reuse the previous EXIT restart? 2015-11-12T14:04:46Z stassats`: besides, it comes from sb-sys, SB-SYS:INTERACTIVE-INTERRUPT 2015-11-12T14:05:17Z DeadTrickster: a) I don't want to show it for other signals like unbound variable 2015-11-12T14:05:31Z stassats`: the reason being? 2015-11-12T14:06:45Z DeadTrickster: it looks unrealted :-) 2015-11-12T14:07:19Z DeadTrickster: btw ultimate goal is to automatically execute (exit on second Ctrl-C 2015-11-12T14:07:53Z stassats`: that's not going to fly 2015-11-12T14:07:57Z DeadTrickster: b) I'm confused with (not script) test 2015-11-12T14:09:08Z abbe: hi, on SBCL 1.3.0, when I create a bivalent stream via (sb-bsd-sockets:socket-make-stream .. :element-type :default), I'm able to (write-sequence #(5 1 0) ...), but not (write-sequence '(5 1 0) ...) 2015-11-12T14:09:26Z DeadTrickster: stassats`, why it comes from sb-sys? I see (in-package "SB!KERNEL") on top of error.lisp. magic? 2015-11-12T14:09:27Z abbe: I get this error: The value 5 is not of type CHARACTER. (TYPE-ERROR) 2015-11-12T14:09:55Z abbe: In #lisp, someone pointed out that this is unexpected/buggy behaviour 2015-11-12T14:10:11Z stassats`: DeadTrickster: uhm, no, in-package doesn't really govern where symbols come from 2015-11-12T14:11:14Z stassats`: abbe: ok, but how does it tell if the list contains characters or bytes? 2015-11-12T14:11:31Z stassats`: abbe: vectors have specialization, lists don't 2015-11-12T14:12:00Z abbe: yes, that's what I thought too, as never seen list qualified with a type 2015-11-12T14:12:10Z abbe: scymtym: ^ 2015-11-12T14:12:24Z DeadTrickster: ) 2015-11-12T14:12:51Z stassats`: abbe: it only can do (mapc #'write-byte list), but you can do it yourself 2015-11-12T14:13:15Z abbe: so it just assumes that list contains characters 2015-11-12T14:13:30Z DeadTrickster: stassats`, still getting SB-SYS:INTERACTIVE-INTERRUPT clearly this is loading order problem 2015-11-12T14:13:45Z stassats`: DeadTrickster: well, it's the same symbol 2015-11-12T14:14:37Z DeadTrickster: toplevel.lisp way before error.lisp in build-order.lisp-expr 2015-11-12T14:15:17Z stassats`: i don't see the value of checking for INTERACTIVE-INTERRUPT 2015-11-12T14:15:26Z stassats`: either you add EXIT for all errors or you don't 2015-11-12T14:16:14Z DeadTrickster: ok, why you think second Ctrl-C automation will not fly? 2015-11-12T14:16:28Z stassats`: because i don't like it 2015-11-12T14:16:30Z abbe: looks when it's list, it does: (stream-element-type stream) and gets 'CHARACTER, and then expects list to be of type character 2015-11-12T14:16:34Z DeadTrickster: lol 2015-11-12T14:16:45Z stassats`: why would it exit? 2015-11-12T14:16:53Z abbe: thanks! 2015-11-12T14:17:17Z DeadTrickster: stassats`, because of deeply hide invoke-debugger magic 2015-11-12T14:17:21Z DeadTrickster: hidden 2015-11-12T14:18:53Z stassats`: abbe: well, it can be made to just do (mapc #'write-byte list), but there's little point in write-sequence on lists anyway 2015-11-12T14:18:55Z stassats`: performance wise 2015-11-12T14:19:32Z abbe: okay 2015-11-12T14:19:34Z scymtym: abbe, stassats`: i think it is allowed by the spec. i'm trying to come up with something 2015-11-12T14:19:42Z stassats`: but the case of '(1 #\a) would be quite confusing 2015-11-12T14:20:21Z stassats`: hm, just wait a minute 2015-11-12T14:20:28Z scymtym: stassats`: sure, but #(1 #\a) on bivalent already works if i'm not mistaken 2015-11-12T14:20:36Z abbe: https://github.com/sbcl/sbcl/blob/master/src/code/stream.lisp#L2112 https://github.com/sbcl/sbcl/blob/master/src/code/stream.lisp#L2135 2015-11-12T14:20:39Z stassats`: scymtym: that's what i just discovered 2015-11-12T14:20:46Z abbe: maybe it's indeed a bug? 2015-11-12T14:21:18Z stassats`: if it does that for vectors, then it's a fair game to do it for lists 2015-11-12T14:21:22Z abbe: it works in vector, because in vector a check for element of being of type 'character' happen 2015-11-12T14:21:25Z scymtym: imo there are three cases for each sequence type 1) write bytes 2) write characters 3) mixed 2015-11-12T14:21:58Z scymtym: ruling out mixed based sequence element type and stream element type is what we try for performance 2015-11-12T14:22:13Z scymtym: well in case of vectors and strings there are also bulk writes 2015-11-12T14:22:39Z scymtym: s/based/based on/ 2015-11-12T14:22:59Z scymtym: i'll try to paste a patch later 2015-11-12T14:23:27Z scymtym: and add support for generic sequences in a second patch :) 2015-11-12T14:24:36Z stassats`: it should use ansi-stream-write-string, not %write-string 2015-11-12T14:24:51Z scymtym: ok, changing that as well 2015-11-12T14:26:30Z stassats`: it also shouldn't dispatch on non-bivalent streams 2015-11-12T14:26:51Z scymtym: yes, i'm already adding that 2015-11-12T14:27:14Z scymtym: or rather, sometimes we can rule out bivalent streams 2015-11-12T14:27:41Z scymtym: i.e. (when (fd-stream-p s) (not (fd-stream-bivalent-p s))) 2015-11-12T14:29:21Z stassats`: rather, (and fd-stream-p fd-stream-bivalent-p) 2015-11-12T14:29:37Z stassats`: only that should dispatch 2015-11-12T14:30:09Z stassats`: if there are bivalent streams outside of fd-stream, then bivalent-p should be moved up 2015-11-12T14:31:18Z stassats`: clhs two-way-stream 2015-11-12T14:31:18Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/t_two_wa.htm 2015-11-12T14:31:19Z DeadTrickster: stassats`, http://pastebin.com/aBWjCSji looks better? 2015-11-12T14:31:37Z stassats`: two-way-stream are "bivalent" 2015-11-12T14:31:43Z DeadTrickster: at least this builds 2015-11-12T14:31:46Z stassats`: but what happens when the underlying streams are not? 2015-11-12T14:32:04Z stassats`: what happens when one is of one kind, another of another? 2015-11-12T14:33:16Z stassats`: what about ansi-stream-read-sequence? 2015-11-12T14:33:17Z scymtym: yes, if we had stream-bivalent-p, we wouldn't have to be conservative; that would be better 2015-11-12T14:34:56Z stassats`: ansi-stream-read-sequence and ansi-stream-write-sequence share a lot of code 2015-11-12T14:37:01Z stassats`: ok, let's pace ourselves 2015-11-12T14:39:22Z stassats`: oh, it should be ansi-stream-element-type, not stream-element-type 2015-11-12T14:39:56Z scymtym: stassats`: at the moment i'm aiming for 3-4 changes: 1) %write-string -> ansi-stream-write-string, {ansi -> }-stream-element-type 2) rewrite ansi-stream-write-sequence's bivalent, stream-element-type and sequence-element-type dispatch, fixing abbe's bug, add tests 3) add a case for generic sequences 4) maybe do the same for ansi-stream-read-sequence 2015-11-12T14:40:59Z stassats`: for read-sequence on bivalent streams, of which kind do you want your lists or T arrays filled? 2015-11-12T14:43:50Z scymtym: haven't thought about READ-SEQUENCE, tbh. but some of the improvements should still apply there as well 2015-11-12T14:45:05Z dougk2 joined #sbcl 2015-11-12T14:48:53Z nzambe joined #sbcl 2015-11-12T14:49:20Z scymtym: i have to get back to day job. here is what i have so far: http://paste.lisp.org/display/159256 2015-11-12T14:52:29Z attila_lendvai: I'd go with bytes, because in case of going with character external format processing may error 2015-11-12T14:58:35Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-12T15:32:59Z Cymew quit (Ping timeout: 252 seconds) 2015-11-12T15:57:40Z irsol quit (Ping timeout: 244 seconds) 2015-11-12T15:58:40Z Cymew joined #sbcl 2015-11-12T15:59:44Z irsol joined #sbcl 2015-11-12T16:16:14Z dougk2 joined #sbcl 2015-11-12T16:24:18Z chu quit (Ping timeout: 265 seconds) 2015-11-12T16:25:45Z chu joined #sbcl 2015-11-12T16:26:55Z Cymew quit (Remote host closed the connection) 2015-11-12T16:27:21Z Cymew joined #sbcl 2015-11-12T16:40:15Z Cymew quit (Read error: Connection reset by peer) 2015-11-12T17:07:54Z fitzsim quit (Ping timeout: 246 seconds) 2015-11-12T17:08:46Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-12T17:22:55Z attila_lendvai joined #sbcl 2015-11-12T17:22:55Z attila_lendvai quit (Changing host) 2015-11-12T17:22:55Z attila_lendvai joined #sbcl 2015-11-12T17:44:19Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-12T18:17:02Z dougk2 joined #sbcl 2015-11-12T18:20:25Z DeadTrickster_ joined #sbcl 2015-11-12T18:27:27Z nyef: http://paste.lisp.org/display/158438#6 <-- Okay, why isn't the LOGAND bit of the :naturalize-gen method firing? 2015-11-12T18:27:57Z nyef: Also, what the deuce is up with that control flow? 2015-11-12T18:38:46Z nyef: Lovely. The control flow issue is separate from the alien-funcall integer result issue. 2015-11-12T18:44:16Z scymtym_ joined #sbcl 2015-11-12T19:00:36Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-12T19:01:06Z eudoxia quit (Quit: Leaving) 2015-11-12T19:21:53Z nyef sighs. 2015-11-12T19:22:08Z nyef: Why is the foreign.test.sh code set up to continually retry failing assertions? 2015-11-12T19:24:16Z nyef: Better question, why is the "Retry assertion." restart named CONTINUE ? 2015-11-12T19:40:46Z Xof: that's what the standard says 2015-11-12T19:41:36Z nyef: clhs assert 2015-11-12T19:41:36Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_assert.htm 2015-11-12T19:42:30Z nyef: Hunh. Okay, so foreign.test.sh is being stupid. 2015-11-12T19:43:31Z nyef: ... Someone else can deal with that. 2015-11-12T19:44:15Z nyef: Ahh... I think I just found my bug! Yet another bloody n-word-bits vs. n-machine-word-bits botch. 2015-11-12T19:44:39Z stassats`: huh, running threads.test.sh on arm64 2015-11-12T19:44:48Z stassats`: subr.sh: line 138: 19082 Killed 2015-11-12T19:44:54Z stassats`: "All tests succeeded" 2015-11-12T19:45:26Z stassats`: it actually tries to kill it 2015-11-12T19:45:34Z stassats`: but there's no "Killed" message on x86-64 2015-11-12T19:47:50Z stassats`: i guess that's what it supposed to do, weird, weird 2015-11-12T19:53:03Z DeadTrickster: how much memory needs sbcl on arm? will 64mb be enough? 2015-11-12T19:53:12Z DeadTrickster: or it's a joke? 2015-11-12T20:15:48Z prxq joined #sbcl 2015-11-12T20:20:23Z dougk2 joined #sbcl 2015-11-12T20:20:35Z stassats`: oh hell, there's no defmacro-mundanely in the runtime anymore? 2015-11-12T20:21:17Z stassats`: i should resurrect my #+sb-devel patch, otherwise this is infuriating 2015-11-12T20:29:26Z jlarocco quit (Quit: Leaving) 2015-11-12T20:35:48Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-12T20:36:21Z dougk2 joined #sbcl 2015-11-12T20:52:39Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-12T20:57:13Z nyef: Okay, finally, looks like alien-funcall is working properly at last! 2015-11-12T21:08:22Z csziacobus joined #sbcl 2015-11-12T21:09:07Z dougk2 joined #sbcl 2015-11-12T21:18:42Z karswell quit (Read error: Connection reset by peer) 2015-11-12T21:18:43Z Bicyclidine joined #sbcl 2015-11-12T21:18:58Z karswell joined #sbcl 2015-11-12T21:22:06Z flavioc joined #sbcl 2015-11-12T21:42:49Z dougk_: stassats`: i'll put defmacro-mundanely into 'chill'. Will that be adequate? 2015-11-12T21:43:27Z stassats`: dougk_: that's just one thing, there's many more that on the one hand are good to get rid of, on the other, slow down development 2015-11-12T21:44:21Z stassats`: i want make a switch to get rid of all the eval-when (:compile-toplevel) and of symbol expunging 2015-11-12T21:46:26Z dougk_: stassats`: conditioned on #!+sb-devel seems like a fine idea. 2015-11-12T21:47:16Z stassats`: though all the eval-when :compile-toplevel need to be converted to a macro first 2015-11-12T21:47:20Z dougk_: stassats`: mips build gets 'undefined reference to clear_pseudo_atomic_atomic' for me. Know anything about it? 2015-11-12T21:48:13Z stassats`: that's cheneygc, let me build on ppc with cheneygc and fix it 2015-11-12T21:48:55Z stassats`: the pseudo-atomic split in the runtime is annoying 2015-11-12T21:51:38Z stassats`: oh hey, i first hit 'struct layout' has no member named 'n_untagged_slots' 2015-11-12T21:55:13Z nyef: ... Have you been breaking my MIPS stuff already? 2015-11-12T21:55:41Z stassats`: i'll fix the clear_pseudo_atomic_atomic thing provisionally 2015-11-12T21:55:55Z stassats`: and will leave interleaved slots broken 2015-11-12T21:56:06Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-12T21:57:44Z stassats`: there are twenty five different ways to set and query PA 2015-11-12T21:59:08Z nyef: Every backend gets to make its own special PA mechanism. (-: 2015-11-12T21:59:56Z stassats`: then there is pseudo_atomic.h, and then there are arch_pseudo_atomic_* 2015-11-12T22:00:08Z stassats`: ppc has two different PAs 2015-11-12T22:00:12Z stassats`: it's a bloody mess 2015-11-12T22:00:23Z nyef: Right, the lisp PA and the C PA. 2015-11-12T22:01:10Z stassats`: and there is no arch_clear_pseudo_atomic_atomic, just arch_clear_pseudo_atomic_interrupted 2015-11-12T22:01:40Z nyef: Do we even use PA in the runtime anymore? 2015-11-12T22:01:59Z stassats`: yeah 2015-11-12T22:02:02Z nyef: Damn. 2015-11-12T22:03:09Z stassats`: alloc_code_object does 2015-11-12T22:03:15Z stassats`: even though it doesn't need atomicity 2015-11-12T22:03:47Z prxq quit (Remote host closed the connection) 2015-11-12T22:07:41Z stassats`: and how well does C ensure that those PA setting/clearing things are not reordered/otherwise mutilated? 2015-11-12T22:10:40Z stassats`: dougk_: mips should build now 2015-11-12T22:10:49Z stassats`: dougk_: but purify is broken on interleaved_slots 2015-11-12T22:15:46Z dougk_: stassats`: could we disallow ':pure t' if any slots are raw, would that fix it? 2015-11-12T22:17:04Z dougk_: stassats`: in fact isn't it already broken for trailing raw slots? it calls ptrans_boxed on the whole thing. 2015-11-12T22:17:13Z stassats`: don't think so 2015-11-12T22:17:27Z dougk_: don't think so which. wouldn't fix it, or isn't already broken? 2015-11-12T22:17:32Z stassats`: it got broken in scavenge, not translate now 2015-11-12T22:18:04Z dougk_: s/translate/transport/ ? 2015-11-12T22:18:31Z tdc joined #sbcl 2015-11-12T22:18:32Z stassats`: whichever you prefer 2015-11-12T22:18:56Z nyef: Hrm. sb-gmp and sb-mpfr still fail their tests. /-: 2015-11-12T22:19:28Z tdc quit (Client Quit) 2015-11-12T22:19:46Z nyef: dougk_: What are you using for a MIPS system, btw? 2015-11-12T22:20:03Z dougk_: nyef: qemu 2015-11-12T22:20:06Z nyef: Ah. 2015-11-12T22:24:33Z nyef: Kicking off a full MIPS build now. 2015-11-12T22:25:02Z stassats`: do x86oids use the alien stack allocated in the thread structure? 2015-11-12T22:25:20Z nyef: stassats`: I believe so, with the exception of Win32. 2015-11-12T22:25:31Z stassats`: what for? 2015-11-12T22:25:49Z nyef: Hrm. Okay, maybe not. 2015-11-12T22:25:56Z nyef: I have no idea? 2015-11-12T22:26:27Z stassats`: i see alloc-alien-stack-space 2015-11-12T22:26:58Z stassats`: so, for local aliens? 2015-11-12T22:28:17Z stassats`: ok then, do non-x86oids use it? 2015-11-12T22:29:03Z nyef: Maybe? Look for any of them switching the C stack pointer out. 2015-11-12T22:29:49Z stassats`: ok, there is pthread_attr_setstsack 2015-11-12T22:30:09Z stassats`: so, the alien stack is only use for aliens on x86oids 2015-11-12T22:30:19Z stassats`: and is the number stack on nonx86ods 2015-11-12T22:32:22Z stassats`: also call_into_lisp_first_time on x86oids 2015-11-12T22:33:00Z nikki93 joined #sbcl 2015-11-12T22:34:35Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-12T22:35:27Z stassats`: ok, i'll ignore pseudo_atomic stuff as long as it works 2015-11-12T22:35:30Z dougk2 joined #sbcl 2015-11-12T22:36:24Z stassats`: i wonder how i will convince build-order.lisp-expr to load the same files on ppc64 as on ppc 2015-11-12T22:37:34Z stassats`: stemp-remp-target seems easy enough, ok 2015-11-12T22:37:34Z nikki93 quit (Ping timeout: 260 seconds) 2015-11-12T22:40:50Z stassats`: wanted to get wired-tls bind for arm64, but didn't really like that much of the work is done by the vops 2015-11-12T22:41:00Z stassats`: and it has to write the tls index back 2015-11-12T22:42:36Z stassats`: if i want number-stack dx allocation, it would have to perform stack analysis too? 2015-11-12T22:42:43Z stassats`: or cause it's not a control stack it'd be easier? 2015-11-12T22:43:35Z nyef: I have no idea, actually. 2015-11-12T22:44:51Z stassats`: not sure what to tackle on arm64 next, something which doesn't involve rewriting things or introducing new complications 2015-11-12T22:45:00Z stassats`: complex-float vops? 2015-11-12T22:46:04Z stassats`: and sb-simd-pack 2015-11-12T22:46:13Z stassats`: the only missing features 2015-11-12T22:48:32Z stassats`: i guess i should just to continue that "don't issue code for ignore &optional and &key/&rest variables" 2015-11-12T22:48:46Z stassats`: should be a win 2015-11-12T22:50:37Z stassats`: would be great for (defun foo (&rest args) (apply #'bar args)) not to touch arguments at all 2015-11-12T22:51:06Z nyef: Oh, fun. Well, I get a partial explanation for why things go wonky when loading sb-gmp. 2015-11-12T22:54:50Z edgar-rft quit (Quit: edgar-rft) 2015-11-12T22:56:20Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-11-12T23:01:11Z nyef: Setting *gmp-disabled* gets me a little further, but it dies in the compiler, of a division-by-zero, trying to compile test-n-cases. 2015-11-12T23:02:19Z gingerale quit (Remote host closed the connection) 2015-11-12T23:11:22Z nyef: Okay, managed to run the sb-gmp tests. Had to invoke (sb-rt:uninstall-gmp-funs) before loading the tests. 2015-11-12T23:36:38Z nyef: MIPS build of "1.3.0.112-e5627ed" is clean, no failed contribs. Starting the test suite now. 2015-11-12T23:41:57Z stassats`: when i write my own compiler i'll just support x86-64 and arm64 and won't bother with slow or inaccessible targets 2015-11-12T23:42:34Z nyef: Sure, you say that now, but if there's another CPU architecture renaissance then you'll be in the same place again. d-: 2015-11-12T23:43:29Z stassats`: at least they'll be accessible 2015-11-12T23:43:38Z stassats`: the problem is the divergence and crufty code 2015-11-12T23:43:54Z stassats`: and difficulty of porting 2015-11-12T23:44:21Z stassats`: that's why i haven't started writing my own compiler, i'm learning all the mistakes sbcl did 2015-11-12T23:44:27Z nyef: Yes, one reason why I'm trying to blow the rust off of these old backends. 2015-11-12T23:50:39Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-12T23:51:28Z ASau joined #sbcl 2015-11-12T23:51:51Z stassats`: if you also got rid of all those architecture #ifdefs and #+ 2015-11-12T23:52:01Z stassats`: that would've been great 2015-11-12T23:53:27Z nyef: I'm working on it. 2015-11-12T23:53:40Z nyef: Already killed a few #!+alpha #!-alpha sets. 2015-11-12T23:56:05Z dougk2 joined #sbcl 2015-11-12T23:56:08Z nicdev` joined #sbcl 2015-11-12T23:56:42Z nicdev quit (Ping timeout: 246 seconds) 2015-11-13T00:01:21Z nyef: I think I'm going to let sb-gmp and sb-mpfr fend for themselves on alpha for a bit. 2015-11-13T00:01:33Z stassats`: i wonder if the set of VOPs could be greatly reduced 2015-11-13T00:01:53Z stassats`: like more primitive vops, load store, add, etc. 2015-11-13T00:03:04Z stassats`: and more specialzied vops only used for optimization 2015-11-13T00:04:31Z stassats`: plus a peep-hole pass, and the produced code would be no worse 2015-11-13T00:04:35Z stassats`: much better portability 2015-11-13T00:13:18Z nyef: Take some of the representation restrictions away from the VOP level, defining a somewhat more concrete abstract machine code, and then have a layer above that tying the representation selection to the more concrete abstract operations? 2015-11-13T00:14:34Z stassats`: yeah, even with the same architecture there are a ton of vops doing the same thing, signed, unsigned, immediate operands, etc. 2015-11-13T00:14:49Z stassats`: which could be automatically derived if it knew more about instructions 2015-11-13T00:15:38Z nyef: Could also possibly lead to some amount of automatic verification of semantics. 2015-11-13T00:17:08Z stassats`: i'm not quite sure that SBCL as it is has a future, ultimately 2015-11-13T00:17:24Z stassats`: changes like these would be quite difficult to pull off without upsetting things 2015-11-13T00:18:11Z nyef: In the long run, we're all dead. 2015-11-13T00:18:43Z nyef: But yeah, I'm starting to think about what's "next" in some way. 2015-11-13T00:22:07Z stassats`: SBCL could be modified if you know all the little corners 2015-11-13T00:22:45Z stassats`: which is a big ask 2015-11-13T00:24:02Z nyef: Indeed. We're constantly finding surprising things in various places. 2015-11-13T00:24:14Z stassats`: but i would like to get correctness upfront 2015-11-13T00:24:30Z nyef: MIPS test suite results... as expected. 2015-11-13T00:24:35Z stassats`: and debuggability, pliability 2015-11-13T00:24:45Z stassats`: only then performance 2015-11-13T00:25:18Z nyef: Yes, verified correctness as a fundamental approach. 2015-11-13T00:26:06Z stassats`: but worse is better 2015-11-13T00:26:21Z stassats`: so far it's the best thing we've got 2015-11-13T00:44:50Z nikki93 joined #sbcl 2015-11-13T00:48:58Z Bicyclidine quit (Quit: pause) 2015-11-13T00:52:31Z DeadTrickster_ quit (Ping timeout: 252 seconds) 2015-11-13T00:57:47Z flavioc quit (Ping timeout: 264 seconds) 2015-11-13T01:59:54Z scymtym_ quit (Ping timeout: 246 seconds) 2015-11-13T02:06:12Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-13T02:11:18Z dougk2 joined #sbcl 2015-11-13T02:24:35Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-13T02:25:15Z jozip quit (Ping timeout: 264 seconds) 2015-11-13T02:25:24Z reb`````` quit (Ping timeout: 264 seconds) 2015-11-13T02:26:08Z reb`````` joined #sbcl 2015-11-13T02:27:22Z jozip joined #sbcl 2015-11-13T02:32:33Z dougk2 joined #sbcl 2015-11-13T02:34:59Z reb`````` quit (Ping timeout: 264 seconds) 2015-11-13T02:35:30Z reb`````` joined #sbcl 2015-11-13T02:36:47Z jozip quit (Ping timeout: 264 seconds) 2015-11-13T02:37:11Z hzp quit (*.net *.split) 2015-11-13T02:37:11Z pchrist quit (*.net *.split) 2015-11-13T02:37:11Z carvite quit (*.net *.split) 2015-11-13T02:37:11Z fiddlerwoaroof quit (*.net *.split) 2015-11-13T02:43:00Z pchrist_ joined #sbcl 2015-11-13T02:43:33Z carvite_ joined #sbcl 2015-11-13T02:44:22Z jozip joined #sbcl 2015-11-13T02:44:22Z hzp joined #sbcl 2015-11-13T02:44:22Z pchrist joined #sbcl 2015-11-13T02:44:22Z carvite joined #sbcl 2015-11-13T02:44:22Z fiddlerwoaroof joined #sbcl 2015-11-13T02:44:31Z pchrist quit (Ping timeout: 264 seconds) 2015-11-13T02:44:31Z fiddlerwoaroof quit (Ping timeout: 264 seconds) 2015-11-13T02:44:31Z carvite quit (Remote host closed the connection) 2015-11-13T02:44:31Z carvite_ is now known as carvite 2015-11-13T02:45:18Z fiddlerwoaroof joined #sbcl 2015-11-13T02:45:53Z nikki93 quit (Remote host closed the connection) 2015-11-13T02:46:15Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-13T02:48:37Z dougk2 joined #sbcl 2015-11-13T03:01:59Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-13T03:18:55Z nyef: ... What's this #!+precise-arg-count-error thing? 2015-11-13T03:19:24Z stassats`: precise stack arguments 2015-11-13T03:19:29Z stassats`: and register arguments 2015-11-13T03:19:48Z nyef: Hrm. And Alpha does this? 2015-11-13T03:19:50Z stassats`: 48ca019191b2ff09c516228e4018ad2b31451d91 2015-11-13T03:21:49Z nyef: Ah. 2015-11-13T03:22:11Z nyef: Hrm. I wonder what would happen if I enabled this? 2015-11-13T03:22:21Z loke: hello 2015-11-13T03:23:24Z loke: I found an unexpected behaviour. I had a parameter declared as (type fixnum N). When I chaged that to: (type (and fixnum (integer 0)) N), the resulting code became slightly slower. 2015-11-13T03:23:38Z loke: I never expected to see that. 2015-11-13T03:24:00Z stassats`: i expect anything 2015-11-13T03:24:09Z stassats`: it's sbcl, it's silly 2015-11-13T03:25:17Z nyef: What is (integer 0) supposed to represent? 2015-11-13T03:25:24Z loke: stassats`: OK. If you're not surprised. Then I'm OK :-) 2015-11-13T03:25:37Z loke: nyef a positive integer 2015-11-13T03:25:42Z stassats`: unsigned-byte 2015-11-13T03:25:48Z stassats`: a non-negative integer 2015-11-13T03:25:49Z loke: so (and fixnum (integer 0)) indicates a positive fixnum 2015-11-13T03:26:44Z nyef: Ah. 2015-11-13T03:26:51Z nyef: Why not use unsigned-byte, then? 2015-11-13T03:28:11Z loke: nyef: Well, I could. Didn't think of it. That's beside the point though. My surprise was that _adding_ a constraint caused the generated code to be slower (by a few %) 2015-11-13T03:31:53Z Bike quit (Quit: leaving) 2015-11-13T03:32:16Z stassats`: a fixnum test is cheaper 2015-11-13T03:32:23Z stassats`: for one thing 2015-11-13T03:32:29Z stassats`: extremely marginally 2015-11-13T03:33:39Z loke: well, my test function is the typical slow-fibonaccy computation, so there's a LOT of functionc alls 2015-11-13T03:33:55Z loke: stassats`: You don't see that type check in the disassembly, right? 2015-11-13T03:34:15Z stassats`: by "you" you mean "me"? because _i_ see everything! 2015-11-13T03:34:24Z stassats`: it's in the XEP 2015-11-13T03:34:28Z loke: I mean, the output of DISASSEMBLE 2015-11-13T03:35:11Z stassats`: loke: use sb-disassem:disassemble-code-component 2015-11-13T03:37:25Z loke: OK, I have a similar test case. In the blow code, there is an inner type declaration of (UNSIGNED-BYTE 63). When I run (fib2 40) it runs in approx. 0.693 seconds. If I change the 63 to 62, then it runs in 0.715 seconds (on average). It's clearly because of the type checking because the output of DISASSEMBLE is identical (I haven't checked with sb-disassem:d-c-c yet) 2015-11-13T03:37:28Z loke: http://paste.lisp.org/display/159336 2015-11-13T03:38:10Z stassats`: i would call that marginal 2015-11-13T03:38:56Z nyef: Type checking? Seriously? UB63 can be a bignum, UB62 is FIXNUM. 2015-11-13T03:40:10Z loke: nyef: Exactly, so why is ub62 slower? 2015-11-13T03:40:41Z nyef: Less call to work in terms of unboxed machine words? 2015-11-13T03:40:42Z loke: Anyway, I'll follow stassats advice and use d-c-c 2015-11-13T03:41:26Z loke: But any guarantee that holds for ub63 must also hold for ub62. So to change a constraint from ub63 to ub62 should never reduce performance. 2015-11-13T03:42:06Z loke: At least in theory. I agree that the performance difference is minimal, and we're probably just hitting an edge-case in the compiler that shouldn't matter in real life. 2015-11-13T03:42:31Z loke: I just came across it, when playing around with optimisation levels and type declarations and found it interesting. 2015-11-13T03:42:47Z stassats`: protip: http://paste.lisp.org/display/159336#1 that's how i would declare types 2015-11-13T03:43:03Z nyef wonders if the BACKTRACE XEP errors he's been seeing are due to lack of precise-arg-count-error? 2015-11-13T03:43:57Z nyef tries the simple thing, building x86-64 --without-precise-arg-count-error. 2015-11-13T03:44:29Z stassats`: loke: unsigned-byte-63 code uses unsigned vops 2015-11-13T03:44:40Z stassats`: while the code is the same, it's arranged differently 2015-11-13T03:44:50Z loke: stassats`: Ah, I see. 2015-11-13T03:44:52Z stassats`: nyef: they did fail on ppc 2015-11-13T03:45:09Z nyef: Hrm. 2015-11-13T03:45:28Z stassats`: loke: a dependency or two prevent reordering 2015-11-13T03:45:41Z loke: stassats`: So in this case, it just happened such that there was a minimal difference. Could it even be that on different cpu types, you'd actually see different behaviour? 2015-11-13T03:46:03Z stassats`: anything is possible on different cpus 2015-11-13T03:46:06Z nyef: Umm... does arm64 have precise-arg-count-error in LTF _twice_? 2015-11-13T03:46:18Z stassats`: nyef: for a good measure 2015-11-13T03:46:25Z loke: stassats`: Does SBCL take the cpu model in account when generating code? 2015-11-13T03:46:33Z stassats`: loke: pff, of course not 2015-11-13T03:46:40Z nyef: PPC doesn't have precise-arg-count-error... 2015-11-13T03:47:00Z loke: stassats`: I didn't expect it to. I know Java does, but they do JIT compilation. 2015-11-13T03:47:24Z stassats`: loke: just look at that code 2015-11-13T03:47:33Z stassats`: does it look like it is optimized even for i486? 2015-11-13T03:47:55Z loke: stassats`: I don't know much about x86 code, but no. You are right that it doesn't look like it. 2015-11-13T03:48:14Z loke: My assembler skills are strongest for M68k and SPARC. :-) 2015-11-13T03:48:42Z nyef: loke: We could do with someone maintaining SPARC... And an M68k backend. (-: 2015-11-13T03:48:42Z loke: (those architechtures are actually sane :-) ) 2015-11-13T03:48:56Z loke: nyef: I thought the SPARC backend was dead? 2015-11-13T03:49:05Z stassats`: well, i'd take x86 any day, thanks 2015-11-13T03:49:12Z stassats`: delay slots? no thank you 2015-11-13T03:49:21Z nyef: The SPARC backend is one of the less-maintained backends, true. 2015-11-13T03:49:31Z loke: stassats`: Well, on SPARC the delay slots are very limited, and very specific. 2015-11-13T03:49:46Z nyef: And I'm aiming to make it the least-maintained backend in 1.3.1. 2015-11-13T03:50:03Z stassats`: the only thing most riscs got going for them are 32 registers 2015-11-13T03:50:05Z loke: nyef: I have to admit that I didn't even know the code was in there. 2015-11-13T03:50:10Z stassats`: that's where the advantages run out 2015-11-13T03:50:26Z loke: stassats`: What is your opinion on the register windows in SPARC? It's something I'm very fond of. 2015-11-13T03:50:40Z stassats`: haven't wrapped my head around it 2015-11-13T03:50:57Z loke: recursive function calls without using the stack, pretty neat imho :-) 2015-11-13T03:51:31Z stassats`: well, i know that you can't indefinitely do that 2015-11-13T03:51:55Z stassats`: you have to spill somewhere, so, i'm skeptical 2015-11-13T03:53:12Z loke: stassats`: That 2015-11-13T03:53:17Z loke: that's true of course. 2015-11-13T03:54:01Z loke: But you have a few hundred registers (translating to about 10+ levels before needing to spill 2015-11-13T03:54:16Z nyef: stassats`: Going back to the DX SAP thing, about the only idea I have is to have an array of SAP objects somewhere and allocate them using the same sort of mechanism as we use for *free-interrupt-context-index*. 2015-11-13T03:54:45Z stassats`: nyef: ok 2015-11-13T03:54:51Z stassats`: i see no other way either 2015-11-13T03:54:59Z nyef: Hrm. And backtrace.impure.lisp blows up because no sb-interpreter package? 2015-11-13T03:55:10Z stassats`: that was fixed recently 2015-11-13T03:55:12Z nyef: Oh. This tree is a few days old. 2015-11-13T03:56:25Z nyef: Looks like disabling that one feature doesn't cause the test to break on x86-64, though. 2015-11-13T03:56:32Z stassats`: i was contemplating about not using machine contexts for accessing registers, for signalless sbcl 2015-11-13T03:58:11Z stassats`: for the most painless sbcl.so integration 2015-11-13T04:00:21Z stassats`: software barriers, safepoints 2015-11-13T04:00:27Z stassats`: i wonder how slow that would be 2015-11-13T04:01:45Z stassats`: safepoints are not that slow, also eliminate the PA noise 2015-11-13T04:03:17Z stassats` connects to slime via two ssh tunnels 2015-11-13T04:07:25Z Bike joined #sbcl 2015-11-13T04:10:00Z stassats`: ha, checking for a FIXNUM allocate a bignum to tell that it's not a fixnum 2015-11-13T04:10:00Z stassats`: fun 2015-11-13T04:12:31Z nyef: I found a point in favor of a more generic pseudoinstruction layer between VOPs and INSTs: At the bottom of compiler/generic/type-error is VOP TYPE-CHECK-ERROR/C. This VOP has a FIXME comment that basically says "I wish we had an architecture-independent way to emit a jump". 2015-11-13T04:16:31Z nikki93 joined #sbcl 2015-11-13T04:19:47Z stassats`: oh, there's fixnump/unsigned-byte-64, but no check-fixnump/unsigned-byte-64 2015-11-13T04:20:29Z stassats`: why do we have check- vops, again? 2015-11-13T04:21:29Z stassats`: ok, i don't want to mindlessly copy-paste me a check-fixnum/unsigned-byte-64 vop 2015-11-13T04:21:39Z stassats`: let's figure how to get rid of check-fixnum altogether 2015-11-13T04:23:03Z nyef: Or how to use a macro to generate it? 2015-11-13T04:23:38Z stassats`: i don't wan to be repeating the process for arm64 2015-11-13T04:25:17Z stassats`: besides, removing code is always better 2015-11-13T04:27:15Z csziacobus quit (Quit: csziacobus) 2015-11-13T04:28:36Z stassats`: maybe the ppc trap-when-something are useful for this, but that's about it 2015-11-13T04:36:59Z stassats`: check... are used for converting casts 2015-11-13T04:37:22Z stassats`: so, non check-... variety of types are not casts? 2015-11-13T04:40:18Z karswell` joined #sbcl 2015-11-13T04:40:20Z dougk2 joined #sbcl 2015-11-13T04:41:34Z karswell quit (Read error: Connection reset by peer) 2015-11-13T04:43:24Z stassats`: i see it comes from generate-type-checks 2015-11-13T04:49:49Z ASau` joined #sbcl 2015-11-13T04:52:55Z ASau quit (Ping timeout: 240 seconds) 2015-11-13T04:53:01Z nikki93 quit (Read error: No route to host) 2015-11-13T04:53:31Z nikki93 joined #sbcl 2015-11-13T04:55:00Z stassats`: looks like i can remove a lot of code 2015-11-13T05:00:26Z nyef: ... Okay, just have to fix up compiler.pure.lisp / INTERR-TYPE-SPECIFIER-HASHING (easy), and the DX SAP thing, and rebase, and I'm pretty much done for the moment. sb-gmp and sb-mpfr are still broken, and sb-sprof is marginal, but otherwise things look to be in okay shape. 2015-11-13T05:01:19Z stassats`: generate-type-checks goes out of its way to generate "simple" type checks 2015-11-13T05:01:19Z nyef: Only features that mips has that alpha doesn't are stack-allocatable-vectors, alien-callbacks, and linkage-table. 2015-11-13T05:05:20Z nyef: ... I think I need a concept of a "word-sap" or "heap-sap" or something. Basically, something n-word-bits wide that happens to be an untagged pointer. 2015-11-13T05:05:54Z nyef: That alone should get rid of most of the #!+alpha damage in debug-int. 2015-11-13T05:08:23Z stassats`: no check-vops, survived cold init 2015-11-13T05:08:26Z stassats`: impressive 2015-11-13T05:09:31Z stassats`: (< (the fixnum (+ (the fixnum x) 20)) 4000) now produces sensible code 2015-11-13T05:09:53Z stassats`: without writing any new vops 2015-11-13T05:24:05Z stassats`: preliminary space savings: 192KB 2015-11-13T05:25:51Z stassats`: i have to rewire the comments, the most difficult task 2015-11-13T05:27:47Z dougk2 quit (Ping timeout: 265 seconds) 2015-11-13T05:27:58Z nyef: Heh. 2015-11-13T05:28:15Z nyef: Yeah, keeping documentation in sync can be tricky. 2015-11-13T05:28:37Z stassats`: i made the :hairy case :simple 2015-11-13T05:28:49Z stassats`: and left too-hairy to unshaven 2015-11-13T05:30:57Z nyef: ... Okay, alpha should be done enough tomorrow. That leaves me a week to a week and a half to try and get HPPA into some kind of shape... 2015-11-13T05:32:19Z lnostdal_ quit (Ping timeout: 240 seconds) 2015-11-13T05:33:35Z stassats`: i think i can remove even more 2015-11-13T05:34:08Z stassats`: so much code for and for what? more useless vops? 2015-11-13T05:34:40Z nyef: ... You aren't generating merge conflicts for me, are you? 2015-11-13T05:35:02Z stassats`: i have to remove some more code, so, not yet 2015-11-13T05:35:10Z stassats`: but i will modify target/type-vops.lisp 2015-11-13T05:35:19Z lnostdal_ joined #sbcl 2015-11-13T05:35:24Z stassats`: either way, i can wait for you 2015-11-13T05:35:45Z nyef: Thanks. 2015-11-13T05:36:12Z nyef: One of the things I'm doing is switching the error-call / generate-error-code interface to the newer style. 2015-11-13T05:36:15Z stassats`: if i remove more code, how do we get to the 400K lines of code? 2015-11-13T05:36:41Z nyef: By adding an Itanic backend? 2015-11-13T05:36:59Z nyef: (Or should that be iTanic?) 2015-11-13T05:37:32Z stassats`: just how poor SBCL can be for VLIW? 2015-11-13T05:37:59Z stassats`: i'm now at 224KB of core savings 2015-11-13T05:48:57Z nyef: G'night. 2015-11-13T06:52:41Z psy_ quit (Read error: Connection reset by peer) 2015-11-13T07:00:52Z Shinmera joined #sbcl 2015-11-13T07:10:45Z psy_ joined #sbcl 2015-11-13T07:13:10Z DeadTrickster_ joined #sbcl 2015-11-13T07:20:08Z stassats` quit (Ping timeout: 246 seconds) 2015-11-13T07:30:10Z Cymew joined #sbcl 2015-11-13T07:30:30Z DeadTrickster_ quit (Ping timeout: 240 seconds) 2015-11-13T07:38:03Z gingerale joined #sbcl 2015-11-13T08:02:40Z Cymew quit (Ping timeout: 250 seconds) 2015-11-13T08:04:12Z ASau`` joined #sbcl 2015-11-13T08:08:16Z ASau` quit (Ping timeout: 272 seconds) 2015-11-13T08:09:29Z attila_lendvai joined #sbcl 2015-11-13T08:09:29Z attila_lendvai quit (Changing host) 2015-11-13T08:09:29Z attila_lendvai joined #sbcl 2015-11-13T08:13:03Z nicdev` quit (K-Lined) 2015-11-13T08:16:13Z nzambe quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2015-11-13T08:19:20Z ASau`` quit (Remote host closed the connection) 2015-11-13T08:19:46Z ASau`` joined #sbcl 2015-11-13T08:28:08Z Cymew joined #sbcl 2015-11-13T08:44:35Z karswell` quit (Ping timeout: 264 seconds) 2015-11-13T09:16:35Z ASau`` quit (Ping timeout: 240 seconds) 2015-11-13T10:21:34Z edgar-rft joined #sbcl 2015-11-13T10:50:10Z nikki93 quit (Remote host closed the connection) 2015-11-13T12:00:59Z sjl quit (Ping timeout: 276 seconds) 2015-11-13T12:45:05Z dougk2 joined #sbcl 2015-11-13T12:47:04Z sjl joined #sbcl 2015-11-13T12:58:38Z dougk2 quit (Ping timeout: 250 seconds) 2015-11-13T13:06:48Z eudoxia joined #sbcl 2015-11-13T13:22:14Z DeadTrickster: just got head-exhausted while loading systems, never seen this before 2015-11-13T13:32:59Z eudoxia_ joined #sbcl 2015-11-13T13:33:47Z eudoxia_ quit (Client Quit) 2015-11-13T13:36:58Z eudoxia quit (Ping timeout: 272 seconds) 2015-11-13T14:04:39Z Cymew quit (Ping timeout: 240 seconds) 2015-11-13T14:09:52Z stassats` joined #sbcl 2015-11-13T15:23:11Z nyef: So, now I'm wondering if I should try to get an HPUX system, and possibly an OSF1 system. 2015-11-13T15:24:08Z stassats`: whoa 2015-11-13T15:26:14Z stassats`: nyef: the hppa port does not work on linux? 2015-11-13T15:26:28Z stassats`: i see hppa-linux-os.c 2015-11-13T15:29:03Z nyef: stassats`: I haven't tried building the HPPA backend yet, but there are some definite differences between the Linux and HPUX code. 2015-11-13T15:31:24Z stassats`: when are you pushing alpha changes? 2015-11-13T15:33:10Z Xof: I think it did work on Linux 2015-11-13T15:33:55Z Xof: I did some significant work with Carlos O'Donnell (now one of the glibc maintainers) on HPPA-2 / Linux 2015-11-13T15:34:16Z Xof: but I'm also fairly sure that I had it working on HPPA-1/Linux, and I don't think I ever had access to a hpux box 2015-11-13T15:41:29Z nyef: stassats`: Alpha changes get pushed once the DX SAP thing is fixed, everything is rebased, and a test build is run. Should be today. 2015-11-13T15:42:14Z stassats`: ok, my check-vops removal changes are not ready yet anyway 2015-11-13T15:42:42Z nyef: Or I could rebase, do the check build, back out the DX SAP hack that I put in, and commit what I have so far, which is a lot of fixes but wouldn't result in a usable system. 2015-11-13T15:51:52Z dougk2 joined #sbcl 2015-11-13T16:07:50Z stassats`: check-type eschewing saves 276KB on ARM64 2015-11-13T16:14:29Z dougk2 quit (Ping timeout: 265 seconds) 2015-11-13T16:16:36Z stassats`: i'm tired of removing code 2015-11-13T16:22:14Z nyef: Wow, 42 commits this branch. 2015-11-13T16:24:16Z stassats`: i think i'll remove close to a 1000 lines of code 2015-11-13T16:26:01Z dougk2 joined #sbcl 2015-11-13T16:35:44Z Xof: only need to do that another 398 times 2015-11-13T16:37:30Z stassats`: simplified !define-type-vops, and looks the same everywhere, except x86oids 2015-11-13T16:37:47Z dougk2 quit (Ping timeout: 260 seconds) 2015-11-13T16:38:56Z stassats`: i think i can remove it too then 2015-11-13T16:39:07Z nyef: Whee... Doing a git fetch over NFS because the NFS server can't authenticate me to sourcefarce for whatever reason. 2015-11-13T16:48:26Z stassats`: a bit of inevitable #+x86oid and i can have just a single !define-type-vops 2015-11-13T16:52:21Z stassats`: % git diff --shortstat 18 files changed, 107 insertions(+), 1107 deletions(-) 2015-11-13T16:52:48Z Xof: yay 2015-11-13T16:55:16Z nyef: That more than makes up for my 47 files changed, 501 insertions(+), 225 deletions(-) 2015-11-13T16:56:32Z stassats`: i have to move late-type-vops before type-vops 2015-11-13T16:56:38Z stassats`: so it's not late anymore? 2015-11-13T16:56:50Z Xof: could probably be merged with early-type-vops? 2015-11-13T16:56:53Z nyef: Wouldn't it become early-type-vops, then? 2015-11-13T16:57:11Z stassats`: afraid early-type-vops would need eval-when around functions 2015-11-13T16:57:24Z Xof: early-type-vops => primordial-type-vops? 2015-11-13T16:57:37Z nyef: Xof: About when do you expect that we'll be entering code freeze this month? 2015-11-13T16:57:39Z Xof: or make late-type-vops type-vops and type-vops late-type-vops 2015-11-13T16:57:41Z Xof: a week 2015-11-13T16:58:09Z stassats`: i've made enough changes as it is, will leave late-type-vops for now 2015-11-13T16:58:18Z nyef: Hrm. 2015-11-13T16:58:31Z nyef: I hope that I can get HPPA going in time, then. 2015-11-13T17:00:07Z Xof: I'd just like to say that the backend-cleanup that introduced early/late-type-vops deleted net 2000 lines of code 2015-11-13T17:00:27Z Xof: git diff --stat bcbcc0d0660b3b3741203b3dfdd3443b201bf690 7892f577e443a297c8ec62b3dc743666669dd0d6 2015-11-13T17:15:29Z stassats`: final core savings on arm64 - 316KB 2015-11-13T17:15:42Z stassats`: the core is back to 49M 2015-11-13T17:19:22Z nyef: Wow. I'm suddenly rather glad that I hacked that :pointer thing into define-primitive-object, given what happened recently with the tls-cookie thread slot. 2015-11-13T17:19:29Z stassats`: so, 1000 lines removed, core size reduced, more optimal code produced 2015-11-13T17:19:43Z stassats`: nyef: yeah, i thought about that 2015-11-13T17:20:46Z stassats`: ok, arm64 doesn't yet produce more optimal code, no signed/unsigned varieties of test-fixnum 2015-11-13T17:21:02Z stassats`: but that's the point, i just didn't want to make both test-fixnum and check-fixnum signed/unsigned vops 2015-11-13T17:22:22Z stassats`: oh bother, sb-introspect tests itself by finding the CHECK-TYPE VOP, which is no more 2015-11-13T17:22:29Z stassats`: i mean, of all things 2015-11-13T17:22:33Z nyef: Heh. 2015-11-13T17:22:41Z nyef: Always something, isn't it? 2015-11-13T17:22:53Z stassats`: more, i think i did that 2015-11-13T17:23:00Z nyef: Couldn't it check for a full-call VOP or something instead? 2015-11-13T17:23:24Z stassats`: test-predicate is now shared 2015-11-13T17:24:44Z dougk2 joined #sbcl 2015-11-13T17:25:08Z stassats`: check-type had the previlage of sharing a name with cl:check-type 2015-11-13T17:25:50Z stassats`: will use vectorp instead 2015-11-13T17:37:19Z lnostdal_ quit (Ping timeout: 240 seconds) 2015-11-13T17:50:48Z lnostdal_ joined #sbcl 2015-11-13T17:57:36Z stassats`: ok, got the patch, waiting for the alpha changes 2015-11-13T17:57:51Z stassats`: also waiting for the testing to complete 2015-11-13T18:01:14Z nyef: Waiting for the rebased build to complete, and then I want to run the test suite just in case. 2015-11-13T18:01:26Z nyef: ... And then I'll push most of the commits. 2015-11-13T18:01:53Z nyef: Presuming, of course, that the NFS behaves itself. 2015-11-13T18:06:18Z nyef: Can we do something with sb-sprof in terms of scaling things based on how long it takes the system to run some known piece of code, rather than having it choke if the CPU is too slow? 2015-11-13T18:06:51Z stassats`: i'm planning on doing reg_PC pairing 2015-11-13T18:07:07Z stassats`: instead of component_ptr_from_pc, which should be faster 2015-11-13T18:07:15Z nikki93 joined #sbcl 2015-11-13T18:07:21Z nyef: Ohh... For GC? 2015-11-13T18:07:23Z nyef: Nice. 2015-11-13T18:07:34Z stassats`: no, for sb-sprof 2015-11-13T18:07:39Z nyef: Ah. 2015-11-13T18:07:41Z nyef: Still nice. 2015-11-13T18:08:11Z nyef: Oh, right, GC already treads the program counter as having the interior-pointer nature, doesn't it? 2015-11-13T18:09:22Z nyef: You know that you'll get occasional hits on functions and LRAs rather than the enclosing object if you do a simple pairing, right? 2015-11-13T18:09:44Z nyef: Starting the test suite run now. 2015-11-13T18:09:59Z stassats`: functions which are to be called 2015-11-13T18:10:34Z stassats`: not sure how PC can get inside LRA, though 2015-11-13T18:11:48Z nyef: Just post return, of course! 2015-11-13T18:12:06Z nyef: There's a window, between returning and overwriting the LRA value. 2015-11-13T18:13:01Z stassats`: doesn't pairing check length? 2015-11-13T18:13:22Z nyef: (If both CODE and LRA, or CODE and the function on the call side, are set up, then the function or LRA will always pair instead of CODE.) 2015-11-13T18:13:54Z nyef: It doesn't, which is actually a known bug... And SIMPLE-FUN and LRA objects don't have lengths anyway. 2015-11-13T18:13:55Z stassats`: CODE can be derived from LRA 2015-11-13T18:14:08Z stassats`: getting a function is good enough 2015-11-13T18:14:34Z nyef: Yes, that's the point of the header value. I'm just pointing out that it's something to take into account. 2015-11-13T18:14:46Z stassats`: %type-check-error/c wants any-reg descriptor-reg 2015-11-13T18:14:49Z stassats`: holy boxing 2015-11-13T18:16:49Z nyef: Please be aware that I've been changing the reader conditionals on that one. 2015-11-13T18:16:50Z stassats`: can't add non-descriptor-reg, signed-reg unsigned-reg says "can't tell whether to load with LOAD-NUMBER or LOAD-IMMEDIATE when operand is in SC IMMEDIATE" 2015-11-13T18:17:32Z stassats`: but i don't need any loading, do i? 2015-11-13T18:18:13Z stassats`: load-if nil did it 2015-11-13T18:18:22Z nyef: What does it do to the result, though? 2015-11-13T18:18:34Z stassats`: no result 2015-11-13T18:18:44Z stassats`: can i remove scs with load-if nil? 2015-11-13T18:18:55Z nyef: Well, not result. The SC-OFFSET for OBJECT gets embedded in the error call. 2015-11-13T18:19:09Z stassats`: yes, that's why i don't need no loading 2015-11-13T18:19:19Z stassats`: ok, that solves the problem 2015-11-13T18:19:27Z nyef has trouble remembering what the semantics of :load-if are. 2015-11-13T18:19:49Z stassats`: higher up in the type-error.lisp i see :load-if (not t) 2015-11-13T18:19:53Z stassats`: that's... creative 2015-11-13T18:20:13Z nyef: Heh. That's cute. 2015-11-13T18:20:32Z stassats`: gee, that's my commit 2015-11-13T18:25:14Z stassats`: ok, loke's code on arm64 is not scary anymore 2015-11-13T18:26:21Z stassats`: not much faster, but no bogus bignum allocation 2015-11-13T18:29:02Z stassats`: that saved a further 72KB 2015-11-13T18:29:07Z stassats`: for a total of 388KB 2015-11-13T18:29:51Z stassats`: oh, edited a wrong file, should be more 2015-11-13T18:30:50Z stassats`: fascinating, :load-if nil complains about the arg being unused 2015-11-13T18:30:55Z stassats`: :load-if (not t) does not 2015-11-13T18:31:05Z stassats`: so, it was really creative 2015-11-13T18:31:45Z dougk2 quit (Ping timeout: 265 seconds) 2015-11-13T18:33:08Z nyef: ... Isn't there a :ignore thing available, or is something else going on there? 2015-11-13T18:33:19Z nyef: Oh, that's index, not object. 2015-11-13T18:33:21Z nyef: Hrm. 2015-11-13T18:33:26Z nyef: Yeah, :ignore ? 2015-11-13T18:33:30Z stassats`: well, i :ignored it, yes 2015-11-13T18:33:44Z stassats`: but (not t) wasn't just a simple thinko 2015-11-13T18:33:46Z stassats`: turns out 2015-11-13T18:34:10Z nyef: It was a complex thinko? (-: 2015-11-13T18:34:20Z stassats`: that i don't remember 2015-11-13T18:36:25Z stassats`: this should be unified https://github.com/sbcl/sbcl/blob/master/src/compiler/arm64/call.lisp#L612 2015-11-13T18:37:46Z nyef: That's in basically every backend, yes. 2015-11-13T18:38:07Z stassats`: so, correct space savings on ARM64: 572KB 2015-11-13T18:39:52Z stassats`: nyef: this patch will touch all the backends, so some testing would be welcome 2015-11-13T18:40:08Z nyef: Please, please let me commit alpha first? 2015-11-13T18:40:55Z nyef: I won't ask you to hold off for HPPA, but it's the last platform with the old-style error-call interface. 2015-11-13T18:41:51Z nyef: (Actually, HPPA is probably going to be a total disaster, given some of the things that have been done with the compiler over the years, and added to all of the backends basically without testing.) 2015-11-13T18:44:11Z stassats`: sure, i'm not in a hurry 2015-11-13T18:44:53Z stassats`: i'll see for the removal of the above macrolet in the meantime 2015-11-13T18:48:05Z nikki93 quit (Remote host closed the connection) 2015-11-13T18:50:23Z stassats`: ok, that was easy, save for #+hppa 2015-11-13T18:50:47Z nyef: Trying to push now... 2015-11-13T18:50:57Z nyef: ... This is, of course, going to be painfully slow. 2015-11-13T18:51:29Z nyef: Hrm. 2015-11-13T18:51:36Z nyef: Someone pushed? 2015-11-13T18:52:26Z nyef: ... I'm not doing another rebuild on this. 2015-11-13T18:59:20Z chris2 quit (Ping timeout: 272 seconds) 2015-11-13T18:59:55Z nyef: Trying again... 2015-11-13T19:03:53Z stassats`: it shouldn't affect you 2015-11-13T19:04:46Z stassats`: another 25 insertions(+), 235 deletions(-) 2015-11-13T19:04:52Z stassats`: for the macrolet from the link above 2015-11-13T19:05:39Z nyef: Clearly, you're on a roll. (-: 2015-11-13T19:06:18Z stassats`: wrote -1500 lines of code 2015-11-13T19:06:21Z stassats`: so productive 2015-11-13T19:06:37Z nyef: The most productive days are the ones measured in negative lines of code. 2015-11-13T19:08:20Z nyef: Okay, pushed, except for the DX SAP bits. 2015-11-13T19:10:16Z stassats`: ok, resolving conflicts 2015-11-13T19:13:39Z nyef: 55 commits to go! (-: 2015-11-13T19:15:18Z stassats`: ok, just one conflict 2015-11-13T19:16:49Z nyef does a non-unicode x86-64/linux build, just because. 2015-11-13T19:17:22Z stassats`: i think scymtym checks those 2015-11-13T19:18:41Z stassats`: doing a build and pushing my changes 2015-11-13T19:18:45Z stassats`: an alpha test would be great 2015-11-13T19:18:59Z scymtym: nyef: you can usually check at https://ci.cor-lab.org/job/sbcl-master/ a few hours after the respective commit (modulo general flakyness and certain false positives) 2015-11-13T19:19:36Z nyef: scymtym: Oh, neat. Thanks. 2015-11-13T19:19:55Z stassats`: standard-arg-location could be shared too 2015-11-13T19:21:04Z stassats`: why is there a register-arg sc? 2015-11-13T19:21:31Z nyef: ... Is that for lisp args, or alien args? 2015-11-13T19:22:03Z nyef: Might be something to do with telling the difference, or with selecting appropriate MOVE functions/VOPs. 2015-11-13T19:22:28Z stassats`: there is only register-arg-scn 2015-11-13T19:22:35Z stassats`: it's the same descriptor-reg 2015-11-13T19:22:45Z stassats`: if i remove that, then i can unify standard-arg-location 2015-11-13T19:23:42Z stassats`: pushed my changes 2015-11-13T19:25:54Z stassats`: struggling to figure where to put standard-arg-location 2015-11-13T19:26:07Z stassats`: generic/utils? 2015-11-13T19:26:30Z stassats`: don't really want a new file 2015-11-13T19:26:36Z ASau joined #sbcl 2015-11-13T19:27:16Z scymtym: stassats`: that's a satisfying diff. so much stuff gone 2015-11-13T19:27:37Z stassats`: settling on vm-ir2tran 2015-11-13T19:27:53Z stassats`: scymtym: and it produces better code 2015-11-13T19:28:15Z stassats`: or can produce, but does at least on #+64-bit 2015-11-13T19:28:43Z scymtym: and solves 7 FIXMEs and 2 KLUDGEs 2015-11-13T19:29:12Z stassats`: well, they were complaining about EVAL 2015-11-13T19:29:22Z stassats`: i still used eval, because, well, it's the easiest tool 2015-11-13T19:30:39Z nyef: MIPS build running... 2015-11-13T19:31:03Z nyef: Fetching for Alpha build (pain!) 2015-11-13T19:31:34Z nyef: Depending on how things go, I may fire up my SPARC to test as well, just in case. 2015-11-13T19:32:29Z foom: Wow, everyone has a sparc these days 2015-11-13T19:34:13Z Xof: stassats`: can you remove symbols like OBJECT-NOT-RATIONAL-ERROR too? 2015-11-13T19:34:23Z Xof: (from package-data-list.lisp-expr) 2015-11-13T19:34:42Z nyef: My current build farm covers every architecture that SBCL has a backend for except x86, x86-64, arm64, and PPC... And the PPC is missing because I just didn't have the time or patience available to set it up before I had to leave. 2015-11-13T19:35:08Z nyef: Alpha build running... 2015-11-13T19:35:25Z Xof: object-not-simple-rank-1-array-error 2015-11-13T19:36:56Z nyef: ... isn't that object-not-simple-vector-error or something like that? 2015-11-13T19:36:56Z foom: someone needs to start the little-endian ppc port. :) 2015-11-13T19:37:07Z stassats`: i will next month 2015-11-13T19:37:26Z stassats`: Xof: i can, if they are not used 2015-11-13T19:37:27Z nyef: foom: Feel free. Shouldn't be hard, considering that we have a few bi-endian backends already. 2015-11-13T19:37:40Z stassats`: well, i wouldn't do a le ppc port per se 2015-11-13T19:37:43Z stassats`: but a ppc64 port 2015-11-13T19:38:32Z nyef: I have a few kernel bugs to track down and nail to the wall before my SGI hardware is ready to try and support a mips64 port. 2015-11-13T19:39:57Z joshe: ooo, mips64? 2015-11-13T19:40:15Z nyef: joshe: Probably next year. 2015-11-13T19:40:39Z joshe: excellent, maybe I'll have set up my ERL by then 2015-11-13T19:40:48Z nyef: Also alpha64 and hppa64. 2015-11-13T19:40:59Z nyef: Maybe even sparc64. 2015-11-13T19:41:32Z joshe: excellent, all of those are openbsd platforms 2015-11-13T19:41:51Z joshe: although I don't think hppa64 is very functional 2015-11-13T19:42:25Z nyef: Are you ready to try and make SBCL run on openbsd/alpha, then? 2015-11-13T19:43:06Z joshe: I don't have an alpha but could get one or access to one 2015-11-13T19:43:20Z joshe: the alpha32 situation was somewhat discouraging 2015-11-13T19:43:27Z nyef: Oh? 2015-11-13T19:43:27Z nikki93 joined #sbcl 2015-11-13T19:44:19Z joshe: I have assumed (perhaps incorrectly) that an openbsd port of the alpha32 backend wouldn't be possible 2015-11-13T19:45:23Z joshe: openbsd 64-bit platforms tend to pick memory ranges above the 4gb line to try and expose pointer truncation bugs 2015-11-13T19:46:35Z nyef: As long as we can deliberately map with MAP_FIXED to below that line, then we should be good. 2015-11-13T19:46:49Z foom: or use MAP_32BIT, if that exists 2015-11-13T19:47:16Z joshe: no problems with the text and data segments being above 4gb? 2015-11-13T19:47:27Z nyef: Nope. 2015-11-13T19:47:32Z nyef: Or the C stack, for that matter. 2015-11-13T19:47:42Z joshe: ah, maybe I should find an alpha and get started then 2015-11-13T19:47:59Z nyef: (Okay, there's a problem with the C stack being that high, but that's the last thing that I need to nail down before I move on to HPPA.) 2015-11-13T19:48:24Z joshe: ... or try to get my hppa machine up and stable 2015-11-13T19:49:01Z nyef: Hrm. "Argument X is not a INTEGER: NIL" 2015-11-13T19:49:30Z foom: is hppa even still a thing? 2015-11-13T19:49:32Z stassats`: reading another unification change 2015-11-13T19:49:39Z stassats`: 27 files changed, 82 insertions(+), 530 deletions(-) 2015-11-13T19:49:44Z foom: i mean, alpha isn't surely... 2015-11-13T19:49:55Z nyef: stassats`: Build failure on Alpha. 2015-11-13T19:50:20Z stassats`: backtrace? 2015-11-13T19:51:16Z nyef: Critical bit seems to be invoking VOP TYPE-CHECK-ERROR/C with something bogus. 2015-11-13T19:53:04Z nyef: http://paste.lisp.org/display/159388 2015-11-13T19:54:37Z stassats`: # 2015-11-13T19:56:02Z nyef: Same failure on MIPS. 2015-11-13T19:56:11Z stassats`: disassembling meta-info 2015-11-13T19:56:14Z stassats`: strange code 2015-11-13T19:56:31Z stassats`: on x86-64 2015-11-13T19:56:59Z stassats`: MOV EAX, 537919511 OBJECT-NOT-SIMPLE-VECTOR-ERROR RAX 2015-11-13T19:57:09Z stassats`: reg-null messes things up, as always 2015-11-13T19:57:47Z stassats`: why is it ok on arm then? 2015-11-13T19:59:09Z stassats`: ok, load-if nil is probably not great for immediates and null-sc 2015-11-13T20:05:16Z stassats`: null is annoying me 2015-11-13T20:09:34Z stassats`: i need an sc restriction to load NULL to 2015-11-13T20:13:53Z stassats`: ok, i think i got it 2015-11-13T20:13:55Z stassats`: ugly, ugly 2015-11-13T20:16:59Z gingerale quit (Remote host closed the connection) 2015-11-13T20:22:38Z stassats`: nyef: try now 2015-11-13T20:23:34Z stassats`: or wait a bit 2015-11-13T20:23:42Z stassats`: and try with my other batck 2015-11-13T20:23:43Z stassats`: batch 2015-11-13T20:26:35Z nyef: You have another patch coming? 2015-11-13T20:26:52Z stassats`: yes 2015-11-13T20:26:54Z stassats`: in just a minute 2015-11-13T20:26:55Z nyef: Well, starting the MIPS on this one. 2015-11-13T20:27:17Z stassats`: and the last one code removal change 2015-11-13T20:28:28Z stassats`: nyef: pushed 2015-11-13T20:29:50Z stassats`: eh, i think i rushed it 2015-11-13T20:30:13Z nyef: The "Unify some shared support routines."? 2015-11-13T20:30:31Z stassats`: yeah 2015-11-13T20:30:47Z stassats`: some problem with an arm64 cross build 2015-11-13T20:31:44Z chris2 joined #sbcl 2015-11-13T20:32:02Z stassats`: [un]signed-byte-64 not defined primitive type 2015-11-13T20:32:06Z stassats`: how? 2015-11-13T20:32:24Z stassats`: ah 2015-11-13T20:32:28Z stassats`: i see 2015-11-13T20:33:04Z stassats`: nyef: that failure wasn't related to that patch, you can proceed 2015-11-13T20:33:53Z nyef: How'd you break that primtype thing? Or did I miss a spot with :64-bit-registers? 2015-11-13T20:34:00Z stassats`: it's a cross build 2015-11-13T20:34:16Z nyef: ... so? 2015-11-13T20:34:44Z stassats`: it's not full 2015-11-13T20:35:00Z nyef: Ah. So the ltf didn't get updated. 2015-11-13T20:35:04Z stassats`: i can't exactly run make-config.sh on the host 2015-11-13T20:35:25Z nyef: No, you can run it on the target, using a value of --xc-host suitable for the host. 2015-11-13T20:35:48Z stassats`: starting a ppc build 2015-11-13T20:36:21Z nyef: MIPS is still working on the first build, but Alpha is building the latest. 2015-11-13T20:36:38Z nyef: Oh, wait, no it isn't. Forgot to rebase. Oops. 2015-11-13T20:36:51Z stassats`: the latest just removes things and puts them someplace else 2015-11-13T20:37:00Z stassats`: shouldn't fail, but might have clipped something extra 2015-11-13T20:37:30Z nyef: Wow, almost 250 commits already. 2015-11-13T20:38:34Z stassats`: arm32 build and an x86 build 2015-11-13T20:38:43Z stassats`: plus your mips and alpha should cover the rest 2015-11-13T20:38:57Z stassats`: until hppa and sparc are looked after 2015-11-13T20:39:31Z nyef: SPARC will be the easier of the two to do a check-build for. 2015-11-13T20:39:52Z nyef: I can cover that tonight. 2015-11-13T20:43:21Z stassats`: enough removal for now 2015-11-13T20:45:30Z stassats`: annotating thread-offset access on arm64 would be a better thing to add 2015-11-13T20:58:56Z stassats`: oh hell, type-check-error/c conses again on arm64 2015-11-13T20:59:01Z stassats`: my fix broke that 2015-11-13T21:01:44Z stassats`: seems not possible with a single vop then 2015-11-13T21:02:18Z nyef: Conses because it spills bignums? 2015-11-13T21:02:24Z stassats`: yes 2015-11-13T21:02:33Z nyef: Hrm. 2015-11-13T21:02:45Z nyef: Relax the SC restrictions on the error args? 2015-11-13T21:02:48Z stassats`: i can't specify descriptor-reg and unsigned-reg for the same arg, it doesn't know what to load 2015-11-13T21:03:01Z nyef: Ahh. 2015-11-13T21:03:34Z nyef: :load-if nil, then load manually in the body? 2015-11-13T21:03:42Z stassats`: where, though? 2015-11-13T21:05:07Z nyef: Don't know, just throwing out ideas here. (-: 2015-11-13T21:06:36Z stassats`: well, two vops, but also need that for type-check-error 2015-11-13T21:06:38Z stassats`: so, four vops now 2015-11-13T21:07:15Z stassats`: weird, type-check-error actually doesn't cons 2015-11-13T21:07:32Z stassats`: oh no, yes it does, just no optimization note 2015-11-13T21:08:34Z psy_ quit (Ping timeout: 260 seconds) 2015-11-13T21:10:04Z stassats`: maybe i can fix "can't tell whether to load with LOAD-NUMBER or LOAD-IMMEDIATE when operand is in SC IMMEDIATE" 2015-11-13T21:11:35Z stassats`: just removing that error seems to work 2015-11-13T21:11:59Z nyef: Which does it pick, or does it matter? 2015-11-13T21:12:15Z stassats`: i don't want any loads anyhow 2015-11-13T21:15:34Z stassats`: picks load-immediate 2015-11-13T21:18:12Z stassats`: it depends on the order in scs 2015-11-13T21:18:44Z stassats`: it does the right thing either way 2015-11-13T21:19:00Z csziacobus joined #sbcl 2015-11-13T21:19:14Z stassats`: for integers, it doesn't matter, unless those are big integers, which is unlikely, NULL is loaded correctly 2015-11-13T21:21:48Z stassats`: maybe i can solve the NULL loading problem there 2015-11-13T21:21:59Z stassats`: or not 2015-11-13T21:24:26Z stassats`: ok, removing it is 2015-11-13T21:26:51Z stassats`: NULL is treated as constant, i think it needs its own storage base 2015-11-13T21:27:21Z stassats`: but now vops that check for NULL would have to accept it differently 2015-11-13T21:27:32Z stassats`: maybe next time 2015-11-13T21:28:36Z nyef: Running tests on alpha. 2015-11-13T21:31:16Z stassats`: one thing is weird, it uses load-immediate but loads into an unsigned-reg 2015-11-13T21:32:24Z stassats`: ok, that makes the whole thing weird 2015-11-13T21:33:27Z stassats`: moving around restrictions, it just mixes up the whole thing 2015-11-13T21:33:48Z stassats`: it either loads a fixnum into signed-reg, or a unsigned-num into a descriptor-reg 2015-11-13T21:37:08Z nyef: Seems like it's trying to do both load operations at once, and you get your choice of which way around they're spliced. 2015-11-13T21:38:28Z stassats`: i think in one places they are reversed, straight in the other 2015-11-13T21:39:23Z stassats`: arg-load-scs is reversed 2015-11-13T21:43:23Z stassats`: yes, it does pushnew 2015-11-13T21:43:37Z nyef: Starting a fresh MIPS build. 2015-11-13T21:46:01Z stassats`: ok, put a reverse, getting the right thing now 2015-11-13T21:48:20Z stassats`: testing it with a build 2015-11-13T21:51:03Z scymtym_ joined #sbcl 2015-11-13T21:51:03Z stassats`: x86-64 doesn't survive 2015-11-13T21:53:06Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-13T21:53:32Z stassats`: on x86-64 NULL is not a seperate SC, but an IMMEDIATE, so it gets allocated a LOAD-NUMBER 2015-11-13T21:54:31Z stassats`: ok, i'll put descriptor-reg any-reg first then 2015-11-13T21:55:53Z ASau` joined #sbcl 2015-11-13T21:56:27Z nyef: ... At which point you're right back to the boxing, aren't you? 2015-11-13T21:56:57Z stassats`: yes, but only if something calls type-check-error/c with a constant 2015-11-13T21:57:11Z stassats`: i'm surprising this even happens, but only with NIL 2015-11-13T21:57:21Z stassats`: (svref (and x (make-array 10))) 2015-11-13T21:57:43Z stassats`: supposedly it doesn't happen with large integers too often 2015-11-13T21:58:09Z stassats`: constants can now be encoded into the constant vector, maybe just dump them there? 2015-11-13T21:58:23Z stassats`: i mean, encoded in the errors 2015-11-13T21:58:47Z stassats`: i think this is a good enough of a solution 2015-11-13T21:59:21Z ASau quit (Ping timeout: 252 seconds) 2015-11-13T22:03:10Z dougk2 joined #sbcl 2015-11-13T22:06:02Z dougk2 quit (Remote host closed the connection) 2015-11-13T22:06:29Z stassats`: it seems it already uses constants instead of consing a bignum 2015-11-13T22:07:26Z dougk2 joined #sbcl 2015-11-13T22:07:39Z stassats`: so, good enough 2015-11-13T22:08:30Z stassats`: register and vop selection is silly anyhow 2015-11-13T22:08:52Z stassats`: that's why i don't like adding new sub-vops, it will select something bogus anyway 2015-11-13T22:12:18Z stassats`: the test i was using (defun foo (x) (declare (fixnum x) (optimize speed)) (< (the (integer 10 20) (+ x 20)) 4000)) 2015-11-13T22:12:28Z stassats`: it does LEA RBX, [RAX+RAX] CMP RBX, 20 2015-11-13T22:12:32Z stassats`: i mean, how stupid is that? 2015-11-13T22:14:12Z edgar-rft quit (Quit: edgar-rft) 2015-11-13T22:14:55Z nyef: Okay, 53340ca641e34d64a6da65f7e22c0c3be5beec0a + local fixes builds and tests on alpha with no unexpected behavior. 2015-11-13T22:15:56Z stassats`: testing the vop change and calling it a day 2015-11-13T22:16:35Z stassats`: frustrated with VOP selection and register allocation again 2015-11-13T22:18:11Z stassats`: i think a solution will come eventually to me 2015-11-13T22:19:34Z stassats`: while working on something unrelated 2015-11-13T22:19:52Z flavioc joined #sbcl 2015-11-13T22:29:49Z stassats`: nyef: would you provide a binary for the site? 2015-11-13T22:30:15Z nyef: A binary of which? 2015-11-13T22:30:20Z stassats`: alpha 2015-11-13T22:30:23Z stassats`: linux 2015-11-13T22:30:46Z nyef: Ah. Not yet. The "local fixes" are the wrong approach for fixing the DX SAP thing. 2015-11-13T22:31:00Z stassats`: after the release 2015-11-13T22:31:25Z nyef: Oh. Sure. 2015-11-13T22:31:48Z nyef: Plus mipsbe, plus hppa if I have it running by then. 2015-11-13T22:33:18Z stassats`: i wonder if i can now use a single vop for sb-vm::fast-if-<-c 2015-11-13T22:33:23Z stassats`: after that change 2015-11-13T22:33:46Z stassats`: that'll solve LEA RBX, [RAX+RAX] CMP RBX, 20 2015-11-13T22:35:34Z stassats`: (typep (+ x 20) '(integer 10 20)) does rebox, (<= 10 (+ x 20) 20) doesn't 2015-11-13T22:38:35Z stassats`: (typep (+ x 20) '(integer 10 20)) expands into (and (typep res 'fixnum) (and (>= (truly-the fixnum res) 10) (<= (truly-the fixnum res) 20))) 2015-11-13T22:38:37Z nyef debates leaving alpha and the DX SAP issue alone for a bit, either to work on HPPA or to do something else. 2015-11-13T22:39:04Z stassats`: so this (typep res 'fixnum) is what's causing boxing 2015-11-13T22:39:35Z nyef: ... because typep decides to box, and then check the lowtag? 2015-11-13T22:40:49Z stassats`: and truly-the fixnum 2015-11-13T22:41:41Z stassats`: ok, that's not a big issue 2015-11-13T22:44:22Z stassats`: now, (setf (aref ub32 0) (+ (aref ub32 1) 20)) SHL RCX, 1 ADD RCX, 40 SAR RCX, 1 2015-11-13T22:45:10Z stassats`: the same thing with ub64 calls generic+ 2015-11-13T22:45:12Z stassats`: why? 2015-11-13T22:45:28Z nyef: Overflow. 2015-11-13T22:45:34Z stassats`: can't it detect it? 2015-11-13T22:45:40Z stassats`: ok, i know it can't 2015-11-13T22:45:48Z stassats`: i mean, sbcl can't 2015-11-13T22:45:54Z stassats`: not smart enough 2015-11-13T22:47:37Z stassats`: to make it sensible you have to resort to truly-the and lose safety 2015-11-13T22:47:42Z stassats`: while an overflow would be better 2015-11-13T22:47:46Z stassats`: and cheaper 2015-11-13T22:51:25Z dougk2 quit (Ping timeout: 252 seconds) 2015-11-13T22:51:50Z stassats`: the vop cost model is useless 2015-11-13T22:52:02Z nyef: Pretty much, yeah. 2015-11-13T23:03:07Z nyef: Oh, and the MIPS is now running the test suite. 2015-11-13T23:03:17Z nyef: I'm not expecting any problems on that end. 2015-11-13T23:20:01Z DeadTrickster_ joined #sbcl 2015-11-13T23:23:58Z nyef fires up the sparc 2015-11-13T23:24:44Z stassats`: in the ub32 addition case, + for some reason gets arguments with fixnum primitive types 2015-11-13T23:25:43Z stassats`: ub32 is positive fixnum, true 2015-11-13T23:33:50Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-11-13T23:35:01Z nyef: SPARC build running. 2015-11-13T23:36:18Z stassats`: using logand on a ub64 is easier to trace 2015-11-13T23:36:42Z stassats`: still getting fixnum primitive types 2015-11-13T23:39:06Z stassats`: ok, because it's coming from mask-signed-field 2015-11-13T23:39:19Z stassats`: logior gets the unsigned treatment 2015-11-13T23:40:17Z stassats`: so all this hinds the better primitive type and it doesn't know what's really passed 2015-11-13T23:41:18Z stassats`: that's some information 2015-11-13T23:42:01Z stassats`: so it gets the fixnum treatment even before the vop is selected 2015-11-13T23:42:27Z stassats`: ub32 has no chance of getting an unsigned vop 2015-11-13T23:42:52Z nyef: I... think I ran into that not too long ago. 2015-11-13T23:44:19Z nyef: Somehow I was ending up with a move-from-signed on what should have been an unsigned-byte 64 value, but which was declared to be unsigned-byte 32 somewhere. Boom, instant "hey, this is FIXNUM!" 2015-11-13T23:46:26Z stassats`: but i can force SB-VM::FAST-LOGIOR-C/SIGNED=>SIGNED with lower costs 2015-11-13T23:46:29Z stassats`: it's tried first 2015-11-13T23:47:16Z stassats`: its argtypes are (:OR # # # #) 2015-11-13T23:47:18Z stassats`: so fixnum fits 2015-11-13T23:48:40Z stassats`: but there's no boxing or anything, even though the input argument is a fixnum 2015-11-13T23:48:54Z stassats`: so there is more than just the primitive type 2015-11-13T23:49:31Z dougk2 joined #sbcl 2015-11-13T23:50:58Z stassats`: so, how come it has a primitive type fixnum but there is no boxing? 2015-11-13T23:52:39Z nyef: MIPS test results are as was. 2015-11-13T23:53:23Z stassats`: or is that decided later? untagged-aref => => tag> logior => untag => untagged-aref 2015-11-13T23:53:43Z stassats`: and during the VOP selection it only has types 2015-11-13T23:53:48Z dougk2 quit (Ping timeout: 255 seconds) 2015-11-13T23:53:51Z stassats`: which aren't restrictive enough 2015-11-13T23:54:17Z stassats`: so LOGIOR selection depends on what is selected for AREF 2015-11-13T23:54:23Z stassats`: and that happens both before and after 2015-11-13T23:55:26Z stassats`: so, it needs instead to select all the possible VOPs, and when all of them are chained it can prune mismatches 2015-11-13T23:55:30Z stassats`: and insert moves 2015-11-13T23:56:41Z stassats`: that's a difficult proposition 2015-11-13T23:57:28Z nyef: This reminds me of a discussion with... I think it was pkhuong. About describing an operation to be compiled in terms of a sequence of observations of an HMM, the states and transitions of which are made up of VOPs and moves. 2015-11-14T00:04:17Z stassats`: everything is sprinkled sufficiently far apart to avoid understanding 2015-11-14T00:04:26Z soggybread joined #sbcl 2015-11-14T00:15:18Z nyef: Running the test suite on SPARC. 2015-11-14T00:18:50Z stassats`: it built out of the box? 2015-11-14T00:19:21Z nyef: Yes, of course. 2015-11-14T00:19:53Z nyef: I've known for some time that SPARC more-or-less works, but the test suite results aren't great. 2015-11-14T00:20:21Z nyef: Might be better now, actually, given that I've fixed up some of the tests with more-accurate fails-on/skipped-on information. 2015-11-14T00:23:00Z stassats`: i built it last a couple of years ago 2015-11-14T00:23:23Z nyef: I built it last a week and a half ago or thereabouts. 2015-11-14T00:25:30Z akkad quit (Ping timeout: 260 seconds) 2015-11-14T00:27:46Z nyef: Oh dear. 2015-11-14T00:27:54Z nyef: Kernel panic? 2015-11-14T00:28:03Z stassats`: that'll show it 2015-11-14T00:28:52Z nyef: And it was running deprecation.impure.lisp, too. 2015-11-14T00:29:16Z nyef: Odd, there's still a getty running? 2015-11-14T00:29:58Z nyef: Oh well. 2015-11-14T00:30:06Z nyef: Shutting it down anyway. 2015-11-14T00:30:34Z nyef: Assuming that it WILL shut down, that is. 2015-11-14T00:31:36Z nyef kills the power at the system controller. 2015-11-14T00:32:04Z akkad joined #sbcl 2015-11-14T00:50:17Z csziacobus quit (Read error: Connection reset by peer) 2015-11-14T01:05:32Z DeadTrickster_ quit (Ping timeout: 276 seconds) 2015-11-14T01:38:47Z dougk2 joined #sbcl 2015-11-14T01:43:00Z dougk2 quit (Ping timeout: 244 seconds) 2015-11-14T01:53:57Z kanru quit (Ping timeout: 255 seconds) 2015-11-14T01:54:01Z scymtym_ quit (Ping timeout: 252 seconds) 2015-11-14T01:55:21Z DeadTrickster_ joined #sbcl 2015-11-14T01:56:41Z ASau`` joined #sbcl 2015-11-14T01:58:56Z ASau` quit (Ping timeout: 240 seconds) 2015-11-14T02:00:41Z kanru joined #sbcl 2015-11-14T02:01:36Z DeadTrickster_ quit (Ping timeout: 255 seconds) 2015-11-14T02:08:01Z antoszka quit (Ping timeout: 265 seconds) 2015-11-14T02:09:15Z antoszka joined #sbcl 2015-11-14T02:56:53Z DeadTrickster_ joined #sbcl 2015-11-14T02:57:20Z antoszka quit (Ping timeout: 276 seconds) 2015-11-14T02:58:00Z antoszka joined #sbcl 2015-11-14T02:59:46Z dougk2 joined #sbcl 2015-11-14T03:08:26Z flavioc quit (Ping timeout: 265 seconds) 2015-11-14T03:12:54Z DeadTrickster_ quit (Ping timeout: 244 seconds) 2015-11-14T03:26:51Z stassats` quit (Ping timeout: 244 seconds) 2015-11-14T03:30:57Z DeadTrickster_ joined #sbcl 2015-11-14T03:48:01Z csziacobus_ joined #sbcl 2015-11-14T04:05:34Z nikki93 quit (Remote host closed the connection) 2015-11-14T04:08:30Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-14T04:13:40Z dougk2 joined #sbcl 2015-11-14T04:19:50Z dougk2 quit (Ping timeout: 272 seconds) 2015-11-14T04:27:54Z csziacobus_ quit (Quit: csziacobus_) 2015-11-14T04:43:29Z ASau`` is now known as ASau 2015-11-14T05:17:47Z ccl-logbot joined #sbcl 2015-11-14T05:17:47Z 2015-11-14T05:17:47Z names: ccl-logbot les carvite flip214_ yauz_2 raeon sjl__ DeadTrickster_ antoszka kanru ASau akkad soggybread chris2 lnostdal_ Bike fiddlerwoaroof hzp jozip pchrist_ reb`````` chu irsol yvm zacts dougk_ foom pepol derrida jdz ignotus drmeister njmurphy angavrilov scymtym Posterdati alchemis7 DeadTrickster specbot nyef abbe nimiux christoph_debian whiteline psilord |3b| joshe DGASAU igajsin1 hydan Quadrescence fikusz Xof pkhuong jackc- salva White_Flame easye loke 2015-11-14T05:17:47Z names: dustinm`_ sigjuice jackdaniel frankS2 pootler Intensity dsp_ Ober revolve mood p_l brucem PuercoPop minion ferada fe[nl]ix Blkt jsnell 2015-11-14T05:18:19Z dim joined #sbcl 2015-11-14T05:48:39Z minion quit (Disconnected by services) 2015-11-14T05:49:13Z lacedaemon joined #sbcl 2015-11-14T05:49:24Z minion joined #sbcl 2015-11-14T05:50:22Z easye` joined #sbcl 2015-11-14T05:51:05Z hydan quit (Ping timeout: 250 seconds) 2015-11-14T05:51:06Z easye quit (Ping timeout: 250 seconds) 2015-11-14T05:51:08Z pchrist_ quit (Ping timeout: 250 seconds) 2015-11-14T05:51:08Z drmeister quit (Ping timeout: 250 seconds) 2015-11-14T05:51:11Z fe[nl]ix quit (Ping timeout: 250 seconds) 2015-11-14T05:51:12Z Xof quit (Ping timeout: 250 seconds) 2015-11-14T05:51:25Z Blkt quit (Read error: Connection reset by peer) 2015-11-14T05:51:31Z Blkt joined #sbcl 2015-11-14T05:51:45Z pchrist joined #sbcl 2015-11-14T05:55:33Z slyrus joined #sbcl 2015-11-14T05:56:00Z ASau` joined #sbcl 2015-11-14T05:58:02Z drmeister joined #sbcl 2015-11-14T05:59:15Z ASau quit (Ping timeout: 240 seconds) 2015-11-14T06:17:25Z pkhuong quit (Ping timeout: 244 seconds) 2015-11-14T06:17:29Z pkhuong_ joined #sbcl 2015-11-14T06:18:16Z ASau`` joined #sbcl 2015-11-14T06:18:17Z nyef_ joined #sbcl 2015-11-14T06:19:41Z nyef quit (Ping timeout: 244 seconds) 2015-11-14T06:19:50Z ASau` quit (Read error: Connection reset by peer) 2015-11-14T06:46:20Z Xof joined #sbcl 2015-11-14T06:59:14Z specbot quit (Disconnected by services) 2015-11-14T06:59:18Z specbot joined #sbcl 2015-11-14T07:02:54Z pepol-otw joined #sbcl 2015-11-14T07:03:17Z revolve_ joined #sbcl 2015-11-14T07:03:53Z p_l quit (Ping timeout: 255 seconds) 2015-11-14T07:03:53Z revolve quit (Ping timeout: 255 seconds) 2015-11-14T07:03:54Z pepol quit (Ping timeout: 255 seconds) 2015-11-14T07:03:57Z pepol-otw is now known as pepol 2015-11-14T07:04:01Z p_l joined #sbcl 2015-11-14T07:13:47Z Shinmera joined #sbcl 2015-11-14T07:16:29Z attila_lendvai joined #sbcl 2015-11-14T07:22:26Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-14T07:29:09Z easye` quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2015-11-14T07:29:25Z easye joined #sbcl 2015-11-14T08:07:23Z gingerale joined #sbcl 2015-11-14T08:10:47Z psy__ joined #sbcl 2015-11-14T08:52:44Z edgar-rft joined #sbcl 2015-11-14T09:50:06Z christoph_debian quit (Ping timeout: 250 seconds) 2015-11-14T09:56:03Z ASau``` joined #sbcl 2015-11-14T09:59:10Z ASau`` quit (Ping timeout: 240 seconds) 2015-11-14T10:10:01Z hzp quit (Quit: ERC Version 5.2 (IRC client for Emacs)) 2015-11-14T10:10:29Z hzp joined #sbcl 2015-11-14T10:19:35Z hzp left #sbcl 2015-11-14T10:19:57Z yauz joined #sbcl 2015-11-14T10:20:11Z pchrist_ joined #sbcl 2015-11-14T10:20:29Z frankS2 quit (Ping timeout: 252 seconds) 2015-11-14T10:20:32Z pchrist quit (Ping timeout: 252 seconds) 2015-11-14T10:20:32Z jdz quit (Ping timeout: 252 seconds) 2015-11-14T10:20:33Z slyrus quit (Ping timeout: 252 seconds) 2015-11-14T10:20:33Z yauz_2 quit (Ping timeout: 252 seconds) 2015-11-14T10:20:38Z loke quit (Ping timeout: 252 seconds) 2015-11-14T10:20:39Z raeon quit (Ping timeout: 252 seconds) 2015-11-14T10:20:39Z salva quit (Ping timeout: 252 seconds) 2015-11-14T10:20:40Z jdz joined #sbcl 2015-11-14T10:21:00Z slyrus joined #sbcl 2015-11-14T10:21:11Z salva joined #sbcl 2015-11-14T10:21:30Z loke joined #sbcl 2015-11-14T10:21:39Z frankS2 joined #sbcl 2015-11-14T10:22:15Z raeon joined #sbcl 2015-11-14T10:27:33Z sjl__ quit (Quit: WeeChat 1.3) 2015-11-14T10:57:05Z ASau``` is now known as ASau 2015-11-14T11:07:19Z kwp2000 joined #sbcl 2015-11-14T11:08:54Z kwp2000 quit (Quit: q) 2015-11-14T11:10:17Z flavioc joined #sbcl 2015-11-14T11:39:43Z stassats` joined #sbcl 2015-11-14T11:43:34Z stassats`: "Please revert this" that this would be the reaction to my adding packages.lisp to slime 2015-11-14T11:43:55Z stassats`: "how did i guess" that is 2015-11-14T11:46:18Z stassats`: now i have three options "throw a fit, revert all the changes i did after that and vow never to touch slime", "fight to keep it", "politely comply" 2015-11-14T11:48:46Z stassats`: or "throw a fit and fight it" 2015-11-14T11:57:45Z stassats`: what a waste of time, either way 2015-11-14T11:59:26Z zacts quit (Read error: Connection reset by peer) 2015-11-14T12:00:06Z zacts joined #sbcl 2015-11-14T12:08:38Z alchemis7 quit (Read error: Connection reset by peer) 2015-11-14T12:08:57Z alchemis7 joined #sbcl 2015-11-14T12:14:18Z dougk2 joined #sbcl 2015-11-14T12:34:20Z lnostdal_ quit (Ping timeout: 246 seconds) 2015-11-14T12:36:50Z lnostdal_ joined #sbcl 2015-11-14T13:04:19Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-14T13:09:18Z flavioc quit (Ping timeout: 272 seconds) 2015-11-14T13:23:33Z alchemis7 quit (Remote host closed the connection) 2015-11-14T13:25:36Z alchemis7 joined #sbcl 2015-11-14T13:29:05Z flavioc joined #sbcl 2015-11-14T13:54:07Z scymtym: i tweaked the patch set for the %DECREMENT-SEMAPHORE issue a little bit more and made sure it doesn't do additional consing in the common case. in case of :TIMEOUT and permanent spurious wakeups (i.e. a second thread does nothing but triggering spurious wakeups) there is 30 % additional consing. i think this is good enough to be committed. if anybody wants to have a final look or object, the patches are here: 2015-11-14T13:54:07Z scymtym: http://paste.lisp.org/display/159457. 2015-11-14T13:55:11Z stassats`: (integer 0) == unsigned-byte? 2015-11-14T13:55:38Z stassats`: i'm not thinking "is that actually clearer?" 2015-11-14T13:55:41Z stassats`: now 2015-11-14T13:56:18Z ASau` joined #sbcl 2015-11-14T13:56:29Z stassats`: but i guess (integer 0 999999) == (mod 1000000) is clearer 2015-11-14T13:56:38Z scymtym: ah, good idead 2015-11-14T13:59:30Z ASau quit (Ping timeout: 240 seconds) 2015-11-14T13:59:48Z stassats`: would (max 0 rel-sec) only return 0 if rel-sec is negative? 2015-11-14T13:59:53Z stassats`: i.e. never? 2015-11-14T14:01:30Z scymtym: right, a relic from rewriting the code too many times 2015-11-14T14:02:59Z stassats`: trying to reason about (max 0 (1- rel-sec)) now 2015-11-14T14:03:45Z stassats`: it will return 0 only if it's the past too? 2015-11-14T14:04:14Z stassats`: so it'll be (values 0 non-zero), but no real sense? 2015-11-14T14:06:54Z scymtym: i think you are right, e.g. now: 10 s 50000 µs, abs: 10 s 10000 µs will return 0 s 960000 µs 2015-11-14T14:07:06Z scymtym: instead of 0 s 0 µs 2015-11-14T14:07:34Z scymtym: RELATIVE-DECODED-TIMES clearly needs its own test 2015-11-14T14:09:02Z scymtym: maybe another log for (and (zerop rel-sec) (> now-usec abs-usec)) that also returns (values 0 0)? 2015-11-14T14:09:08Z scymtym: s/log/leg/ 2015-11-14T14:10:19Z stassats`: maybe subtract first without clamping to 0? 2015-11-14T14:10:24Z stassats`: and check afterwards 2015-11-14T14:10:28Z dougk2 joined #sbcl 2015-11-14T14:12:25Z stassats`: like http://paste.lisp.org/display/159457#3 2015-11-14T14:12:31Z stassats`: without much thought 2015-11-14T14:14:42Z scymtym: looks neat, i will try to check how much mutating the bindings throws off the compiler 2015-11-14T14:14:57Z stassats`: it produces smaller code than the current variant 2015-11-14T14:15:02Z scymtym: nice 2015-11-14T14:15:13Z stassats`: another leg will make the difference more 2015-11-14T14:15:46Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-14T14:17:35Z stassats`: a typo 2015-11-14T14:17:42Z stassats`: (decf rel-usec) (decf rel-sec) 2015-11-14T14:17:49Z scymtym: i will make a list of (edge-)cases and run your implementation through it and make sure all code paths are covered 2015-11-14T14:19:15Z stassats`: spliced in my decode-internal-time, all cases seem to work 2015-11-14T14:19:35Z scymtym: do you have a table of cases already? 2015-11-14T14:20:02Z stassats`: http://paste.lisp.org/display/159457#4 same thing sans the typo 2015-11-14T14:20:32Z stassats`: scymtym: how to test it without splicing a different decode-internal-time? 2015-11-14T14:21:49Z scymtym: i plan to replicate the algorithm in the test with a note to please keep things in sync 2015-11-14T14:22:00Z stassats`: not going to fly 2015-11-14T14:22:14Z stassats`: if i know anything about keeping things in sync in sbcl 2015-11-14T14:22:49Z scymtym: ok, then i'm doing the same thing now, to convince myself that everything works as expected and then throw it away 2015-11-14T14:22:56Z scymtym: oh 2015-11-14T14:23:12Z stassats`: but i think now the logic is clear, it just subtracts a second and then adds a second 2015-11-14T14:23:16Z stassats`: so the time is preserved 2015-11-14T14:23:23Z scymtym: maybe an inlined %relative-decoded-times that takes the real-time as an argument? that could be tested 2015-11-14T14:23:25Z stassats`: instead of four legs 2015-11-14T14:23:55Z stassats`: scymtym: that's an option, but complicating just for a test doesn't sound like a win 2015-11-14T14:24:19Z scymtym: it should generate identical. or do you mean complicating the source? 2015-11-14T14:24:31Z scymtym: s/identical/identical code/ 2015-11-14T14:24:39Z stassats`: source 2015-11-14T14:24:52Z stassats`: complication => more confusion and possible bugs in the end 2015-11-14T14:25:34Z scymtym: ok. you convinced me of the thinking+simple-implementation approach :) 2015-11-14T14:25:56Z scymtym: thank you very much for the thorough review and suggestions 2015-11-14T14:26:33Z stassats`: it's easy to thoroughly review just one function 2015-11-14T14:26:35Z DeadTrickster_ quit (Ping timeout: 264 seconds) 2015-11-14T14:27:27Z scymtym: i find it hard for code that i wrote myself, even for just one function 2015-11-14T14:29:52Z sjl joined #sbcl 2015-11-14T14:31:23Z stassats`: just a curious solution: http://paste.lisp.org/display/159457#5 2015-11-14T14:31:34Z stassats`: but i don't suggest using it 2015-11-14T14:34:26Z scymtym: yeah, it's harder to understand and FLOOR sometimes gives the compiler trouble in my experience 2015-11-14T14:37:32Z stassats`: SB-KERNEL:INTERNAL-TIME may be more suitable for the seconds declaration 2015-11-14T14:40:21Z scymtym: wouldn't that be confusing? it is of course an upper bound but the time in seconds is semantically a different thing. or is your suggestion for DECODE-INTERNAL-TIME? 2015-11-14T14:40:57Z stassats`: it's unsigned-byte and it'll always be enough to hold seconds 2015-11-14T14:41:22Z stassats`: if we decided to restrict GET-INTERNAL-REAL-TIME 2015-11-14T14:41:46Z stassats`: though its current derived type is 73 bits 2015-11-14T14:42:20Z scymtym: sure, my concern is that such a declaration may give the impression that the affected variable hold internal time units, not seconds 2015-11-14T14:44:01Z stassats`: ok, a new type then? 2015-11-14T14:44:26Z scymtym: that would be an option 2015-11-14T14:44:27Z stassats`: back to restricting get-internal-real-time, ub64 will give it five hundred eighty-four million years 2015-11-14T14:44:54Z stassats`: who runs sbcl for that long? 2015-11-14T14:44:59Z stassats`: without updating 2015-11-14T14:46:13Z stassats`: let me try that 2015-11-14T14:46:24Z scymtym: (deftype seconds () `(integer 0 ,(floor i-t-u-p-s)))? 2015-11-14T14:46:38Z stassats`: a fixnum would give one hundred forty-six million years 2015-11-14T14:47:40Z stassats`: so, ub62 for all targets? 2015-11-14T14:47:48Z stassats`: can't use fixnums on 32-bit 2015-11-14T14:50:56Z scymtym: a fixed number of bit that give sufficiently large internal times and a fixnum on 64-bit platforms sounds good 2015-11-14T14:51:20Z scymtym: http://paste.lisp.org/display/159457#6 should be enough testing, i hope 2015-11-14T14:53:23Z scymtym: so, if we add an +INTERNAL-TIME-BITS+ we could do (deftype seconds () `(integer 0 ,(floor (ash 1 +internal-time-bits+) i-t-u-p-s))) 2015-11-14T14:53:43Z stassats`: i just did (sb!xc:deftype internal-seconds () '(unsigned-byte #.(- 62 (floor (log sb!xc:internal-time-units-per-second 2))))) 2015-11-14T14:54:16Z scymtym: why not make 62 a constant and reuse it in the INTERNAL-TIME type? 2015-11-14T14:54:28Z stassats`: well, it's two lines together 2015-11-14T14:54:38Z scymtym: you where talking about things getting out of sync :P 2015-11-14T14:54:43Z scymtym: were 2015-11-14T14:54:51Z stassats`: i hope two lines can be kept in sync 2015-11-14T14:55:09Z scymtym: will you push so i can already use it in the patch? 2015-11-14T14:55:43Z stassats`: building 2015-11-14T14:56:21Z stassats`: that was short-lived 2015-11-14T14:56:39Z stassats`: no SB!XC:INTERNAL-TIME-UNITS-PER-SECOND 2015-11-14T14:56:57Z flavioc quit (Ping timeout: 255 seconds) 2015-11-14T14:57:10Z scymtym: there is also a thing discovered by the automated tests: the out-of-line version of SB-KERNEL:%RAW-INSTANCE-CAS/WORD is missing on x86, making compare-and-swap.impure.lisp cas-raw-instance-ref-word fail in :INTERPRET *EVALUATOR-MODE*. can i just add #+x86 in line 251 of cas.lisp? 2015-11-14T14:57:51Z stassats`: is it implemented? 2015-11-14T14:58:35Z stassats`: scymtym: do we have the same 251 line? 2015-11-14T14:58:53Z stassats`: bah, emacs didn't reload the file 2015-11-14T14:59:20Z scymtym: there are raw-instance-{ref,set}/word vops in compiler/x86/cell.lisp 2015-11-14T14:59:20Z stassats`: scymtym: i think only x86-64 has that vop 2015-11-14T14:59:28Z scymtym: and M-. knows about them 2015-11-14T14:59:47Z stassats`: ok, x86-64 was first, x86 now has it too 2015-11-14T15:00:05Z scymtym: ok, i will try that after the %DECREMENT-SEMAPHORE thing 2015-11-14T15:00:27Z stassats`: i'd rather it get implemented on ppc and arm64 and #+ could go away 2015-11-14T15:00:53Z stassats`: and not by me, of course 2015-11-14T15:00:54Z scymtym: that will affect more places, though 2015-11-14T15:01:20Z scymtym: c.f. cas.lisp:125 2015-11-14T15:05:42Z stassats`: relative-decoded-times stops calling out of line functions with that declaration 2015-11-14T15:08:32Z stassats`: ok wait, get-internal-real-time is also using internal-time 2015-11-14T15:11:35Z stassats`: i'm sufficiently confused 2015-11-14T15:11:46Z scymtym: the fndb entry for g-i-r-t would be tighter but is that a problem? 2015-11-14T15:12:02Z stassats`: no, i thought it was absolute 2015-11-14T15:14:58Z nyef_: I think I might know what happened to my SPARC last night. 2015-11-14T15:15:48Z nyef_: If the RPi rebooted (and it did at some point yesterday) then it could have done something unfortunate to the line control signals on the console port. 2015-11-14T15:16:38Z christoph_debian joined #sbcl 2015-11-14T15:16:45Z stassats`: nyef_: this is like communicating with new horizons 2015-11-14T15:17:34Z stassats`: scymtym: ok, pushed 2015-11-14T15:17:53Z stassats`: scymtym: it's sb-kernel:internal-seconds 2015-11-14T15:18:22Z scymtym: stassats`: thanks. i used that already 2015-11-14T15:18:55Z scymtym: stassats`: are you ok with rest of the changes (assuming they still pass all tests after rebasing and rebuilding)? 2015-11-14T15:19:09Z stassats`: haven't looked yet 2015-11-14T15:20:57Z stassats`: scymtym: there are many forms in the unwind-protect clean up form in %condition-wait 2015-11-14T15:21:05Z stassats`: are they all fine if one of them unwinds? 2015-11-14T15:22:43Z scymtym: in the sense of leaving a mutex locked or something like that? 2015-11-14T15:23:02Z stassats`: well, doing something bad 2015-11-14T15:23:25Z stassats`: it also could be (multiple-value-call #'%condition-wait queue mutex timeout (decode-timeout timeout)) 2015-11-14T15:23:37Z scymtym: that part is mostly unchanged w.r.t. the previous implementation. so if there are problems of that kind i would like to address them in separate commits 2015-11-14T15:23:45Z stassats`: ok 2015-11-14T15:23:52Z stassats`: i don't know whether there are problems 2015-11-14T15:25:01Z stassats`: otherwise, no more suggestions 2015-11-14T15:25:24Z scymtym: in CONDITION-WAIT? will that still inline? 2015-11-14T15:25:43Z stassats`: it transforms to m-v-bind 2015-11-14T15:26:11Z stassats`: err 2015-11-14T15:26:15Z stassats`: m-v-bind transforms to it 2015-11-14T15:26:34Z scymtym: didn't know that. i was thinking about using m-v-c. should have check what it does 2015-11-14T15:26:42Z scymtym: checked 2015-11-14T15:27:30Z stassats`: but let's check inlining anyway 2015-11-14T15:28:06Z stassats`: it actually doesn't inline 2015-11-14T15:28:12Z stassats`: let's see if that can be fixed 2015-11-14T15:28:57Z scymtym: i'm doing a build and running test for the changes made so far. by the time i'm done on, you probably have the inlining fix pushed :) 2015-11-14T15:29:22Z stassats`: it's one of the harder problems 2015-11-14T15:31:20Z stassats`: m-v-call only inlines (&optional x y z &rest args) 2015-11-14T15:31:59Z stassats`: that's for a lambda 2015-11-14T15:42:03Z stassats`: actually 2015-11-14T15:43:46Z stassats`: scymtym: decode-timeout should actually get inlined 2015-11-14T15:43:55Z ASau` is now known as ASau 2015-11-14T15:44:03Z stassats`: it inlines if the number of return values is known 2015-11-14T15:44:11Z stassats`: and it should become known for decode-timeout 2015-11-14T15:45:32Z stassats`: it might need a type declaration 2015-11-14T15:45:37Z stassats`: or it might not, not sure here 2015-11-14T15:47:21Z scymtym: so in (m-v-call %codition-wait … (decode-timeout)) everything should be inlined? 2015-11-14T15:47:39Z stassats`: decode-timeout just has to be declared 2015-11-14T15:50:30Z scymtym: sorry, are you saying (declaim (ftype … decode-timeout)) => (m-v-call %codition-wait … (decode-timeout)) can inline %condition-wait or (declaim (inline decode-timeout)) => (m-v-call %codition-wait … (decode-timeout)) can inline everything? 2015-11-14T15:51:03Z stassats`: yes 2015-11-14T15:51:51Z scymtym: i already assumed that you meant one of the two. but which one :) 2015-11-14T15:52:02Z stassats`: it's both 2015-11-14T15:52:37Z scymtym: ok, which one should we go for then? i think the first one would be good enough 2015-11-14T15:53:07Z stassats`: yes, just declaring the type 2015-11-14T15:55:48Z stassats`: ok, wait a bit 2015-11-14T15:56:28Z stassats`: it won't inline (mv-call #'fun 1 (bar)) 2015-11-14T15:57:05Z scymtym: don't worry, i'm still tweaking and testing 2015-11-14T16:00:31Z minion quit (Remote host closed the connection) 2015-11-14T16:00:31Z specbot quit (Remote host closed the connection) 2015-11-14T16:00:35Z easye quit (Read error: Connection reset by peer) 2015-11-14T16:02:43Z stassats`: ok, i give up, just use mv-bind 2015-11-14T16:02:51Z stassats`: the change would not be trivial 2015-11-14T16:02:57Z scymtym: will do 2015-11-14T16:03:01Z stassats`: and not enough of a win 2015-11-14T16:03:08Z minion joined #sbcl 2015-11-14T16:03:08Z specbot joined #sbcl 2015-11-14T16:03:18Z stassats`: (mv-call #'fun 1 (bar)) could be useful, but i was looking for always inlining 2015-11-14T16:03:53Z stassats`: even if the type is not defined 2015-11-14T16:04:30Z stassats`: but m-v-call has to check argument count, while m-v-bind doesn't 2015-11-14T16:12:56Z scymtym: the (max 0 …) forms in DECODE-TIMEOUT seem unnecessary 2015-11-14T16:19:44Z truecoldmind joined #sbcl 2015-11-14T16:21:18Z truecoldmind: Hi! I’m trying to enable threading on osx. I compiled a binary from sources with `—fancy` flag (and installed it globally), but I’m still getting “undefined function: MAKE-THREAD”. What I’m doing wrong? 2015-11-14T16:22:41Z scymtym: truecoldmind: is :SB-THREAD included in *FEATURES*? alternatively, are you calling CL-USER::MAKE-THREAD instead of SB-THREAD:MAKE-THREAD? 2015-11-14T16:24:58Z truecoldmind: scymtym: oh, I’m called it with “(make-thread)”. “(sb-thread:make-thread)” works for me in SLIME 2015-11-14T16:25:03Z truecoldmind: thank you 2015-11-14T16:25:57Z scymtym: truecoldmind: no problem 2015-11-14T16:27:36Z dougk2 joined #sbcl 2015-11-14T16:36:24Z DeadTrickster_ joined #sbcl 2015-11-14T16:57:52Z stassats`: can internal run time grow faster than real-time? 2015-11-14T16:58:11Z nyef_: stassats`: Running on more than one CPU at once, maybe? 2015-11-14T16:58:19Z stassats`: that's what i'm getting at 2015-11-14T16:59:15Z stassats`: it can 2015-11-14T17:00:13Z stassats`: imagine 1024 cores all spinning 2015-11-14T17:00:18Z stassats`: that gives only one hundred forty-two thousand seven hundred ten years 2015-11-14T17:01:31Z scymtym: i have to run. will hopefully be back later 2015-11-14T17:01:40Z scymtym: stassats`: thanks again 2015-11-14T17:01:40Z _iwc joined #sbcl 2015-11-14T17:01:47Z stassats`: say 4096 cores 2015-11-14T17:01:50Z stassats`: that's thirty-five thousand years 2015-11-14T17:01:57Z stassats`: what do you think, is that acceptable? 2015-11-14T17:03:36Z stassats`: and what is the failure mode 2015-11-14T17:05:34Z truecoldmind_ joined #sbcl 2015-11-14T17:06:39Z truecoldmind quit (Ping timeout: 252 seconds) 2015-11-14T17:06:40Z truecoldmind_ is now known as truecoldmind 2015-11-14T17:07:09Z stassats`: don't have the patience to find out 2015-11-14T17:09:31Z angavrilov quit (Remote host closed the connection) 2015-11-14T17:12:05Z Xof: imagine a beowulf cluster of those 2015-11-14T17:12:11Z _iwc quit (K-Lined) 2015-11-14T17:15:46Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-14T17:21:32Z stassats`: setting internal-time ti (unsigned-byte 17) 2015-11-14T17:22:58Z stassats`: %PRIMITIVE HALT called; the party is over. 2015-11-14T17:23:25Z stassats`: 18 2015-11-14T17:25:44Z stassats`: again 2015-11-14T17:26:47Z stassats`: M-. sb-c::make-source-info cond: Error: end of file on # 2015-11-14T17:26:50Z stassats`: goddamn it 2015-11-14T17:38:25Z nyef_: Hrm. "can't guess target SBCL architecture, please specify --arch=", huh? 2015-11-14T17:39:08Z stassats`: weird uname -m? 2015-11-14T17:39:15Z nyef_: Yeah, there's a 64 on the end. 2015-11-14T17:39:29Z nyef_: I'll consider fixing it later. 2015-11-14T17:39:42Z nyef_: It's already obvious that I'm going to have to install gentoo on this box. 2015-11-14T17:41:02Z nyef_: Took me a while to get debian all up-to-date and stuff, what with having to download and install an updated keyring before it could update apt, and then aptitude itself would crash after downloading stuff instead of installing it... 2015-11-14T17:41:52Z nyef_: And, of course, debian is all about the 32-bithood, so if I want a 64-bit userland, it pretty much has to be gentoo. 2015-11-14T17:52:49Z psy__ quit (Read error: Connection reset by peer) 2015-11-14T17:53:14Z stassats`: even (unsigned-byte 32) seems to be broken 2015-11-14T17:55:42Z stassats`: i have no idea which error it is actually producing 2015-11-14T17:56:05Z ASau` joined #sbcl 2015-11-14T17:57:30Z stassats`: "Argh! corrupted error depth, halting" 2015-11-14T17:57:52Z stassats`: i've had that before, maybe i'll work on fixing this first 2015-11-14T17:58:53Z stassats`: "*MAXIMUM-ERROR-DEPTH* is not bound during cold-init" 2015-11-14T17:59:30Z ASau quit (Ping timeout: 244 seconds) 2015-11-14T17:59:33Z ASau` is now known as ASau 2015-11-14T18:03:26Z nyef_ sighs. 2015-11-14T18:03:48Z nyef_: Looks like updating debian trashed the system completely. 2015-11-14T18:04:47Z nyef_: Doesn't even boot anymore. /-: 2015-11-14T18:05:28Z stassats`: ignore *maximum-error-depth*, i still exceed error depth (of 1 i know set) but i see it's OBJECT-NOT-TYPE-ERROR 2015-11-14T18:06:07Z stassats`: so, now i add sb-show, and will hopefully see it 2015-11-14T18:06:16Z stassats`: though why doesn't the runtime print it? 2015-11-14T18:06:52Z stassats`: because it's (setf (extern-alien "internal_errors_enabled" int) 1) 2015-11-14T18:06:56Z stassats`: like hell it's enabled 2015-11-14T18:08:33Z stassats`: putting (setf (extern-alien "internal_errors_enabled" int) 1) after (setf sb!kernel::*maximum-error-depth* 10) 2015-11-14T18:09:32Z stassats`: better cold-init behavior is crucial for new ports 2015-11-14T18:10:13Z stassats`: Internal error #9 "Object is of the wrong type." at 0x100038d7c5 SC: 27, Offset: 4 0x2a20e606a70: even fixnum: 1447524578616 SC: 0, Offset: 4 ??? 2015-11-14T18:10:18Z stassats`: SC 0 is a constant 2015-11-14T18:10:36Z stassats`: say i know that it's (unsigned-byte 32) 2015-11-14T18:11:09Z stassats`: where does 1447524578616 come from? 2015-11-14T18:11:37Z nyef_: Looks largely ASCII? 2015-11-14T18:12:12Z nyef_: Hrm... Maybe not. 2015-11-14T18:12:18Z stassats`: it's supposed to be a result of get-internal-run-time 2015-11-14T18:13:08Z stassats`: ok, i'm for the ldb improvements anyway i want to fetch the constant in SC: 0, Offset: 4 ??? 2015-11-14T18:15:18Z nyef_: I'm heading out for a while. I'll try to figure out how to resurrect my HPPA later. Saving graces: I still have console access, and I have a DHCP, TFTP, and NFS server on the same subnet. 2015-11-14T18:16:27Z truecoldmind_ joined #sbcl 2015-11-14T18:17:19Z truecoldmind quit (Ping timeout: 260 seconds) 2015-11-14T18:17:19Z truecoldmind_ is now known as truecoldmind 2015-11-14T18:28:11Z scymtym_ joined #sbcl 2015-11-14T18:35:50Z sjl quit (Ping timeout: 240 seconds) 2015-11-14T18:44:05Z stassats`: ok, SC: 0, Offset: 4 $1= 0x100038d0e7: list pointer 2015-11-14T18:44:07Z stassats`: that's better 2015-11-14T18:46:35Z stassats`: 1447524578616 looks awfully like (sb-ext:get-time-of-day) => 1447526798 2015-11-14T18:50:55Z stassats`: things like that would be helpful when porting to ppc64 2015-11-14T18:59:39Z stassats`: so, GET-INTERNAL-RUN-TIME type checks something for internal-time 2015-11-14T19:00:51Z truecoldmind quit (Ping timeout: 255 seconds) 2015-11-14T19:08:05Z stassats`: i think i get it now, the very first get-internal-real-time does not actually return 0 0 (or close to it 2015-11-14T19:09:24Z stassats`: before reinit-internal-real-time is called, it returns time of day multiplied by 1000 2015-11-14T19:19:52Z sjl joined #sbcl 2015-11-14T19:28:50Z stassats`: calling reinit-real-time first thing in cold init doesn't work 2015-11-14T19:28:55Z stassats`: says undefined 2015-11-14T19:29:54Z stassats`: will try after tlfs are processed 2015-11-14T19:37:17Z DeadTrickster_: sbcl.org: error 503 XID: 290733244 2015-11-14T19:41:08Z stassats`: so, backtrace from cold-init shows SB-KERNEL::!COLD-INI and then some foreing functions 2015-11-14T19:41:33Z stassats`: i look from gdb, PC is actually from GET-INTERNAL-REAL-TIME, so the backtrace is bogus 2015-11-14T19:48:37Z stassats`: lisp_backtrace uses backtrace_from_fp, wouldn't it be a better idea to go from the interrupt context? 2015-11-14T19:49:00Z stassats`: though it does somehow get to !cold-init, why does it miss get-internal-real-time 2015-11-14T20:14:15Z lnostdal_ quit (Ping timeout: 240 seconds) 2015-11-14T20:14:34Z lnostdal_ joined #sbcl 2015-11-14T20:17:01Z attila_lendvai joined #sbcl 2015-11-14T20:23:26Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-14T20:26:49Z attila_lendvai joined #sbcl 2015-11-14T20:28:09Z stassats`: ok, i rewrote lisp_backtrace to use interrupt context when available and go from there 2015-11-14T20:28:41Z attila_lendvai quit (Read error: No route to host) 2015-11-14T20:28:44Z stassats`: there's little point in seeing what C does after catching a trap, especially when that makes the back-trace unrecoverable 2015-11-14T20:33:13Z stassats`: so, better ldb backtraces on x86oids, riscs still suck 2015-11-14T20:36:18Z stassats`: x86oids do not need an interrupt context to produce something sensible, while riscs do 2015-11-14T20:39:51Z dougk2 joined #sbcl 2015-11-14T20:56:33Z dougk2 quit (Ping timeout: 252 seconds) 2015-11-14T20:58:39Z stassats`: ssh: connect to host git.code.sf.net port 22: Connection refused 2015-11-14T20:58:41Z stassats`: wonderful 2015-11-14T21:00:38Z dougk2 joined #sbcl 2015-11-14T21:02:17Z scymtym_: guess where all the red spheres come from: https://ci.cor-lab.org/job/sbcl-master/ 2015-11-14T21:18:36Z eudoxia joined #sbcl 2015-11-14T21:28:46Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-14T21:33:11Z dougk2 joined #sbcl 2015-11-14T21:39:02Z revolve_ quit (Quit: leaving) 2015-11-14T21:39:30Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-14T21:41:36Z dougk2 joined #sbcl 2015-11-14T21:43:16Z truecoldmind joined #sbcl 2015-11-14T21:52:03Z truecoldmind quit (Quit: laptop going to sleep...) 2015-11-14T21:52:29Z truecoldmind joined #sbcl 2015-11-14T21:56:18Z ASau` joined #sbcl 2015-11-14T21:57:12Z nyef_: Okay, I'm back. Did I miss anything important? 2015-11-14T21:58:48Z stassats`: nyef_: no sourceforge 2015-11-14T21:59:14Z truecoldmind quit (Quit: laptop going to sleep...) 2015-11-14T21:59:39Z ASau quit (Ping timeout: 240 seconds) 2015-11-14T21:59:39Z nyef_: Lovely. 2015-11-14T21:59:46Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-14T22:00:05Z ASau` is now known as ASau 2015-11-14T22:00:33Z stassats`: pushed my backtrace changes to https://github.com/stassats/sbcl/ for now 2015-11-14T22:01:39Z lnostdal_ quit (Ping timeout: 240 seconds) 2015-11-14T22:02:11Z stassats`: i wonder if on separate control stack platforms backtraces could be done form the other direction 2015-11-14T22:02:26Z stassats`: the question is, where to end? 2015-11-14T22:02:53Z stassats`: or where to find the next frame pointer, for that matter 2015-11-14T22:03:48Z stassats`: just needs more fake foreign function frames so that this isn't an issue 2015-11-14T22:05:41Z nyef_: Or a pointer to a real foreign function frame? 2015-11-14T22:07:37Z stassats`: i added some fake frames around some lose()s during the arm port, but failed to commit them 2015-11-14T22:07:39Z adhoc joined #sbcl 2015-11-14T22:08:06Z stassats`: but i now realize that a good ldb support is crucial for a new port 2015-11-14T22:09:03Z nyef_: I don't know about crucial, but certainly much appreciated at times. 2015-11-14T22:10:40Z nyef_ tries to boot the HPPA on the old kernel and initrd. 2015-11-14T22:11:21Z nyef_: Yup, that looks to have done it. 2015-11-14T22:12:15Z nyef_: Hmph. And didn't follow through on the threatened renaming of ethernet devices. Lovely. 2015-11-14T22:12:27Z stassats`: i would have figured my today's cold-init issue much faster had i better backtraces 2015-11-14T22:12:36Z stassats`: or better everything 2015-11-14T22:12:44Z stassats`: it didn't even print the internal error, just crashed 2015-11-14T22:13:05Z stassats`: and when it started printing the error, it couldn't fetch the constant from CODE 2015-11-14T22:13:09Z stassats`: so, pretty much blind 2015-11-14T22:15:57Z nyef_: Wow. Found a bug already. 2015-11-14T22:16:07Z nyef_: In validate.h 2015-11-14T22:16:44Z stassats`: stack growth? 2015-11-14T22:16:51Z stassats`: it's the only platform with an upward stack 2015-11-14T22:16:54Z nyef_: Yup. 2015-11-14T22:17:00Z nyef_: "#elif with no expression" 2015-11-14T22:17:17Z stassats`: my bad 2015-11-14T22:17:23Z nyef_: I'll fix it. 2015-11-14T22:17:50Z stassats`: i remember when sbcl thought the all the alien stacks grew upward 2015-11-14T22:28:55Z lnostdal joined #sbcl 2015-11-14T22:29:59Z eudoxia_ joined #sbcl 2015-11-14T22:30:31Z eudoxia quit (Read error: Connection reset by peer) 2015-11-14T22:34:15Z lnostdal quit (Ping timeout: 240 seconds) 2015-11-14T22:34:56Z charliezhang joined #sbcl 2015-11-14T22:34:59Z salva quit (Read error: No route to host) 2015-11-14T22:35:25Z charliezhang quit (Client Quit) 2015-11-14T22:35:51Z csziacobus joined #sbcl 2015-11-14T22:35:51Z csziacobus is now known as charliezhang 2015-11-14T22:36:18Z charliezhang quit (Client Quit) 2015-11-14T22:37:18Z csziacobus joined #sbcl 2015-11-14T22:46:43Z lnostdal joined #sbcl 2015-11-14T22:47:38Z jlarocco joined #sbcl 2015-11-14T22:48:14Z jlarocco quit (Remote host closed the connection) 2015-11-14T22:49:41Z jlarocco joined #sbcl 2015-11-14T22:55:02Z stassats`: how can fuzzy testing be applied to sbcl? 2015-11-14T22:55:32Z stassats`: looking at american fuzzy lop 2015-11-14T22:57:42Z stassats`: doesn't seem right for this 2015-11-14T23:01:50Z stassats`: or maybe it is 2015-11-14T23:05:53Z gingerale quit (Remote host closed the connection) 2015-11-14T23:06:39Z minion quit (Remote host closed the connection) 2015-11-14T23:06:39Z specbot quit (Remote host closed the connection) 2015-11-14T23:07:20Z specbot joined #sbcl 2015-11-14T23:07:59Z minion joined #sbcl 2015-11-14T23:08:11Z minion quit (Remote host closed the connection) 2015-11-14T23:08:11Z specbot quit (Remote host closed the connection) 2015-11-14T23:09:22Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-11-14T23:09:34Z specbot joined #sbcl 2015-11-14T23:09:35Z minion joined #sbcl 2015-11-14T23:10:52Z nikki93 joined #sbcl 2015-11-14T23:11:06Z specbot quit (Remote host closed the connection) 2015-11-14T23:11:06Z minion quit (Remote host closed the connection) 2015-11-14T23:12:26Z specbot joined #sbcl 2015-11-14T23:12:26Z minion joined #sbcl 2015-11-14T23:12:31Z truecoldmind joined #sbcl 2015-11-14T23:12:58Z minion quit (Remote host closed the connection) 2015-11-14T23:12:58Z specbot quit (Remote host closed the connection) 2015-11-14T23:13:50Z specbot joined #sbcl 2015-11-14T23:13:51Z minion joined #sbcl 2015-11-14T23:24:39Z stassats`: (write-string 'a) => (WRITE-STRING A 70368444706380) 2015-11-14T23:24:51Z truecoldmind quit (Quit: laptop going to sleep...) 2015-11-14T23:27:00Z nyef_: Wow, the sigcontext structure is completely different. 2015-11-14T23:36:59Z truecoldmind joined #sbcl 2015-11-14T23:38:16Z stassats`: the fuzz looper needs code instrumentation 2015-11-14T23:39:23Z edgar-rft quit (Quit: edgar-rft) 2015-11-14T23:41:19Z stassats`: but it can use qemu 2015-11-14T23:47:09Z eudoxia_ quit (Quit: Leaving) 2015-11-14T23:50:38Z nyef_: Preliminary conclusions on the HPPA project: I'm going to need an HPUX box, an HPPA 1.1 manual, and possibly an HPPA 1.1 box to do this job right. 2015-11-14T23:50:55Z stassats`: the linux support is no good? 2015-11-14T23:51:21Z nyef_: The signal context access was all kinds of wrong. 2015-11-14T23:52:57Z karswell` joined #sbcl 2015-11-14T23:53:17Z nyef_: There's a mention of linux kernel 2.4.19-pa4 in the context of some trap hopefully being handled correctly. 2015-11-14T23:53:56Z nyef_: Some thirteen years, two months, and twenty-eight days ago or so. 2015-11-14T23:55:58Z stassats`: sbcl doesn't run in qemu user-mode, bummer 2015-11-14T23:57:00Z nyef_: Hrm! It blew up from not being able to find dladdr. 2015-11-14T23:57:21Z nyef_: In genesis. 2015-11-14T23:57:59Z stassats`: i can try disabling dladdr and seeing what happens 2015-11-14T23:58:07Z nyef_: ... "00069b84 T __dladdr" 2015-11-14T23:58:34Z stassats`: so, it was enabled, i thought it failed while being disabled 2015-11-15T00:00:37Z nyef_: Yeah, not sure quite what's going on there yet. 2015-11-15T00:07:10Z stassats`: afl also needs for sigsegvs to be unhandled 2015-11-15T00:07:55Z truecoldmind quit (Quit: laptop going to sleep...) 2015-11-15T00:08:07Z stassats`: maybe i can torture ecl instead 2015-11-15T00:11:42Z stassats`: i can use sbcl.core as an input file, just for the hell of it 2015-11-15T00:18:11Z truecoldmind joined #sbcl 2015-11-15T00:23:35Z scymtym_: isn't the input what afl generates? 2015-11-15T00:23:49Z stassats`: i wanted to generate sbcl.core 2015-11-15T00:24:06Z stassats`: it instruments C code, so generating lisp code doesn't really touch C 2015-11-15T00:24:19Z scymtym_: oh, not for ecl but to fuzz the runtime? 2015-11-15T00:24:31Z stassats`: well, i just want to fuzz something 2015-11-15T00:24:40Z scymtym_: hehe, i see 2015-11-15T00:24:59Z stassats`: but i don't write anything in C 2015-11-15T00:25:06Z nikki93 quit (Remote host closed the connection) 2015-11-15T00:33:03Z nikki93 joined #sbcl 2015-11-15T00:34:58Z stassats`: min size for sbcl is a page 2015-11-15T00:35:05Z DeadTrickster_ quit (Ping timeout: 252 seconds) 2015-11-15T00:35:06Z stassats`: so it has trouble even with that 2015-11-15T00:35:16Z stassats`: no fuzzing tonight 2015-11-15T00:58:17Z truecoldmind quit (Quit: laptop going to sleep...) 2015-11-15T00:58:42Z truecoldmind joined #sbcl 2015-11-15T00:58:45Z scymtym_: (sf git seems to be back) 2015-11-15T01:01:10Z pepol quit (Ping timeout: 272 seconds) 2015-11-15T01:02:09Z scymtym_: https://ci.cor-lab.org/job/sbcl-master/1319/featureset=4,label=MAC_OS_mavericks_64bit/console : %CONDITION-WAIT should be conditionalized on :SB-THREAD? 2015-11-15T01:02:18Z truecoldmind quit (Client Quit) 2015-11-15T01:03:24Z stassats`: i don't think it should 2015-11-15T01:04:27Z scymtym_: the body of CONDITION-WAIT previously was 2015-11-15T01:04:38Z stassats`: what the hell is even #1=#1#? 2015-11-15T01:06:09Z stassats`: scymtym_: if it's not used outside of sb-thread 2015-11-15T01:06:15Z stassats`: but it shouldn't crash like that 2015-11-15T01:06:48Z scymtym_: it is only used by CONDITION-WAIT (was its body before the change) and in %DECREMENT-SEMAPHORE (as of the change) 2015-11-15T01:07:15Z scymtym_: so conditionalizing should be ok as CONDITION-WAIT itself will still be defined 2015-11-15T01:08:03Z scymtym_: i will do that tomorrow. heading to bed now. 2015-11-15T01:10:59Z scymtym_ quit (Quit: ERC (IRC client for Emacs 25.0.50.1)) 2015-11-15T01:16:46Z pepol joined #sbcl 2015-11-15T01:36:54Z nyef_: Ah. 2015-11-15T01:37:15Z nyef_: Guess what file isn't in ASSEM_SRC in Config.hppa-linux ? 2015-11-15T01:45:38Z nikki93 quit (Remote host closed the connection) 2015-11-15T01:51:55Z stassats`: but is LDSO_STUBIFY defined for it? 2015-11-15T01:53:35Z nyef_: Yes. 2015-11-15T01:53:42Z stassats`: where? 2015-11-15T01:53:51Z stassats`: oh, my C-s was broken 2015-11-15T01:54:08Z nyef_: I don't know where, I just know that the file had reasonable-looking stubs in it. (-: 2015-11-15T01:54:25Z stassats`: tools-for-build/ldso-stubs.lisp 2015-11-15T01:54:34Z stassats`: but i missed #+hppa the first time around 2015-11-15T01:54:52Z stassats`: and i'm going to use this as an opportunity to say what a gross hack this ldso_stubify is 2015-11-15T01:56:44Z ASau` joined #sbcl 2015-11-15T02:00:15Z ASau quit (Ping timeout: 255 seconds) 2015-11-15T02:02:04Z nyef_: Hrm. Okay, gdb tells me that call_into_lisp missed the entry point for !COLD-INIT by... six words. 2015-11-15T02:02:36Z stassats`: and it worked before? 2015-11-15T02:02:58Z nyef_: I make no representation that this was at any point functional code. 2015-11-15T02:03:18Z stassats`: i would expect it to have run at some point 2015-11-15T02:03:22Z nyef_: Also keep in mind how much could easily have changed since the last time anyone attempted to run it. 2015-11-15T02:04:13Z stassats`: interesting asssembly it has 2015-11-15T02:04:14Z nyef_: ... Holy shit! This is a RISC chip?!? 2015-11-15T02:05:11Z stassats`: lra: nop /* a few nops because we dont know where we land */ 2015-11-15T02:05:27Z nyef_: There's an instruction here, "cmpb,<>,n r11,r0,0x51ac9810". Compare r11 to r0, branching to given address if they differ? 2015-11-15T02:05:28Z stassats`: that's bizarre, if i may say so 2015-11-15T02:06:02Z stassats`: nyef_: i find RISC to be pretty meaningless outside of load/store 2015-11-15T02:06:19Z stassats`: so, for me RISC is just fixed length instructions and load/store 2015-11-15T02:06:28Z nyef_: Hmm. 2015-11-15T02:06:42Z nyef_: What's more bizarre is the closure_tramp and related noise. 2015-11-15T02:06:49Z stassats`: even then, they have variable length instructions 2015-11-15T02:07:28Z stassats`: for some reason formatting hppa-assem.S is really strange 2015-11-15T02:07:41Z stassats`: was somebody using it with two space tabs? 2015-11-15T02:10:02Z stassats`: interestingly it doesn't use "move" but "copy", true, the original value doesn't disappear 2015-11-15T02:11:30Z nyef_: Hrm. Branch External, Nullifying following instruction, displacement zero, space register 5, target address in reg_NL0? 2015-11-15T02:11:55Z stassats`: what's break 0,0? 2015-11-15T02:12:12Z nyef_: debug trap. 2015-11-15T02:12:31Z nyef_: With five-bit and 13-bit immediate data fields. 2015-11-15T02:13:11Z stassats`: why is lra not tagged? 2015-11-15T02:13:36Z stassats`: i mean, not set up 2015-11-15T02:13:50Z stassats`: no widetag, no offset 2015-11-15T02:13:55Z nyef_: It might not be expected to return. 2015-11-15T02:14:11Z stassats`: call_into_lisp should return 2015-11-15T02:14:22Z nyef_: Which, yes, probably breaks the backtracer and thus error handling, but that could easily be a relatively new thing. 2015-11-15T02:14:25Z stassats`: what's with error_handling 2015-11-15T02:14:40Z nyef_: Where? 2015-11-15T02:14:48Z stassats`: i mean, that's when it should return 2015-11-15T02:15:12Z nyef_: Oh. Most error-handling scenarios don't return, they unwind. 2015-11-15T02:15:42Z stassats`: oh yeah, that brings to arrange_return_to_lisp_function 2015-11-15T02:15:46Z stassats`: which is weird 2015-11-15T02:16:39Z nyef_: Wha... Heh! I know why the jump to lisp went wrong, and why it came as close as it did. 2015-11-15T02:17:06Z nyef_: reg_NL0 is typically the first C arg-passing reg, and for call_into_lisp that means the function to call. 2015-11-15T02:17:08Z stassats`: six words doesn't sounds close 2015-11-15T02:17:37Z nyef_: It's never written to (or referenced) in call_into_lisp until that branch. 2015-11-15T02:18:00Z nyef_: Hrm. Branch external takes an offset... 2015-11-15T02:18:35Z nyef_: ... Ooh! There's a computed-goto instruction. 2015-11-15T02:21:31Z stassats`: reading hppa news "For the first time ever we now have more pre-built debian packages than alpha or ppc64" 2015-11-15T02:24:53Z nyef_: Heh. 2015-11-15T02:27:55Z stassats`: can't find pa-risc abi 2015-11-15T02:28:09Z stassats`: can 2015-11-15T02:28:11Z stassats`: https://parisc.wiki.kernel.org/index.php/Registers 2015-11-15T02:31:35Z nyef_: Thank you. 2015-11-15T02:32:36Z nyef_: So, my first obvious steps are to un-screw the worst of call_into_lisp, and to actually read the architecture manual. 2015-11-15T02:32:41Z stassats`: space register, are those like segments? 2015-11-15T02:32:59Z nyef_: Yes. 2015-11-15T02:33:12Z nyef_: This architecture has some funky-seeming features. 2015-11-15T02:33:30Z nyef_: One of the reasons why I'm strongly considering getting an actual HPUX box. 2015-11-15T02:33:43Z stassats`: but more packages than alpha! 2015-11-15T02:33:58Z nyef_: Sure, too bad the kernel package doesn't actually work on my machine. 2015-11-15T02:36:03Z stassats`: why does it need to nullify break 0, 0? 2015-11-15T02:36:47Z nyef_: Why would you want to execute it in this context? 2015-11-15T02:37:03Z stassats`: why is there in the first place? 2015-11-15T02:37:32Z nyef_: I don't know, but the fact that the encoding is #x00000000 might be a partial reason. 2015-11-15T02:39:08Z nyef_: Okay, I'm at !COLD-INIT. 2015-11-15T02:40:40Z nyef_ gets impatient, and tells gdb to continue, instead of stepping by instruction. 2015-11-15T02:43:40Z nyef_: Hrm. I may have passed the point at which gdb is particularly useful. 2015-11-15T02:44:09Z nyef_: Did you fix something recently with the runtime decoding internal-error arguments? 2015-11-15T02:44:21Z stassats`: yes 2015-11-15T02:44:49Z nyef_: Ah, a week ago, I see. 2015-11-15T02:45:06Z nyef_: Hrm. Doesn't explain what I'm seeing here, then. 2015-11-15T02:45:18Z stassats`: and what are you seeing? 2015-11-15T02:45:40Z nyef_: Internal error #8 "Object is of the wrong type." at 0x508e149f 2015-11-15T02:45:40Z nyef_: SC: 8, Offset: 15 0x00000000: even fixnum: 0 2015-11-15T02:45:40Z nyef_: SC: 0, Offset: 9 ??? 2015-11-15T02:45:56Z stassats`: i fixed that ??? today 2015-11-15T02:46:03Z nyef_: Ah! 2015-11-15T02:46:15Z stassats`: SC 0 is for constants 2015-11-15T02:46:18Z nyef_: Okay, so I might do well with a pull. 2015-11-15T02:46:35Z stassats`: now i fetch the CODE object and get the constants 2015-11-15T02:47:50Z stassats`: i should induce some cold internal errors on arm64 and see how ldb backtrace reacts to them 2015-11-15T02:48:35Z stassats`: they are not very robust 2015-11-15T02:51:48Z nyef_ wonders how long before we have a :32-bit-pointers feature. 2015-11-15T02:52:02Z nyef_: Or a :64-bit-pointers feature. One or the other. 2015-11-15T02:52:25Z stassats`: what about :128-bit-pointers? 2015-11-15T02:54:36Z nyef_: If you've got that much address space, more power to you. 2015-11-15T02:54:59Z nyef_: ... Waitaminute... something IBM and mainframey, right? 2015-11-15T02:55:36Z stassats`: only joking 2015-11-15T02:56:00Z nyef_: Too late. I'm trying to remember which IBM mainframe OS it was. 2015-11-15T02:56:07Z stassats`: OS/400? 2015-11-15T02:56:17Z nyef_: Ah! AS/400. Yeah. 2015-11-15T03:00:37Z nyef_: Oh, FFS. 2015-11-15T03:01:01Z nyef_ does an x86-64/linux build --without-sb-thread. 2015-11-15T03:01:33Z stassats`: i think there's a problem there, yes 2015-11-15T03:01:41Z nyef_: With any luck, it'll fail, and the cause will be visible, rather than run off the screen with a bunch of DX-failure notes. 2015-11-15T03:01:49Z nyef_: (The screen, and the scrollbuffer.) 2015-11-15T03:02:07Z stassats`: scymtym promised to fix that tomorrow 2015-11-15T03:02:15Z stassats`: but for now you can #-sb-thread %condition-wait 2015-11-15T03:02:22Z stassats`: or i can do that 2015-11-15T03:02:38Z nyef_: Or I can wait until tomorrow. 2015-11-15T03:03:02Z nyef_: It's late enough that I should be winding down anyway, especially since I'm supposed to be working tomorrow. /-: 2015-11-15T03:03:21Z stassats`: or just implement threads 2015-11-15T03:03:53Z nyef_: On cheneygc? 2015-11-15T03:04:09Z stassats`: well, gencgc first too 2015-11-15T03:04:24Z stassats`: (alien-funcall (extern-alien "ldb_monitor" (function (values)))), back => Memory fault at 0x170 2015-11-15T03:04:58Z stassats`: broken at cs_valid_pointer_p 2015-11-15T03:09:18Z nyef_: Hrm. 2015-11-15T03:09:33Z nyef_: So, of _course_ x86-64/linux still builds. 2015-11-15T03:26:28Z karswell` quit (Read error: Connection reset by peer) 2015-11-15T03:26:42Z karswell` joined #sbcl 2015-11-15T03:29:43Z karswell` quit (Remote host closed the connection) 2015-11-15T03:29:55Z karswell` joined #sbcl 2015-11-15T03:32:02Z stassats`: how well is comparing pointers defined? 2015-11-15T03:33:24Z stassats`: looking at what gcc does with (char *) comparison and it doesn't make any sense 2015-11-15T03:37:03Z pkhuong_: stassats`: not at all unless it's in the same allocation/array 2015-11-15T03:37:30Z stassats`: i think i'm just getting confused by inlining 2015-11-15T03:37:30Z pkhuong_: I think gcc is also known to barf on allocations > half the address space 2015-11-15T03:38:03Z stassats`: a shame sb-dynamic-core doesn't work outside of x86oids 2015-11-15T03:40:39Z nyef_: Maybe we should try to fix that? 2015-11-15T03:40:53Z nyef_: ... but not tonight, at least not for me. 2015-11-15T03:41:05Z stassats`: would be good before the ppc64 port 2015-11-15T03:50:53Z stassats`: so, call_info_from_lisp_state basically does nothing useful 2015-11-15T03:52:02Z stassats`: i see no way it can, i can just make it not crash 2015-11-15T04:11:49Z stassats`: i'm not saving CSP/CFP into the thread on call_into_c 2015-11-15T04:12:16Z stassats`: i'm not convinced that i should, but that would enable those backtraces 2015-11-15T04:13:08Z stassats`: because it may still be started from somewhere bogus 2015-11-15T04:15:27Z stassats`: checking LRA for a valid pointer, now i don't get crashes and have partial backtraces 2015-11-15T04:22:21Z stassats`: this is actually the case when LRA is a fixnum 2015-11-15T04:43:59Z lnostdal quit (Ping timeout: 240 seconds) 2015-11-15T04:44:35Z pepol quit (Ping timeout: 264 seconds) 2015-11-15T04:45:48Z yauz quit (Ping timeout: 264 seconds) 2015-11-15T04:46:18Z lnostdal joined #sbcl 2015-11-15T04:47:13Z yauz joined #sbcl 2015-11-15T04:49:32Z pepol joined #sbcl 2015-11-15T05:37:23Z lnostdal quit (Ping timeout: 246 seconds) 2015-11-15T05:50:25Z dougk2 joined #sbcl 2015-11-15T05:52:37Z lnostdal joined #sbcl 2015-11-15T05:55:59Z dougk2 quit (Ping timeout: 264 seconds) 2015-11-15T05:56:39Z ASau`` joined #sbcl 2015-11-15T05:59:44Z ASau` quit (Ping timeout: 244 seconds) 2015-11-15T06:01:59Z stassats`: ok, much better ldb backtraces everywhere 2015-11-15T06:16:06Z nyef_: stassats`: What's the compiler/arm64/cell.lisp change in your last commit? 2015-11-15T06:16:38Z stassats` quit (Ping timeout: 276 seconds) 2015-11-15T06:16:57Z nyef_: It at least looks reasonably innocuous, but doesn't... oh. Nevermind, I'll ask again tomorrow if I remember. 2015-11-15T06:39:32Z csziacobus quit (Quit: csziacobus) 2015-11-15T06:54:25Z psy_ joined #sbcl 2015-11-15T07:04:46Z DeadTrickster_ joined #sbcl 2015-11-15T07:14:15Z gingerale joined #sbcl 2015-11-15T07:18:57Z Shinmera joined #sbcl 2015-11-15T07:45:06Z lnostdal quit (Quit: Invest and trade anonymously: https://goo.gl/NwRDC2) 2015-11-15T08:06:51Z DeadTrickster: I'm exploring situation when *invoke-debugger-hook* signals error with --disable-debugger turned on. what the purpose of lossage_handler? disable-debugger sets it to default_lossage_handler which just exit(1). but when *invoke-debugger-hook* signals error debugger is entered anyway. Is that expected? Should I wrap my code in something like (ignore-errors ... ) 2015-11-15T08:07:06Z clique joined #sbcl 2015-11-15T08:17:07Z lnostdal joined #sbcl 2015-11-15T08:18:12Z clique left #sbcl 2015-11-15T08:54:14Z Xof: nyef_: not entirely coincidentally, 13 years 2 months and 28 days ago is one month before I submitted my PhD thesis 2015-11-15T08:58:10Z edgar-rft joined #sbcl 2015-11-15T09:10:26Z adhoc quit (Ping timeout: 240 seconds) 2015-11-15T09:17:53Z adhoc joined #sbcl 2015-11-15T09:32:36Z flip214_: so there's a causal dependency between these two events? 2015-11-15T09:56:41Z ASau``` joined #sbcl 2015-11-15T09:59:35Z ASau`` quit (Ping timeout: 240 seconds) 2015-11-15T10:01:41Z gabnet joined #sbcl 2015-11-15T10:02:55Z Xof: not so much that as there's a reason that there has been no change since then 2015-11-15T10:28:43Z sjl quit (Ping timeout: 252 seconds) 2015-11-15T10:40:29Z ASau``` is now known as ASau 2015-11-15T10:44:04Z truecoldmind joined #sbcl 2015-11-15T10:48:43Z lnostdal quit (Quit: Invest and trade anonymously: https://goo.gl/NwRDC2) 2015-11-15T10:50:18Z lnostdal joined #sbcl 2015-11-15T10:55:28Z clique joined #sbcl 2015-11-15T10:55:46Z clique left #sbcl 2015-11-15T11:01:36Z sjl joined #sbcl 2015-11-15T11:05:50Z truecoldmind quit (Quit: laptop going to sleep...) 2015-11-15T11:12:19Z clique joined #sbcl 2015-11-15T11:15:17Z gabnet quit (Quit: Quitte) 2015-11-15T12:11:46Z clique quit (Ping timeout: 240 seconds) 2015-11-15T13:04:20Z ASau quit (Ping timeout: 246 seconds) 2015-11-15T13:18:41Z ASau joined #sbcl 2015-11-15T13:20:08Z stassats` joined #sbcl 2015-11-15T13:25:57Z scymtym: fix for build without sb-thread pushed. sorry for the breakage. 2015-11-15T13:36:05Z stassats`: only CFP matters for backtraces, and call_into_c has to save those in the thread struct 2015-11-15T13:36:59Z stassats`: but it already sets foreign_function_call_active to something, why can't that be CFP? 2015-11-15T13:37:29Z stassats`: so, less overhead for enabling backtraces 2015-11-15T13:41:04Z stassats`: then, do we have to save CSP/CFP in the thread at all? 2015-11-15T13:42:22Z stassats`: for fake ff frames, do we actually need those fake frames? 2015-11-15T13:43:52Z stassats`: call_into_lisp would need it 2015-11-15T13:50:49Z stassats`: need to try http://repo.or.cz/sbcl/nyef.git/commit/01a989ee4ade67c712446bd9b2f9455c5e9a778b 2015-11-15T13:56:43Z ASau` joined #sbcl 2015-11-15T14:00:11Z ASau quit (Ping timeout: 264 seconds) 2015-11-15T14:01:37Z nyef_: G'morning all. 2015-11-15T14:05:34Z stassats`: why is funcallable_instance_tramp tagged? 2015-11-15T14:07:15Z stassats`: but not on x86-64 2015-11-15T14:13:18Z nyef_: Is this globally, or just on arm and sparc? 2015-11-15T14:13:48Z stassats`: globally 2015-11-15T14:13:59Z stassats`: arm and sparc also have all other tramps tagged 2015-11-15T14:14:06Z stassats`: but funcallable_instance_tramp is unique 2015-11-15T14:14:20Z nyef_: Hrm... Don't know. 2015-11-15T14:14:55Z nyef_: ARM and SPARC use tagged trampolines, but I don't know if that applies to funcallable_instance_tramp. 2015-11-15T14:15:23Z stassats`: maybe they need to be tagged just because it loads things relative to the address? 2015-11-15T14:15:27Z stassats`: the tramp itself 2015-11-15T14:18:33Z stassats`: closure_tramp on ppc doesn't even have a widetag and a header 2015-11-15T14:18:40Z stassats`: why do i still have those for arm64 then? 2015-11-15T14:19:07Z stassats`: undefined_tramp does have a header 2015-11-15T14:24:13Z nyef_: "error: dereferencing pointer to incomplete type 'struct compiled_debug_info'" 2015-11-15T14:24:21Z stassats`: alpha? 2015-11-15T14:24:25Z nyef_: HPPA. 2015-11-15T14:24:48Z nyef_: Also compiled_debug_fun and package. 2015-11-15T14:24:58Z stassats`: i thought only alpha could break with its braindamanged pointers 2015-11-15T14:25:16Z nyef_: "incomplete type"? 2015-11-15T14:25:44Z nyef_: That's not a pointer issue, that's a missing #include or struct definition. 2015-11-15T14:25:58Z stassats`: #ifdef LISP_FEATURE_GENCGC 2015-11-15T14:25:59Z stassats`: uhoh 2015-11-15T14:28:33Z momo-reina joined #sbcl 2015-11-15T14:28:57Z nyef_: Xof: When you were working on the HPPA backend, was it on Linux, HPUX, or both? 2015-11-15T14:28:57Z stassats`: nyef_: just hoist everything but #include "gencgc-alloc-region.h" from LISP_FEATURE_GENCGC 2015-11-15T14:29:16Z stassats`: i can't test on ppc with cheneygc anymore 2015-11-15T14:29:23Z stassats`: for purify is broken 2015-11-15T14:29:31Z nyef_: It... what? 2015-11-15T14:29:39Z stassats`: on ppc 2015-11-15T14:29:42Z nyef_: Why/how? 2015-11-15T14:29:51Z stassats`: it doesn't interleaved raw slots 2015-11-15T14:31:19Z stassats`: i'll commit a fix 2015-11-15T14:31:25Z stassats`: gencgc-alloc-region.h is not needed at all 2015-11-15T14:32:35Z stassats`: nyef_: pushed 2015-11-15T14:33:34Z nyef_: Thank you. 2015-11-15T14:38:38Z nyef_: Hrm. even fixnum 0 is not a classoid? 2015-11-15T14:39:26Z truecoldmind joined #sbcl 2015-11-15T14:49:02Z truecoldmind quit (Quit: laptop going to sleep...) 2015-11-15T14:57:11Z stassats`: i'm going to enable threads on arm64-linux by default 2015-11-15T14:57:25Z stassats`: no real reason to keep them out, plus more possible testing 2015-11-15T14:59:39Z nyef_: Hrm. No obvious "break this on hppa" flag. Must be some emergent property, then. 2015-11-15T15:07:53Z Xof: nyef_: pretty sure Linux 2015-11-15T15:08:20Z Xof: I had the ear of the then Linux/hppa team 2015-11-15T15:08:29Z Xof: I could tell them that their signal handling was broken :-) 2015-11-15T15:08:39Z nyef_: Xof: Interesting. Something must have changed pretty drastically about the signal context since then, then. 2015-11-15T15:08:48Z Xof: almost certainly 2015-11-15T15:09:03Z Xof: they were astonished that anyone was trying to use signals, let alone SA_SIGACTION signals 2015-11-15T15:10:01Z Xof: remember... 13 years ago :-) 2015-11-15T15:11:07Z stassats`: hmm, userpsace protection fault handling... 2015-11-15T15:12:55Z truecoldmind joined #sbcl 2015-11-15T15:28:45Z karswell` is now known as karswell 2015-11-15T15:40:49Z nyef_: ... Something is passing 0 as the CLASSOID argument to %INIT-OR-CHECK-LAYOUT. 2015-11-15T15:41:10Z stassats`: are new backtraces not helpful? 2015-11-15T15:42:11Z nyef_: Okay, technically, it's being called from FIND-AND-INIT-OR-CHECK-LAYOUT, modulo any possible TCO. 2015-11-15T15:56:29Z truecoldmind quit (Quit: laptop going to sleep...) 2015-11-15T15:58:59Z truecoldmind joined #sbcl 2015-11-15T16:10:32Z truecoldmind quit (Quit: laptop going to sleep...) 2015-11-15T16:13:26Z truecoldmind joined #sbcl 2015-11-15T16:15:35Z truecoldmind quit (Client Quit) 2015-11-15T16:17:27Z csziacobus joined #sbcl 2015-11-15T16:19:59Z momo-reina quit (Ping timeout: 264 seconds) 2015-11-15T16:23:07Z csziacobus: hm. seems like the cmucl tree has way more documentation on the python compiler than sbcl does 2015-11-15T16:24:52Z stassats`: csziacobus: have you tried actually reading it and making sense of it? 2015-11-15T16:25:25Z csziacobus: stassats`: yeah, ive been reading the ir1 source so far. drawing the flow diagram helps, but its a bit out of sync with the design document 2015-11-15T16:25:56Z csziacobus: eg: continuations are split up into lvars and ctrans in sbcl 2015-11-15T16:26:25Z stassats`: it just says "we have those data structures in those files" 2015-11-15T16:26:32Z stassats`: "something is done in those files" 2015-11-15T16:26:49Z stassats`: but no detail on what is done or why is done 2015-11-15T16:31:38Z csziacobus: to be fair, the section on tail sets was actually helpful in understanding what is happening with regards to type propogation 2015-11-15T16:31:49Z csziacobus: although i get your point, the commentary is a bit random 2015-11-15T16:36:09Z pkhuong_: the lvar/ctran representation hasn't changed in SBCL 2015-11-15T16:37:42Z Xof: I don't think CMUCL has lvar/ctran 2015-11-15T16:37:55Z Xof: isn't CMUCL just CONTINUATION? 2015-11-15T16:38:08Z nyef_: I distinctly recall that the lvar/ctran split of continuation was early SBCL. 2015-11-15T16:38:11Z pkhuong_: pretty sure lvar isn't new to SBCL? 2015-11-15T16:38:22Z Xof: 'twas, in 2003 2015-11-15T16:38:24Z Xof: so, "new" 2015-11-15T16:38:31Z nyef_: ... An APD thing, wasn't it? 2015-11-15T16:38:33Z Xof: yes 2015-11-15T16:38:53Z pkhuong_: ah, APD, muddying the water by making early changes to SBCL instead of fixing CMUCL 2015-11-15T16:39:35Z csziacobus: theres not any chance that these changes from CMUCL have been documented anywhere, is there? 2015-11-15T16:39:40Z Xof: no 2015-11-15T16:39:50Z nyef_: Source control change comments? 2015-11-15T16:39:52Z Xof: I mean, I suppose technically there is a chance 2015-11-15T16:40:05Z nyef_: Commit messages are occasionally helpful. 2015-11-15T16:40:24Z Xof: there's a file called FOR-CMUCL-HACKERS or something 2015-11-15T16:40:41Z nyef_: Unless rtoy has been busy, SBCL probably has more compiler phases than CMUCL. 2015-11-15T16:40:50Z Xof: but I think that mostly describes 0.5.0, and the lvar/ctran thing is 0.8.x 2015-11-15T16:40:50Z pkhuong_: yeah. my bad. 2015-11-15T16:42:03Z csziacobus: thanks for the suggestions, i suppose commit messages are the way to go 2015-11-15T16:42:38Z pkhuong_: or you could try to understand the current state of the system, rather than 15 years of history. 2015-11-15T16:43:01Z Xof: bonus points if, once you understand it, you write it down :-) 2015-11-15T16:44:56Z lacedaemon is now known as fe[nl]ix 2015-11-15T16:45:16Z nyef_: Okay, time to give up and do the obvious thing: Enable sb-show. 2015-11-15T16:46:57Z pkhuong_ is now known as pkhuong 2015-11-15T16:49:01Z csziacobus: pkhoung: well, rather than understand 15 years of history, just understand the big changes. that helps understand the "why" part of the current state of the system, i guess 2015-11-15T16:50:19Z stassats`: the best way to understand "why" is to understand "why not another way" 2015-11-15T16:50:26Z ignotus quit (Ping timeout: 240 seconds) 2015-11-15T16:51:32Z ignotus joined #sbcl 2015-11-15T16:51:33Z ignotus quit (Changing host) 2015-11-15T16:51:33Z ignotus joined #sbcl 2015-11-15T16:52:55Z pkhuong: also there's often no good reason (except "I got it to work this way") 2015-11-15T16:54:22Z Xof: "pfdietz reported 200 bugs and whack-a-mole led to this state" 2015-11-15T16:54:26Z stassats`: "and then it breaks alpha two years from now" 2015-11-15T16:54:57Z nyef_: ... Runtime DX SAPs wasn't that long ago, were they? (-: 2015-11-15T16:55:25Z nyef_: ... I seem to have some sort of plural disagreement there. 2015-11-15T16:55:55Z ignotus quit (Ping timeout: 252 seconds) 2015-11-15T16:55:56Z stassats`: i think it was your idea 2015-11-15T16:55:59Z stassats`: or i copied your code 2015-11-15T16:56:07Z nyef_: Hrm. Maybe. 2015-11-15T16:56:15Z nyef_: Ah well. 2015-11-15T16:56:34Z ignotus joined #sbcl 2015-11-15T16:56:34Z ignotus quit (Changing host) 2015-11-15T16:56:34Z ignotus joined #sbcl 2015-11-15T16:57:39Z nyef_: Hrm. No new information from sb-show, but now I can try to add debugging output. 2015-11-15T16:58:50Z ozihcs joined #sbcl 2015-11-15T16:59:16Z stassats`: maybe something in info-db 2015-11-15T16:59:17Z ozihcs is now known as clique 2015-11-15T17:12:13Z truecoldmind joined #sbcl 2015-11-15T17:22:12Z DeadTrickster: yep 2015-11-15T17:22:14Z DeadTrickster: The time returned by gettimeofday() is affected by discontinuous jumps in the system time (e.g., if the system administrator manually changes the system time). If you need a monotonically increasing clock, see clock_gettime(2). 2015-11-15T17:22:32Z DeadTrickster: why gettimeofday used for timeout calculations is beyond me 2015-11-15T17:22:37Z DeadTrickster: in sb-thread 2015-11-15T17:24:38Z stassats`: just don't change time 2015-11-15T17:25:28Z DeadTrickster: leap second? 2015-11-15T17:25:30Z DeadTrickster: ntp? 2015-11-15T17:25:46Z stassats`: ntp doesn't jump 2015-11-15T17:26:59Z DeadTrickster: sure 2015-11-15T17:35:58Z truecoldmind quit (Quit: laptop going to sleep...) 2015-11-15T17:39:19Z ASau` is now known as ASau 2015-11-15T17:44:06Z clique quit (Ping timeout: 240 seconds) 2015-11-15T17:57:04Z ASau` joined #sbcl 2015-11-15T18:00:50Z ASau quit (Ping timeout: 272 seconds) 2015-11-15T18:03:19Z lnostdal quit (Ping timeout: 240 seconds) 2015-11-15T18:06:56Z clique joined #sbcl 2015-11-15T18:15:51Z lnostdal joined #sbcl 2015-11-15T18:30:58Z clique left #sbcl 2015-11-15T18:35:42Z scymtym_ joined #sbcl 2015-11-15T18:38:10Z truecoldmind joined #sbcl 2015-11-15T18:59:44Z truecoldmind quit (Quit: laptop going to sleep...) 2015-11-15T19:03:01Z zacts quit (Ping timeout: 240 seconds) 2015-11-15T19:18:39Z sjl_ joined #sbcl 2015-11-15T19:19:44Z sjl quit (Read error: Connection reset by peer) 2015-11-15T19:20:32Z sjl joined #sbcl 2015-11-15T19:23:47Z sjl_ quit (Ping timeout: 276 seconds) 2015-11-15T19:28:51Z sjl quit (Ping timeout: 260 seconds) 2015-11-15T19:33:05Z hydan joined #sbcl 2015-11-15T19:53:39Z ASau` is now known as ASau 2015-11-15T19:54:13Z truecoldmind joined #sbcl 2015-11-15T19:57:14Z Quadrescence quit (Read error: Connection reset by peer) 2015-11-15T20:00:11Z truecoldmind quit (Quit: laptop going to sleep...) 2015-11-15T20:04:23Z Quadrescence joined #sbcl 2015-11-15T20:18:06Z truecoldmind joined #sbcl 2015-11-15T20:18:44Z clique joined #sbcl 2015-11-15T20:29:06Z clique quit (Read error: Connection reset by peer) 2015-11-15T20:37:16Z stassats` quit (Ping timeout: 272 seconds) 2015-11-15T20:40:00Z p_l quit (Quit: Reconnecting) 2015-11-15T20:40:15Z p_l joined #sbcl 2015-11-15T20:43:51Z attila_lendvai joined #sbcl 2015-11-15T20:43:51Z attila_lendvai quit (Changing host) 2015-11-15T20:43:51Z attila_lendvai joined #sbcl 2015-11-15T21:06:00Z csziacobus quit (Quit: csziacobus) 2015-11-15T21:07:34Z truecoldmind quit (Quit: laptop going to sleep...) 2015-11-15T21:14:54Z hydan quit (Ping timeout: 260 seconds) 2015-11-15T21:19:48Z truecoldmind joined #sbcl 2015-11-15T21:30:30Z gingerale quit (Remote host closed the connection) 2015-11-15T21:32:26Z truecoldmind quit (Quit: laptop going to sleep...) 2015-11-15T21:36:24Z nyef_: Hrm. The classoid gets created in the cold-init-forms just beneath "at head of loop over *!BUILT-IN-CLASSES*". 2015-11-15T21:37:01Z nyef_: Then there's some bit about setting up the classoid-cell-classoid for the classoid-cell for the given name. 2015-11-15T21:37:46Z nyef_: ... And then find-classoid on the name fails to find the classoid. 2015-11-15T21:38:38Z nyef_: ... and this happens for T. 2015-11-15T21:39:22Z truecoldmind joined #sbcl 2015-11-15T21:40:23Z nyef_: CLASSOID is a struct, so that's "probably" okay, given how far we are in cold-init. Maybe. 2015-11-15T21:40:30Z nyef_: Holding that angle in reserve. 2015-11-15T21:41:09Z nyef_: CLASSOID-CELL is also a struct. 2015-11-15T21:41:50Z nyef_: ... and there's a mention of globaldb in the context of FIND-CLASSOID-CELL. 2015-11-15T21:43:29Z nyef_: ... leading to the conclusion that the globaldb may be broken. 2015-11-15T21:47:34Z nyef_: Preliminary conclusion: I need to try a MIPS build. 2015-11-15T21:47:41Z nyef_: Or an Alpha build, but the MIPS will be easier. 2015-11-15T21:51:55Z karswell quit (Read error: Connection reset by peer) 2015-11-15T21:52:03Z truecoldmind quit (Quit: laptop going to sleep...) 2015-11-15T21:52:08Z karswell joined #sbcl 2015-11-15T21:55:17Z edgar-rft quit (Quit: edgar-rft) 2015-11-15T21:56:44Z ASau quit (Read error: Connection reset by peer) 2015-11-15T21:56:51Z ASau` joined #sbcl 2015-11-15T22:10:53Z stassats joined #sbcl 2015-11-15T22:12:06Z stassats: nyef_: globaldb is quite sensitive but it's not safe 2015-11-15T22:12:18Z stassats: so you'll just get random failures far away from the original place 2015-11-15T22:17:06Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-15T22:24:14Z nyef_: Well, I'm figuring "globaldb is hairy logic that uses CAS, CAS was modified recently, cross-check on a machine that doesn't have VOPs for CAS". 2015-11-15T22:32:28Z truecoldmind joined #sbcl 2015-11-15T22:34:10Z sjl joined #sbcl 2015-11-15T22:35:17Z truecoldmind left #sbcl 2015-11-15T22:36:27Z nyef_: (Really, I'm just looking for anything to cut down the search space, given how thoroughly unmaintained the HPPA backend is.) 2015-11-15T22:42:54Z sjl_ joined #sbcl 2015-11-15T22:45:50Z sjl quit (Ping timeout: 272 seconds) 2015-11-15T22:50:15Z nyef_: Damn. MIPS builds. 2015-11-15T22:51:33Z nikki93 joined #sbcl 2015-11-15T22:55:34Z nyef_ quit (Ping timeout: 260 seconds) 2015-11-15T23:08:25Z nyef_ joined #sbcl 2015-11-15T23:10:43Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-11-15T23:24:09Z nyef_: Okay, if it's not the recent CAS logic changes, then I need to audit the globaldb code to build a list of fundamental mechanisms involved (both VOPs and assembly-routines), then audit the VOPs and routines on that list for correctness. 2015-11-15T23:24:32Z DeadTrickster_ quit (Ping timeout: 246 seconds) 2015-11-15T23:25:12Z dougk2 joined #sbcl 2015-11-15T23:26:18Z nyef_: What the... 2015-11-15T23:26:31Z nyef_: ... Oh. Wow. 2015-11-15T23:26:46Z nyef_: I didn't realize that funcall.c was an SBCLism. 2015-11-15T23:26:56Z nyef_: And recent, too! 2015-11-15T23:33:48Z stassats: there was a theme of duplicating everything 2015-11-15T23:34:22Z nyef_: Once, and only six or seven times more? 2015-11-15T23:37:28Z nyef_: Well, I just found the commit which broke call_into_lisp on Linux, and before that the commit which trashed the signal context accessors. 2015-11-15T23:38:10Z nyef_: And the conclusion that I draw from these two commits is that I _do_ need an HPPA box. 2015-11-15T23:49:48Z pkhuong: ah, ahistoric outrage. accessing a monotonic clock portably is a lot of boilerplate, even if we restrict ourselves to platforms that expose such a clock. clock_monotonic was in fact not monotonic on linux for a while. clock_monotonic does not advance in deep sleep. pthread only interacts well (portably) with clock_realtime. 2015-11-15T23:49:57Z pkhuong: time is hard. 2015-11-15T23:51:00Z stassats: porting and maintaining ports is hard as well 2015-11-15T23:54:39Z pkhuong: that being said, SBCL could definitely handle edge cases wrt time better. 2015-11-15T23:54:57Z pkhuong: at least we don't error out when time goes backward anymore (?) 2015-11-15T23:55:34Z stassats: not sure about that 2015-11-15T23:56:01Z nyef_: Quick, pack a laptop running SBCL into a Delorean, and find out! (-; 2015-11-15T23:58:56Z pkhuong: tbh, I think it's easier for a production environment to smear large updates like leap seconds over a day than to try and make sure everything gets them right. There's nothing quite like waiting for the midnight UTC crash report flood. 2015-11-15T23:59:15Z stassats: i see why funcallable-instance needs to be tagged, but undefined tramp doesn't, undefined tramp is inside FDEFN and uses a different calling conversion 2015-11-15T23:59:26Z stassats: but funcallable instances pose as a closures 2015-11-15T23:59:40Z pkhuong: woah. nice work on the clean build dougk2! 2015-11-16T00:01:08Z stassats: so, how does x86 call things differently then 2015-11-16T00:01:59Z stassats: they don't actually store the function in simple-fun->self, but the start? 2015-11-16T00:02:39Z stassats: if other platforms already have untagged raw fdefn addresses, maybe raw fun->self too? 2015-11-16T00:03:00Z stassats: no indirect jumps to help, though 2015-11-16T00:03:20Z stassats: but it still can save code 2015-11-16T00:04:03Z dougk2: pkhuong: thanks. and it looks like as a side-effect of removing type-vops, Stas fixed the issue I emailed you about. Getting very close to zero undefined functions in make-host-1 now 2015-11-16T00:04:36Z stassats: what was the issue? 2015-11-16T00:05:38Z stassats: one thing about the absence of check-type vops is that traps are now inside XEPs, not in elsewhere 2015-11-16T00:05:38Z dougk2: stassats: call to nonexistent function 'float-simd-pack-p' only needed (allegedly) by a 'check' vop 2015-11-16T00:06:13Z stassats: which results in weird jumps, but that could be solved independently 2015-11-16T00:06:24Z stassats: dougk2: oh, yeah, that was a weird vop 2015-11-16T00:09:52Z pkhuong: does anyone mind if I simplify the return type for source-transform-transitive? 2015-11-16T00:10:51Z stassats: for the code it generates or for itself? 2015-11-16T00:10:57Z pkhuong: for itself. 2015-11-16T00:11:09Z pkhuong: (values t &optional (member nil t)) 2015-11-16T00:12:21Z pkhuong: the moment of truth: do threaded tests still cause a panic on 10.10? 2015-11-16T00:13:21Z stassats: pkhuong: not sure why it even has a type declaration 2015-11-16T00:17:10Z stassats: hm, is calling a FDEFN with closure gc safe? the address needs to be paired, how can it be paired with a closure? 2015-11-16T00:17:53Z pkhuong: x86 or no? 2015-11-16T00:18:03Z stassats: non x86 2015-11-16T00:18:26Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-16T00:18:45Z stassats: it tries to keep the function in a register, but closures will add a layer 2015-11-16T00:19:45Z stassats: i now have threads on arm64, can stress test this 2015-11-16T00:20:20Z nyef_: stassats: Outside of SPARC, ARM, and any other platform that might use tagged trampolines, the undefined_tramp needs to have a header for backtrace and error handling purposes. 2015-11-16T00:20:59Z dougk2 joined #sbcl 2015-11-16T00:23:59Z stassats: stress testing doesn't help, i'll insert a gc into call-named then 2015-11-16T00:29:46Z pkhuong: Failure: threads.impure.lisp / FP-MODE-INHERITANCE-THREADS <- standard darwin brokenness I assume 2015-11-16T00:29:55Z pkhuong: Unexpected success: threads.pure.lisp / (WAIT-ON-SEMAPHORE SEMAPHORE-NOTIFICATION LP-1038034) <- is that scymtym's work? 2015-11-16T00:30:39Z stassats: pkhuong: it succeeds intermittently 2015-11-16T00:31:47Z pkhuong: yeah.. I don't have cycles. I just updated QL from a 2012 client. 2015-11-16T00:33:06Z stassats: moving to ppc and throwing some 64 threads at it 2015-11-16T00:33:54Z stassats: and of course i had to have a build without threads 2015-11-16T00:39:10Z pkhuong: argh. do I have to upgrade emacs to get a recent melpa to upgrade swank? :'( 2015-11-16T00:46:19Z stassats: ok, seems to be gc safe, but i don't understand how 2015-11-16T00:49:10Z nyef_: stassats: Which bit seems unsafe to you? 2015-11-16T00:49:27Z stassats: how come my code object decides to be named SB-IMPL::XSUBTRACT? 2015-11-16T00:49:45Z nyef_ blames inlining. 2015-11-16T00:50:08Z stassats: yeah, code object naming is pretty broken 2015-11-16T00:50:13Z stassats: nyef_: calling a closure via a fdefn 2015-11-16T00:50:23Z nyef_: What would be unsafe about it? 2015-11-16T00:50:48Z stassats: fdefn has a raw address, to keep it from floating away it loads the fdefn->fun, but how will it get paired if fun is a closure? 2015-11-16T00:51:20Z nyef_: The raw address for a closure is closure_tramp, in ppc-assem.S. 2015-11-16T00:51:38Z stassats: so that's why 2015-11-16T00:51:53Z stassats: that's why closure_tramp is needed 2015-11-16T00:51:59Z nyef_: Give me some credit for finding most of these races on PPC, please. (-: 2015-11-16T00:52:32Z stassats: ok, here's some credit, use it wise 2015-11-16T00:55:34Z stassats: looks like i can't make funcallable-instance to be untagged 2015-11-16T00:55:54Z stassats: that leaves your set of patches 2015-11-16T00:56:07Z nyef_: Which set? 2015-11-16T00:56:09Z stassats: but, maybe i can make things to be tagged in the linkage table 2015-11-16T00:56:15Z stassats: nyef_: read-only trampolines 2015-11-16T00:56:18Z nyef_: Ah! 2015-11-16T00:56:31Z nyef_: I'm probably going to merge those myself, as part of sorting out HPPA. 2015-11-16T00:56:43Z stassats: that'd be great 2015-11-16T00:56:55Z stassats: but i'm just going to look at tagged linkage tables real quick 2015-11-16T00:57:38Z stassats: though, in the long run, less indirection for tramps is a good idea 2015-11-16T01:00:06Z stassats: tagged linage table entries should be easy, but i don't want to rebuild and test now 2015-11-16T01:00:32Z stassats: something to look into before dealing with runtime problems 2015-11-16T01:01:23Z stassats: dougk2: what is the meaning of #!+cmu (:pure nil)? 2015-11-16T01:01:48Z dougk2: stassats: that we belong to a cargo cult ? 2015-11-16T01:01:59Z dougk2: stassats: I don't know why anything like that would be conditional on the build host 2015-11-16T01:02:46Z stassats: but it's #! 2015-11-16T01:03:03Z dougk2: oh, even weirder 2015-11-16T01:03:12Z nyef_: In case it gets backported? 2015-11-16T01:03:15Z dougk2: should be unreachable. 2015-11-16T01:03:36Z dougk2: I'll bet it stems from some of WHN's initial porting attempts 2015-11-16T01:04:12Z stassats: grepping, there two of those 2015-11-16T01:04:56Z dougk2: Christophe cargo-culted one of them ! 2015-11-16T01:05:02Z stassats: another place is #-sb-xc-host (:pure nil) 2015-11-16T01:05:48Z dougk2: the one that dates back to the initial commit of SBCL has gotta be an accident, and the other was copied from that 2015-11-16T01:06:13Z dougk2: the #- is at least understandable, if it wasn't a def!struct then it wouldn't be parseable 2015-11-16T01:06:51Z stassats: what is the meaning of (:pure nil)? 2015-11-16T01:07:14Z dougk2: it would only be needed to invert the inherited value from an ancestor that had (:pure t) 2015-11-16T01:07:18Z dougk2: otherwise NIL is the default 2015-11-16T01:07:38Z stassats: ok 2015-11-16T01:07:45Z dougk2: and the ancestor was for some reason considered totally non-pointerish leaf-like 2015-11-16T01:08:25Z scymtym_ quit (Ping timeout: 250 seconds) 2015-11-16T01:10:28Z karswell quit (Ping timeout: 250 seconds) 2015-11-16T01:11:32Z stassats: can't pure be automatically derived? 2015-11-16T01:11:47Z stassats: does anybody even care about pure? 2015-11-16T01:12:31Z nyef_: Insert a joke about "purile" humour here. 2015-11-16T01:12:47Z stassats: or about purify as a whole 2015-11-16T01:13:06Z stassats: can cheneygc dump cores without it? 2015-11-16T01:13:23Z stassats: maybe it'd be a good idea to remove it, will simplify cheneygc 2015-11-16T01:13:33Z csziacobus joined #sbcl 2015-11-16T01:13:37Z stassats: considering cheneygc is just a stepping stone for abandoned ports to grow a gengc 2015-11-16T01:13:39Z nyef_: Should be able to, though the lack of purify on cheneygc really causes it to slow down. 2015-11-16T01:14:04Z stassats: for new ports, i'd start with gengc from the get go 2015-11-16T01:14:11Z nyef_: Oh it is, is it? 2015-11-16T01:14:17Z yvm quit (Quit: Leaving) 2015-11-16T01:14:59Z nyef_: You did, as I recall, whereas I started with cheneygc. 2015-11-16T01:15:20Z stassats: purify is a thousand line copy of gc-common routines 2015-11-16T01:15:42Z nyef_: Okay, can we arrange for it to use the gc-common versions instead, then? 2015-11-16T01:15:46Z stassats: it's already broken on interleaved_raw_slots 2015-11-16T01:16:03Z stassats: nyef_: i think it's "a copy but not quite" 2015-11-16T01:16:11Z nyef_: At least one target is likely to never have interleaved_raw_slots. 2015-11-16T01:16:17Z stassats: or rather "it has to mimmick gc-common pretty closely" 2015-11-16T01:17:04Z stassats: i'll try running ppc without purify 2015-11-16T01:18:07Z pkhuong: I'm pretty sure purify is an optimisation 2015-11-16T01:18:19Z nyef_: It is, and fairly obviously so. 2015-11-16T01:18:32Z stassats: sure, but is it worthwhile to maintain? 2015-11-16T01:19:01Z stassats: if your target only has cheneygc, you've got bigger problems to worry about 2015-11-16T01:19:13Z nyef_: Okay, how's this for a goal: Every target running on gencgc by the New Years' Day? 2015-11-16T01:19:43Z stassats: i'd gladly help, but i don't have any of the missing hardware 2015-11-16T01:19:47Z pkhuong: that's only 45 days 2015-11-16T01:20:01Z stassats: a day or two for gencgc, give or take 2015-11-16T01:20:14Z nyef_: pkhuong: It is, and HPPA and Alpha are still broken, HPPA more than Alpha. 2015-11-16T01:20:31Z nyef_: But aside from Alpha, HPPA, and MIPS, which backends are still cheneygc-only? 2015-11-16T01:20:31Z stassats: with fast targets, that is 2015-11-16T01:22:05Z stassats: gencgc is quite self contained, just change allocation, pseudo-atomic, write alloc_tramp 2015-11-16T01:22:24Z nyef_: That's about what I figured. 2015-11-16T01:22:32Z stassats: as opposed to threads 2015-11-16T01:22:59Z stassats: it took me three days, i think 2015-11-16T01:23:15Z stassats: or even four 2015-11-16T01:23:23Z nyef_: Only reason I haven't done that for MIPS yet is because I wanted to try to get almost every backend up to at least a minimum standard for the next release, which led to setting an extremely minimum standard. 2015-11-16T01:24:32Z nyef_: Well, okay, and there's that MIPS kernel bug that I need to track down. 2015-11-16T01:25:18Z nyef_: (It's t5-specific, though, so not something to be overly concerned about.) 2015-11-16T01:31:51Z abbe quit (Read error: Connection reset by peer) 2015-11-16T01:31:59Z abbe joined #sbcl 2015-11-16T01:32:26Z csziacobus quit (Quit: csziacobus) 2015-11-16T01:32:40Z pootler quit (Ping timeout: 246 seconds) 2015-11-16T01:32:40Z PuercoPop quit (Ping timeout: 246 seconds) 2015-11-16T01:33:21Z frankS2 quit (Write error: Connection reset by peer) 2015-11-16T01:33:34Z |3b|` joined #sbcl 2015-11-16T01:33:42Z sigjuice quit (Ping timeout: 246 seconds) 2015-11-16T01:34:11Z pootler joined #sbcl 2015-11-16T01:34:24Z stassats: looks purify was supposed to work on gencgc? 2015-11-16T01:34:45Z foom quit (Ping timeout: 246 seconds) 2015-11-16T01:34:59Z nyef_: Yes, but it was found to be a pessimization on gencgc. 2015-11-16T01:35:06Z brucem quit (Ping timeout: 246 seconds) 2015-11-16T01:35:17Z stassats: gc_free_heap seems to be a vestige 2015-11-16T01:35:27Z dougk_ quit (Ping timeout: 246 seconds) 2015-11-16T01:35:45Z nyef_: Because gencgc has to scan the entire static space per flip, while it can rely on the page table to track young pointers in dynamic space. 2015-11-16T01:36:21Z pkhuong: something something remembered sets 2015-11-16T01:36:29Z |3b| quit (Ping timeout: 246 seconds) 2015-11-16T01:37:58Z foom joined #sbcl 2015-11-16T01:38:03Z sigjuice joined #sbcl 2015-11-16T01:38:08Z nyef_: Yes, exactly. 2015-11-16T01:38:22Z dougk_ joined #sbcl 2015-11-16T01:38:50Z PuercoPop joined #sbcl 2015-11-16T01:39:15Z brucem joined #sbcl 2015-11-16T01:39:20Z pkhuong: or reference counting (: 2015-11-16T01:39:28Z nyef_: So, on the one hand, I can see the benefit to getting rid of cheneygc. On the other hand, I'd rather not be stuck with only ONE choice for GC. Ideally, I'd like a mini-renaissance of GCs for SBCL, say three or four new implementations to work with/ 2015-11-16T01:39:42Z frankS2 joined #sbcl 2015-11-16T01:39:49Z nyef_: That way we might see some decent improvement over the status quo. 2015-11-16T01:40:21Z stassats: i'n only proposing getting rid of purify 2015-11-16T01:40:49Z pkhuong: dunno if I can take a week off to play with GC. 2015-11-16T01:40:51Z stassats: at least in its current state of a crooked mirror of gc-common.c 2015-11-16T01:43:02Z stassats: but cheneygc itself gets a pass, since it has gc-_common_.c 2015-11-16T01:46:12Z csziacobus joined #sbcl 2015-11-16T01:46:32Z stassats: sadly i don't have a working purify to compare to 2015-11-16T01:49:27Z stassats: but does x86-64 need funcallable-instance-tramp? 2015-11-16T01:49:33Z brucem quit (Changing host) 2015-11-16T01:49:33Z brucem joined #sbcl 2015-11-16T01:49:43Z stassats: or %funcallable-instance-function could be a closure again? 2015-11-16T01:50:46Z stassats: what about a closure of a closure? 2015-11-16T01:51:04Z stassats: can't naturally create that 2015-11-16T01:56:07Z ASau` quit (Remote host closed the connection) 2015-11-16T02:42:59Z csziacobus quit (Quit: csziacobus) 2015-11-16T02:43:04Z csziacobus_ joined #sbcl 2015-11-16T02:43:04Z csziacobus_ is now known as csziacobus 2015-11-16T03:02:35Z nikki93 quit (Ping timeout: 240 seconds) 2015-11-16T03:10:54Z |3b|` is now known as |3b| 2015-11-16T03:21:53Z stassats quit (Ping timeout: 250 seconds) 2015-11-16T04:34:28Z csziacobus quit (Quit: csziacobus) 2015-11-16T04:46:55Z lnostdal quit (Ping timeout: 240 seconds) 2015-11-16T04:57:04Z lnostdal joined #sbcl 2015-11-16T05:07:27Z jlarocco quit (Read error: Connection reset by peer) 2015-11-16T05:07:56Z jlarocco joined #sbcl 2015-11-16T05:26:44Z jlarocco quit (Read error: Connection reset by peer) 2015-11-16T05:26:51Z jlarocco joined #sbcl 2015-11-16T05:54:31Z ASau joined #sbcl 2015-11-16T05:56:53Z ASau quit (Read error: Connection reset by peer) 2015-11-16T05:57:04Z ASau` joined #sbcl 2015-11-16T06:07:54Z psy_ quit (Remote host closed the connection) 2015-11-16T06:23:04Z yvm joined #sbcl 2015-11-16T06:55:46Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-16T07:01:05Z flip214_ is now known as flip214 2015-11-16T07:01:40Z Shinmera joined #sbcl 2015-11-16T07:02:23Z easye joined #sbcl 2015-11-16T07:08:44Z |3b|` joined #sbcl 2015-11-16T07:10:01Z flip214 quit (Changing host) 2015-11-16T07:10:01Z flip214 joined #sbcl 2015-11-16T07:11:11Z pkhuong_ joined #sbcl 2015-11-16T07:14:49Z PuercoPope joined #sbcl 2015-11-16T07:15:43Z |3b| quit (Write error: Broken pipe) 2015-11-16T07:15:46Z nyef_ quit (Excess Flood) 2015-11-16T07:15:46Z pkhuong quit (Remote host closed the connection) 2015-11-16T07:15:47Z frankS2 quit (Ping timeout: 448 seconds) 2015-11-16T07:15:49Z PuercoPop quit (Remote host closed the connection) 2015-11-16T07:15:50Z Xof quit (Remote host closed the connection) 2015-11-16T07:15:50Z PuercoPope is now known as PuercoPop 2015-11-16T07:16:09Z nyef_ joined #sbcl 2015-11-16T07:19:32Z frankS2 joined #sbcl 2015-11-16T08:07:45Z salva joined #sbcl 2015-11-16T08:08:03Z DeadTrickster_ joined #sbcl 2015-11-16T08:20:04Z Xof joined #sbcl 2015-11-16T08:23:14Z edgar-rft joined #sbcl 2015-11-16T08:29:14Z ZabaQ joined #sbcl 2015-11-16T08:42:38Z scymtym: caching stream element-type subtype relations apparently gets rid of 30 % and more CSUBTYPEP overhead in WRITE-SEQUENCE for small writes 2015-11-16T08:43:19Z lnostdal quit (Ping timeout: 240 seconds) 2015-11-16T08:50:15Z angavrilov joined #sbcl 2015-11-16T08:55:05Z scymtym: i may already have reported this: threads.impure.lisp crashes sbcl in interpreted mode on both linux slaves (search for "threads.impure.lisp in INTERPRET") 2015-11-16T08:55:31Z scymtym: sorry, forgot the link: https://ci.cor-lab.org/job/sbcl-master/1322/featureset=8,label=ubuntu_trusty_64bit/consoleFull 2015-11-16T08:58:31Z edgar-rft quit (Quit: edgar-rft) 2015-11-16T09:01:04Z lnostdal joined #sbcl 2015-11-16T09:23:43Z ASau` quit (Ping timeout: 260 seconds) 2015-11-16T10:00:06Z attila_lendvai joined #sbcl 2015-11-16T10:00:06Z attila_lendvai quit (Changing host) 2015-11-16T10:00:06Z attila_lendvai joined #sbcl 2015-11-16T10:12:15Z DeadTrickster_ quit (Ping timeout: 250 seconds) 2015-11-16T10:24:29Z rszeno joined #sbcl 2015-11-16T11:05:06Z pchrist_ is now known as phcrist 2015-11-16T11:21:54Z edgar-rft joined #sbcl 2015-11-16T11:34:50Z adhoc quit (Ping timeout: 240 seconds) 2015-11-16T11:35:55Z adhoc joined #sbcl 2015-11-16T11:54:35Z Shinmera quit (Remote host closed the connection) 2015-11-16T11:54:51Z Shinmera joined #sbcl 2015-11-16T12:27:43Z dougk2 joined #sbcl 2015-11-16T12:43:06Z ZabaQ quit (Quit: Leaving) 2015-11-16T12:44:19Z gingerale joined #sbcl 2015-11-16T13:44:10Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-16T13:53:07Z joshe quit (Ping timeout: 240 seconds) 2015-11-16T13:57:05Z eudoxia joined #sbcl 2015-11-16T14:57:19Z rszeno quit (Quit: Leaving.) 2015-11-16T15:33:41Z stassats joined #sbcl 2015-11-16T15:44:20Z Xof: hmp 2015-11-16T15:44:53Z Xof: (round (* 255 x)) is eleventy-billion times faster than (round x 1/255) 2015-11-16T15:45:10Z Xof: (even in a single-value context) 2015-11-16T15:46:00Z stassats: is sprof broken on os x? 2015-11-16T15:47:47Z stassats: eleventy-billion is 7? 2015-11-16T15:48:36Z stassats: 7 for fixnums, 40 for single-float 2015-11-16T15:49:08Z Xof: yeah, I was working with floats 2015-11-16T15:49:20Z stassats: single-floats worse than double 2015-11-16T15:50:38Z Xof: serves me right for trying to write some code, I guess 2015-11-16T15:51:06Z stassats: and i don't think there is a single-value 2015-11-16T15:51:13Z stassats: if other values are unused it still computes them 2015-11-16T15:51:26Z stassats: even when inlined or transformed 2015-11-16T15:52:05Z stassats: not very great on platforms where the remainder doesn't come for free 2015-11-16T15:53:43Z stassats: but truncating reciprocals could probably be optimized 2015-11-16T15:56:35Z Xof: for truncate, we don't compute the second return value if we don't need it 2015-11-16T15:56:51Z stassats: i don't that actually works 2015-11-16T15:56:53Z stassats: think 2015-11-16T15:57:04Z Xof: yeah, I was about to come back and qualify that 2015-11-16T15:57:22Z stassats: there was something that purported to do that, but i remember that it came up short 2015-11-16T15:57:35Z stassats: maybe i'm misremembering or it now does the right thing 2015-11-16T15:59:38Z Xof: it does something 2015-11-16T16:00:08Z Xof: compare (ftruncate x 3.0) vs (values (ftruncate x 3.0)) for single-float x 2015-11-16T16:01:11Z stassats: ok then 2015-11-16T16:03:21Z pkhuong_: it tries to 2015-11-16T16:03:24Z pkhuong_: doesn't always work 2015-11-16T16:03:26Z pkhuong_ is now known as pkhuong 2015-11-16T16:03:51Z stassats: anyway, trying to optimize out of line truncate on 1/x 2015-11-16T16:04:04Z stassats: on integers, it's now 7 times faster 2015-11-16T16:04:09Z stassats: or 8 2015-11-16T16:04:45Z pkhuong: I had it even faster than FP conversion for fractions 2015-11-16T16:05:11Z pkhuong: but no one does rationals, and it's more precise than FP so I can't do it transparently 2015-11-16T16:09:53Z stassats: (locally (declare (notinline truncate)) (time (loop repeat 1000000 do (truncate 4.0 1/255)))) was 0.257 2015-11-16T16:09:57Z stassats: now 0.013 2015-11-16T16:15:07Z stassats: ok, it's not correct, 0 is not the right second value for floats 2015-11-16T16:22:53Z stassats: so, calculating the second value is actually the slowest part 2015-11-16T16:29:37Z scymtym_ joined #sbcl 2015-11-16T16:31:15Z Xof: yeah 2015-11-16T16:31:46Z Xof: so maybe we need to port the tricksy truncate maybe-it-works only-primary-value logic 2015-11-16T16:31:47Z stassats: got a faster path for (truncate integer ratio) even if ratio is not reciprocal 2015-11-16T16:37:46Z stassats: turns out, (/ 4002.0 1/255) is not equal to (* 4002.0 255) 2015-11-16T16:46:06Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-16T16:46:15Z Xof: float rounding? 2015-11-16T16:46:35Z dougk2 joined #sbcl 2015-11-16T16:46:51Z Xof: I mean 2015-11-16T16:46:54Z Xof: float coercion? 2015-11-16T16:46:56Z stassats: it's done as (/ 4002.0 (coerce 1/255 'single-float)) 2015-11-16T16:46:59Z Xof: yeah 2015-11-16T16:48:15Z stassats: and (coerce 1/255 'single-float) is actually the slowest part 2015-11-16T16:49:57Z stassats: so, things could be sped up (truncate single-float constant-ratio) if the ratio were just transformed to single-float at compile-time 2015-11-16T16:50:28Z stassats: this is SB-KERNEL::FLOAT-RATIO 2015-11-16T16:50:31Z stassats: it even conses 2015-11-16T16:52:20Z attila_lendvai joined #sbcl 2015-11-16T16:52:20Z attila_lendvai quit (Changing host) 2015-11-16T16:52:20Z attila_lendvai joined #sbcl 2015-11-16T16:54:52Z stassats: and that's because out of line ASH is hopeless 2015-11-16T16:55:15Z stassats: it's been long on my kill list 2015-11-16T16:56:35Z stassats: ok, i'll just commit integer / ratio truncate improvements, and deal with LDB/ASH sometime later 2015-11-16T16:56:47Z stassats: (indefinitely later) 2015-11-16T16:58:14Z psy_ joined #sbcl 2015-11-16T17:05:09Z stassats: the truncate transform in for floats, changing INTEGER to RATIONAL helps the (truncate x 1/255) case 2015-11-16T17:08:09Z stassats: but not for ROUND, i'll need to round up all the float dividers and do some benchmarks 2015-11-16T17:08:23Z stassats: Shinmera: did you have some benchmarking thing? 2015-11-16T17:14:59Z scymtym_: stassats: i started https://github.com/scymtym/sb-benchmarks specifically for SBCL at one point. may not be in the best shape, though 2015-11-16T17:15:20Z stassats: i just wanted some fancy graphs 2015-11-16T17:15:40Z scymtym_: it does graphs 2015-11-16T17:15:45Z stassats: for a set of operations i define 2015-11-16T17:16:00Z stassats: scymtym_: but are they fancy? 2015-11-16T17:16:21Z scymtym_: cpu + memory over a range of parameter values for each benchmark 2015-11-16T17:16:36Z scymtym_: but via gnuplot so not exactly beautifyl 2015-11-16T17:17:37Z scymtym_ is on toddler duty; will have more time later 2015-11-16T17:18:57Z stassats: i'll need a cross produce of FLOOR, FFLOOR, CEILING, FCEILING, TRUNCATE, FTRUNCATE, ROUND, FROUND and fixnum, bignum, float, double, ratio 2015-11-16T17:19:01Z stassats: product 2015-11-16T17:19:30Z stassats: can't really embed images into commit messages, so, ascii graphs 2015-11-16T17:25:35Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-16T17:25:53Z Shinmera: stassats: I assume you're thinking of https://github.com/Shinmera/trivial-benchmark 2015-11-16T17:26:10Z Shinmera: stassats: It's not suitable for micro benchmarking though 2015-11-16T17:28:08Z stassats: https://github.com/stassats/ascii-graphs 2015-11-16T17:28:16Z stassats: should limit the width, probably 2015-11-16T17:29:06Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-16T17:29:42Z stassats: and it seems quite out of whack anyhow 2015-11-16T17:32:28Z dougk2 joined #sbcl 2015-11-16T17:32:38Z attila_lendvai joined #sbcl 2015-11-16T17:38:02Z lnostdal quit (Ping timeout: 250 seconds) 2015-11-16T17:51:15Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-16T17:52:56Z lnostdal joined #sbcl 2015-11-16T17:58:21Z stassats: redid some stuff https://github.com/stassats/ascii-graphs 2015-11-16T18:04:02Z eudoxia quit (Quit: Leaving) 2015-11-16T18:11:46Z stassats: graphs like http://paste.lisp.org/display/159653 would be more interesting 2015-11-16T18:13:22Z DeadTrickster_ joined #sbcl 2015-11-16T18:17:08Z stassats: with control codes colors 2015-11-16T18:17:46Z stassats: git log in the terminal works with control codes 2015-11-16T18:17:51Z stassats: github will probably not work 2015-11-16T18:20:42Z dougk2 joined #sbcl 2015-11-16T18:53:15Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-16T18:57:10Z adhoc quit (Ping timeout: 240 seconds) 2015-11-16T19:03:40Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-11-16T19:09:40Z dougk2 joined #sbcl 2015-11-16T19:13:39Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-16T19:18:26Z stassats: and i have 288 test cases 2015-11-16T19:18:37Z stassats: sorting through the output is not easy 2015-11-16T19:31:01Z stassats: https://docs.google.com/spreadsheets/d/1ABijOdGHeBqZoaYeK9nUvRBI7mQpDut2vbhMW6qSX0k/edit?usp=sharing 2015-11-16T19:31:06Z dougk2 joined #sbcl 2015-11-16T19:32:42Z stassats: need better naming format 2015-11-16T19:36:09Z Xof: yes 2015-11-16T19:36:11Z stassats: updated 2015-11-16T19:36:19Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-16T19:36:38Z Xof: needs even better naming format 2015-11-16T19:37:01Z Xof: first column: operator 2015-11-16T19:37:25Z Xof: second, first arg; third, second arg 2015-11-16T19:37:51Z Xof: fourth, time; fifth, bytes 2015-11-16T19:38:37Z Xof: then I can make graphs 2015-11-16T19:38:41Z stassats: ok 2015-11-16T19:40:35Z stassats: updated again 2015-11-16T19:40:43Z dougk2 joined #sbcl 2015-11-16T19:41:14Z Xof: gah 2015-11-16T19:41:19Z stassats: 1/2/2015 what? 2015-11-16T19:41:21Z Xof: stupid spreadsheet and its date format 2015-11-16T19:41:40Z stassats: probably need to escape it 2015-11-16T19:41:59Z Xof: if you can generate csv we could avoid the google trap 2015-11-16T19:42:07Z stassats: well, it's from a csv 2015-11-16T19:42:49Z Xof: looking 2015-11-16T19:43:04Z stassats: https://drive.google.com/file/d/0B0Xjfi08W3JmMTlxTFhsSG01WU0/view?usp=sharing 2015-11-16T19:43:05Z Xof: sadly the csv download option has the date breakage 2015-11-16T19:43:19Z Xof: ok, that works 2015-11-16T19:43:31Z Xof: moment please 2015-11-16T19:43:56Z stassats: never used excel to do any real work 2015-11-16T19:44:28Z stassats: just for some school exercises 2015-11-16T19:44:39Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-16T19:46:00Z stassats: and Y is constant everywhere 2015-11-16T19:48:05Z Xof: first cut: http://www.doc.gold.ac.uk/~mas01cr/tmp/plot.png 2015-11-16T19:48:23Z stassats: that's nice 2015-11-16T19:48:47Z Xof: huh, that's actually quite revealing 2015-11-16T19:48:57Z Xof: [F]ROUND is expensive 2015-11-16T19:49:53Z Xof: the alphabetical ordering of the functions is not very helpful 2015-11-16T19:50:05Z stassats: and numbers could be grouped a bit better 2015-11-16T19:50:26Z stassats: but this is much better than 288 outputs from TIME 2015-11-16T19:51:16Z Xof: good :-) 2015-11-16T19:51:35Z Xof: ggplot(d, aes(x=FUNCTION, y=TIME)) + geom_bar(stat="identity") + facet_grid(X ~ Y) # remember this for later 2015-11-16T19:51:46Z stassats: is this R? 2015-11-16T19:51:52Z Xof: yes, R (with ggplot2) 2015-11-16T19:52:42Z Xof: I'm assuming you don't need me to work on making this more pretty or obvious right now? 2015-11-16T19:52:46Z Xof: I should probably do the washing up 2015-11-16T19:52:54Z stassats: nah, it's fine as it is 2015-11-16T19:53:21Z stassats: now i just need to be able to do that graph on my own 2015-11-16T19:53:28Z stassats: and then compare when i make changes 2015-11-16T19:53:46Z Xof: ok 2015-11-16T19:53:50Z Xof: the complete recipe is 2015-11-16T19:54:06Z Xof: d <- read.csv("/home/csr21/Downloads/bench.csv", sep="|") 2015-11-16T19:54:13Z Xof: library(ggplot2) 2015-11-16T19:54:21Z Xof: png("/tmp/plot.png", width=2048, height=2048) 2015-11-16T19:54:30Z Xof: print(ggplot(d, aes(x=FUNCTION, y=TIME)) + geom_bar(stat="identity") + facet_grid(X ~ Y)) 2015-11-16T19:54:32Z Xof: dev.off() 2015-11-16T19:54:35Z Xof: # the end 2015-11-16T19:54:42Z stassats: ok, installing r-cran-ggplot2 2015-11-16T19:54:59Z Xof: enjoy :-) 2015-11-16T19:55:43Z stassats: always wanted to make fancy graphs for optimizations, maybe time to learn this R thing 2015-11-16T19:57:09Z Xof: I've been doing https://www.coursera.org/course/rprog not because I need to learn R but because I need to learn moocs 2015-11-16T19:58:50Z stassats: ok, i can now produce plot.png 2015-11-16T20:06:10Z sjl joined #sbcl 2015-11-16T20:07:54Z sjl_ quit (Ping timeout: 255 seconds) 2015-11-16T20:12:32Z gingerale quit (Remote host closed the connection) 2015-11-16T20:13:59Z dougk2 joined #sbcl 2015-11-16T20:19:10Z Xof: perhaps worth saying that the vertical variable is X and the one varying horizontally is Y 2015-11-16T20:20:06Z ASau joined #sbcl 2015-11-16T20:22:15Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-16T20:25:00Z stassats: after changing the truncate transform http://i.imgur.com/xGtFlpN.png 2015-11-16T20:27:24Z dougk2 joined #sbcl 2015-11-16T20:28:23Z stassats: ok, i think i mixed up X and Y in the csv 2015-11-16T20:31:22Z Xof: makes ceiling/floor/truncate better but not round 2015-11-16T20:32:12Z Xof: note that the time axis is different between the original and the new 2015-11-16T20:32:17Z Xof: you can put in explicit limits with 2015-11-16T20:32:18Z Xof: ggplot(d, aes(x=FUNCTION, y=TIME)) + geom_bar(stat="identity") + facet_grid(X ~ Y) + scale_y_continuous(limits=c(0,0.1)) 2015-11-16T20:33:36Z pkhuong: that truncates your data though. there's another thing to zoom in on a graph 2015-11-16T20:34:49Z Xof: well in this case it doesn't 2015-11-16T20:35:15Z stassats: can i add a title somehow? 2015-11-16T20:35:31Z hydan joined #sbcl 2015-11-16T20:35:39Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-16T20:35:45Z pkhuong: http://docs.ggplot2.org/current/labs.html 2015-11-16T20:36:01Z Xof: (the "right" thing to do is probably to put both sets of data in the same data frame and then use position_dodge() to show before and after next to each other) 2015-11-16T20:36:20Z Xof: but I quite like having two images and tabbing between them (if the axes are the same) 2015-11-16T20:36:53Z Xof: eyes are good at detecting and measuring motion 2015-11-16T20:37:08Z Xof: [ s/eyes/brains/ if you prefer :-) ] 2015-11-16T20:37:13Z stassats: http://imgur.com/a/5ERqT 2015-11-16T20:37:21Z stassats: with X and Y reversed 2015-11-16T20:38:01Z Xof: stassats: open those in two tabs, then change between them 2015-11-16T20:38:06Z clique joined #sbcl 2015-11-16T20:38:10Z stassats: sure, that's what i'm doing 2015-11-16T20:38:29Z Xof: excellent 2015-11-16T20:38:34Z Xof: next step, logarithmic Y scales :-) 2015-11-16T20:38:50Z stassats: can it do stacked bars to compare changes? 2015-11-16T20:38:56Z stassats: eh, that's a rabbit hole 2015-11-16T20:39:31Z stassats: (it can) 2015-11-16T20:42:04Z dougk2 joined #sbcl 2015-11-16T20:43:47Z stassats: so the transform largely helps because it avoid doing ratio to float conversion at run-time 2015-11-16T20:44:41Z sjl_ joined #sbcl 2015-11-16T20:44:55Z stassats: integers already had it 2015-11-16T20:45:02Z stassats: and ftruncate needs the same treatment 2015-11-16T20:45:30Z sjl quit (Ping timeout: 240 seconds) 2015-11-16T20:46:34Z stassats: it also shows that there is no transformation for (truncate 1/2 (the single-float x)) 2015-11-16T20:47:17Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-16T20:51:06Z psy_ quit (Ping timeout: 240 seconds) 2015-11-16T20:56:11Z stassats: out of line versions are slow because of LDB/ASH consing madly 2015-11-16T20:56:32Z stassats: i tried once to improve LDB, but couldn't quite get all the corner cases right 2015-11-16T20:57:03Z dougk2 joined #sbcl 2015-11-16T21:01:08Z scymtym_: sb-benchmarks works better than i remembered. http://www.techfak.uni-bielefeld.de/~jmoringe/write-sequence.png shows the WRITE-SEQUENCE improvements for short sequences i was talking about earlier (note logarithmic scale) 2015-11-16T21:02:20Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-16T21:02:40Z edgar-rft quit (Quit: edgar-rft) 2015-11-16T21:04:30Z stassats: better labels http://imgur.com/a/OpfKG 2015-11-16T21:05:10Z stassats: eh, wrong version 2015-11-16T21:08:21Z stassats: last attempt for today http://imgur.com/a/iHeh9 2015-11-16T21:09:08Z ASau quit (Ping timeout: 272 seconds) 2015-11-16T21:09:22Z stassats: the code https://gist.github.com/stassats/33bd12b2f5a4b8dcab6a 2015-11-16T21:12:23Z ASau joined #sbcl 2015-11-16T21:14:59Z DeadTrickster_ quit (Ping timeout: 240 seconds) 2015-11-16T21:19:47Z clique left #sbcl 2015-11-16T21:28:55Z stassats quit (Ping timeout: 240 seconds) 2015-11-16T21:30:19Z dougk2 joined #sbcl 2015-11-16T21:42:51Z Bicyclidine joined #sbcl 2015-11-16T21:44:20Z ASau` joined #sbcl 2015-11-16T21:47:30Z ASau quit (Ping timeout: 240 seconds) 2015-11-16T21:49:39Z hydan quit (Ping timeout: 240 seconds) 2015-11-16T21:50:23Z stassats joined #sbcl 2015-11-16T21:57:28Z jdz: stassats: another option -- something similar to https://parall.ax/vtop 2015-11-16T21:59:13Z stassats: jdz: at that rate i won't benchmark a thing and just fiddle with drawing graphs 2015-11-16T21:59:23Z jdz: sorry :) 2015-11-16T21:59:33Z stassats: considering i'm already not writing code but optimizing sbcl, so this is working on tools in the second degree 2015-11-16T22:01:45Z jdz: them yaks won't shave themselves! 2015-11-16T22:05:58Z Shinmera joined #sbcl 2015-11-16T22:07:05Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-16T22:08:09Z dougk2 joined #sbcl 2015-11-16T22:12:42Z DeadTrickster_ joined #sbcl 2015-11-16T22:27:02Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-16T22:37:06Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-16T22:39:04Z dougk2 joined #sbcl 2015-11-16T22:39:09Z psy_ joined #sbcl 2015-11-16T22:59:20Z ccl-logbot joined #sbcl 2015-11-16T22:59:20Z 2015-11-16T22:59:20Z names: ccl-logbot Ober angavrilov_ jackc-_ psy_ dougk2 Shinmera stassats ASau` Bicyclidine sjl_ lnostdal scymtym_ salva frankS2 nyef_ PuercoPop pkhuong |3b|` easye jlarocco brucem dougk_ sigjuice foom pootler abbe p_l Quadrescence ignotus pepol yauz minion specbot christoph_debian alchemis7 raeon loke slyrus jdz phcrist drmeister Blkt fe[nl]ix dim les carvite flip214 antoszka akkad soggybread chris2 Bike fiddlerwoaroof jozip reb`````` chu irsol derrida njmurphy 2015-11-16T22:59:20Z names: scymtym DeadTrickster nimiux whiteline psilord DGASAU igajsin1 fikusz White_Flame dustinm`_ jackdaniel Intensity dsp_ mood ferada jsnell 2015-11-16T22:59:35Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-16T22:59:51Z Bike_ joined #sbcl 2015-11-16T23:00:59Z kanru joined #sbcl 2015-11-16T23:06:49Z stassats quit (*.net *.split) 2015-11-16T23:06:49Z pkhuong quit (*.net *.split) 2015-11-16T23:06:49Z Bike quit (*.net *.split) 2015-11-16T23:06:49Z nimiux quit (*.net *.split) 2015-11-16T23:07:30Z pkhuong joined #sbcl 2015-11-16T23:07:31Z Posterdati joined #sbcl 2015-11-16T23:07:33Z nimiux joined #sbcl 2015-11-16T23:07:54Z pkhuong is now known as Guest78598 2015-11-16T23:08:37Z yvm joined #sbcl 2015-11-16T23:22:03Z stassats joined #sbcl 2015-11-16T23:37:56Z njmurphy quit (Quit: Connection closed for inactivity) 2015-11-16T23:56:52Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-11-16T23:57:48Z dougk2 joined #sbcl 2015-11-17T00:35:55Z scymtym_ quit (Ping timeout: 240 seconds) 2015-11-17T00:55:33Z Bicyclidine quit (Quit: quit) 2015-11-17T00:59:38Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-17T01:18:03Z adhoc joined #sbcl 2015-11-17T01:25:19Z nyef_: Okay, I figured out what happened to the hppa-linux target: Someone tried to make it go on hpux, and it never got properly audited or re-tested on linux. 2015-11-17T01:25:40Z nyef_: That accounts for a good chunk of the damage. 2015-11-17T01:26:42Z nyef_: Unfortunately, even knowing that hasn't managed to get me a usable historic build to use as a basis for bisection. 2015-11-17T01:27:08Z stassats: just figure it as you go, i guess 2015-11-17T01:27:38Z nyef_: So it's going to have to be either the audit approach, or slapping a breakpoint on the bit that I think is broken, and single-stepping with gdb. 2015-11-17T01:28:01Z stassats: single stepping with gdb helps a lot 2015-11-17T01:28:09Z stassats: until gdb starts to break down 2015-11-17T01:32:09Z attila_lendvai joined #sbcl 2015-11-17T01:32:09Z attila_lendvai quit (Changing host) 2015-11-17T01:32:09Z attila_lendvai joined #sbcl 2015-11-17T01:36:26Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-17T01:41:36Z nyef_ is now known as nyef 2015-11-17T01:44:35Z ASau`` joined #sbcl 2015-11-17T01:46:33Z dougk2 joined #sbcl 2015-11-17T01:48:02Z ASau` quit (Ping timeout: 260 seconds) 2015-11-17T01:57:15Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-17T02:21:23Z Bike_ is now known as Bike 2015-11-17T02:30:35Z nicdev joined #sbcl 2015-11-17T02:40:31Z |3b|` is now known as |3b| 2015-11-17T02:51:08Z psy_ quit (Ping timeout: 272 seconds) 2015-11-17T02:52:26Z psy_ joined #sbcl 2015-11-17T03:11:15Z nyef: ... HPPA has a "wife" instruction in Latin?!? 2015-11-17T03:12:15Z stassats: does it? 2015-11-17T03:13:10Z nyef: Yeah, the "Unit XOR" instruction, mnemonic "UXOR". 2015-11-17T03:13:50Z nyef: You can try to tell me that that's not "wife" in Latin, but you'd have to provide evidence. d-: 2015-11-17T03:14:14Z loke: In what state is the SPARC port? If I were to try to compile it, should I expect it to build at all? 2015-11-17T03:14:32Z stassats: unless it's solaris, it's good 2015-11-17T03:15:20Z stassats: solaris has broken signals 2015-11-17T03:15:42Z stassats: and sparc uses more signals than other targets 2015-11-17T03:16:05Z nyef: It should build just fine. 2015-11-17T03:17:19Z nyef: My second-most-recent attempt went fine. My most recent attempt didn't, but I blame a brown-out on my RPi causing the USB-serial adaptor plugged into the ALOM port to read as requesting a break condition, which caused a kernel panic. Not SBCL's fault at all. 2015-11-17T03:17:25Z stassats: i could probably reduce signal usage, but then i would need a sparc 2015-11-17T03:18:03Z nyef: Can we please, please leave SPARC largely unmaintained until I get DX SAPs working properly on Alpha and the HPPA port up and going? 2015-11-17T03:18:13Z angavrilov joined #sbcl 2015-11-17T03:18:14Z stassats: (by not using alloc_tramp) 2015-11-17T03:18:16Z stassats: err 2015-11-17T03:18:19Z angavrilov_ quit (Ping timeout: 240 seconds) 2015-11-17T03:18:19Z stassats: by using alloc_tramp 2015-11-17T03:18:26Z nyef wants to be able to say that SPARC has finally de-throned HPPA as the least-maintained SBCL backend. 2015-11-17T03:19:00Z stassats: well, who cares about solaris anyway 2015-11-17T03:19:13Z stassats: even oracle doesn't 2015-11-17T03:20:46Z dougk2 joined #sbcl 2015-11-17T03:22:18Z nyef: What the heck?!? Why are these sub-word vector accessors doing fixnum boxing instead of returning an unsigned-reg? 2015-11-17T03:24:09Z stassats: nyef: that's a new thing 2015-11-17T03:24:23Z stassats: 0d74ed478e7f3af5d3292153726373763631aa8e 2015-11-17T03:24:43Z stassats: why the heck indeed 2015-11-17T03:25:12Z stassats: know what, mips does that too 2015-11-17T03:26:28Z nyef: Lovely. 2015-11-17T03:26:33Z nyef: Okay, guess that's on me, then. 2015-11-17T03:27:25Z stassats: and x86-64? 2015-11-17T03:27:49Z nyef: You can handle x86-64, I'm sure. d-: 2015-11-17T03:28:11Z stassats: well, the whole handling of fixnum/unsigned by VOPs is a total fiasco anyway 2015-11-17T03:28:26Z nyef: Yeah, okay, I probably better do most of these. 2015-11-17T03:28:36Z stassats: nyef: i think it was copied wholesale from somewhere 2015-11-17T03:28:37Z nyef: You can handle arm64 if it's affected. d-: 2015-11-17T03:28:55Z stassats: yes, (:result-types positive-fixnum) too 2015-11-17T03:29:11Z stassats: ok, where doesn't it do that? 2015-11-17T03:31:22Z stassats: what's the primordial backend? 2015-11-17T03:31:49Z stassats: mips? x86? 2015-11-17T03:31:59Z nyef: MIPS, PPC, or RT. 2015-11-17T03:32:00Z stassats: rt? 2015-11-17T03:32:14Z stassats: i think rt got axed before it got into source control 2015-11-17T03:32:17Z nyef: ... And not MIPS, IIRC. 2015-11-17T03:32:25Z nyef: CMUCL has two RT backends. 2015-11-17T03:32:39Z nyef: Nice try, though. d-: 2015-11-17T03:33:21Z stassats: ok, then i guess it wasn't touched since those times 2015-11-17T03:38:10Z loke: stassats: Actually, Oracle does seem to care about Solaris. 2015-11-17T03:40:26Z stassats: loke: not in a way that makes me want to pay attention to it 2015-11-17T03:40:34Z stassats: compared to what Sun did 2015-11-17T03:42:12Z loke: We work a lot with Solaris (most of our customers deploying on it). Granted, there seems to be a lot of internal conflicts within Oracle about this stuff so in that repsect they are of course less single-minded than Sun was. 2015-11-17T03:42:57Z stassats: nyef: there is one explanation for sub bytes returning fixnums, it needs to masked off, so masking off a fixnum is free of charge 2015-11-17T03:45:23Z nyef: Except that it's not always "free", sometimes it's trivial to do the masking on the low bits, but biasing the shift amount and the like, or doing the extra shift, can cost. 2015-11-17T03:48:59Z stassats: arm64 just does (inst lsl value result n-fixnum-tag-bits) while it could have done that during shift and mask 2015-11-17T03:49:46Z stassats: but vop selection is broken, so either variant will suffer 2015-11-17T03:53:48Z stassats: i now have the idea of the place they are broken, but no idea how to solve that yet 2015-11-17T03:55:16Z stassats: but i think that maybe fixing that is not worth at all? 2015-11-17T03:55:27Z stassats: instead, not have multiple vops applicable for the same type 2015-11-17T03:55:30Z nyef: I get the fun issue that the SBCL backend is written in terms of HPPA 1.1 operations, but I have an HPPA 2.0 manual, so if I can't find an instruction definition then I need to look it up in a table of conversions from 1.1 to 2.0 mnemonics... 2015-11-17T03:56:31Z stassats: on the one hand, having multiple vops is all declarative and dandy, on the other, you'll have to write a cross product of vops for inputs/outputs 2015-11-17T03:56:50Z stassats: instead, just make the generator dispatch on scs 2015-11-17T03:58:06Z stassats: will cut down on the current vop selection, will reduce the number of vops 2015-11-17T03:59:07Z stassats: a fix which doesn't involve touch existing vops would certainly slow down selection 2015-11-17T03:59:18Z stassats: what is it, some of a packing or a tiling problem? 2015-11-17T04:00:32Z stassats: though something needs to decide which SC to use 2015-11-17T04:01:03Z stassats: and we're back to square one 2015-11-17T04:01:50Z stassats: so, it's actually a representation problem, not a vop selection problem 2015-11-17T04:02:07Z stassats: vop selection is just driving representation selection 2015-11-17T04:02:41Z nyef: Mmm. And that's not ideal, because VOP selection and representation selection affect each other. 2015-11-17T04:03:05Z nyef: Or should. 2015-11-17T04:03:13Z sjl_ quit (Read error: Connection reset by peer) 2015-11-17T04:03:44Z sjl joined #sbcl 2015-11-17T04:03:58Z nyef: We have a required sequence of operations, and a choice as to which VOPs to use to implement the operations, but we also need to insert MOVEs to do appropriate conversions between representations. 2015-11-17T04:04:02Z stassats: right now VOPs are selected based on primitive types 2015-11-17T04:04:30Z stassats: so, unsigned-byte-8? "thank you, that's a fixnum" 2015-11-17T04:05:46Z stassats: so, some vops can go either way, for some vops some representation is cheaper 2015-11-17T04:06:10Z stassats: but it can select an output of one vop to be more costly than the input of the next vop 2015-11-17T04:06:24Z nyef: So, for each operation in the sequence, pick every applicable VOP. These are the possible nodes corresponding with the observed operation. Then lay out each possible set of MOVEs between the nodes. This gets you something isomorphic to an HMM, with costs on each node and arc. And then Viterbi the sucker! 2015-11-17T04:07:30Z stassats: so costs should be assigned to arguments, not to the whole VOP 2015-11-17T04:07:40Z stassats: but then again, who to compare them? 2015-11-17T04:07:52Z stassats: absolutely, not relative to one VOP class 2015-11-17T04:08:26Z stassats: or it can be binary, positively no boxing, or boxing 2015-11-17T04:09:30Z nyef: Okay, yes, operations don't really need weights in this model, do they? 2015-11-17T04:10:35Z DeadTrickster_ joined #sbcl 2015-11-17T04:10:38Z nyef: We'll probably find further elaborations if we follow through on this. 2015-11-17T04:10:43Z stassats: there are three kinds of vops, one where it works only on one SC, one where it's equally cheap to work on multiple SCs, and one where some of the arguments or results are cheaper in on of the SCs 2015-11-17T04:11:33Z nyef: Mmm. Consider a fixnum by untagged multiply. 2015-11-17T04:11:45Z stassats: the first kind helps to reduce the space, but the problem is optimally connecting the latter two kinds 2015-11-17T04:12:02Z nyef: I'm telling you, this is classic HMM theory! 2015-11-17T04:12:09Z stassats: moreover, a VOP output can feed into two other VOPs, for one of which one kind is cheaper, for another, another kind 2015-11-17T04:12:49Z stassats: imagine (defun foo (ub8) (setf (aref ub8 0) (aref ub8 1))) 2015-11-17T04:12:58Z stassats: the copy is unsigned, but the result is a fixnum 2015-11-17T04:13:01Z stassats: of the function 2015-11-17T04:13:45Z nyef: Presuming that you've declared UB8 appropriately, yes, that would be ideal. 2015-11-17T04:13:55Z stassats: so, is it cheaper to tag or untag? 2015-11-17T04:14:21Z stassats: and ub4 is a better example, where shift/mask makes it equally cheap to produce a fixnum or an unsigned 2015-11-17T04:14:44Z nyef: And that actually might depend on the target architecture. 2015-11-17T04:14:54Z stassats: this is an example 2015-11-17T04:15:20Z stassats: i guess it's a toss up, can't really measure which is better, to tag or to untag 2015-11-17T04:16:10Z stassats: eh, just peephole the sucker 2015-11-17T04:24:43Z stassats: on arm64, shifting and masking a known number of bits is done in just one instruction 2015-11-17T04:38:38Z DeadTrickster_ quit (Ping timeout: 276 seconds) 2015-11-17T04:50:37Z nyef: ... What the heck? "Oh, yes. Let's just use the unsafe version of MAKE-LISP-OBJ to create an UNBOUND-MARKER-WIDETAG with a freaking HEADER VALUE, and use it for something!" 2015-11-17T04:52:23Z dougk2 quit (Ping timeout: 264 seconds) 2015-11-17T04:55:07Z dsp__ joined #sbcl 2015-11-17T04:56:17Z pkhuong joined #sbcl 2015-11-17T04:56:40Z pkhuong is now known as Guest32242 2015-11-17T04:56:45Z jackdani1l joined #sbcl 2015-11-17T04:57:53Z sigjuice_ joined #sbcl 2015-11-17T04:58:19Z foom2 joined #sbcl 2015-11-17T05:00:02Z PuercoPop quit (Ping timeout: 246 seconds) 2015-11-17T05:00:04Z Guest78598 quit (Ping timeout: 246 seconds) 2015-11-17T05:00:05Z sigjuice quit (Ping timeout: 246 seconds) 2015-11-17T05:00:06Z scymtym quit (Ping timeout: 246 seconds) 2015-11-17T05:00:06Z dsp_ quit (Ping timeout: 246 seconds) 2015-11-17T05:00:08Z lnostdal quit (Ping timeout: 246 seconds) 2015-11-17T05:00:09Z foom quit (Ping timeout: 246 seconds) 2015-11-17T05:00:10Z carvite quit (Ping timeout: 246 seconds) 2015-11-17T05:00:12Z jackdaniel quit (Ping timeout: 246 seconds) 2015-11-17T05:01:15Z PuercoPop joined #sbcl 2015-11-17T05:01:54Z lnostdal joined #sbcl 2015-11-17T05:18:11Z jozip quit (Ping timeout: 264 seconds) 2015-11-17T05:18:25Z pootler quit (Ping timeout: 250 seconds) 2015-11-17T05:19:36Z Quadresce` joined #sbcl 2015-11-17T05:20:47Z jackdaniel joined #sbcl 2015-11-17T05:21:10Z adhoc_ joined #sbcl 2015-11-17T05:25:21Z jackdani1l quit (*.net *.split) 2015-11-17T05:25:21Z adhoc quit (*.net *.split) 2015-11-17T05:25:21Z Posterdati quit (*.net *.split) 2015-11-17T05:25:21Z Quadrescence quit (*.net *.split) 2015-11-17T05:25:21Z jdz quit (*.net *.split) 2015-11-17T05:27:02Z psy_ quit (Quit: Leaving) 2015-11-17T05:28:48Z Posterdati joined #sbcl 2015-11-17T05:30:23Z jdz joined #sbcl 2015-11-17T05:34:29Z jozip joined #sbcl 2015-11-17T05:38:05Z Xof joined #sbcl 2015-11-17T05:40:46Z pootler joined #sbcl 2015-11-17T05:44:52Z ASau``` joined #sbcl 2015-11-17T05:48:06Z ASau`` quit (Ping timeout: 240 seconds) 2015-11-17T05:56:21Z Quadresce` is now known as Quadrescence 2015-11-17T05:56:32Z Quadrescence quit (Changing host) 2015-11-17T05:56:32Z Quadrescence joined #sbcl 2015-11-17T06:13:35Z slyrus quit (Read error: Connection reset by peer) 2015-11-17T06:14:21Z slyrus joined #sbcl 2015-11-17T06:21:15Z alchemis7 quit (Ping timeout: 240 seconds) 2015-11-17T07:02:33Z Shinmera joined #sbcl 2015-11-17T07:19:01Z gingerale joined #sbcl 2015-11-17T07:59:59Z adhoc_ quit (Ping timeout: 246 seconds) 2015-11-17T08:00:03Z Cymew joined #sbcl 2015-11-17T08:00:50Z loke quit (Ping timeout: 272 seconds) 2015-11-17T08:12:27Z loke joined #sbcl 2015-11-17T08:21:12Z ASau``` quit (Ping timeout: 244 seconds) 2015-11-17T08:28:55Z scymtym joined #sbcl 2015-11-17T09:11:26Z edgar-rft joined #sbcl 2015-11-17T09:16:53Z alchemis7 joined #sbcl 2015-11-17T09:24:01Z Baggers joined #sbcl 2015-11-17T09:27:03Z Baggers: Xof: I've been looking at your' 'Unportable but fun'[0] presentation. In the conclusions you mentioned that sbcl extensions allow "hooking into type derivation". I've looked through the 'sbcl manual' and 'sbcl internals' but couldnt work this phrase out. Where (document or code) can I read about this feature? 2015-11-17T09:30:33Z Xof: I wonder if I meant using DEFOPTIMIZER and DEFTRANSFORM 2015-11-17T09:30:46Z Xof: what do you want to do? 2015-11-17T09:31:33Z mood quit (Read error: Connection reset by peer) 2015-11-17T09:36:14Z mood joined #sbcl 2015-11-17T09:38:21Z loke quit (Ping timeout: 255 seconds) 2015-11-17T09:40:23Z Baggers: Xof: I didnt have anything in mind, it just sounded interesting as I had perused the sbcl docs before and hadnt seen it. 2015-11-17T09:41:11Z Baggers: I guess defoptimizer and deftransform are covered elsewhere so I can go dig that stuff up :) 2015-11-17T09:43:21Z adhoc joined #sbcl 2015-11-17T09:43:56Z Baggers: Xof: Getting to know sbcl's extensions/contribs has been on my todo list for a while. Will definitely be using the sequence extensions but after that I was interested in getting an understanding of how sbcl handles types. 2015-11-17T09:45:46Z Baggers: "The Python Compiler for CMU Common Lisp" seems like a nice high level intro, as far as the compilation goes is this still fairly relevant? 2015-11-17T09:50:31Z loke joined #sbcl 2015-11-17T10:31:04Z Xof: fairly, though not entirely 2015-11-17T10:35:35Z loke quit (Ping timeout: 264 seconds) 2015-11-17T10:38:05Z DGASAU quit (Read error: Connection reset by peer) 2015-11-17T10:38:25Z DGASAU joined #sbcl 2015-11-17T10:40:29Z Baggers: Xof: ok, cheers this gives me plenty to do. Seeya 2015-11-17T10:40:33Z Baggers left #sbcl 2015-11-17T10:48:07Z loke joined #sbcl 2015-11-17T10:56:26Z attila_lendvai joined #sbcl 2015-11-17T10:56:26Z attila_lendvai quit (Changing host) 2015-11-17T10:56:26Z attila_lendvai joined #sbcl 2015-11-17T11:34:59Z Bike quit (Ping timeout: 264 seconds) 2015-11-17T11:36:28Z Bike joined #sbcl 2015-11-17T11:41:10Z stassats quit (Ping timeout: 260 seconds) 2015-11-17T11:50:22Z Ober quit (Ping timeout: 260 seconds) 2015-11-17T11:51:06Z Ober joined #sbcl 2015-11-17T12:43:43Z stassats joined #sbcl 2015-11-17T13:01:00Z dougk2 joined #sbcl 2015-11-17T13:12:29Z scymtym_ joined #sbcl 2015-11-17T13:13:29Z psy_ joined #sbcl 2015-11-17T13:14:27Z psy_ quit (Client Quit) 2015-11-17T13:18:35Z psy_ joined #sbcl 2015-11-17T13:27:46Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-17T13:31:35Z lnostdal quit (Ping timeout: 240 seconds) 2015-11-17T13:45:19Z lnostdal joined #sbcl 2015-11-17T14:01:36Z Cymew quit (Ping timeout: 255 seconds) 2015-11-17T14:23:41Z dougk2 quit (Ping timeout: 265 seconds) 2015-11-17T15:09:17Z Guest32242 is now known as pkhuong 2015-11-17T15:10:22Z pkhuong: I guess I should write up some of what I learned before I forget it all :\ 2015-11-17T15:10:35Z pepol quit (Ping timeout: 240 seconds) 2015-11-17T15:15:46Z foom2 is now known as foom 2015-11-17T15:16:33Z pepol joined #sbcl 2015-11-17T15:36:16Z dougk2 joined #sbcl 2015-11-17T15:39:49Z psy_ quit (Ping timeout: 250 seconds) 2015-11-17T15:40:35Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-17T15:41:37Z psy_ joined #sbcl 2015-11-17T15:43:31Z psy_ quit (Max SendQ exceeded) 2015-11-17T15:44:04Z psy_ joined #sbcl 2015-11-17T15:45:59Z psy_ quit (Max SendQ exceeded) 2015-11-17T15:46:42Z psy_ joined #sbcl 2015-11-17T15:48:28Z psy_ quit (Max SendQ exceeded) 2015-11-17T15:48:57Z psy_ joined #sbcl 2015-11-17T15:50:46Z psy_ quit (Max SendQ exceeded) 2015-11-17T15:51:13Z psy_ joined #sbcl 2015-11-17T15:52:53Z psy_ quit (Max SendQ exceeded) 2015-11-17T15:53:22Z psy_ joined #sbcl 2015-11-17T15:55:15Z psy_ quit (Max SendQ exceeded) 2015-11-17T15:59:59Z JuanDaugherty joined #sbcl 2015-11-17T16:00:15Z lnostdal quit (Ping timeout: 240 seconds) 2015-11-17T16:06:08Z hitecnologys joined #sbcl 2015-11-17T16:31:03Z carvite joined #sbcl 2015-11-17T16:50:04Z eudoxia joined #sbcl 2015-11-17T16:55:19Z dougk2 joined #sbcl 2015-11-17T17:11:53Z attila_lendvai joined #sbcl 2015-11-17T17:12:16Z DeadTrickster_ joined #sbcl 2015-11-17T17:49:23Z jozip quit (Ping timeout: 264 seconds) 2015-11-17T17:53:50Z eudoxia quit (Quit: Leaving) 2015-11-17T17:56:35Z pootler quit (Ping timeout: 240 seconds) 2015-11-17T17:58:46Z sigjuice_ quit (Ping timeout: 265 seconds) 2015-11-17T17:59:42Z Shinmera- joined #sbcl 2015-11-17T18:00:19Z pkhuong quit (Ping timeout: 240 seconds) 2015-11-17T18:00:39Z Shinmera quit (Ping timeout: 240 seconds) 2015-11-17T18:05:09Z sigjuice joined #sbcl 2015-11-17T18:07:33Z pkhuong joined #sbcl 2015-11-17T18:07:56Z pkhuong is now known as Guest73926 2015-11-17T18:20:20Z edgar-rft quit (Quit: edgar-rft) 2015-11-17T18:33:53Z nyef: Okay, this is new. I added a /SHOW form to FIND-CLASSOID-CELL, conditioned on #-sb-xc-host, and I got dropped to LDB with something about *FORMAT-DIRECTIVE-INTERPRETERS* not being bound. 2015-11-17T18:34:56Z nyef: Going to convert to /show0 or similar, but... WTF? 2015-11-17T18:56:53Z pootler joined #sbcl 2015-11-17T18:58:35Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-17T18:58:45Z dougk2 joined #sbcl 2015-11-17T19:10:34Z jozip joined #sbcl 2015-11-17T19:16:56Z igajsin1 quit (Read error: Connection reset by peer) 2015-11-17T19:18:14Z igajsin1 joined #sbcl 2015-11-17T19:24:14Z scymtym_ quit (Ping timeout: 246 seconds) 2015-11-17T19:30:47Z DeadTrickster_ quit (Ping timeout: 250 seconds) 2015-11-17T19:36:03Z nyef: Okay, it's definitely globaldb. Creating the classoid-cell works, finding it via INFO doesn't. 2015-11-17T19:37:11Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-17T19:41:12Z Bicyclidine joined #sbcl 2015-11-17T20:19:29Z clique joined #sbcl 2015-11-17T20:29:15Z Shinmera- is now known as Shinmera 2015-11-17T20:30:10Z clique left #sbcl 2015-11-17T20:32:16Z dougk2 joined #sbcl 2015-11-17T20:39:17Z gingerale quit (Remote host closed the connection) 2015-11-17T21:01:11Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-17T21:08:47Z gargaml joined #sbcl 2015-11-17T21:09:35Z scymtym_ joined #sbcl 2015-11-17T21:32:26Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-17T21:34:07Z csziacobus joined #sbcl 2015-11-17T21:44:35Z stassats quit (Ping timeout: 264 seconds) 2015-11-17T21:46:54Z dougk2 joined #sbcl 2015-11-17T21:49:46Z ASau joined #sbcl 2015-11-17T21:51:05Z attila_lendvai joined #sbcl 2015-11-17T21:55:26Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-17T22:12:07Z attila_lendvai joined #sbcl 2015-11-17T22:12:08Z attila_lendvai quit (Changing host) 2015-11-17T22:12:08Z attila_lendvai joined #sbcl 2015-11-17T22:21:55Z edgar-rft joined #sbcl 2015-11-17T22:30:15Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-17T22:30:15Z gargaml quit (Quit: WeeChat 1.3) 2015-11-17T23:00:14Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-11-17T23:18:45Z dougk2 joined #sbcl 2015-11-17T23:40:05Z JuanDaugherty quit (Quit: Hibernate, reboot, etc.) 2015-11-17T23:41:15Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-17T23:48:49Z dougk2 joined #sbcl 2015-11-17T23:52:05Z scymtym_ quit (Ping timeout: 250 seconds) 2015-11-18T00:01:31Z edgar-rft quit (Quit: edgar-rft) 2015-11-18T00:10:32Z sjl_ joined #sbcl 2015-11-18T00:12:23Z sjl quit (Ping timeout: 244 seconds) 2015-11-18T00:51:06Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-18T00:54:14Z Bicyclidine quit (Quit: leaving) 2015-11-18T00:59:35Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-18T01:04:25Z attila_lendvai joined #sbcl 2015-11-18T01:04:25Z attila_lendvai quit (Changing host) 2015-11-18T01:04:25Z attila_lendvai joined #sbcl 2015-11-18T01:04:28Z dougk2 joined #sbcl 2015-11-18T01:35:35Z dougk_ quit (Ping timeout: 240 seconds) 2015-11-18T02:18:15Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-18T02:50:39Z Bike quit (Ping timeout: 255 seconds) 2015-11-18T02:52:39Z dougk2 joined #sbcl 2015-11-18T03:00:46Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-18T03:04:04Z Bike joined #sbcl 2015-11-18T03:09:23Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-18T03:16:03Z dougk2 joined #sbcl 2015-11-18T03:33:35Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-18T04:37:13Z fiddlerwoaroof quit (Quit: WeeChat 1.0.1) 2015-11-18T04:41:32Z ASau quit (Remote host closed the connection) 2015-11-18T04:41:58Z ASau joined #sbcl 2015-11-18T04:50:29Z psy joined #sbcl 2015-11-18T04:50:54Z psy quit (Max SendQ exceeded) 2015-11-18T04:51:47Z psy joined #sbcl 2015-11-18T04:58:38Z psy quit (Quit: Leaving) 2015-11-18T05:10:36Z slyrus quit (Ping timeout: 255 seconds) 2015-11-18T05:11:01Z smokeink joined #sbcl 2015-11-18T05:18:39Z smokeink: hello! i just compiled the newest sbcl on centos6 but the tests for sb-bsd-sockets,sb-concurrency,sb-posix,sb-simple-stream fail http://pastecode.ru/e99940/ this is how i built it. Would this image still be usable? also, could you guys improve the build script so that there'd be no need to manually add --dynamic-space-size 500 to make-target-2.sh and make-target-contrib.sh ? or the right way is to edit src/ 2015-11-18T05:18:45Z smokeink: compiler/x86/params.lisp (def!constant dynamic-space-end #x10000000) ? 2015-11-18T05:20:27Z dougk2 joined #sbcl 2015-11-18T05:21:15Z nyef: smokeink: The sb-posix and sb-bsd-sockets failures make it very unlikely to be usable for what you want. 2015-11-18T05:21:51Z smokeink: yeah that's what i thought too 2015-11-18T05:22:22Z nyef: So, why are the contribs failing to build, and why is all of this faffing around with dynamic space sizes required on centos? 2015-11-18T05:22:57Z smokeink: it's all on a vps and it gives mmap error otherwise 2015-11-18T05:23:49Z smokeink: im gonna delete the build and start from scratch 2015-11-18T05:24:08Z nyef: What kernel version, and what value of /proc/sys/vm/overcommit_memory ? 2015-11-18T05:24:11Z smokeink: maybe something got screwed while i was fixing the mmap errors one by one 2015-11-18T05:25:32Z smokeink: overcommit_memory is 0, 2.6.32-042stab111.12 2015-11-18T05:25:58Z nyef: Hrm. Now, when did the meaning for overcommit_memory change...? 2015-11-18T05:26:52Z smokeink: cat /proc/sys/vm/overcommit_memory gives "0" 2015-11-18T05:27:04Z smokeink: uname -a gives 2.6.32-042stab111.12 2015-11-18T05:27:58Z alchemis7 quit (Remote host closed the connection) 2015-11-18T05:28:16Z nyef: Hrm. Apparently the kickover was 2.6, so 0 should be a good value there. 2015-11-18T05:28:44Z nyef: ... Maybe something is forcing ASR, or some critical DSOs are mapped into that space? 2015-11-18T05:29:01Z smokeink: how to check that? 2015-11-18T05:30:43Z nyef: Not sure about the former, but running ldd on the sbcl executable should tell you where each linked DSO gets loaded to... Unless, again, there's some address space randomization involved. 2015-11-18T05:32:03Z smokeink: http://pastecode.ru/dc6ee/ ldd sbcl 2015-11-18T05:37:15Z nyef: Hrm. All nice, high addresses. 2015-11-18T05:37:35Z smokeink: rebuilt it, same tests failed 2015-11-18T05:37:51Z nyef: Hrm. What happens if you set overcommit_memory to 1? 2015-11-18T05:38:08Z smokeink: i can give you access to the box if you want 2015-11-18T05:38:26Z nyef: ... And, actually, the build logs for the contribs should be in the output/ directory. 2015-11-18T05:38:39Z nyef: See if there's anything obvious in terms of a failure mode? 2015-11-18T05:40:01Z smokeink: hmm Actual value: #. mmap: Cannot allocate memory 2015-11-18T05:40:22Z smokeink: in building-contrib.sb-concurrency 2015-11-18T05:40:56Z smokeink: maybe it did the tests without having --dynamic-space-size set 2015-11-18T05:50:39Z nyef: Almost certainly part of the issue. 2015-11-18T05:50:52Z nyef: What about the sb-posix and sb-bsd-sockets failures? Same again? 2015-11-18T05:54:10Z smokeink: output/building-contrib.sb-posix http://pastecode.ru/8b8f25/ 2015-11-18T05:55:49Z csziacobus quit (Quit: csziacobus) 2015-11-18T05:59:01Z nyef: Hrm. That points directly to an issue with either overcommit or simply not having enough RAM+swap. 2015-11-18T06:09:50Z whiteline quit (Ping timeout: 260 seconds) 2015-11-18T06:13:34Z smokeink: hmmmmmmm, no swap and just 1gb of ram ... that might be it 2015-11-18T07:02:21Z Shinmera joined #sbcl 2015-11-18T07:22:12Z dougk2 quit (Ping timeout: 250 seconds) 2015-11-18T07:28:00Z nikki93 joined #sbcl 2015-11-18T07:29:43Z ASau quit (Remote host closed the connection) 2015-11-18T08:12:28Z gingerale joined #sbcl 2015-11-18T08:19:25Z dougk2 joined #sbcl 2015-11-18T08:20:30Z DeadTrickster_ joined #sbcl 2015-11-18T08:23:54Z dougk2 quit (Ping timeout: 260 seconds) 2015-11-18T08:29:05Z edgar-rft joined #sbcl 2015-11-18T08:39:49Z gargaml joined #sbcl 2015-11-18T09:13:22Z smokeink quit (Read error: Connection reset by peer) 2015-11-18T09:35:31Z edgar-rft quit (Quit: edgar-rft) 2015-11-18T09:45:58Z Cymew joined #sbcl 2015-11-18T10:01:33Z whiteline joined #sbcl 2015-11-18T10:19:05Z ziggypup joined #sbcl 2015-11-18T10:19:08Z ziggypup left #sbcl 2015-11-18T10:42:55Z adhoc quit (Ping timeout: 240 seconds) 2015-11-18T10:45:19Z adhoc joined #sbcl 2015-11-18T10:56:19Z nikki93 quit (Remote host closed the connection) 2015-11-18T11:24:41Z edgar-rft joined #sbcl 2015-11-18T11:25:49Z attila_lendvai joined #sbcl 2015-11-18T12:27:43Z dougk2 joined #sbcl 2015-11-18T12:45:26Z stassats joined #sbcl 2015-11-18T12:54:22Z stassats: ./make.sh has a --dynamic-space-size parameter 2015-11-18T12:56:05Z stassats: ""Download the SBCL source, and edit src/compiler/x86/parms.lisp, find the section for your OS and change one of the lines to read:" is especially silly 2015-11-18T12:56:09Z stassats: cause it's a x86-64 build 2015-11-18T13:28:44Z stassats: so, why is sb-sprof broken on os x? 2015-11-18T13:28:50Z stassats: does it block the signal? 2015-11-18T13:40:53Z eudoxia joined #sbcl 2015-11-18T13:47:59Z eudoxia quit (Quit: Leaving) 2015-11-18T13:59:32Z cmack joined #sbcl 2015-11-18T14:01:11Z cmack quit (Remote host closed the connection) 2015-11-18T14:19:37Z DeadTrickster_ quit (Ping timeout: 250 seconds) 2015-11-18T14:23:14Z dougk2 quit (Ping timeout: 260 seconds) 2015-11-18T14:28:07Z lnostdal joined #sbcl 2015-11-18T14:44:41Z igajsin1 quit (Read error: Connection reset by peer) 2015-11-18T14:46:16Z igajsin1 joined #sbcl 2015-11-18T15:27:55Z nyef: ... Can someone please explain HPPA FAST-TRUNCATE/UNSIGNED, or is it one of those things that is simply inexplicable? 2015-11-18T15:29:49Z stassats: i think it's the latter 2015-11-18T15:31:51Z Guest73926 is now known as pkhuong 2015-11-18T15:33:36Z nyef: I was afraid of that. There's too much of that in this backend. 2015-11-18T15:34:25Z dougk2 joined #sbcl 2015-11-18T15:59:55Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-18T16:03:18Z psy_ joined #sbcl 2015-11-18T16:05:07Z Cymew quit (Ping timeout: 244 seconds) 2015-11-18T16:10:06Z stassats: shouldn't operations on bit-vectors just use whatever endianness they have? 2015-11-18T16:10:42Z stassats: it doesn't really matter that the bits are not sequential, does it? 2015-11-18T16:11:19Z stassats: %find-position transform just needs to be adjusted 2015-11-18T16:23:55Z flip214 is now known as flip211 2015-11-18T16:24:31Z dougk2 joined #sbcl 2015-11-18T16:30:21Z dougk2_ joined #sbcl 2015-11-18T16:31:56Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-18T16:33:08Z pkhuong: stassats: I guess it matters for simd within a register loops 2015-11-18T16:34:36Z nyef: Do we even do SWAR, though? 2015-11-18T16:34:46Z stassats: %find-position 2015-11-18T16:35:15Z nyef: Okay, right. 2015-11-18T16:35:47Z dougk2_ quit (Ping timeout: 246 seconds) 2015-11-18T16:38:42Z dougk2 joined #sbcl 2015-11-18T16:44:53Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-18T17:07:38Z dougk2 joined #sbcl 2015-11-18T17:32:26Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-18T17:33:15Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-18T17:33:44Z dougk2 joined #sbcl 2015-11-18T17:43:51Z dougk2_ joined #sbcl 2015-11-18T17:45:05Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-18T17:49:15Z attila_lendvai joined #sbcl 2015-11-18T17:49:15Z attila_lendvai quit (Changing host) 2015-11-18T17:49:15Z attila_lendvai joined #sbcl 2015-11-18T18:02:35Z lnostdal quit (Ping timeout: 246 seconds) 2015-11-18T18:05:54Z DeadTrickster_ joined #sbcl 2015-11-18T18:08:26Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-18T18:16:36Z lnostdal joined #sbcl 2015-11-18T18:21:01Z attila_lendvai joined #sbcl 2015-11-18T18:31:17Z dougk2_ quit (Ping timeout: 246 seconds) 2015-11-18T18:36:21Z scymtym_ joined #sbcl 2015-11-18T18:38:27Z stassats: huh what, slime's sigio disables interrupts 2015-11-18T18:40:00Z stassats: why on earth? 2015-11-18T18:41:18Z stassats: do we run signal handlers under without-interrupts? 2015-11-18T18:41:42Z dougk2 joined #sbcl 2015-11-18T18:44:51Z Bicyclidine joined #sbcl 2015-11-18T18:47:27Z dougk_ joined #sbcl 2015-11-18T18:51:17Z stassats: there's a comment in slime saying "The SIGIO stuff should probably be removed as it's unlikey that anybody uses it." 2015-11-18T18:52:44Z stassats: well, somebody on sbcl-devel@ used it 2015-11-18T18:57:01Z nyef: Heh. 2015-11-18T18:57:22Z nyef: Can't remove _anything_, because _someone_ uses it. 2015-11-18T18:57:47Z stassats: it was pretty broken, no interrupts, nobody could use it 2015-11-18T18:57:58Z stassats: but somebody tested something with it, specifically sb-sprof 2015-11-18T18:58:07Z stassats: well, you can imagine how well does that go without interrupts 2015-11-18T18:58:32Z nikki93 joined #sbcl 2015-11-18T19:08:31Z igajsin1 quit (Quit: Leaving.) 2015-11-18T19:24:03Z nikki93 quit (Remote host closed the connection) 2015-11-18T19:33:00Z karswell joined #sbcl 2015-11-18T19:34:43Z nikki93 joined #sbcl 2015-11-18T19:50:54Z sjl joined #sbcl 2015-11-18T19:50:54Z sjl_ quit (Ping timeout: 244 seconds) 2015-11-18T19:59:15Z Bicyclidine quit (Ping timeout: 240 seconds) 2015-11-18T20:06:40Z nikki93 quit (Remote host closed the connection) 2015-11-18T20:11:16Z Bicyclidine joined #sbcl 2015-11-18T20:16:14Z whiteline quit (Remote host closed the connection) 2015-11-18T20:22:47Z nikki93 joined #sbcl 2015-11-18T20:25:33Z clique joined #sbcl 2015-11-18T20:35:51Z whiteline joined #sbcl 2015-11-18T20:37:55Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-18T20:39:01Z dougk2 joined #sbcl 2015-11-18T20:45:42Z stassats: can dtrace be used for profiling? 2015-11-18T20:52:32Z whiteline quit (Quit: Leaving) 2015-11-18T20:52:38Z whiteline_ joined #sbcl 2015-11-18T20:53:04Z whiteline_ quit (Remote host closed the connection) 2015-11-18T20:53:20Z whiteline joined #sbcl 2015-11-18T21:08:26Z Bicyclidine quit (Ping timeout: 246 seconds) 2015-11-18T21:08:30Z nyef: Alas, poor VPN. Dead for the second time in as many days. 2015-11-18T21:09:13Z nyef: At this rate, I doubt that I'm going to have HPPA working before the freeze. /-: 2015-11-18T21:14:26Z Xof: oh no! 2015-11-18T21:14:34Z Xof: all those hppa users holding their breath 2015-11-18T21:14:40Z Xof: they will expire 2015-11-18T21:15:29Z Bicyclidine joined #sbcl 2015-11-18T21:17:07Z clique quit (Quit: q) 2015-11-18T21:20:49Z nyef: Yeah, yeah. Except that the plan was to try and get all three of these platforms up and running for this release, not merely two... And not even that, yet, given the DX SAP thing on alpha. 2015-11-18T21:20:56Z DeadTrickster_ quit (Ping timeout: 272 seconds) 2015-11-18T21:21:42Z Xof: there's always... next release 2015-11-18T21:21:57Z nyef: Then we were going to be looking at reducing the use of platform-specific conditional compilation some more, getting gencgc up and going everywhere, and then after that, deleting cheneygc. 2015-11-18T21:22:11Z Xof: if you like, when the hppa backend is up to snuff I will make a big announcement and change the minor version number :) 2015-11-18T21:22:28Z nyef: Heh. 2015-11-18T21:22:56Z nyef: The big announcement being... "SPARC finally unseats HPPA as least-maintained SBCL backend"? (-: 2015-11-18T21:23:15Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-18T21:27:04Z luis` joined #sbcl 2015-11-18T21:29:47Z Bicyclidine quit (Ping timeout: 276 seconds) 2015-11-18T21:36:00Z Bicyclidine joined #sbcl 2015-11-18T21:39:10Z luis` is now known as luis 2015-11-18T21:49:13Z Bicyclidine quit (Ping timeout: 244 seconds) 2015-11-18T21:55:09Z edgar-rft quit (Quit: edgar-rft) 2015-11-18T21:58:57Z luis quit (Quit: ZNC - http://znc.sourceforge.net) 2015-11-18T21:59:57Z luis joined #sbcl 2015-11-18T22:00:51Z luis quit (Client Quit) 2015-11-18T22:01:52Z luis joined #sbcl 2015-11-18T22:01:58Z luis quit (Client Quit) 2015-11-18T22:04:23Z luis` joined #sbcl 2015-11-18T22:04:45Z luis` is now known as luis 2015-11-18T22:11:06Z dougk2 joined #sbcl 2015-11-18T22:30:06Z DeadTrickster_ joined #sbcl 2015-11-18T22:31:46Z Bicyclidine joined #sbcl 2015-11-18T22:37:41Z DeadTrickster_ quit (Ping timeout: 246 seconds) 2015-11-18T22:38:55Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-18T22:39:01Z Bicyclidine quit (Quit: leaving) 2015-11-18T22:42:12Z stassats: bit-vector endianness differences could be avoided if it accessed just bytes 2015-11-18T22:43:07Z stassats: i'm not sure if there's any expense for doing byte addressing comparing to words 2015-11-18T22:44:30Z stassats: on arm64, it has the same latency 2015-11-18T22:45:30Z stassats: but shifting masking is easier on word values 2015-11-18T22:45:31Z dougk2 joined #sbcl 2015-11-18T22:46:28Z stassats: i wonder if it's more energy efficient to use half-word instruction variants 2015-11-18T22:48:34Z stassats: "By maintaining this semantic information in the instruction set, implementations can exploit this information. For example, to avoid expending energy or cycles to compute, forward, and store the unused upper 32 bits of such data types. Implementations are free to exploit this freedom in whatever way they choose to save energy." 2015-11-18T22:48:43Z gingerale quit (Remote host closed the connection) 2015-11-18T22:48:51Z foom: does *anyone* use hppa? 2015-11-18T22:49:39Z stassats: legacy systems, for sure 2015-11-18T22:49:46Z stassats: and people porting linux and sbcl to it 2015-11-18T22:49:56Z stassats: and other bsds 2015-11-18T22:51:54Z gargaml quit (Quit: WeeChat 1.3) 2015-11-18T23:00:28Z stassats: ok, i guess i'll use 32-bit instructions for bit-vector access on arm64 2015-11-18T23:02:22Z ASau joined #sbcl 2015-11-18T23:06:06Z ASau` joined #sbcl 2015-11-18T23:06:43Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-11-18T23:09:54Z ASau quit (Ping timeout: 250 seconds) 2015-11-18T23:17:14Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-18T23:28:05Z lnostdal quit (Ping timeout: 276 seconds) 2015-11-18T23:29:30Z ASau` is now known as ASau 2015-11-18T23:31:36Z csziacobus joined #sbcl 2015-11-18T23:33:53Z dougk2 joined #sbcl 2015-11-18T23:40:50Z ASau quit (Read error: Connection reset by peer) 2015-11-18T23:42:31Z lnostdal joined #sbcl 2015-11-18T23:47:55Z lnostdal quit (Ping timeout: 240 seconds) 2015-11-19T00:00:32Z lnostdal joined #sbcl 2015-11-19T00:13:14Z lnostdal quit (Ping timeout: 246 seconds) 2015-11-19T00:41:03Z lnostdal joined #sbcl 2015-11-19T00:57:06Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-19T01:25:42Z stassats quit (Ping timeout: 244 seconds) 2015-11-19T01:32:15Z lnostdal quit (Ping timeout: 240 seconds) 2015-11-19T01:33:19Z rszeno joined #sbcl 2015-11-19T01:45:33Z lnostdal joined #sbcl 2015-11-19T01:50:53Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-19T01:51:34Z scymtym_ quit (Ping timeout: 260 seconds) 2015-11-19T01:55:00Z carvite quit (Ping timeout: 250 seconds) 2015-11-19T02:23:42Z flip211 quit (Ping timeout: 250 seconds) 2015-11-19T02:23:42Z psilord quit (Ping timeout: 250 seconds) 2015-11-19T02:23:43Z reb`````` quit (Ping timeout: 250 seconds) 2015-11-19T02:23:46Z ignotus quit (Ping timeout: 250 seconds) 2015-11-19T02:23:48Z flip211_ joined #sbcl 2015-11-19T02:24:02Z reb`````` joined #sbcl 2015-11-19T02:25:28Z ignotus joined #sbcl 2015-11-19T02:25:28Z ignotus quit (Changing host) 2015-11-19T02:25:28Z ignotus joined #sbcl 2015-11-19T02:27:00Z psilord joined #sbcl 2015-11-19T02:35:22Z guicho joined #sbcl 2015-11-19T02:42:19Z stassats joined #sbcl 2015-11-19T03:00:44Z guicho quit (Quit: さようなら) 2015-11-19T03:19:28Z rszeno quit (Quit: Leaving.) 2015-11-19T03:29:15Z dougk2 joined #sbcl 2015-11-19T04:40:55Z csziacobus quit (Quit: csziacobus) 2015-11-19T04:51:50Z dougk2: Does 43 gigabytes of error output from 'run-tests.sh' sound a little high !?!? 2015-11-19T04:52:24Z stassats: but what does it say? 2015-11-19T04:52:31Z stassats: paste here 2015-11-19T04:53:04Z dougk2: very funny. I can barely 'tail' the file without going out to lunch 2015-11-19T04:53:58Z dougk2: my guess is a failure in foreign.test.sh is getting into an infinite loop of backtraces and gc crashes 2015-11-19T04:54:41Z stassats: maybe it needs to run with lose-on-corruption? 2015-11-19T05:03:05Z stassats quit (Ping timeout: 252 seconds) 2015-11-19T05:11:17Z nyef: dougk2: Yes, that's very normal. 2015-11-19T05:11:28Z dougk2: stassats: so, kidding, aside think you may have caused this failure mode on ppc. 2015-11-19T05:11:31Z nyef: I've known for about a week and a half that foreign.test.sh is broken. 2015-11-19T05:11:41Z dougk2: it's the 'return-char' test 2015-11-19T05:12:06Z nyef: Take out the term for the automatic-continue-on-random-error bit towards the top, it doesn't work as intended when faced with an assertion-failure. 2015-11-19T05:12:12Z dougk2: i have a vague sense that one of you guys was messing with foreign call stuff 2015-11-19T05:12:17Z nyef: Hrm. Maybe two and a half weeks. 2015-11-19T05:12:35Z nyef: I most definitely was monkeying with foreign call stuff. 2015-11-19T05:12:36Z dougk2: right, the foreign.test.sh script is notorious for this infinite loop, it's happened to me before. 2015-11-19T05:12:44Z dougk2: oh, ok, then i pin this on you 2015-11-19T05:13:12Z dougk2: ... "failed with (RETURN-CHAR-TEST -1) = 255." 2015-11-19T05:13:22Z nyef: Aha! A bug! 2015-11-19T05:13:32Z nyef: See, adding those new test cases WAS a good idea. (-: 2015-11-19T05:14:06Z nyef: That's from trusting the ABI to sign-extend register values. 2015-11-19T05:14:14Z nyef: Or to mask them down, if they're unsigned. 2015-11-19T05:14:26Z nyef: Known failure mode, known solution 2015-11-19T05:15:21Z nyef: I can try to fix that... maybe tomorrow evening. I have to set up and reinstall a PPC system first. 2015-11-19T05:15:46Z nyef: And won't have access to the designated hardware until mid-to-late afternoon tomorrow. 2015-11-19T05:17:17Z nyef: The commit that caused this test suite failure to arise is probably a318aad348c8de03034b3cb6490ded4c2510a41f and an example of fixing the underlying issue for one platform is the preceding commit, 220429b5beb6c33443917368a8cbf6c18e140d1f . 2015-11-19T05:18:46Z nyef: We (you?) should probably also do something about that infinite loop with the restarts. 2015-11-19T05:19:47Z nyef: Oh. I suppose the other possible explanation is that char might sometimes be unsigned by default. Is that legal for C? 2015-11-19T05:21:49Z nyef: Oh. I suppose the other possible explanation is that char might sometimes be unsigned by default. Is that legal for C? 2015-11-19T05:21:54Z nyef: Oops. Wrong window. 2015-11-19T05:27:15Z lnostdal quit (Ping timeout: 240 seconds) 2015-11-19T05:27:40Z nyef: Hrm. Something is producing unused-06-widetag objects on the heap? 2015-11-19T05:40:09Z lnostdal joined #sbcl 2015-11-19T06:09:30Z edgar-rft joined #sbcl 2015-11-19T06:56:35Z psy_ quit (Read error: Connection reset by peer) 2015-11-19T07:04:04Z DeadTrickster_ joined #sbcl 2015-11-19T07:08:05Z gingerale joined #sbcl 2015-11-19T07:34:40Z Xof: I believe it's unspecified whether plain char is signed or unsigned 2015-11-19T07:35:02Z Xof: also, I believe that gcc has different defaults on different platforms. 2015-11-19T07:35:05Z Xof: which is hilarious :) 2015-11-19T07:46:01Z loke: Xof: I believe the defaults on each platform whatever the standard is on seid platform. 2015-11-19T07:46:03Z loke: said. 2015-11-19T07:46:17Z loke: (possibly because things like the system include files may make these assumptions) 2015-11-19T07:51:16Z Cymew joined #sbcl 2015-11-19T08:07:10Z DeadTrickster_ quit (Read error: Connection reset by peer) 2015-11-19T08:12:23Z stassats joined #sbcl 2015-11-19T08:15:56Z DeadTrickster_ joined #sbcl 2015-11-19T08:23:28Z nyef: Fun. So, clearly, the test suite needs to be updated to be explicit about this stuff... and the SB-ALIEN:CHAR type also needs to adopt the platform default. 2015-11-19T08:24:22Z Cymew quit (Ping timeout: 260 seconds) 2015-11-19T08:27:35Z Cymew joined #sbcl 2015-11-19T08:44:15Z Cymew quit (Read error: Connection reset by peer) 2015-11-19T08:50:48Z Cymew joined #sbcl 2015-11-19T08:51:33Z dougk2 quit (Ping timeout: 255 seconds) 2015-11-19T08:57:19Z gargaml joined #sbcl 2015-11-19T09:43:26Z stassats quit (Ping timeout: 250 seconds) 2015-11-19T10:13:15Z DeadTrickster_: I want to use unsigned-word type. word type is exported through sb-ext package, while unsigned-word isn't Is it ok to use is as sb-vm:signed-word? 2015-11-19T10:13:35Z DeadTrickster_: s/is/it 2015-11-19T11:00:56Z lacedaemon joined #sbcl 2015-11-19T11:01:22Z fe[nl]ix quit (Write error: Broken pipe) 2015-11-19T11:04:48Z flip211_ is now known as flip214 2015-11-19T11:04:55Z flip214 quit (Changing host) 2015-11-19T11:04:55Z flip214 joined #sbcl 2015-11-19T11:35:02Z Shinmera joined #sbcl 2015-11-19T11:40:34Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-11-19T11:48:06Z DeadTrickster_ quit (Ping timeout: 240 seconds) 2015-11-19T12:13:29Z sjl quit (Ping timeout: 250 seconds) 2015-11-19T13:05:10Z sjl joined #sbcl 2015-11-19T13:18:37Z eudoxia joined #sbcl 2015-11-19T13:56:15Z ZabaQ joined #sbcl 2015-11-19T13:57:20Z eudoxia_ joined #sbcl 2015-11-19T13:57:52Z eudoxia quit (Read error: Connection reset by peer) 2015-11-19T13:59:12Z eudoxia_ quit (Client Quit) 2015-11-19T14:14:33Z dougk2 joined #sbcl 2015-11-19T14:24:47Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-19T14:46:23Z jozip quit (Ping timeout: 264 seconds) 2015-11-19T14:47:35Z pootler quit (Ping timeout: 264 seconds) 2015-11-19T14:54:38Z pootler joined #sbcl 2015-11-19T15:00:01Z jozip joined #sbcl 2015-11-19T15:00:14Z attila_lendvai joined #sbcl 2015-11-19T15:00:14Z attila_lendvai quit (Changing host) 2015-11-19T15:00:14Z attila_lendvai joined #sbcl 2015-11-19T15:25:21Z stassats joined #sbcl 2015-11-19T15:53:11Z Cymew quit (Ping timeout: 244 seconds) 2015-11-19T15:54:31Z psy_ joined #sbcl 2015-11-19T15:54:56Z psy_ quit (Max SendQ exceeded) 2015-11-19T15:55:37Z psy_ joined #sbcl 2015-11-19T15:58:56Z dougk2 joined #sbcl 2015-11-19T16:00:37Z foom: Yes, gcc's default is different on different platforms. 2015-11-19T16:01:07Z foom: However, I believe it works fine to just switch the default to whatever you want to use. 2015-11-19T16:02:05Z foom: (with -funsigned-char) 2015-11-19T16:05:18Z Cymew joined #sbcl 2015-11-19T16:08:02Z nyef: ... Which becomes an incompatibility between our FFI and the native platform's default. 2015-11-19T16:13:16Z foom: Yea, not sure how much that matters? 2015-11-19T16:13:31Z foom: But if you're gonna do it right, you need to have signed-char, unsigned-char, and char. 2015-11-19T16:13:45Z foom: Did anyone ever add the bool type yet? 2015-11-19T16:15:34Z foom: (lacking that one is actually a real problem) 2015-11-19T16:16:08Z stassats: (sb-alien:alien-size boolean) => 64 2015-11-19T16:17:04Z foom: Right, "bool", like char,short,int,long, etc. 2015-11-19T16:17:07Z foom: Not "(boolean &optional bits)" like (integer &optional bits). 2015-11-19T16:20:00Z foom: "sizeof(_Bool)" in C, or "sizeof(bool)" in C++. Sometimes 1 byte, sometimes 4 bytes, depending on the platform. 2015-11-19T16:20:18Z foom: (could be other values too of course, but those are the only ones I know of) 2015-11-19T16:24:02Z dougk2 quit (Ping timeout: 276 seconds) 2015-11-19T16:24:42Z nyef quit (Ping timeout: 255 seconds) 2015-11-19T16:26:28Z DGASAU quit (Read error: Connection reset by peer) 2015-11-19T16:26:49Z DGASAU joined #sbcl 2015-11-19T16:34:35Z dougk_ quit (Ping timeout: 240 seconds) 2015-11-19T16:47:54Z dougk_ joined #sbcl 2015-11-19T16:55:10Z Cymew quit (Read error: Connection reset by peer) 2015-11-19T17:14:57Z ZabaQ quit (Quit: Leaving) 2015-11-19T17:23:06Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-19T17:29:40Z dougk2 joined #sbcl 2015-11-19T17:34:55Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-19T18:01:23Z pootler quit (Ping timeout: 264 seconds) 2015-11-19T18:02:35Z jozip quit (Ping timeout: 264 seconds) 2015-11-19T18:02:55Z carvite joined #sbcl 2015-11-19T18:14:35Z pootler joined #sbcl 2015-11-19T18:18:32Z dougk2 joined #sbcl 2015-11-19T18:21:10Z DeadTrickster_ joined #sbcl 2015-11-19T18:21:42Z jozip joined #sbcl 2015-11-19T18:55:49Z ASau joined #sbcl 2015-11-19T19:02:07Z sjl quit (Ping timeout: 250 seconds) 2015-11-19T19:12:29Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-19T19:16:42Z dougk2 joined #sbcl 2015-11-19T19:31:08Z psy_ quit (Remote host closed the connection) 2015-11-19T19:32:26Z psilord quit (Ping timeout: 240 seconds) 2015-11-19T19:35:12Z psilord joined #sbcl 2015-11-19T20:12:23Z clique joined #sbcl 2015-11-19T20:14:23Z psy_ joined #sbcl 2015-11-19T20:14:47Z psy_ quit (Max SendQ exceeded) 2015-11-19T20:16:22Z psy_ joined #sbcl 2015-11-19T20:16:47Z psy_ quit (Max SendQ exceeded) 2015-11-19T20:17:22Z psy_ joined #sbcl 2015-11-19T20:20:00Z karswell quit (Read error: Connection reset by peer) 2015-11-19T20:20:17Z karswell joined #sbcl 2015-11-19T20:23:40Z clique left #sbcl 2015-11-19T20:24:26Z Bicyclidine joined #sbcl 2015-11-19T20:28:24Z gingerale quit (Remote host closed the connection) 2015-11-19T20:33:36Z nyef joined #sbcl 2015-11-19T20:35:21Z Bicyclidine quit (Ping timeout: 272 seconds) 2015-11-19T20:36:48Z Bicyclidine joined #sbcl 2015-11-19T20:45:49Z nyef: Okay, so. x86-64. First call to FIND-CLASSOID-CELL, name is T, T's info is a vector, #(100098 :PRIMITIVE #). Second call to FIND-CLASSOID-CELL, T's info has the same identity (though I can't seem to print it out again). 2015-11-19T20:47:11Z nyef: On HPPA, first call, T's info is a vector, #(100098 :PRIMITIVE #). Second call, it's a _different_ vector, #(7440131 # :PRIMITIVE #). 2015-11-19T20:55:04Z nyef: More than one way to get the information I want. The vector has the same contents for both calls on x86-64. Went in with gdb's x command to look at the raw bits, since calling print_obj() wasn't helping. 2015-11-19T20:55:33Z nyef: So, given this, what's likely to be at issue? 2015-11-19T20:55:38Z stassats: what about the "dump" command? 2015-11-19T20:56:41Z nyef: In gdb? 2015-11-19T20:56:45Z stassats: ldb 2015-11-19T20:56:59Z nyef: I'm not in ldb. 2015-11-19T20:57:25Z nyef: And I've already found a divergence between hppa and x86-64. 2015-11-19T20:57:54Z stassats: i guess you'll have to zoom in closer to the source 2015-11-19T20:58:07Z nyef: I was afraid of that. 2015-11-19T20:58:54Z nyef: I was sortof hoping that someone who was already familiar with the globaldb logic might be around and could give me a bit of a hint. 2015-11-19T20:59:15Z stassats: i think only one person is familiar with globaldb 2015-11-19T20:59:28Z nyef: ... And would that person be dougk2 ? 2015-11-19T20:59:33Z stassats: yah 2015-11-19T20:59:53Z dougk2: oh, hi? 2015-11-19T21:00:24Z nyef: dougk2: Any chance you can help me track this damage down? 2015-11-19T21:01:17Z dougk2: sure 2015-11-19T21:02:04Z dougk2: the first thing i'm going to do is just decode those integers at the head of the vector to see what's been stored. 2015-11-19T21:02:17Z whiteline quit (Remote host closed the connection) 2015-11-19T21:03:28Z dougk2: ok, the 7440131 can't be right 2015-11-19T21:03:48Z dougk2: 100098 encodes that (:type :kind) and (:type :classoid-cell) are the next two entries 2015-11-19T21:04:22Z stassats: which vops could be broken? ash, logior? 2015-11-19T21:04:24Z dougk2: 7440131 says that an extra copy of :classoid-cell is in the next vector cell. 2015-11-19T21:04:24Z stassats: logand? 2015-11-19T21:04:43Z nyef: So... something is probably breaking decoding the header? 2015-11-19T21:05:27Z dougk2: I think what i'd do is add an AVER that the vector is intact after each modification. I'll crash but we can infer who did it. I'll see where to assert that. 2015-11-19T21:06:49Z dougk2: yes, I think the problem will be in the decoding because it wouldn't have decided to insert again if it saw the right thing there in the first place 2015-11-19T21:08:43Z dougk2: it should be the case that the printer is working extremely early. So you can actually put WRITE calls into 'quick-packed-info-insert', I think that's the one it'll be using 2015-11-19T21:09:18Z stassats: i find that instances can't usually get printed 2015-11-19T21:09:21Z nyef: Hrm. 2015-11-19T21:10:00Z dougk2: right, but *pprint-dispatch* works really early, and you can add a pprint-dispatch entry on instance that says "instance of " (classoid-name (layout-classoid (layouf-of))) 2015-11-19T21:10:09Z nyef: That seems sketchy, given that this is being called from the logic that sets up the layouts for the built-in classes. 2015-11-19T21:10:40Z dougk2: i actually think it works. if i'm wrong at least you can do write-string, and you can for sure write integers. 2015-11-19T21:11:02Z nyef: And I have /show0 and /hexstr. 2015-11-19T21:11:20Z dougk2: well, sure, i'm just saying I haven't used those ever since I made cold-stderr work with WRITE. 2015-11-19T21:11:34Z nyef: Okay, that could be neat. 2015-11-19T21:11:49Z nyef: Where's the logic that decodes these header things? 2015-11-19T21:12:08Z dougk2: info-vector.lisp, 'packed-info-insert' 2015-11-19T21:12:15Z stassats: i still use /hexstr to avoid a recompile because print crashed 2015-11-19T21:12:29Z nyef: That's decoding, not encoding? 2015-11-19T21:13:22Z whiteline joined #sbcl 2015-11-19T21:13:37Z dougk2: oh, you just want to decode for the sake of decoding? 2015-11-19T21:13:47Z dougk2: that's unpackify-infos 2015-11-19T21:13:54Z dougk2: i thought you meant "where's the thing that did the wrong thing" 2015-11-19T21:14:21Z nyef: Ah. Yeah, "where's the thing that did the wrong thing". 2015-11-19T21:14:31Z dougk2: right, so i think the wrong behavior happened on insertion 2015-11-19T21:14:41Z dougk2: the "quick" inserter never unpackifies 2015-11-19T21:14:57Z dougk2: that's what makes it quick and in cold-init all info vectors should be amenable to the quick path 2015-11-19T21:14:58Z nyef: Ah... packed-info-value-index, maybe? 2015-11-19T21:15:21Z dougk2: i guess i'm missing the question. 2015-11-19T21:15:37Z nyef: Since there's already an info-value of the right sort, it should be finding it via packed-info-value-index. 2015-11-19T21:15:54Z nyef: Rather than deciding that there isn't one, and therefore a new one needs to be added. 2015-11-19T21:15:54Z dougk2: if you want, for yourself, to decode, just format the integer in octal, and each two digits represent a point in the info-space, with the rightmost being the number of elements in total 2015-11-19T21:16:27Z dougk2: yes, it's doing that, but that logic is going to be in the quick inserter, since I claim (with fairly high confidence) that's using the quick path. 2015-11-19T21:16:30Z scymtym_ joined #sbcl 2015-11-19T21:17:21Z nyef: No harm in following both paths simultaneously, then. 2015-11-19T21:18:20Z dougk2: you know what, maybe the bug is in set-info-value itself. 2015-11-19T21:18:25Z csziacobus joined #sbcl 2015-11-19T21:18:27Z dougk2: i think it should have decided not to call the quick inserter at all. 2015-11-19T21:19:11Z dougk2: oh, you know what, you've obviously been looking at it longer today than I have, and you're probably right - the problem is packed-info-value-index 2015-11-19T21:19:22Z dougk2: because if that said the info type didn't exist, then it should call the quick inserter. 2015-11-19T21:19:48Z dougk2: so your point is totally valid that it should never have gotten to the inserter. I was thinking the inserted checked for dups but it doesn't. 2015-11-19T21:20:10Z dougk2: so, i recant half of what I said above. Which half is up to you. 2015-11-19T21:20:19Z nyef: Okay, doing a host-2 build, in order to get a trace-file. 2015-11-19T21:20:26Z stassats quit (Ping timeout: 276 seconds) 2015-11-19T21:20:55Z dougk2: err, do trace-files work these days? I think the disassembler mostly doesn't work until the target is running. 2015-11-19T21:21:20Z nyef: I haven't had much trouble with them yet. 2015-11-19T21:21:52Z nyef: And even if the disassembly is broken, the VOP sequences and their emitted code should still be fine. 2015-11-19T21:26:26Z nyef: And the trace output: http://paste.lisp.org/display/159961 2015-11-19T21:33:37Z nyef: I think that my next step should be to set a breakpoint on the start of this function and step through it, checking that each VOPs outputs make sense for its inputs. 2015-11-19T21:34:14Z nyef: dougk2: Thank you for your help. With a bit of luck, this'll allow me to figure out what's going wrong. 2015-11-19T21:35:26Z dougk2: do you have a working binary for hppa already? 2015-11-19T21:35:41Z dougk2: how about paste in the packed-info-value-index function, see that it works or doesn't work 2015-11-19T21:38:10Z DeadTrickster_ quit (Ping timeout: 260 seconds) 2015-11-19T21:38:36Z prxq joined #sbcl 2015-11-19T21:38:38Z attila_lendvai joined #sbcl 2015-11-19T21:40:47Z nyef: What I have doesn't yet survive cold-init. 2015-11-19T21:54:37Z edgar-rft quit (Quit: edgar-rft) 2015-11-19T22:00:55Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-19T22:11:02Z dougk2 joined #sbcl 2015-11-19T22:13:42Z nyef: Oh, what the heck? This instruction definition uses ASSEMBLE inside its :EMITTER ? 2015-11-19T22:13:51Z nyef: Is that legal? 2015-11-19T22:13:59Z nyef: It certainly screws up the disassembler output. 2015-11-19T22:19:05Z slyrus joined #sbcl 2015-11-19T22:28:35Z lnostdal quit (Ping timeout: 240 seconds) 2015-11-19T22:29:29Z nyef: Hrm. (* 0 -6) => -2 ? 2015-11-19T22:32:41Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-19T22:37:33Z dougk2 joined #sbcl 2015-11-19T22:50:31Z lnostdal joined #sbcl 2015-11-19T22:53:44Z pkhuong: nyef: yeah, it is. weird, but it "works" 2015-11-19T22:55:06Z gargaml quit (Quit: WeeChat 1.3) 2015-11-19T23:02:26Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-19T23:03:09Z nyef: Aha! 2015-11-19T23:03:45Z nyef: To invert a number, you flip all of its bits, and add -1, right? 2015-11-19T23:04:33Z nyef: (Hint: No. No, you add 1, or subtract -1.) 2015-11-19T23:09:52Z specbot quit (Read error: Connection reset by peer) 2015-11-19T23:09:59Z specbot joined #sbcl 2015-11-19T23:18:40Z nyef: And cold REPL! 2015-11-19T23:20:28Z nyef: ... And "dead in fake_foreign_function_call". 2015-11-19T23:21:36Z nyef: Still, progress! (-: 2015-11-19T23:34:04Z sjl joined #sbcl 2015-11-20T00:03:53Z ASau quit (Write error: Broken pipe) 2015-11-20T00:04:37Z ASau` joined #sbcl 2015-11-20T00:16:01Z nyef: Hrm. d_s_f_p = 62a6b015, or pseudo-atomic, interrupted. 2015-11-20T00:23:23Z nyef: ... repeatable failure mode, maps are rwxp around the value of d_s_f_p... 2015-11-20T00:26:22Z nyef: That said, this is HPPA, which has this weird "address space" thing that I'm largely clueless about. 2015-11-20T00:27:12Z nyef: It does look like an interrupt delivered during a CONS allocation, though. 2015-11-20T00:44:02Z dougk2 joined #sbcl 2015-11-20T00:52:20Z nikki93 quit (Remote host closed the connection) 2015-11-20T00:56:26Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-20T01:09:51Z flip214 quit (Ping timeout: 255 seconds) 2015-11-20T01:11:31Z flip214 joined #sbcl 2015-11-20T01:11:31Z flip214 quit (Changing host) 2015-11-20T01:11:31Z flip214 joined #sbcl 2015-11-20T01:20:25Z nyef: Oh, FFS. SIGFPE. info->si_code is 0, which is not one of the si_code values listed for SIGFPE in bits/siginfo.h. 2015-11-20T01:27:45Z scymtym_ quit (Ping timeout: 252 seconds) 2015-11-20T01:38:43Z Bicyclidine quit (Quit: ugh) 2015-11-20T02:17:28Z slyrus: dougk2: the sb-cold output, slurp-proplist, and slurp-ucd now give style-warnings in the compilation-unit 2015-11-20T02:17:43Z dougk2: :-( 2015-11-20T02:18:19Z slyrus: besides that, the slew of changes over the last couple months have been awesome! 2015-11-20T02:19:21Z nyef: Hrm. Catching a SIGFPE in __kernel_standard () ? 2015-11-20T02:21:12Z nyef: ... an "fstd fr4,-8(r3)". I wonder why we're getting that? 2015-11-20T02:21:39Z nyef: It's reliable. It's not our pending-interrupt trap... 2015-11-20T02:24:54Z nyef: ... Oh. Is compiling pcl/cache.lisp the first time that we exercise something either control-flow or float-wise? 2015-11-20T02:25:23Z nyef: First use of funcallable-instance-thunk would be a good example. 2015-11-20T02:44:47Z prxq_ joined #sbcl 2015-11-20T02:48:15Z prxq quit (Ping timeout: 240 seconds) 2015-11-20T03:13:36Z ASau` quit (Ping timeout: 255 seconds) 2015-11-20T03:20:16Z ASau` joined #sbcl 2015-11-20T03:53:22Z csziacobus quit (Quit: csziacobus) 2015-11-20T03:53:40Z nyef: Typical. funcallable-instance-tramp is definitely hosed, and plausibly such that this would happen. 2015-11-20T03:53:47Z csziacobus joined #sbcl 2015-11-20T04:12:00Z csziacobus quit (Quit: csziacobus) 2015-11-20T04:15:23Z kanru quit (Remote host closed the connection) 2015-11-20T04:17:35Z kanru joined #sbcl 2015-11-20T04:37:09Z DeadTrickster_ joined #sbcl 2015-11-20T05:22:20Z nyef: Hrm. I wonder if I can pass those DX SAPs not as SAPs, but as something like a number-stack SC-OFFSET? 2015-11-20T05:24:17Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-20T05:53:59Z psy_ quit (Remote host closed the connection) 2015-11-20T06:02:31Z nyef: Hrm. (defun foo (size) (sqrt size)) => FOO. (defun foo (size) (sqrt (sqrt size))) => Segmentation fault (process Goes Away). (defun foo (size) (ceiling (sqrt (sqrt size)))) => SIGFPE, infinite error protector, dropped back to REPL. 2015-11-20T06:03:42Z nyef: ... And now it's just doing the segfaults, not the SIGFPE. WTF? 2015-11-20T06:04:23Z nyef: Ah. Might be even more finickier than expected. 2015-11-20T06:11:45Z nikki93 joined #sbcl 2015-11-20T06:20:31Z flip214: the reason why arm32 doesn't have threads was register shortage .... but even for x86 arch_os_get_current_thread() might do a pthread_getspecific() call, so why not use the same (simply without the %fs:0 accelerator) on arm32 too? 2015-11-20T06:20:40Z flip214: better have slow threads than none, right? 2015-11-20T06:24:44Z nyef: x86 has eight GPRs, seven if you discount the stack pointer. ARM has 16, fifteen if you discount the program counter, fourteen if you discount the stack pointer. x86 has a number of hacks to support running SBCL in the first place, let alone threaded. 2015-11-20T06:26:06Z nyef: Do you really want to be taking an alien-funcall for every bind, unbind, special-variable access, and allocation? 2015-11-20T06:26:33Z nyef: And that's just off the top of my head, and presuming that you CAN do an alien-funcall under such constraints. 2015-11-20T06:27:20Z flip214: nyef: SBCL could just store whether more than one thread is running - and if it is, then these costs might be necessary, yes. 2015-11-20T06:27:55Z flip214: perhaps the gettid() syscall might be cheaper - and the tid could be looked up in a list (for few threads) or an array (if more than, say, 10 threads are active). 2015-11-20T06:27:59Z nyef: It's not a matter of if there's more than one thread running or not, it's a cross-cutting concern on the code generator. 2015-11-20T06:28:19Z igajsin1 joined #sbcl 2015-11-20T06:29:10Z flip214: hmmm, the only references I found for %fs:0 were arch_os_get_current_thread, get_seh_frame, call_into_lisp (and arch_os_thread_init as well as set_seh_frame) - so it seemed fairly contained to me!? 2015-11-20T06:29:22Z flip214: but most likely I'm mistaken, yeah. 2015-11-20T06:29:30Z flip214: just cutting in with my dreams.... 2015-11-20T06:29:31Z nyef: You're on windows? 2015-11-20T06:30:54Z flip214: no. I just grepped for %fs. 2015-11-20T06:31:11Z nyef: Anyway, for x86, check out compiler/x86/macros.lisp, load-tl-symbol-value. Note the :MAYBE-FS bit passed to INST MOV. 2015-11-20T06:31:14Z flip214: (and hoped that arch_os_get_current_thread() is the abstraction used...) 2015-11-20T06:32:32Z flip214: I did the grep because I wanted to benchmark how many times the thread-specific data is needed, anyway. 2015-11-20T06:33:25Z nyef: Ah! Also check out the WITH-TLS-EA macro. 2015-11-20T06:33:28Z flip214: but if accesses are distributed left and right (as per with-tls-ea) then I won't even be able to count them.... 2015-11-20T06:33:37Z nyef: Exactly. 2015-11-20T06:34:31Z flip214: still, if I knew what to do I'd try to run the pthread_getspecific()/gettid() hack, if only for benchmarking. 2015-11-20T06:34:58Z flip214: and yes, x86-32 has fewer registers, so I don't know why arm doesn't get one for threads. 2015-11-20T06:34:58Z nyef: Here's an angle for you: ARM has reg_NULL. NIL can be synthesized in two instructions, or you can dedicate a slot in the thread structure to holding it. If you can break the direct dependency that the ARM backend has on using null-tn in various places, you can then re-use that register as reg_THREAD instead. 2015-11-20T06:35:17Z nyef: x86-32 uses the conservative mode of gencgc. ARM uses the precise mode. 2015-11-20T06:35:29Z flip214: if I understood more than the 3-letter words in this sentence, I might try ;) 2015-11-20T06:38:15Z nyef: reg_NULL is a register dedicated to always hold the value NIL, for a variety of reasons. 2015-11-20T06:39:01Z nyef: It's referred to in a number of places in the lisp code as null-tn. 2015-11-20T06:39:30Z nyef: If you can make the compiler not use it anymore, it would be available as a TLS register. 2015-11-20T06:42:38Z nyef: Hrm... The only places where this might be tricky are function call/return. 2015-11-20T06:42:48Z nyef sighs. 2015-11-20T06:42:57Z nyef: Not something I want to start digging into right now, under the circumstances. 2015-11-20T06:44:44Z flip214: nyef: thanks for all the explanations. I understood the meaning - but I'd have to dig through SBCL to find all the places you referenced. 2015-11-20T06:45:39Z nyef: That's what git grep is for. 2015-11-20T06:46:13Z nyef: In both src/assembly/arm/ and src/compiler/arm/... And possibly also src/compiler/generic/, and then there will also be references in src/runtime/. 2015-11-20T06:47:29Z flip214: reg_NULL for ARM is only in src/runtime/arm-assem.S and src/runtime/arm-lispregs.h ... 2015-11-20T06:47:43Z nyef: Right. but what about null-tn ? 2015-11-20T06:47:49Z flip214: that's why grep doesn't work - might have different aliases that I have to work out. 2015-11-20T06:47:53Z flip214: yeah, exactly. 2015-11-20T06:48:19Z nyef: Also possibly null-offset, but that should be rare to nonexistant. 2015-11-20T06:49:52Z nyef: Anyway, it's almost 2 AM, and I have to be functional in about seven hours, maybe less. 2015-11-20T06:50:12Z nyef: Good luck, and happy hunting. (-: 2015-11-20T06:53:07Z flip214: good night! 2015-11-20T07:13:00Z prxq_ quit (Remote host closed the connection) 2015-11-20T07:16:34Z karswell quit (Read error: Connection reset by peer) 2015-11-20T07:16:48Z karswell joined #sbcl 2015-11-20T07:32:27Z Cymew joined #sbcl 2015-11-20T08:06:10Z Cymew quit (Ping timeout: 240 seconds) 2015-11-20T08:10:36Z dougk2 joined #sbcl 2015-11-20T08:14:51Z dougk2 quit (Ping timeout: 244 seconds) 2015-11-20T08:17:31Z edgar-rft joined #sbcl 2015-11-20T08:32:36Z Cymew joined #sbcl 2015-11-20T08:33:37Z stassats joined #sbcl 2015-11-20T08:38:43Z stassats: flip214: arch_os_get_current_thread is only for the runtime 2015-11-20T08:38:56Z stassats: flip214: and it's universal 2015-11-20T08:39:09Z stassats: nothing in lisp code calls arch_os_get_current_thread 2015-11-20T08:39:34Z stassats: moreover, to make a foreign call you would need the current thread 2015-11-20T09:03:19Z lnostdal quit (Ping timeout: 272 seconds) 2015-11-20T09:04:09Z flip214: stassats: but a syscall like gettid() should be possible, right? 2015-11-20T09:04:26Z stassats: that's a wrong approach, i say 2015-11-20T09:04:31Z stassats: syscalls to get threads? bonkers 2015-11-20T09:04:49Z stassats: besides, what are you going to do with the id? 2015-11-20T09:05:11Z flip214: do a lookup in a list or array 2015-11-20T09:05:38Z stassats: even worse 2015-11-20T09:05:58Z stassats: a syscall plus a memory lookup? 2015-11-20T09:05:59Z angavrilov quit (Remote host closed the connection) 2015-11-20T09:06:24Z angavrilov joined #sbcl 2015-11-20T09:07:09Z stassats: forget about anything that doesn't involve a register wired to the current thread 2015-11-20T09:07:27Z stassats: think about what you are willing to move from a register to the thread struct 2015-11-20T09:07:32Z stassats: NIL would be the first candidate 2015-11-20T09:15:36Z lnostdal joined #sbcl 2015-11-20T09:20:28Z ASau` quit (Ping timeout: 244 seconds) 2015-11-20T09:44:02Z loke quit (Ping timeout: 276 seconds) 2015-11-20T09:51:07Z stassats quit (Ping timeout: 265 seconds) 2015-11-20T09:55:53Z loke joined #sbcl 2015-11-20T09:57:50Z DeadTrickster_ quit (Ping timeout: 260 seconds) 2015-11-20T10:00:06Z gingerale joined #sbcl 2015-11-20T10:05:46Z rszeno joined #sbcl 2015-11-20T10:08:58Z loke quit (Ping timeout: 250 seconds) 2015-11-20T10:15:32Z nikki93 quit (Remote host closed the connection) 2015-11-20T10:17:37Z nikki93 joined #sbcl 2015-11-20T10:21:16Z loke joined #sbcl 2015-11-20T10:26:26Z salv0 joined #sbcl 2015-11-20T10:35:43Z nikki93 quit (Remote host closed the connection) 2015-11-20T10:38:46Z loke quit (Ping timeout: 240 seconds) 2015-11-20T10:51:27Z loke joined #sbcl 2015-11-20T11:08:53Z loke quit (Ping timeout: 250 seconds) 2015-11-20T11:21:40Z loke joined #sbcl 2015-11-20T11:28:21Z lnostdal quit (Ping timeout: 272 seconds) 2015-11-20T11:28:23Z attila_lendvai joined #sbcl 2015-11-20T11:28:24Z attila_lendvai quit (Changing host) 2015-11-20T11:28:24Z attila_lendvai joined #sbcl 2015-11-20T11:29:37Z lnostdal joined #sbcl 2015-11-20T11:34:23Z sjl quit (Ping timeout: 264 seconds) 2015-11-20T11:34:30Z attila_lendvai quit (Read error: No route to host) 2015-11-20T11:34:37Z attila_lendvai1 joined #sbcl 2015-11-20T11:34:37Z attila_lendvai1 is now known as attila_lendvai 2015-11-20T11:34:37Z attila_lendvai quit (Changing host) 2015-11-20T11:34:37Z attila_lendvai joined #sbcl 2015-11-20T12:02:09Z sjl joined #sbcl 2015-11-20T12:25:26Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-20T12:40:50Z DeadTrickster quit (Ping timeout: 240 seconds) 2015-11-20T12:47:20Z DeadTrickster joined #sbcl 2015-11-20T13:27:21Z rszeno quit (Read error: Connection reset by peer) 2015-11-20T13:30:45Z DeadTrickster_ joined #sbcl 2015-11-20T13:34:54Z rszeno joined #sbcl 2015-11-20T13:51:39Z stassats joined #sbcl 2015-11-20T13:59:51Z dougk2 joined #sbcl 2015-11-20T14:02:53Z nyef: I guess the second candidate might be NFP, as frightening as *that* seems? 2015-11-20T14:03:29Z nyef: Bad enough that CSP is in a symbol. 2015-11-20T14:12:56Z DGASAU quit (Ping timeout: 250 seconds) 2015-11-20T14:14:58Z DGASAU joined #sbcl 2015-11-20T14:23:14Z dougk2 quit (Ping timeout: 244 seconds) 2015-11-20T14:25:07Z eudoxia joined #sbcl 2015-11-20T14:27:39Z DGASAU quit (Ping timeout: 252 seconds) 2015-11-20T14:27:49Z Shinmera joined #sbcl 2015-11-20T14:44:53Z nyef: Hrm. #S(TYPE-ERROR :ACTUAL-INITARGS (DATUM 2849089280 EXPECTED-TYPE (MOD 536870909)) :ASSIGNED-SLOTS NIL) in REAL-ADD-METHOD while in make-target-2. 2015-11-20T14:45:38Z stassats: which is INDEX 2015-11-20T14:48:01Z nyef: Looks like this is from loading SYS:SRC;PCL;FIXUP.FASL.NEWEST. 2015-11-20T14:48:41Z nyef: Oh, and something is very messed up with FFI, particularly with floating-point stuff. Typical, right? 2015-11-20T14:52:51Z Xof: could be hashing? 2015-11-20T14:53:19Z Xof: could be anything, I suppose 2015-11-20T14:54:12Z nyef: Yeah, that's been the problem. Not enough of the system works to be able to easily narrow down what's broken. 2015-11-20T14:56:24Z nyef: The current loose end in my working tree is that I killed type derivation for sqrt, since it caused some sort of recursive floating-point invalid-operation. 2015-11-20T15:01:01Z prxq joined #sbcl 2015-11-20T15:14:57Z DGASAU joined #sbcl 2015-11-20T15:15:44Z nyef: How long before code-freeze? 2015-11-20T15:16:42Z loke quit (Ping timeout: 260 seconds) 2015-11-20T15:24:40Z Xof: not long 2015-11-20T15:24:58Z Xof: between now and Sunday 2015-11-20T15:25:06Z Xof: I'll take requests 2015-11-20T15:26:59Z nyef: Okay, change of plan for me, then. I'm going to commit what I have thus far on HPPA, then try to get a PPC box up and running to work with, since there's apparently some fall-out there from some of my MIPS stuff this month. 2015-11-20T15:28:57Z loke joined #sbcl 2015-11-20T15:29:17Z stassats: i can check ppc 2015-11-20T15:29:42Z stassats: what was the problem? 2015-11-20T15:30:02Z nyef: foreign.test.sh, the char result test. 2015-11-20T15:30:46Z stassats: ok, right 2015-11-20T15:31:18Z nyef: Fixing it might be as simple as adjusting the C code in the test, but might get a little more complicated. 2015-11-20T15:31:40Z stassats: the pprinter goes bonkers 2015-11-20T15:32:02Z nyef: Yes, that's partly due to the insane auto-continue thing. 2015-11-20T15:37:40Z stassats: ok, can we solve that first instead? 2015-11-20T15:38:27Z stassats: what is it trying to restart? 2015-11-20T15:39:54Z dougk2 joined #sbcl 2015-11-20T15:40:55Z nyef: It's an assertion failure. 2015-11-20T15:41:05Z nyef: CONTINUE from ASSERT is defined to re-try the assertion. 2015-11-20T15:44:51Z dougk2 quit (Ping timeout: 272 seconds) 2015-11-20T15:52:27Z stassats: but why? 2015-11-20T15:52:47Z Xof: because that's what the spec says 2015-11-20T15:53:01Z Xof: a better question might be: why are we continuing? 2015-11-20T15:53:07Z Xof: or a different question, anyway 2015-11-20T15:53:18Z stassats: i'm not questioning the assert implementation 2015-11-20T15:53:23Z stassats: this is testing foreign functions 2015-11-20T15:55:28Z stassats: Error opening shared object "/home/stas/lisp/impl/sbcl/tests/foreign-test-18595/foreign-test-b.so": 2015-11-20T15:55:35Z stassats: this is the error it's continuing 2015-11-20T15:57:02Z stassats: there's a handler-case around loading already 2015-11-20T15:57:30Z stassats: why does it load something non existent anyway? 2015-11-20T15:57:39Z nyef: Why doesn't it exist? 2015-11-20T15:58:16Z stassats: should it? 2015-11-20T15:59:08Z nyef: Good question. 2015-11-20T15:59:35Z stassats: ok, i'll deal with that test restarting 2015-11-20T15:59:42Z stassats: but not with the ppc failure, for now 2015-11-20T16:02:52Z stassats: why is it even a .test.sh? 2015-11-20T16:04:22Z stassats: * test missing-so ok 2015-11-20T16:04:25Z stassats: huh what 2015-11-20T16:05:01Z stassats: so, that was the wrong failure 2015-11-20T16:05:26Z stassats: or it was the right one 2015-11-20T16:06:42Z stassats: ok, i'll just quickly slap a new handler-case around it and run away before that test file consumes by brains 2015-11-20T16:06:46Z stassats: my brains 2015-11-20T16:07:48Z psy_ joined #sbcl 2015-11-20T16:08:38Z stassats: but there is no continuing restart from SB-SYS:DLOPEN-OR-LOSE 2015-11-20T16:10:42Z stassats: that's only from SB-ALIEN::TRY-REOPEN-SHARED-OBJECT 2015-11-20T16:11:45Z stassats: not so automagic now, is it? 2015-11-20T16:14:50Z rszeno quit (Quit: Leaving.) 2015-11-20T16:23:22Z lacedaemon is now known as fe[nl]ix 2015-11-20T16:24:51Z stassats: nyef: ok, no more continue silliness 2015-11-20T16:25:37Z stassats: Unhandled SIMPLE-ERROR: 2015-11-20T16:25:37Z stassats: The assertion (= -1 (RETURN-CHAR-TEST -1)) failed with (RETURN-CHAR-TEST -1) 2015-11-20T16:25:37Z stassats: = 255. 2015-11-20T16:25:39Z stassats: that's better 2015-11-20T16:26:22Z stassats: i like to actually run tests before things are fixed, to test that the test actually works and that its failure mode is sensible 2015-11-20T16:28:48Z nyef: Yes, running the tests and seeing the failures is a nice confidence booster. 2015-11-20T16:31:02Z stassats: so, what should actually happen on ppc? 2015-11-20T16:31:50Z nyef: Well, the first thing to do is alter the C code to say "signed char" rather than merely "char" for that function. 2015-11-20T16:31:57Z stassats: i can envision a better way to test foreign functions, it needs to check against the output produced by a C driver 2015-11-20T16:32:03Z stassats: not something encoded by hand 2015-11-20T16:32:10Z stassats: or otherwise this is just another echo chamber 2015-11-20T16:33:14Z nyef: Perhaps, but you can still find bugs with an echo chamber. 2015-11-20T16:33:32Z stassats: gotta catch 'em all 2015-11-20T16:34:18Z nyef: https://xkcd.com/178/ 2015-11-20T16:34:18Z dougk2 joined #sbcl 2015-11-20T16:37:26Z sjl quit (Ping timeout: 260 seconds) 2015-11-20T16:43:58Z stassats: huh, the hpux port was that poor? 2015-11-20T16:44:46Z loke quit (Ping timeout: 240 seconds) 2015-11-20T16:45:37Z nyef: I may not have found all of the damage yet. 2015-11-20T16:45:55Z nyef: This really is the least-maintained and least-well-maintained backend. 2015-11-20T16:46:12Z Xof: the hpux port never actually ran. (It probably did on CMUCL, once) 2015-11-20T16:46:34Z Xof: the hppa/linux port ran on exactly one machine, ever, 13 years ago 2015-11-20T16:46:40Z Xof: it had a 24-hour build cycle 2015-11-20T16:47:32Z Xof: (as in, it took 24 hours to self-build, not "it built sbcl 24 hours a day") 2015-11-20T16:47:56Z nyef: Yeah, that's what I figured you meant by that. (-: 2015-11-20T16:48:06Z Cymew quit (Ping timeout: 255 seconds) 2015-11-20T16:48:21Z nyef: stassats: BTW, about half of my read-only-tramps branch has been merged by this point. 2015-11-20T16:48:25Z stassats: 24 hour port cycle, anyone? 2015-11-20T16:48:30Z nyef: Heh! 2015-11-20T16:48:34Z stassats: nyef: good 2015-11-20T16:49:02Z stassats: currently on sb-dynamic call to call a foreign function there's a multitude of tramps 2015-11-20T16:49:23Z stassats: the linkage table tramp, the funcallable_instance_tramp 2015-11-20T16:49:26Z nyef: How many of those tramps need to be known to genesis? 2015-11-20T16:49:54Z stassats: i think all call and undefined tramps? 2015-11-20T16:50:02Z nyef: Hrm. 2015-11-20T16:50:24Z stassats: but it will not only allow sb-dynamic-core to work, but will also optimize it where it already works 2015-11-20T16:50:49Z stassats: so, all call and undefined tramp => all tramps? 2015-11-20T16:51:22Z stassats: ok, genesis doesn't query funcallable_instance_tramp 2015-11-20T16:52:14Z nyef: There's a linkage table tramp now? 2015-11-20T16:52:25Z nyef: Or is that just the normal thing with linkage table? 2015-11-20T16:52:28Z stassats: well, that's the whole linkage table 2015-11-20T16:52:32Z nyef: Ah, okay. 2015-11-20T16:52:40Z stassats: a table of tramps 2015-11-20T16:52:45Z nyef: And I finally got my Mini G4 to boot the debian installer. 2015-11-20T16:53:28Z stassats: table of tramps? a soup kitchen? 2015-11-20T16:57:09Z loke joined #sbcl 2015-11-20T16:57:17Z nyef: chibi 2015-11-20T16:57:29Z nyef: Oops. 2015-11-20T16:57:32Z nyef: Wrong window. (-: 2015-11-20T16:57:46Z nyef: (Wrong keyboard entirely, in fact.) 2015-11-20T16:58:35Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-20T17:12:26Z DeadTrickster_ quit (Ping timeout: 240 seconds) 2015-11-20T17:14:42Z dougk2 joined #sbcl 2015-11-20T17:14:56Z sjl joined #sbcl 2015-11-20T17:28:43Z lnostdal quit (Ping timeout: 272 seconds) 2015-11-20T17:35:00Z scymtym_ joined #sbcl 2015-11-20T17:41:07Z lnostdal joined #sbcl 2015-11-20T17:50:06Z slyrus_ joined #sbcl 2015-11-20T17:51:27Z slyrus quit (Ping timeout: 244 seconds) 2015-11-20T17:51:31Z slyrus_ is now known as slyrus 2015-11-20T18:07:31Z _iwc joined #sbcl 2015-11-20T18:19:19Z _iwc quit (Killed (Sigyn (Spam is off topic on freenode.))) 2015-11-20T18:48:27Z DeadTrickster_ joined #sbcl 2015-11-20T18:52:05Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-20T18:58:44Z dougk2 joined #sbcl 2015-11-20T19:04:21Z dougk2 quit (Ping timeout: 272 seconds) 2015-11-20T19:04:49Z dougk2 joined #sbcl 2015-11-20T19:18:22Z nyef: Okay, build time on my G4: Fairly close on half an hour. 2015-11-20T19:20:19Z nyef: And the verdict is... char is unsigned by default on PPC. 2015-11-20T19:38:07Z nyef runs the full test suite on PPC, just in case. 2015-11-20T19:49:57Z dougk2 quit (Ping timeout: 272 seconds) 2015-11-20T19:50:56Z dougk2 joined #sbcl 2015-11-20T20:14:54Z prxq quit (Remote host closed the connection) 2015-11-20T20:18:55Z nyef: So, looks like PPC is good to go for the moment. 2015-11-20T20:19:44Z sjl quit (Ping timeout: 276 seconds) 2015-11-20T20:24:53Z sjl joined #sbcl 2015-11-20T20:33:04Z Xof: excellent 2015-11-20T20:34:33Z Xof: time for freeze? 2015-11-20T20:35:24Z stassats: i don't have any fixes pipelined, only optimizations 2015-11-20T20:35:33Z dougk2 quit (Ping timeout: 272 seconds) 2015-11-20T20:38:01Z nyef: Hrm. I've got a couple of things that I should try to track down on the MIPS side, but probably not critical. 2015-11-20T20:50:46Z Xof: there's always next month 2015-11-20T20:50:54Z Xof: I often say that to myself as my plans turn to ashes 2015-11-20T20:51:37Z stassats: nobody uses mips or hppa anyway 2015-11-20T20:52:12Z dougk2 joined #sbcl 2015-11-20T20:57:47Z sjl quit (Read error: Connection reset by peer) 2015-11-20T20:58:21Z sjl joined #sbcl 2015-11-20T20:59:40Z attila_lendvai joined #sbcl 2015-11-20T20:59:41Z attila_lendvai quit (Changing host) 2015-11-20T20:59:41Z attila_lendvai joined #sbcl 2015-11-20T21:06:08Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-20T21:10:07Z slyrus_ joined #sbcl 2015-11-20T21:11:43Z slyrus quit (Ping timeout: 252 seconds) 2015-11-20T21:11:46Z slyrus_ is now known as slyrus 2015-11-20T21:18:45Z soggybread quit (Read error: Connection reset by peer) 2015-11-20T21:18:53Z DeadTrickster_ quit (Ping timeout: 276 seconds) 2015-11-20T21:19:30Z Bicyclidine joined #sbcl 2015-11-20T21:21:27Z csziacobus joined #sbcl 2015-11-20T21:22:20Z sjl_ joined #sbcl 2015-11-20T21:23:17Z sjl quit (Ping timeout: 246 seconds) 2015-11-20T21:24:14Z stassats: oh wow, left the foreign.tests.sh output running 2015-11-20T21:24:19Z stassats: 252GB generated 2015-11-20T21:25:18Z stassats: got an email from the gcc compiler farm that disk space is running out 2015-11-20T21:25:19Z stassats: oops 2015-11-20T21:29:46Z nyef: Ouch. 2015-11-20T21:29:52Z nyef: At least now it shouldn't do that anymore, right? 2015-11-20T21:29:58Z stassats: yeah 2015-11-20T21:31:53Z stassats: and it's consits mostly of spaces 2015-11-20T21:31:59Z stassats: due to pretty printing 2015-11-20T21:32:44Z stassats: which is, why does that happen too? 2015-11-20T21:33:12Z nyef: Lack of line termination when printing the condition, pushes the start of the logical block further over each time it happens. 2015-11-20T21:35:26Z stassats: indeed 2015-11-20T21:35:28Z stassats: "The assertion (= 1 2) failed.The assertion (= 1 2) failed.The assertion" 2015-11-20T21:40:07Z nyef: Doing a TERPRI before printing the condition, or putting a ~& in front if it's printed via FORMAT, should clear it up. 2015-11-20T21:40:25Z nikki93 joined #sbcl 2015-11-20T21:41:12Z nyef: So. 1.3.0.208 so far. 2015-11-20T21:41:41Z stassats: or not continuing 2015-11-20T21:42:02Z stassats: "The definition of insanity is doing the same thing over and over again, but expecting different results" 2015-11-20T21:42:07Z nyef: And I expect that I have at least one more commit to make, but the one that I know about can go in during freeze, since it's "just" a tweak to the test suite. 2015-11-20T21:55:55Z sjl_ quit (Ping timeout: 240 seconds) 2015-11-20T22:03:59Z sjl joined #sbcl 2015-11-20T22:08:14Z sjl quit (Read error: Connection reset by peer) 2015-11-20T22:08:44Z dougk2 joined #sbcl 2015-11-20T22:10:24Z sjl joined #sbcl 2015-11-20T22:31:25Z eudoxia quit (Quit: Leaving) 2015-11-20T22:38:51Z gingerale quit (Remote host closed the connection) 2015-11-20T22:45:24Z dougk2 quit (Ping timeout: 255 seconds) 2015-11-20T22:48:33Z stassats quit (Ping timeout: 255 seconds) 2015-11-20T22:49:23Z pootler quit (Ping timeout: 264 seconds) 2015-11-20T22:50:35Z jozip quit (Ping timeout: 264 seconds) 2015-11-20T22:56:42Z nyef: Umm... Why can I not use --without- as an argument to make.sh to remove that feature from the build if it's set by make-config.sh ? 2015-11-20T22:57:17Z nyef: This used to work. I know that this used to work. 2015-11-20T22:58:32Z nyef: ... looks like stassats broke it just over nine months ago? 2015-11-20T22:58:51Z ASau joined #sbcl 2015-11-20T23:11:00Z salv0 quit (Remote host closed the connection) 2015-11-20T23:16:39Z pootler joined #sbcl 2015-11-20T23:23:40Z jozip joined #sbcl 2015-11-20T23:25:43Z nyef: x86-64 doesn't like not having linkage-table. 2015-11-20T23:37:27Z foom: why would you want not-linkage-table? 2015-11-20T23:39:17Z nyef: Because a test that has different behavior between linkage-table and non-linkage-table was changed, and I don't know that it was tested on a non-linkage-table system. 2015-11-20T23:40:58Z nyef: It'd be a whole other matter if every backend had linkage-table. Then we could just remove the non-linkage table semantics entirely. But that's not yet the case. 2015-11-20T23:42:26Z nyef: Okay, I'm thinking to commit this tonight: http://paste.lisp.org/display/160101 2015-11-20T23:59:24Z dougk2 joined #sbcl 2015-11-21T00:14:03Z dougk2 quit (Ping timeout: 255 seconds) 2015-11-21T00:15:48Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-11-21T00:18:34Z dougk2 joined #sbcl 2015-11-21T00:28:00Z dougk2 quit (Ping timeout: 255 seconds) 2015-11-21T00:42:00Z dougk2 joined #sbcl 2015-11-21T00:44:07Z nyef: Looks like my Octeon+ system blows up three tests to do with floating-point exceptions. 2015-11-21T00:44:31Z Bicyclidine quit (Quit: no) 2015-11-21T00:45:21Z nyef: And I'm trying the --without-linkage-table thing on PPC now, since it didn't build on x86-64. 2015-11-21T01:00:56Z nyef: Okay, sb-mpfr failed to build on PPC --without-linkage-table. 2015-11-21T01:01:15Z nyef: ... undefined alien? WTF? 2015-11-21T01:01:30Z nyef: Ah. I guess that makes a certain kind of sense. 2015-11-21T01:03:15Z nyef: minion: memo for stassats: Your recent foreign.test.sh change breaks on non-linkage-table targets. 2015-11-21T01:03:15Z minion: Remembered. I'll tell stassats when he/she/it next speaks. 2015-11-21T01:20:49Z dougk2 quit (Ping timeout: 250 seconds) 2015-11-21T01:21:06Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-21T01:22:44Z dougk2 joined #sbcl 2015-11-21T01:28:39Z edgar-rft quit (Quit: edgar-rft) 2015-11-21T01:46:10Z nyef: ... At this point, I'm willing to chalk up the test failures that I see on my ERLite-3 to issues with the kernel FPU emulator. 2015-11-21T02:18:50Z ferada_ joined #sbcl 2015-11-21T02:19:00Z adhoc_ joined #sbcl 2015-11-21T02:19:01Z chu_ joined #sbcl 2015-11-21T02:19:05Z ferada quit (Remote host closed the connection) 2015-11-21T02:19:05Z adhoc quit (Remote host closed the connection) 2015-11-21T02:19:05Z chu quit (Remote host closed the connection) 2015-11-21T02:19:08Z nimiux_ joined #sbcl 2015-11-21T02:23:06Z nimiux quit (Ping timeout: 240 seconds) 2015-11-21T02:30:20Z chu_ is now known as chu 2015-11-21T02:37:29Z adhoc_ is now known as adhoc 2015-11-21T03:53:48Z shamaz joined #sbcl 2015-11-21T03:59:33Z csziacobus quit (Quit: csziacobus) 2015-11-21T04:05:17Z shamaz quit (Remote host closed the connection) 2015-11-21T04:20:57Z BitPuffin|osx joined #sbcl 2015-11-21T04:35:15Z psy_ quit (Read error: Connection reset by peer) 2015-11-21T05:35:34Z nikki93 quit (Remote host closed the connection) 2015-11-21T06:37:51Z dougk2 quit (Ping timeout: 252 seconds) 2015-11-21T07:01:28Z BitPuffin|osx quit (Ping timeout: 272 seconds) 2015-11-21T07:03:18Z DeadTrickster_ joined #sbcl 2015-11-21T07:20:46Z Shinmera joined #sbcl 2015-11-21T07:31:04Z joshe joined #sbcl 2015-11-21T08:05:07Z adhoc quit (Ping timeout: 252 seconds) 2015-11-21T08:06:53Z adhoc joined #sbcl 2015-11-21T08:09:58Z stassats joined #sbcl 2015-11-21T08:46:50Z fiveop joined #sbcl 2015-11-21T08:47:22Z fiveop quit (Client Quit) 2015-11-21T08:48:15Z gingerale joined #sbcl 2015-11-21T08:49:26Z fiveop joined #sbcl 2015-11-21T09:49:36Z edgar-rft joined #sbcl 2015-11-21T10:16:06Z scymtym_ quit (Ping timeout: 265 seconds) 2015-11-21T10:39:02Z ASau` joined #sbcl 2015-11-21T10:42:18Z ASau quit (Ping timeout: 250 seconds) 2015-11-21T10:57:04Z scymtym: dougk_: i have observed unexpected successes for compiler.pure.lisp bug-913232 on x86[_64] and macos in :INTERPRET *EVALUATOR-MODE* for time some. is the :FAILS-ON :INTERPRETER still warranted? 2015-11-21T11:36:03Z attila_lendvai joined #sbcl 2015-11-21T11:36:03Z attila_lendvai quit (Changing host) 2015-11-21T11:36:03Z attila_lendvai joined #sbcl 2015-11-21T11:40:06Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-21T11:44:38Z fiveop quit (Remote host closed the connection) 2015-11-21T12:43:40Z gargaml joined #sbcl 2015-11-21T12:54:15Z DeadTrickster_ quit (Ping timeout: 240 seconds) 2015-11-21T13:05:57Z nyef: G'morning all. 2015-11-21T13:07:38Z scymtym: hello nyef 2015-11-21T13:08:04Z nyef: So, code freeze. 2015-11-21T13:09:22Z nyef: Time to check-build Alpha. Not that it'll be generally usable, what with the DX SAP thing, but making sure that the rest of it is okay. 2015-11-21T13:10:38Z ASau` is now known as ASau 2015-11-21T14:07:12Z sjl quit (Read error: Connection reset by peer) 2015-11-21T14:08:34Z sjl joined #sbcl 2015-11-21T14:41:04Z psy_ joined #sbcl 2015-11-21T14:42:51Z stassats: more slime drama 2015-11-21T14:43:07Z stassats: just what i don't need to be handling 2015-11-21T14:44:23Z stassats: oh boy, The value NIL is not of type SB-C::IR2-LVAR from inlinging is still not fixed 2015-11-21T14:44:41Z nyef: That doesn't sound good. Is it a regression? 2015-11-21T14:44:56Z stassats: don't think so 2015-11-21T14:45:19Z nyef: If it's not a regression, it's probably out-of-scope for the next week. 2015-11-21T14:45:31Z lnostdal quit (Ping timeout: 272 seconds) 2015-11-21T14:45:32Z nyef: foreign.test.sh is still broken, btw. 2015-11-21T14:45:44Z stassats: i know 2015-11-21T14:45:47Z adhoc quit (Ping timeout: 264 seconds) 2015-11-21T14:47:09Z stassats: but it might be an earlier regression 2015-11-21T14:47:31Z stassats: or 2015-11-21T14:47:35Z adhoc joined #sbcl 2015-11-21T14:47:43Z stassats: even a real regresion 2015-11-21T14:48:00Z stassats: because it's in SB-C::IR2-CONVERT-CAST 2015-11-21T14:48:12Z nyef: Uh-oh. 2015-11-21T14:48:53Z nyef: Oh, wait. I haven't touched CAST nodes in rather a while. Nevermind. (-: 2015-11-21T14:48:56Z stassats: no lvar-info 2015-11-21T14:49:49Z stassats: nyef: i did 2015-11-21T14:50:22Z stassats: ok, that's not i have to be dealing with either 2015-11-21T14:50:30Z stassats: no time for either drama or regressions 2015-11-21T14:51:04Z nyef: Ah, the check-type vops thing? 2015-11-21T14:51:08Z stassats: yeah 2015-11-21T14:51:44Z stassats: i wonder if just ignoring the node if there's no lvar-info would be enough 2015-11-21T14:52:32Z stassats: a test-case (locally (declare (optimize debug)) (let ((aa '(2))) (funcall (lambda (a b) (notevery #'null (map 'vector #'= a b))) '(1) aa))) 2015-11-21T14:55:27Z nyef: Does that trip the MVL-NLX thing that I fixed a while back? 2015-11-21T14:55:59Z stassats: not sure, will be looking at it later 2015-11-21T14:56:43Z nyef: Okay. I'm going to disappear for a couple of hours. 2015-11-21T14:57:34Z lnostdal joined #sbcl 2015-11-21T14:58:03Z nyef: ... I've done a MIPS checkbuild, there've been no changes that should impact PPC since my last build there, my Alpha checkbuild is still running the test suite... 2015-11-21T14:58:57Z nyef: Things are about as good as they're getting, I think. 2015-11-21T15:00:57Z DeadTrickster_ joined #sbcl 2015-11-21T15:06:50Z DeadTrickster_ quit (Ping timeout: 276 seconds) 2015-11-21T15:10:13Z dougk2 joined #sbcl 2015-11-21T15:12:42Z DeadTrickster_ joined #sbcl 2015-11-21T15:16:42Z dougk2 quit (Ping timeout: 260 seconds) 2015-11-21T15:17:19Z dougk2 joined #sbcl 2015-11-21T16:21:50Z pootler quit (Ping timeout: 246 seconds) 2015-11-21T16:47:50Z sjl quit (Ping timeout: 260 seconds) 2015-11-21T16:49:35Z sjl joined #sbcl 2015-11-21T16:51:26Z pootler joined #sbcl 2015-11-21T16:58:59Z dougk2 quit (Ping timeout: 264 seconds) 2015-11-21T17:31:06Z sjl quit (Ping timeout: 265 seconds) 2015-11-21T17:33:03Z sjl joined #sbcl 2015-11-21T17:44:46Z pootler quit (Ping timeout: 240 seconds) 2015-11-21T17:45:26Z joshe quit (Ping timeout: 240 seconds) 2015-11-21T17:46:45Z attila_lendvai joined #sbcl 2015-11-21T17:46:58Z pootler joined #sbcl 2015-11-21T18:02:46Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-21T18:17:56Z attila_lendvai joined #sbcl 2015-11-21T18:25:06Z nyef: And I'm back. 2015-11-21T18:25:28Z nyef: Alpha test suite results are as-was, except for the new failure in foreign.test.sh. 2015-11-21T18:27:20Z stassats: well, that one is easy 2015-11-21T18:27:23Z stassats: unlike converting casts 2015-11-21T18:29:28Z stassats: and the windows build is broken 2015-11-21T18:31:03Z nyef: Oh dear. 2015-11-21T18:31:10Z nyef: What's broken about the windows build? 2015-11-21T18:31:42Z stassats: some structure optioon 2015-11-21T18:35:17Z lomcovak joined #sbcl 2015-11-21T18:41:39Z scymtym_ joined #sbcl 2015-11-21T18:41:42Z lomcovak quit (Quit: q) 2015-11-21T18:42:26Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-21T18:56:55Z stassats: so, why doesn't lvar have an annotation? 2015-11-21T18:57:09Z stassats: should there be? or it just became reachable? 2015-11-21T18:57:50Z DeadTrickster quit (Read error: Connection reset by peer) 2015-11-21T19:10:06Z DeadTrickster joined #sbcl 2015-11-21T19:16:45Z nyef: My first question is "what does it mean for an lvar to have or not have an annotation?" 2015-11-21T19:17:19Z nyef: Ah, lvar-info? 2015-11-21T19:17:40Z nyef: Okay, so that's the ir2-lvar, then... 2015-11-21T19:19:38Z nyef: ... Ah. Is this for the case of a type-check cast that the compiler has determined always fails the check? 2015-11-21T19:20:51Z stassats: i don't think it should fail 2015-11-21T19:20:56Z stassats: unless there's a branch 2015-11-21T19:22:13Z stassats: the cast has :type-check nil 2015-11-21T19:26:52Z stassats: a modified test case produces failed AVER: (NOT (FUNCTIONAL-HAS-EXTERNAL-REFERENCES-P CLAMBDA)) 2015-11-21T19:27:02Z stassats: this one ((lambda () (declare (optimize debug)) (notevery #'null (coerce #(1) 'vector)))) 2015-11-21T19:27:10Z nyef: Hrm. Something with the DCE pass? 2015-11-21T19:27:13Z stassats: ((lambda () (declare (optimize debug)) (notevery #'null (coerce '(1) 'vector)))) the lvar-info test 2015-11-21T19:28:20Z nyef builds on x86-64/linux. 2015-11-21T19:28:37Z nyef: Didn't clean up after I found that linkage-table isn't optional on x86-64. (-: 2015-11-21T19:29:06Z nyef: ... Which we might want to track down, as it could indicate a latent problem that we haven't found out about yet. 2015-11-21T19:30:30Z stassats: the aver fails before generate-type-checks is run 2015-11-21T19:34:15Z stassats: ((lambda () (declare (optimize debug)) (notevery #'null (vector 1)))) new test 2015-11-21T19:35:24Z stassats: but the functional-has-external-references-p is done before ir2? 2015-11-21T19:35:43Z nyef: IIRC, the DCE pass is run as part of IR1-phases? Or something is. 2015-11-21T19:36:18Z stassats: i mostly only change ir2 2015-11-21T19:36:23Z nyef: Okay, mixing it up with something else. 2015-11-21T19:36:52Z stassats: and vops 2015-11-21T19:36:59Z stassats: but ir1 is too early for the vop selection 2015-11-21T19:37:20Z nyef: Hrm. generate-type-checks is an IR1 phase. 2015-11-21T19:37:35Z stassats: well, it's not called 2015-11-21T19:37:44Z nyef: And you have an NLX there, plain as day. 2015-11-21T19:37:59Z stassats: there's a dx-flet, yes 2015-11-21T19:38:29Z nyef: Oh, wait, you might not have an NLX. 2015-11-21T19:38:37Z nyef: Ah! My build finished. 2015-11-21T19:39:32Z nyef: Hrm. Your latest test case is dying in DELETE-LAMBDA? 2015-11-21T19:39:41Z nyef: From DELETE-BLOCK. 2015-11-21T19:42:42Z nyef: ... The entire component is marked as deleted? 2015-11-21T19:47:13Z nyef: Ugh. And no debug information available on IR1-OPTIMIZE. 2015-11-21T19:48:16Z stassats: so, none of the functions i changed are called 2015-11-21T19:48:35Z dougk2 joined #sbcl 2015-11-21T19:48:42Z stassats: does ir1 translate templates already? 2015-11-21T19:48:53Z nyef: No, templates are strictly an LTN-annotate thing. 2015-11-21T19:49:11Z stassats: what about known call/full call differentiation? 2015-11-21T19:49:42Z nyef: ... Not sure, but I'd expect that to be no earlier than physenvanal. Probably LTN again? 2015-11-21T19:51:11Z nyef: Building 1.3.0 to see if it has this problem. 2015-11-21T19:51:57Z nyef: If it does, then we're at the point of "not a recent regression", and I look further back. If it doesn't, then I bisect from there. 2015-11-21T19:55:21Z stassats: 1.3.0 actually has it 2015-11-21T19:56:50Z stassats: as does 1.2.16 2015-11-21T19:57:16Z nyef: Okay, killing my 1.3.0 build and starting much earlier. 2015-11-21T19:57:51Z stassats: 1.2.15 is clean 2015-11-21T19:58:07Z nyef: You mean 1.2.15 doesn't have it? 2015-11-21T19:58:37Z stassats: yes 2015-11-21T19:59:39Z lnostdal quit (Ping timeout: 272 seconds) 2015-11-21T20:02:15Z lnostdal joined #sbcl 2015-11-21T20:04:12Z nyef: A lot of lambda-list-parser changes in that range, a few other things. 2015-11-21T20:04:16Z dougk2 quit (Ping timeout: 272 seconds) 2015-11-21T20:04:22Z nyef: Nothing leaps out as obvious, though. 2015-11-21T20:05:50Z stassats: almost done bisecting 2015-11-21T20:10:31Z stassats: make full call of MAP strictly type check its output 2015-11-21T20:16:42Z sjl_ joined #sbcl 2015-11-21T20:19:14Z sjl quit (Ping timeout: 260 seconds) 2015-11-21T20:21:15Z DeadTrickster_ quit (Ping timeout: 240 seconds) 2015-11-21T20:21:27Z nyef: So, that's on dougk_ ? 2015-11-21T20:21:40Z stassats: or on the compiler being broken 2015-11-21T20:22:01Z nyef: Or that, yes. 2015-11-21T20:22:14Z stassats: i'll try to remove %map from the equation 2015-11-21T20:23:12Z nyef: ... The addition of d-x, maybe? 2015-11-21T20:23:24Z stassats: it crashes without dx 2015-11-21T20:25:52Z nyef: Fun. 2015-11-21T20:25:58Z stassats: it's the latter 2015-11-21T20:26:06Z stassats: can crash it on 1.2.13.72 2015-11-21T20:26:43Z stassats: the map check didn't look particularly sinister anyway 2015-11-21T20:27:06Z stassats: can produce bogus results on 1.1.7.113 2015-11-21T20:27:33Z stassats: ((lambda () (declare (optimize debug)) (block nil (flet ((wrapper2 (x) (unless (funcall #'null x) (return)))) (declare (i 2015-11-21T20:27:33Z stassats: nline wrapper2)) (map-into (make-sequence 'vector 1) #'wrapper2 (coerce #(1) 'vector)))))) 2015-11-21T20:27:35Z stassats: => 70368667155248 2015-11-21T20:27:49Z stassats: ((lambda () (declare (optimize debug)) (block nil (flet ((wrapper2 (x) (unless (funcall #'null x) (return)))) (declare (inline wrapper2)) (map-into (make-sequence 'vector 1) #'wrapper2 (coerce #(1) 'vector)))))) 2015-11-21T20:28:25Z stassats: and on 1.2.7.41 2015-11-21T20:30:14Z stassats: on 1.1.18 it's almost a quine 2015-11-21T20:30:41Z stassats: 1.0.57 returns NIL 2015-11-21T20:32:14Z stassats: 1.1.10 broken 2015-11-21T20:33:37Z stassats: 1.1.5 good 2015-11-21T20:35:04Z stassats: between 1.1.7 and 1.1.8 2015-11-21T20:38:07Z stassats: more robust filter-lvar through casts? maybe 2015-11-21T20:38:19Z stassats: i can't build 1.1.7 2015-11-21T20:39:38Z sjl_ quit (Ping timeout: 260 seconds) 2015-11-21T20:40:03Z dougk2 joined #sbcl 2015-11-21T20:47:40Z dougk2 quit (Ping timeout: 250 seconds) 2015-11-21T20:51:44Z dougk2 joined #sbcl 2015-11-21T20:55:58Z attila_lendvai joined #sbcl 2015-11-21T20:57:27Z stassats: ff68efbd3af2a0b718f4b185f558feb9d86b6cf2 2015-11-21T20:58:32Z nyef: So, pkhuong did it? 2015-11-21T21:00:10Z dougk2 quit (Ping timeout: 260 seconds) 2015-11-21T21:01:43Z stassats: confirmed on the current sbcl, removing the call to substitute-let-funargs makes the compiler proceed 2015-11-21T21:01:53Z stassats: so, we at least have a workaround, if all else fails 2015-11-21T21:05:58Z nyef: It's also not a recent regression, FWIW. 2015-11-21T21:13:49Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-21T21:14:35Z slyrus quit (Remote host closed the connection) 2015-11-21T21:15:19Z csziacobus joined #sbcl 2015-11-21T21:15:56Z scymtym_ quit (Remote host closed the connection) 2015-11-21T21:15:58Z dougk2 joined #sbcl 2015-11-21T21:16:55Z scymtym_ joined #sbcl 2015-11-21T21:19:30Z attila_lendvai joined #sbcl 2015-11-21T21:29:37Z ccl-logbot joined #sbcl 2015-11-21T21:29:37Z 2015-11-21T21:29:37Z names: ccl-logbot attila_lendvai scymtym_ dougk2 csziacobus lnostdal DeadTrickster pootler adhoc psy_ gargaml ASau edgar-rft gingerale stassats Shinmera nimiux_ chu ferada_ jozip loke DGASAU angavrilov karswell igajsin1 kanru flip214 specbot whiteline nyef psilord carvite dougk_ fe[nl]ix ignotus reb`````` luis Bike pkhuong sigjuice hitecnologys pepol Ober mood scymtym Xof jdz Posterdati jackdaniel Quadrescence PuercoPop foom dsp__ nicdev yvm jackc-_ salva frankS2 2015-11-21T21:29:37Z names: |3b| easye jlarocco brucem abbe p_l yauz minion christoph_debian raeon phcrist drmeister Blkt dim les antoszka akkad chris2 irsol derrida fikusz White_Flame dustinm`_ Intensity jsnell 2015-11-21T21:29:37Z verne.freenode.net:#sbcl- [freenode-info] please register your nickname...don't forget to auto-identify! http://freenode.net/faq.shtml#nicksetup 2015-11-21T21:37:46Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-21T21:38:31Z dougk2 joined #sbcl 2015-11-21T21:41:06Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-21T21:49:51Z lnostdal quit (Ping timeout: 272 seconds) 2015-11-21T21:50:26Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-21T22:11:42Z dougk2 joined #sbcl 2015-11-21T22:11:46Z DeadTrickster_ joined #sbcl 2015-11-21T22:13:20Z attila_lendvai joined #sbcl 2015-11-21T22:13:21Z attila_lendvai quit (Changing host) 2015-11-21T22:13:21Z attila_lendvai joined #sbcl 2015-11-21T22:14:11Z lnostdal joined #sbcl 2015-11-21T22:17:26Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-21T22:27:14Z sjl joined #sbcl 2015-11-21T22:53:48Z stassats: it'd be great to understand why substitute-let-funargs doesn't work 2015-11-21T22:53:54Z stassats: even if it's not possible to fix 2015-11-21T22:54:08Z stassats: to know the reason why it's not possible 2015-11-21T22:55:29Z gargaml quit (Quit: WeeChat 1.3) 2015-11-21T23:01:50Z attila_lendvai joined #sbcl 2015-11-21T23:01:50Z attila_lendvai quit (Changing host) 2015-11-21T23:01:50Z attila_lendvai joined #sbcl 2015-11-21T23:02:22Z edgar-rft quit (Quit: edgar-rft) 2015-11-21T23:06:06Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-21T23:09:26Z stassats quit (Ping timeout: 260 seconds) 2015-11-21T23:12:33Z attila_lendvai joined #sbcl 2015-11-21T23:16:46Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-21T23:20:03Z attila_lendvai joined #sbcl 2015-11-21T23:28:06Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-21T23:34:54Z attila_lendvai joined #sbcl 2015-11-21T23:34:54Z attila_lendvai quit (Changing host) 2015-11-21T23:34:54Z attila_lendvai joined #sbcl 2015-11-21T23:37:18Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-11-21T23:37:57Z dougk2 quit (Ping timeout: 265 seconds) 2015-11-21T23:43:56Z lnostdal quit (Quit: Invest and trade anonymously: https://goo.gl/NwRDC2) 2015-11-21T23:53:35Z dougk2 joined #sbcl 2015-11-21T23:57:52Z nyef: What are we up to, .212 already? 2015-11-21T23:59:38Z nyef: Hrm. Can I get another 40 commits in before the next freeze period? 2015-11-22T00:00:05Z nyef: ... possibly. Maybe even probably. 2015-11-22T00:10:33Z scymtym_ quit (Ping timeout: 252 seconds) 2015-11-22T00:30:08Z karswell quit (Read error: Connection reset by peer) 2015-11-22T00:31:23Z nikki93 joined #sbcl 2015-11-22T00:35:24Z pkhuong: I have nfi why that doesn't work, but I definitely did not consider interaction with DX when I committed. 2015-11-22T00:59:39Z nikki93 quit (Remote host closed the connection) 2015-11-22T01:02:52Z DeadTrickster_ quit (Ping timeout: 276 seconds) 2015-11-22T01:16:34Z scymtym_ joined #sbcl 2015-11-22T01:40:05Z nyef quit (Ping timeout: 246 seconds) 2015-11-22T01:46:26Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-22T01:57:29Z scymtym_ quit (Ping timeout: 272 seconds) 2015-11-22T02:01:53Z nyef joined #sbcl 2015-11-22T02:16:32Z gingerale quit (Remote host closed the connection) 2015-11-22T03:38:24Z specbot quit (Disconnected by services) 2015-11-22T03:38:36Z ignotus quit (Ping timeout: 264 seconds) 2015-11-22T03:38:36Z luis quit (Ping timeout: 264 seconds) 2015-11-22T03:38:42Z angavrilov_ joined #sbcl 2015-11-22T03:39:01Z minion quit (Disconnected by services) 2015-11-22T03:39:05Z minion joined #sbcl 2015-11-22T03:39:10Z specbot joined #sbcl 2015-11-22T03:39:40Z pepol-otw joined #sbcl 2015-11-22T03:40:34Z whiteline_ joined #sbcl 2015-11-22T03:40:47Z scymtym_ joined #sbcl 2015-11-22T03:41:34Z christop1 joined #sbcl 2015-11-22T03:43:30Z ignotus joined #sbcl 2015-11-22T03:43:30Z ignotus quit (Changing host) 2015-11-22T03:43:30Z ignotus joined #sbcl 2015-11-22T03:44:05Z sigjuice_ joined #sbcl 2015-11-22T03:44:17Z Posterdati|2 joined #sbcl 2015-11-22T03:44:23Z luis` joined #sbcl 2015-11-22T03:45:02Z csziacobus quit (*.net *.split) 2015-11-22T03:45:05Z angavrilov quit (*.net *.split) 2015-11-22T03:45:05Z dougk_ quit (*.net *.split) 2015-11-22T03:45:07Z sigjuice quit (*.net *.split) 2015-11-22T03:45:07Z scymtym quit (*.net *.split) 2015-11-22T03:45:52Z whiteline quit (*.net *.split) 2015-11-22T03:45:53Z pepol quit (*.net *.split) 2015-11-22T03:45:53Z Posterdati quit (*.net *.split) 2015-11-22T03:45:55Z christoph_debian quit (*.net *.split) 2015-11-22T03:45:56Z Intensity quit (*.net *.split) 2015-11-22T03:45:57Z DeadTrickster quit (*.net *.split) 2015-11-22T03:46:03Z psy_ quit (*.net *.split) 2015-11-22T03:46:04Z ferada_ quit (*.net *.split) 2015-11-22T03:46:04Z DGASAU quit (*.net *.split) 2015-11-22T03:46:05Z mood quit (*.net *.split) 2015-11-22T03:46:07Z p_l quit (*.net *.split) 2015-11-22T03:46:07Z raeon quit (*.net *.split) 2015-11-22T03:46:12Z pepol-otw is now known as pepol 2015-11-22T03:52:01Z psilord quit (Ping timeout: 250 seconds) 2015-11-22T03:52:19Z dougk_ joined #sbcl 2015-11-22T03:52:53Z christop1 quit (Ping timeout: 250 seconds) 2015-11-22T03:52:53Z minion quit (Ping timeout: 250 seconds) 2015-11-22T03:52:54Z adhoc quit (Ping timeout: 250 seconds) 2015-11-22T03:54:42Z adhoc joined #sbcl 2015-11-22T03:55:59Z DeadTrickster joined #sbcl 2015-11-22T03:56:04Z psy_ joined #sbcl 2015-11-22T03:56:04Z ferada_ joined #sbcl 2015-11-22T03:56:04Z DGASAU joined #sbcl 2015-11-22T03:56:04Z mood joined #sbcl 2015-11-22T03:56:04Z p_l joined #sbcl 2015-11-22T03:56:04Z raeon joined #sbcl 2015-11-22T04:01:14Z minion joined #sbcl 2015-11-22T04:07:44Z christop1 joined #sbcl 2015-11-22T04:07:54Z psilord joined #sbcl 2015-11-22T07:16:12Z DeadTrickster_ joined #sbcl 2015-11-22T07:52:37Z gingerale joined #sbcl 2015-11-22T08:00:46Z Shinmera joined #sbcl 2015-11-22T08:10:57Z stassats joined #sbcl 2015-11-22T09:04:33Z scymtym joined #sbcl 2015-11-22T09:38:46Z stassats: i guess fixing sb-safepoint would be a good idea 2015-11-22T09:39:26Z stassats: which normally could be ignored, but windows has only safepoints 2015-11-22T09:43:23Z stassats: maybe it'd be good to see what happens to consing inside without-gcing outside of safepoints 2015-11-22T09:49:49Z stassats: ideally, hash-table shouldn't use without-gcing 2015-11-22T09:52:03Z stassats: but it would be better to crash if there is a problem consing inside without-gcing 2015-11-22T09:54:45Z luis` is now known as luis 2015-11-22T10:25:29Z lnostdal joined #sbcl 2015-11-22T10:25:36Z scymtym quit (Ping timeout: 272 seconds) 2015-11-22T11:00:18Z budden joined #sbcl 2015-11-22T11:02:24Z budden: Hi! I'm budden73, to discuss crashes of my load test 2015-11-22T11:02:55Z stassats: hi there 2015-11-22T11:03:32Z stassats: about to dive in into the safepoint/without-gcing problem 2015-11-22T11:03:39Z stassats: maybe it's actually caused by without-interrupts 2015-11-22T11:08:27Z stassats: maybe it's not causing your crashes, but it's long overdue for a fix, and it will eliminate at least one possibility] 2015-11-22T11:09:04Z stassats: and it'd be actually better convert that deadlock into a crash 2015-11-22T11:09:12Z stassats: at least it can be restarted/handled 2015-11-22T11:17:48Z Intensity joined #sbcl 2015-11-22T11:20:34Z stassats: calling backtrace_from_fp from gdb is a good idea 2015-11-22T11:20:56Z stassats: so, one of the thread is actually waiting inside sub-gc 2015-11-22T11:22:12Z stassats: actually, several threads are up to sub-gc 2015-11-22T11:22:14Z sjl quit (Ping timeout: 260 seconds) 2015-11-22T11:22:16Z stassats: how did that happen? 2015-11-22T11:22:59Z stassats: and one thread is calling stop the world, so the world stopped inside gc? 2015-11-22T11:23:01Z stassats: huh huh 2015-11-22T11:23:43Z sjl joined #sbcl 2015-11-22T11:26:28Z budden: Built 1.3.0 on Linux and started minimal thread. It served 1e6 threads, still didn't crash. AFAIR it never hang on Linux. It wrote messages on widetag and exhausted heap. 2015-11-22T11:26:57Z stassats: room was unsafe in the past 2015-11-22T11:27:17Z stassats: i built on linux with sb-safepoints, it hangs alright 2015-11-22T11:27:27Z budden: with room or without? 2015-11-22T11:27:54Z stassats: no, not your test, the test from the ticket 2015-11-22T11:28:20Z stassats: lp 1424031 2015-11-22T11:28:20Z specbot: https://bugs.launchpad.net/bugs/1424031 2015-11-22T11:36:56Z budden: Well, can I help the process or I only produce unnecessary noise? 2015-11-22T11:37:25Z edgar-rft joined #sbcl 2015-11-22T11:37:34Z stassats: that room thing is still interesting, maybe you can make a test case for linux? 2015-11-22T11:38:08Z stassats: since windows can't really be debugged before sb-safepoints are fixed 2015-11-22T11:38:19Z stassats: and sb-safepoint is mandatory on windows 2015-11-22T11:40:04Z budden: should I build SBCL with sb-safepoint on Linux for that? 2015-11-22T11:40:20Z stassats: no, no 2015-11-22T11:40:27Z stassats: that would just hang too 2015-11-22T11:44:38Z stassats: boy, i really don't get the safepoint state machine 2015-11-22T11:46:41Z budden: Should I try to minimize my example so that it won't have postgres but still prints "widetag #x72" message? 2015-11-22T11:47:25Z stassats: yeah, shouldn't be any external dependencies 2015-11-22T11:48:35Z brucem quit (Ping timeout: 240 seconds) 2015-11-22T11:50:10Z budden: Ok. I have to go soon. I started simplest test with (room) added on Linux, hope it will crash. If not, I'll continue tomorrow. 2015-11-22T11:52:33Z brucem joined #sbcl 2015-11-22T11:52:39Z stassats: so, it looks like safepoint hits sub-gc while it's under without-interrupts 2015-11-22T12:05:58Z stassats: all threads are waiting for something in gc_state_wait 2015-11-22T12:06:19Z stassats: obviously the state change won't happen if they are all waiting 2015-11-22T12:06:59Z rszeno joined #sbcl 2015-11-22T12:09:06Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-22T12:11:45Z stassats: trying with just two threads, not 8 2015-11-22T12:29:33Z budden: Time to go, sent you a mail. Prints #x72 to console. Depends on hunchentoot and drakma 2015-11-22T12:29:48Z stassats: trying it 2015-11-22T12:36:06Z budden quit (Ping timeout: 246 seconds) 2015-11-22T12:47:24Z stassats: no, i just don't get how sb-safepoint works 2015-11-22T12:47:38Z stassats: apparently, the authors didn't too 2015-11-22T12:48:22Z pkhuong: the STW protocol is crazy 2015-11-22T12:52:03Z stassats: one thread is stopping the world, another thread looks to be just exiting from gc 2015-11-22T12:53:50Z stassats: or just trapping on a safepoint, but the safepoint is in without-gcing, i think 2015-11-22T12:54:34Z stassats: why is there no such state machine for signals? can it be dispensed with? 2015-11-22T12:55:32Z stassats: i can understand it being complicated, but not complicated and broken 2015-11-22T12:56:39Z stassats: and i have no angle 2015-11-22T12:59:30Z stassats: reducing the number of those states sounds like a plan 2015-11-22T12:59:46Z stassats: just to "can i gc now?" 2015-11-22T13:05:14Z irsol quit (Ping timeout: 260 seconds) 2015-11-22T13:07:50Z stassats: ok, i give up again 2015-11-22T13:08:01Z stassats: the only conclusion i came to, rewriting this part 2015-11-22T13:08:56Z irsol joined #sbcl 2015-11-22T13:14:55Z stassats: how does sb-safepoint work for foreign calls and gengc? 2015-11-22T13:15:04Z stassats: is the whole lisp stack pinned? 2015-11-22T13:15:38Z pkhuong: same as non safepoint gencgc 2015-11-22T13:16:06Z stassats: there it can send signals 2015-11-22T13:17:52Z stassats: CSP is a poor name choice for the trap 2015-11-22T13:18:00Z stassats: C safe pointer, apparently 2015-11-22T13:23:23Z stassats: "On hypothetic platforms with threads and exact gc it is" 2015-11-22T13:25:01Z stassats: sig_stop_for_gc_handler just creates a fake_foreign_function_call on gengc and if it were in C 2015-11-22T13:27:39Z stassats: the foreign safepoint is tripped after an exit from a foreign function 2015-11-22T13:27:55Z stassats: not sure what happens to the lisp frames before it exits 2015-11-22T13:29:27Z pkhuong: they should be in a GC-able safe state 2015-11-22T13:29:45Z pkhuong: the whole foreign function call is a safe point. 2015-11-22T13:30:18Z stassats: but on gengc the function on the stack can be moved, can it return back to the right place? 2015-11-22T13:30:51Z pkhuong: that's really racy. I don't think so. 2015-11-22T13:31:17Z pkhuong: the top function is pinned, or we have to through an assembly routine 2015-11-22T13:31:48Z nyef: Function on the stack moving? That's why the Lisp code uses LRAs and the call-out / interrupt code uses the split CODE / offset form. 2015-11-22T13:32:14Z stassats: nyef: but gc can run concurrently with ff calls 2015-11-22T13:32:19Z stassats: so, what if it returns in the middle? 2015-11-22T13:32:34Z pkhuong: I think trampoline is the way to go. 2015-11-22T13:32:56Z nyef: Err? 2015-11-22T13:33:14Z nyef: A thread shouldn't be able to re-enter Lisp if the GC is running. 2015-11-22T13:33:40Z pkhuong: nyef: safe point. when we can't/don't want to interrupt code at arbitrary points, including in foreign call 2015-11-22T13:33:52Z pkhuong: the question is what happens when foreign calls return 2015-11-22T13:34:06Z pkhuong: it has to return to something controlled by SBCL that can look at the safepoint bits 2015-11-22T13:34:15Z stassats: well, maybe just move the check in call_into_c? 2015-11-22T13:34:15Z pkhuong: that something musn't move around 2015-11-22T13:34:22Z stassats: not into the call-out vop 2015-11-22T13:34:27Z pkhuong: yeah 2015-11-22T13:34:30Z stassats: call_into_c would stay put 2015-11-22T13:34:32Z nyef: Right, should be in call_into_c, just like the PA noise is. 2015-11-22T13:35:00Z stassats: ok, but that's a tangent, safepoints are currently broken everywhere anyway 2015-11-22T13:35:21Z stassats: nyef: just fixed foreign.test.sh on unlinkage-table 2015-11-22T13:35:29Z nyef: stassats: Thank you. 2015-11-22T13:35:34Z angavrilov_ quit (Remote host closed the connection) 2015-11-22T13:35:50Z stassats: tested by doing (delete :linkage-table *features*) (slad "output/sbcl.core") 2015-11-22T13:37:10Z stassats: so, rewriting safepoints, for lisp code, it should mimick what is done with signals, and something special for foreign calls 2015-11-22T13:37:49Z nyef: stassats: Ah. And I test by building --without-linkage-table, after having made it work properly. 2015-11-22T13:38:13Z stassats: need to check for gc inhibition, interrupt disablement, pa (except on sb-safepoint-strictly) 2015-11-22T13:39:35Z stassats: safepoints are basically delayed signals 2015-11-22T13:40:49Z stassats: maybe i can convert the deadlock into a crash in the meantime 2015-11-22T13:44:16Z stassats: maybe this is missing an else https://github.com/sbcl/sbcl/blob/master/src/runtime/interrupt.c#L942-L949 ? 2015-11-22T13:45:58Z stassats: tried that, no, doesn't help 2015-11-22T13:50:04Z DeadTrickster_ quit (Ping timeout: 265 seconds) 2015-11-22T13:50:25Z stassats: rewriting it is then, since i don't understand anything in safepoint.c, a clean rewrite of safepoints? 2015-11-22T13:50:39Z stassats: i would rather avoid that, but i see no other way forward 2015-11-22T13:51:53Z stassats: pkhuong: any idea regarding ((lambda () (declare (optimize debug)) (notevery #'null (coerce #(1) 'vector)))) and substitute-let-funargs? 2015-11-22T13:55:28Z pkhuong: no... 2015-11-22T13:55:54Z pkhuong: does it go away with a (funcall (lambda () ...)) ? 2015-11-22T13:56:50Z stassats: yes, but i think it's just an artifact of the fop compilation 2015-11-22T13:57:10Z stassats: if i put it inside a defun, either way crashes 2015-11-22T13:58:45Z stassats: a better test case: http://paste.lisp.org/display/160370 2015-11-22T13:59:38Z pkhuong: and debug is necessary to trigger bad codegen, obv 2015-11-22T14:00:01Z stassats: hrm, i removed the call to substitute-let-funargs, i get AVER: (SUBSETP END END-STACK) 2015-11-22T14:00:04Z stassats: long time no see 2015-11-22T14:03:53Z stassats: which also happened before substitute-let-funargs was introduced 2015-11-22T14:05:27Z stassats: ok, but can i trigger that with substitute-let-funargs intact? 2015-11-22T14:06:39Z stassats: i can? 2015-11-22T14:06:48Z stassats: bloody hell, this thing is broken 2015-11-22T14:08:22Z stassats: http://paste.lisp.org/display/160370#1 2015-11-22T14:11:28Z stassats: all are confused about XEPs 2015-11-22T14:17:23Z stassats: lp 1203260 2015-11-22T14:17:23Z specbot: https://bugs.launchpad.net/bugs/1203260 2015-11-22T14:22:48Z stassats: the patch from there works 2015-11-22T14:23:48Z stassats: sb-gmp sb-mpfr started failing on ppc 2015-11-22T14:24:23Z nyef: Are you with or without linkage-table? 2015-11-22T14:24:29Z stassats: without linkage-table 2015-11-22T14:24:35Z nyef: Because sb-gmp includes a reference to some undefined function, IIRC. 2015-11-22T14:25:01Z nyef: Or maybe it's a variable. One or the other. 2015-11-22T14:25:24Z nyef: And mpfr depends on gmp. 2015-11-22T14:25:36Z stassats: even with that patch, (SUBSETP END END-STACK) still happens after removing substitute-let-funargs 2015-11-22T14:33:17Z brucem quit (Changing host) 2015-11-22T14:33:17Z brucem joined #sbcl 2015-11-22T14:42:38Z dougk2 joined #sbcl 2015-11-22T15:13:58Z nyef: Okay, got my SPARC configured with its system controller on the network. That should help its stability. Now if I can do the same with my HPPA, I simplify serial port logistics and free up a power outlet. 2015-11-22T15:18:29Z Posterdati|2 quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2015-11-22T15:20:18Z Posterdati joined #sbcl 2015-11-22T15:21:15Z Posterdati quit (Client Quit) 2015-11-22T15:24:14Z Posterdati joined #sbcl 2015-11-22T15:24:59Z lnostdal quit (Ping timeout: 272 seconds) 2015-11-22T15:34:40Z nyef: Hrm. Guess it doesn't free up a power outlet after all. 2015-11-22T15:34:47Z nyef: Still, simpler serial port logistics. (-: 2015-11-22T15:38:25Z lnostdal joined #sbcl 2015-11-22T16:26:30Z psy_ quit (Ping timeout: 255 seconds) 2015-11-22T16:29:13Z DeadTrickster_ joined #sbcl 2015-11-22T16:37:27Z clique joined #sbcl 2015-11-22T16:45:51Z csziacobus joined #sbcl 2015-11-22T16:49:38Z nyef: ... Why the hell is the runtime doing SAP allocation instead of using a defined alien-callback to do the argument processing? 2015-11-22T16:50:06Z nyef: (I know one of the answers to this, but I'm curious to see if anyone can come up with more answers.) 2015-11-22T16:52:06Z hitecnologys quit (Ping timeout: 240 seconds) 2015-11-22T17:01:53Z stassats: well, you saw the state of alien callbacks 2015-11-22T17:02:38Z stassats: and when you port things, you don't really want to start with alien callbacks 2015-11-22T17:04:58Z nyef: Right, alien callbacks are unevenly distributed, for starters. 2015-11-22T17:07:02Z nyef: I'd really like for alien callbacks to be implemented using logic largely shared with alien funcall, so that if you get one of them right then it's a lot harder to have screwed up the other. 2015-11-22T17:15:49Z dougk2 quit (Ping timeout: 272 seconds) 2015-11-22T17:21:13Z dougk2 joined #sbcl 2015-11-22T17:42:34Z dougk2 quit (Ping timeout: 244 seconds) 2015-11-22T17:43:28Z clique left #sbcl 2015-11-22T17:58:19Z nyef: ... Well. I think I just found my next HPPA bug. 2015-11-22T17:58:58Z nyef: Current 32-bit Linux HPPA calling conventions pass at least the first floating-point value in a floating-point register. 2015-11-22T17:59:07Z nyef: What a concept, right? (-: 2015-11-22T18:10:05Z nyef: Yeah, nothing in call_into_c to compensate for this damage. At least now I can try to fix this. 2015-11-22T18:11:07Z dougk2 joined #sbcl 2015-11-22T18:43:02Z dougk2 quit (Ping timeout: 276 seconds) 2015-11-22T18:52:42Z rszeno quit (Quit: Leaving.) 2015-11-22T18:54:01Z nyef: Weird register convention, but I sortof see the logic behind it. 2015-11-22T18:54:25Z clique joined #sbcl 2015-11-22T18:55:40Z nyef: Two doubles are passed as %fr5 and %fr7, a double and a single are passed as %fr5 and %fr6L, a single and a double are passed as %fr4L and %fr7, and two singles are passed as %fr4L and %fr5L. 2015-11-22T18:56:03Z nyef: So, an odd twist to the mapping for doubles, and clear alignment effects. 2015-11-22T18:56:42Z nyef: I'll need to check for total number of FPRs used before it starts spilling to the stack, and interactions with integer arguments. 2015-11-22T18:57:15Z nyef: Although I'm fairly sure that this does NOT have the quirk where any floating-point values passed after the first integer argument are in integer registers or on the stack. 2015-11-22T19:08:09Z dougk2 joined #sbcl 2015-11-22T19:08:48Z nyef: I guess if it does have that quirk, I'll figure it out later. It's not like it'd be critical to get right during bootstrapping. 2015-11-22T19:33:32Z nyef: Hrm. single-regs are float-registers from 4 to 31 by 1. double-regs ditto. But this only accounts for HALF of the single-float registers in the system. 2015-11-22T19:33:52Z nyef: ... Doesn't seem to be any problem with this, at least for the moment. 2015-11-22T19:36:34Z dougk2 quit (Ping timeout: 250 seconds) 2015-11-22T19:39:25Z nyef: Hrm. printf(char *, int, float, double)... Oh, hell. It's mirrored! Okay, the float is promoted to a double because this is a variadic function. It's then loaded to %fr7, saved to the stack, and reloaded into %r23 and %r24. Then %r25 has to be the int, and %r26 the string... Yes, %r26 is the string. 2015-11-22T19:42:58Z nyef: This suggests several things, but the fact that it's a variadic function could easily be throwing things off. 2015-11-22T19:52:15Z lnostdal quit (Ping timeout: 272 seconds) 2015-11-22T19:58:33Z nyef: ... ENOMEM from mprotect()? That's neat. 2015-11-22T19:58:56Z nyef: LDB backtrace is dead. 2015-11-22T19:59:08Z stassats: poor thing 2015-11-22T19:59:35Z nyef: Don't even know where in target-2 it died. 2015-11-22T20:00:05Z nyef: Hrm. On second thought, looks like it's doing a bunch of pprinter setup? 2015-11-22T20:00:25Z stassats: gdb, get the address, look up in the cold-map 2015-11-22T20:00:52Z nyef: cheneygc, several collections through? 2015-11-22T20:01:16Z stassats: isn't pprinter set up before gc enabled? 2015-11-22T20:01:29Z nyef: Isn't GC enabled by the time we hit a cold REPL? 2015-11-22T20:01:47Z stassats: isn't pprinter set up before that? 2015-11-22T20:01:49Z irsol quit (Ping timeout: 250 seconds) 2015-11-22T20:02:14Z stassats: anyhow, component_ptr_from_pc then 2015-11-22T20:02:28Z irsol joined #sbcl 2015-11-22T20:02:36Z nyef: ... Nothing especially discontiguous about the contents of /proc//maps. 2015-11-22T20:03:36Z nyef: And /proc/meminfo says that I only have 7944276 kB free... I don't know if I should trust that or not, though. 2015-11-22T20:03:57Z lnostdal joined #sbcl 2015-11-22T20:05:42Z nyef: ... Repeatable, at least. 2015-11-22T20:06:47Z pkhuong: nyef: mapping too fragmented? 2015-11-22T20:06:49Z nyef: Looks like it might be blowing up in force-delayed-defbangmethods. 2015-11-22T20:06:59Z nyef: pkhuong: Cheneygc, so the mapping is entirely contiguous. 2015-11-22T20:07:41Z nyef: Might be something as "simple" as actually running out one of the dynamic spaces? 2015-11-22T20:08:33Z nyef: ... looks like I didn't kill DXing in this build... 2015-11-22T20:09:38Z nyef: Trying a build without one of the random hacks in my local tree, to see if I really managed to fix what it was covering up. 2015-11-22T20:12:37Z nyef: ... and annotating os_protect() so that I get to see what the parameters are when this happens. 2015-11-22T20:15:47Z stassats: gdb doesn't show? 2015-11-22T20:16:22Z nyef: I suppose it might, but too late to check now. 2015-11-22T20:17:23Z nyef: Has to be either set_auto_gc_trigger() or clear_auto_gc_trigger(), I think. 2015-11-22T20:17:43Z nyef: I wonder if the page size is right? 2015-11-22T20:19:50Z stassats quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2015-11-22T20:21:44Z scymtym joined #sbcl 2015-11-22T20:22:15Z nyef: Ah. 2015-11-22T20:22:27Z nyef: mprotect: 0x6417f000, ffe81000, 0 2015-11-22T20:22:38Z nyef: Guess where dynamic space ends? 2015-11-22T20:22:45Z nikki93 joined #sbcl 2015-11-22T20:25:42Z nyef: So, two bugs there. 2015-11-22T20:26:21Z nyef: One is that cheneygc isn't checking for this overflow and clamping the range. The other is that HPPA has the dynamic space size configured to be stupidly small. 2015-11-22T20:31:15Z clique quit (Quit: q) 2015-11-22T20:33:52Z dougk2 joined #sbcl 2015-11-22T20:37:50Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-22T20:37:50Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-11-22T20:49:57Z edgar-rft quit (Quit: edgar-rft) 2015-11-22T20:51:34Z nyef: Okay, cheneygc bug (possibly dependent on signedness of size_t) nailed. Now to fix the heap sizes. 2015-11-22T20:53:54Z dougk2 joined #sbcl 2015-11-22T20:54:19Z nyef: Also note: Peak dynamic space usage during a build is more than 64 megs. 2015-11-22T21:04:18Z nyef: Building contribs now. 2015-11-22T21:05:20Z nyef: At least one of the contribs has failed. 2015-11-22T21:06:17Z nyef: gmp failed, md5 passed. 2015-11-22T21:07:38Z nyef: Okay, failure list: sb-bsd-sockets, sb-gmp, sb-mpfr, sb-posix, sb-simple-streams, and sb-sprof. 2015-11-22T21:08:51Z attila_lendvai joined #sbcl 2015-11-22T21:21:45Z nyef: sb-bsd-sockets fails because it refers to hstrerror(), which doesn't exist. 2015-11-22T21:22:19Z nyef: (Apparently the new thing to do is gai_strerror()?) 2015-11-22T21:23:39Z nyef: And sb-posix dies because there's no getgrnam()? 2015-11-22T21:26:18Z nyef: Okay, so possibly stale ldso-stubs? 2015-11-22T21:28:45Z nyef: What the deuce? STATIC linked src/runtime/sbcl?!? 2015-11-22T21:29:22Z nyef: I guess that's next, then. 2015-11-22T21:29:26Z nyef: (Seriously? WTF?) 2015-11-22T21:30:39Z DeadTrickster_ quit (Ping timeout: 250 seconds) 2015-11-22T21:41:17Z nyef: At least it'd explain libc symbols not being found by dladdr(). 2015-11-22T21:48:45Z nyef: Better! Failing contribs are down to sb-gmp and sb-mpfr. 2015-11-22T21:52:18Z nyef sighs. 2015-11-22T21:52:30Z nyef: dead in fake_foreign_function_call. This looks familiar somehow. 2015-11-22T22:20:27Z lnostdal quit (Ping timeout: 272 seconds) 2015-11-22T22:28:45Z nyef: Also? The self-build is now building contribs. 2015-11-22T22:32:04Z dougk2 quit (Ping timeout: 265 seconds) 2015-11-22T22:32:13Z lnostdal joined #sbcl 2015-11-22T22:44:09Z nyef: So, test suite is still too broken to run, but self-build works. I'm calling that a pretty major win. (-: 2015-11-22T22:48:16Z stassats joined #sbcl 2015-11-22T22:48:22Z stassats: joy, another failed AVER 2015-11-22T22:48:29Z nyef: Oh? 2015-11-22T22:48:37Z stassats: see sbcl-bugs 2015-11-22T22:48:50Z nyef: Hrm. You know, I might not be subscribed to that. 2015-11-22T22:49:01Z stassats: (lambda (a b) (declare (optimize (safety 3)) (type (member vector 42) a)) (map a 'list (the (bit-vector *) b) "foo" #*)) 2015-11-22T22:50:04Z stassats: now, that's coming from SB-C::CONVERT-TYPE-CHECK 2015-11-22T22:50:07Z nyef: New, or existing? 2015-11-22T22:53:43Z stassats: no idea 2015-11-22T22:54:21Z stassats: probably something old newly uncovered 2015-11-22T22:56:23Z nyef: Mmm. 2015-11-22T22:57:04Z stassats: a lot of compiler bugs cropped up in the last couple of days 2015-11-22T22:58:00Z stassats: filter-lvar tries to splice in the value into the code generated for the type-check 2015-11-22T22:58:24Z stassats: bu SB-C::ENSURE-BLOCK-START fails with (AND (EQ (CTRAN-KIND START) INSIDE-BLOCK) (NOT (BLOCK-DELETE-P BLOCK))) 2015-11-22T22:58:58Z stassats: wher ctran is (node-prev (lvar-dest value-lvar-to-be-spliced-in)) 2015-11-22T22:59:18Z nyef: Sounds like you need to either BLOCK-START-CTRAN or check for deletedness? 2015-11-22T22:59:42Z stassats: but why does it reach there then? 2015-11-22T23:00:21Z stassats: generate-type-checks just walks the components, is it newly marked to be deleted? 2015-11-22T23:01:20Z nyef: Is it marked to be deleted at all? 2015-11-22T23:01:58Z stassats: well, it's an :inside-block 2015-11-22T23:02:12Z stassats: by the way, why the hell is AVER printed with ~a? 2015-11-22T23:02:44Z stassats: switched to ~s 2015-11-22T23:02:53Z stassats: failed AVER: (AND (EQ (SB-C::CTRAN-KIND SB-C::START) :INSIDE-BLOCK) (NOT (SB-C::BLOCK-DELETE-P BLOCK))) 2015-11-22T23:03:35Z nyef: Err... That says that it must not start a block? 2015-11-22T23:04:10Z stassats: coming from (node-ends-block (ctran-use ctran)) 2015-11-22T23:04:31Z stassats: so, (node-ends-block (ctran-use (node-prev (lvar-dest value-lvar-to-be-spliced-in)))) 2015-11-22T23:04:51Z nyef isn't even beginning to understand what's going on. 2015-11-22T23:04:56Z stassats: where block is (node-block (ctran-use (node-prev (lvar-dest value-lvar-to-be-spliced-in)))) 2015-11-22T23:06:53Z nyef: Oh, and we're possibly back on for getting everything moved over to gencgc next month. 2015-11-22T23:11:01Z nyef hacks run-tests.lisp to use the impure runner for the pure tests. 2015-11-22T23:12:13Z stassats: the deletion comes from SB-C::DELETE-LVAR-USE 2015-11-22T23:16:13Z stassats: which comes from SB-C::MAYBE-TERMINATE-BLOCK 2015-11-22T23:16:42Z stassats: If NODE doesn't return (i.e. return type is NIL), then terminate the block there, and link it to the component tail. 2015-11-22T23:17:13Z whiteline_ quit (Read error: Connection reset by peer) 2015-11-22T23:17:41Z eudoxia joined #sbcl 2015-11-22T23:19:33Z nyef: ... Do we have another case of spurious NIL return types? 2015-11-22T23:20:16Z stassats: coming from SB-C::CONSTRAIN-REF-TYPE 2015-11-22T23:20:51Z stassats: which derives the type 2015-11-22T23:22:58Z stassats: there is a possible type mismatch 2015-11-22T23:23:22Z stassats: the return-type for MAP is declared as (member vector 42) 2015-11-22T23:23:27Z eudoxia quit (Quit: Leaving) 2015-11-22T23:23:34Z stassats: so, if there is a branch, then one leg is dead 2015-11-22T23:27:28Z nyef: Fun: SVREF does upper bounds checking but not lower bounds checking. 2015-11-22T23:27:49Z stassats: is there a lower bound? 2015-11-22T23:27:59Z nyef: Lower bound should be 0, surely? 2015-11-22T23:28:07Z stassats: unsigned comparison? 2015-11-22T23:28:17Z nyef: That's what I'm thinking as a possibility. 2015-11-22T23:28:35Z stassats: i would be surprised if it checked for zero 2015-11-22T23:28:47Z stassats: well, i wouldn't be surprised, but i wouldn't be glad that it does 2015-11-22T23:28:49Z nyef: I wouldn't be surprised if it were using a signed compare. 2015-11-22T23:31:01Z stassats: so, map crashes, %map doesn't 2015-11-22T23:31:13Z stassats: must be some of the types left by the map defknown 2015-11-22T23:32:10Z nyef: Yup! Signed comparison it is. 2015-11-22T23:32:18Z nyef: Okay, I'll fix that after dinner. (-: 2015-11-22T23:33:41Z stassats: if some block is marked as being deleted, how come it has subsequent blocks? 2015-11-22T23:34:25Z stassats: or how come it poses as a previous block for something? 2015-11-22T23:43:20Z stassats: ok, it's from a DO loop 2015-11-22T23:43:30Z stassats: where it derives that only one iteration will succeed 2015-11-22T23:46:25Z stassats: so, why does it try to optimize such casts? 2015-11-22T23:46:41Z stassats: how far back should the cast look to know that it would be deleted too? 2015-11-22T23:46:55Z stassats: why isn't it marked as being deleted then? 2015-11-22T23:50:35Z stassats: ok, i think i may have some hooks into this issue 2015-11-22T23:50:38Z stassats: but not for tonight 2015-11-22T23:54:33Z nyef: Building with an unsigned array-bounds test now. 2015-11-22T23:55:47Z stassats quit (Ping timeout: 252 seconds) 2015-11-23T00:01:09Z lnostdal quit (Ping timeout: 272 seconds) 2015-11-23T00:01:24Z BabyBee joined #sbcl 2015-11-23T00:12:19Z lnostdal joined #sbcl 2015-11-23T00:21:10Z sjl quit (Read error: Connection reset by peer) 2015-11-23T00:21:26Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-23T00:21:49Z sjl joined #sbcl 2015-11-23T00:23:19Z lnostdal quit (Ping timeout: 272 seconds) 2015-11-23T00:25:08Z gingerale quit (Remote host closed the connection) 2015-11-23T00:29:04Z dougk2 joined #sbcl 2015-11-23T00:34:24Z lnostdal joined #sbcl 2015-11-23T00:37:38Z Bike quit (Quit: finally) 2015-11-23T01:07:18Z nikki93 quit (Remote host closed the connection) 2015-11-23T01:07:37Z nikki93 joined #sbcl 2015-11-23T01:12:09Z nyef: (/ -4 -4) => -1. 2015-11-23T01:17:04Z nikki93 quit (Remote host closed the connection) 2015-11-23T01:23:37Z nyef: (floor -4 -4) => -1, 0. But (funcall (compile nil '(lambda (x) (declare (fixnum x)) (floor x -4))) -4) => 1, 0. 2015-11-23T01:33:56Z nikki93 joined #sbcl 2015-11-23T01:36:18Z csziacobus: isn't the interpreter default for repl eval now? 2015-11-23T01:37:08Z nyef: Ah. I see why the compiled version is right. The compiler converted it to a negate-and-shift. 2015-11-23T01:43:23Z scymtym quit (Ping timeout: 264 seconds) 2015-11-23T01:49:25Z nyef: And confirmed, the TRUNCATE routine is doing something less than correct. 2015-11-23T03:20:03Z BabyBee quit 2015-11-23T04:49:41Z psy_ joined #sbcl 2015-11-23T05:32:44Z csziacobus quit (Quit: csziacobus) 2015-11-23T06:10:32Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-23T06:14:17Z dougk2 joined #sbcl 2015-11-23T06:24:05Z psy_ quit (Quit: Leaving) 2015-11-23T06:38:38Z dougk2 quit (Ping timeout: 260 seconds) 2015-11-23T07:19:55Z ASau quit (Ping timeout: 240 seconds) 2015-11-23T07:25:15Z sjl quit (Ping timeout: 240 seconds) 2015-11-23T07:48:30Z Bicyclidine joined #sbcl 2015-11-23T08:04:38Z sjl joined #sbcl 2015-11-23T08:05:46Z Xof: (* 2 3) 2015-11-23T08:08:47Z edgar-rft joined #sbcl 2015-11-23T08:14:19Z jlarocco quit (Quit: Leaving) 2015-11-23T08:15:48Z stassats joined #sbcl 2015-11-23T08:27:57Z gingerale joined #sbcl 2015-11-23T08:49:11Z jlarocco joined #sbcl 2015-11-23T08:54:37Z angavrilov joined #sbcl 2015-11-23T09:00:55Z ccl-logbot joined #sbcl 2015-11-23T09:00:55Z 2015-11-23T09:00:55Z names: ccl-logbot DeadTrickster_ angavrilov jlarocco gingerale stassats edgar-rft sjl Bicyclidine lnostdal irsol Posterdati brucem Intensity psilord christop1 minion raeon p_l mood DGASAU ferada_ DeadTrickster adhoc dougk_ luis sigjuice_ ignotus scymtym_ pepol specbot nyef pootler nimiux_ chu jozip loke igajsin1 kanru flip214 carvite fe[nl]ix reb`````` pkhuong Ober Xof jdz jackdaniel Quadrescence PuercoPop foom dsp__ nicdev yvm jackc-_ salva frankS2 |3b| easye 2015-11-23T09:00:55Z names: abbe yauz phcrist drmeister Blkt dim les antoszka akkad chris2 derrida fikusz White_Flame dustinm`_ jsnell 2015-11-23T09:32:42Z loke quit (Ping timeout: 260 seconds) 2015-11-23T09:42:08Z edgar-rft quit (Quit: edgar-rft) 2015-11-23T09:45:08Z loke joined #sbcl 2015-11-23T09:55:10Z loke quit (Ping timeout: 240 seconds) 2015-11-23T09:56:42Z Cymew joined #sbcl 2015-11-23T09:57:40Z jlarocco quit (Quit: Leaving) 2015-11-23T09:59:19Z jlarocco joined #sbcl 2015-11-23T10:07:56Z loke joined #sbcl 2015-11-23T10:26:32Z dsp__ is now known as dsp- 2015-11-23T10:35:45Z lnostdal quit (Ping timeout: 272 seconds) 2015-11-23T10:45:50Z stassats: Linus about the new kernel rc `And parisc I can't find it in myself to worry too much about: I happily challenge any parisc user to prove me wrong and show how the new feature causes a regression. "Come at me, parisc bro".' 2015-11-23T10:47:58Z lnostdal joined #sbcl 2015-11-23T10:53:41Z attila_lendvai joined #sbcl 2015-11-23T10:53:41Z attila_lendvai quit (Changing host) 2015-11-23T10:53:41Z attila_lendvai joined #sbcl 2015-11-23T10:59:06Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-23T11:09:38Z loke: stassats: What? Where? 2015-11-23T11:11:44Z nimiux_ is now known as nimiux 2015-11-23T11:30:43Z edgar-rft joined #sbcl 2015-11-23T11:42:58Z ZabaQ joined #sbcl 2015-11-23T11:55:33Z lnostdal quit (Ping timeout: 272 seconds) 2015-11-23T11:57:20Z hitecnologys joined #sbcl 2015-11-23T12:08:02Z lnostdal joined #sbcl 2015-11-23T12:21:33Z suihkulokki joined #sbcl 2015-11-23T12:40:22Z stassats: (incf *reoptimize-after-type-check-max*) 2015-11-23T12:40:25Z stassats: the aver goes away 2015-11-23T12:41:00Z stassats: ;; We delay the generation of type checks until the type constraints have had time to propagate, else the compiler can confuse itself. 2015-11-23T12:41:07Z stassats: the compiler can confuse itself 2015-11-23T12:41:08Z stassats: no shit 2015-11-23T12:45:48Z stassats: this from SB-C::IR1-PHASES 2015-11-23T12:54:46Z stassats: the call that fails: (GENERATE-TYPE-CHECKS #) 2015-11-23T12:55:37Z stassats: looks like it's never a good idea to call generate-type-checks on non reanalyzed components 2015-11-23T12:56:04Z stassats: previously generate-type-checks just issued vops, which didn't disturb the component much 2015-11-23T12:56:58Z stassats: should *reoptimize-after-type-check-max* be abandoned? 2015-11-23T12:57:52Z stassats: and it's used in a strange fashion, it actually delays generate-type-checks, and not what the name says 2015-11-23T13:03:50Z stassats: made a build with *reoptimize-after-type-check-max* removed altogether, built fine 2015-11-23T13:04:27Z stassats: pkhuong: maybe you know something about this? 2015-11-23T13:15:39Z stassats: ok, just looping until it says nothing to reoptimize doesn't work 2015-11-23T13:16:54Z stassats: so, it should be more selective, checking for :maybe vs t in component-reoptimize 2015-11-23T13:17:30Z dougk2 joined #sbcl 2015-11-23T13:18:40Z nyef: G'morning all. 2015-11-23T13:19:44Z stassats: component-reoptimize being T says "means that reoptimization is necessary" 2015-11-23T13:21:09Z stassats: so, say using some limit to reoptimize when it's :maybe 2015-11-23T13:21:23Z stassats: now, is component-reanalyze mandatory too 2015-11-23T13:21:28Z stassats: or component-new-functionals, or component-reanalyze-functionals 2015-11-23T13:22:54Z dougk2 quit (Ping timeout: 255 seconds) 2015-11-23T13:34:54Z stassats: here's what i came up with http://paste.lisp.org/display/160510 2015-11-23T13:35:18Z stassats: minus typos 2015-11-23T13:35:48Z edgar-rft quit (Quit: edgar-rft) 2015-11-23T13:37:31Z stassats: that didn't work, ; Lisp error during constant folding: ; The function SB!KERNEL:UNSIGNED-BYTE-64-P is undefined. 2015-11-23T13:37:34Z stassats: or is it too good now? 2015-11-23T13:41:25Z nyef: What the... 2015-11-23T13:42:28Z nyef: ... the branch MISSED?!? 2015-11-23T13:42:56Z dougk2 joined #sbcl 2015-11-23T13:42:57Z nyef: How the hell are things working so well if branch computation is broken?!? 2015-11-23T13:43:15Z stassats: accidentally? 2015-11-23T13:45:01Z stassats: ok, i think my patch exposes more staff and sb-kernel:unsigned-byte-64-p is foldable, as opposed to check-type in the past 2015-11-23T13:45:20Z nyef: Hrm. Or using the debugger is messing things up. 2015-11-23T13:49:59Z nyef: Oh! 2015-11-23T13:50:57Z nyef: Okay, there's an extra instruction getting executed. 2015-11-23T13:51:09Z stassats: a delay slot? 2015-11-23T13:51:40Z nyef: In this case, yes. 2015-11-23T13:52:24Z nyef: I need to specify nullification on a compare-and-branch instruction. 2015-11-23T13:52:54Z nyef: So, I was right, in a way, about what was going on, just not about what was causing it. 2015-11-23T13:53:14Z stassats: nyef: alpha does have an SB-KERNEL:UNSIGNED-BYTE-64-P vop? 2015-11-23T13:53:49Z stassats: or was it for arrays? 2015-11-23T13:54:25Z nyef: Is there an easy way to tell without having the system running? 2015-11-23T13:55:19Z stassats: looks like it only has the unsigned-byte-64 primitive type 2015-11-23T13:55:44Z nyef: Okay, HPPA build running, that frees up my attention for a bit. 2015-11-23T13:56:18Z stassats: added some folding stubs, compiling 2015-11-23T13:57:27Z stassats: internal error 31 2015-11-23T13:58:49Z stassats: why can't the cross compiler properly produce errors? 2015-11-23T13:58:57Z stassats: it's The value # is not of type VALUES-TYPE. 2015-11-23T14:01:52Z stassats: so, generate-type-checks doesn't like components even with component-reoptimize :maybe 2015-11-23T14:03:47Z stassats: how come only generate-type-checks falls victim of unreananlyzed components? 2015-11-23T14:04:42Z suihkulokki left #sbcl 2015-11-23T14:04:59Z nyef: Is it only that, or have you just not found a case where something else breaks? 2015-11-23T14:05:44Z stassats: ok, got a build 2015-11-23T14:05:58Z stassats: just in time to get some work stuff done with it 2015-11-23T14:06:10Z stassats: if cffi will manage to load this time 2015-11-23T14:06:20Z stassats: well 2015-11-23T14:06:30Z stassats: that was earlier failed AVER: (NOT (CAST-TYPE-CHECK NODE)) 2015-11-23T14:06:59Z stassats: SB-C::IR2-CONVERT-CAST # # 2015-11-23T22:38:38Z stassats: no traps either? 2015-11-23T22:39:55Z nyef: Right, no longer blowing out the error recursion thing with FLOATING-POINT-INVALID-OPERATION traps. 2015-11-23T22:40:21Z sjl joined #sbcl 2015-11-23T22:40:25Z nyef: Ah. Got the big and little endian cases backwards for set-floating-point-modes. 2015-11-23T22:40:49Z stassats: arm usually has no trapping hardware 2015-11-23T22:41:23Z stassats: can't imagine what the rationale for that can be 2015-11-23T22:42:47Z dougk2_ quit (Ping timeout: 246 seconds) 2015-11-23T22:42:57Z nyef: Simplifies the hardware? 2015-11-23T22:43:13Z stassats: by two transistors? 2015-11-23T22:43:23Z dougk2 joined #sbcl 2015-11-23T22:43:33Z stassats: maybe four 2015-11-23T22:44:14Z nyef: Hey, transistors were expensive at one time! 2015-11-23T22:44:35Z stassats: i mean, it even has a division instruction now 2015-11-23T22:44:48Z stassats: luxury 2015-11-23T22:45:21Z nyef: I'll say! Especially given what I went through last night trying to figure out that TRUNCATE issue on HPPA! 2015-11-23T22:45:41Z stassats: (integer division, of course) 2015-11-23T22:46:17Z nyef: I shudder to think what division is going to be like on a 64-bit HPPA port. 2015-11-23T22:46:27Z nyef: The divide-step instruction is purely 32-bit. 2015-11-23T22:46:36Z nyef: And uses a SIGNED divisor. 2015-11-23T22:46:53Z foom: *some* ARMs have fp traps. 2015-11-23T22:47:28Z stassats: foom: nobody seems to ship those 2015-11-23T22:48:45Z foom: Why would they bother? Nobody ever enables fp traps after all. :) 2015-11-23T22:56:10Z nyef: Hrm. I wonder if I can get a faster HPPA. These self-build times are a bit frustrating. 2015-11-23T22:56:36Z stassats: no wonder, it's just one horse power 2015-11-23T22:56:46Z gargaml quit (Quit: WeeChat 1.3) 2015-11-23T22:58:45Z nyef: Better than the 3/5 horse power of my current MIPS system, or the 2/3 horse power of my current Alpha. d-: 2015-11-23T23:00:57Z attila_lendvai joined #sbcl 2015-11-23T23:03:05Z lnostdal quit (Ping timeout: 272 seconds) 2015-11-23T23:05:12Z nyef: But yeah, I could do with another half-horsepower at least... Or having a multi-threaded build process might be nice, since I have a couple of cores here. 2015-11-23T23:05:27Z nyef: (Not that I have thread support here yet, but it'd be something to work towards.) 2015-11-23T23:06:24Z sjl quit (Read error: Connection reset by peer) 2015-11-23T23:07:01Z sjl joined #sbcl 2015-11-23T23:10:09Z jlarocco quit (Quit: Leaving) 2015-11-23T23:11:06Z sjl quit (Ping timeout: 240 seconds) 2015-11-23T23:14:32Z lnostdal joined #sbcl 2015-11-23T23:14:52Z sjl joined #sbcl 2015-11-23T23:20:55Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-23T23:23:46Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-23T23:26:08Z ASau joined #sbcl 2015-11-23T23:38:29Z DeadTrickster_: scymtym_, ping 2015-11-23T23:38:41Z DeadTrickster_: scymtym_, more cryptic error messages: http://pastebin.com/yeTxYUnf 2015-11-23T23:39:04Z whiteline quit (Remote host closed the connection) 2015-11-23T23:40:32Z stassats: what's so cryptic about it? that vector has no zeroth element 2015-11-23T23:41:22Z DeadTrickster_: stassats, usually people expect something like "index 1 is not valid for zero-length vector" 2015-11-23T23:41:24Z DeadTrickster_: not (THE (INTEGER 0 (0)) SB-INT:INDEX) 2015-11-23T23:41:24Z DeadTrickster_: is 2015-11-23T23:41:24Z DeadTrickster_: 0, 2015-11-23T23:41:24Z DeadTrickster_: not a 2015-11-23T23:41:24Z DeadTrickster_: NIL. 2015-11-23T23:41:38Z DeadTrickster_: NIL? 2015-11-23T23:42:53Z DeadTrickster_: stassats, I spent 2 or 3 hours today trying to find that NIL 2015-11-23T23:43:53Z stassats: NIL is the type 2015-11-23T23:43:57Z stassats: an empty type 2015-11-23T23:44:07Z stassats: so, 0 is not of the type NIL 2015-11-23T23:45:46Z stassats: DeadTrickster_: otherwise, even 1 and 5 error message is bad 2015-11-23T23:46:16Z stassats: and the way it's printed, ugh 2015-11-23T23:46:51Z sjl quit (Read error: Connection reset by peer) 2015-11-23T23:47:06Z sjl__ joined #sbcl 2015-11-23T23:51:30Z DeadTrickster_: stassats, it reminds me that join-same-thread error reporting scymtym_ fixed for me 2015-11-23T23:52:31Z sjl__ quit (Read error: Connection reset by peer) 2015-11-23T23:52:33Z sjl joined #sbcl 2015-11-23T23:53:09Z stassats: compare (let () (aref (make-array 3) (eval 5))) and (let () (aref (eval (make-array 3)) (eval 5))) 2015-11-23T23:53:30Z stassats: so, whatever AREF expands to shouldn't use THE for the type-check 2015-11-23T23:54:02Z stassats: will look at it tomorrow 2015-11-23T23:54:22Z nyef sighs. 2015-11-23T23:54:44Z DeadTrickster: and <3 :-) 2015-11-23T23:54:50Z nyef: Okay, got the float traps working more-or-less right. Now I'm running into instruction encoding limits for things again. 2015-11-23T23:54:54Z stassats: so, (sb-kernel:%check-bound array derived-length index) plus truly-the 2015-11-23T23:55:11Z DeadTrickster: stassats, second variant looks better 2015-11-23T23:55:35Z stassats: just to check that it produces a compile-time error in case of a mismatch 2015-11-23T23:56:36Z stassats: huh, %check-bound can be transformed to THE 2015-11-23T23:56:45Z stassats: so, that's actually coming from it? 2015-11-23T23:57:39Z DeadTrickster_: %compile-time-type-error 2015-11-23T23:57:41Z stassats: it does, so, it's even easier 2015-11-23T23:58:00Z stassats: but, first, some r&r 2015-11-24T00:01:04Z DeadTrickster_: stassats, at least let zero-length case generate the same warning at compile-time 2015-11-24T00:01:05Z sjl quit (Read error: Connection reset by peer) 2015-11-24T00:01:20Z sjl__ joined #sbcl 2015-11-24T00:03:38Z stassats quit (Ping timeout: 246 seconds) 2015-11-24T00:12:50Z nyef: Heh. Was checking in /proc/cpuinfo on my CPU speed, and noticed that it said "P8600", and my first thought was "wait, I thought that this was my Mac Mini, not my HPPA box". Took me a little bit to realize that it was a Core(TM)2 Duo, as opposed to a PA8800 (Mako). 2015-11-24T00:13:42Z nyef: Also, I'm clearly being punished for only having DDR3 and spinning platters in this machine instead of something faster and an SSD. 2015-11-24T00:15:54Z nyef: Yeah, ten-minute build times. Definitely punishment for cheaping out on the system build. 2015-11-24T00:28:50Z nyef quit (Ping timeout: 240 seconds) 2015-11-24T00:41:37Z nyef joined #sbcl 2015-11-24T00:55:28Z jlarocco joined #sbcl 2015-11-24T00:56:27Z dougk2 joined #sbcl 2015-11-24T01:11:39Z foom quit (Ping timeout: 240 seconds) 2015-11-24T01:15:55Z ehaliewicz joined #sbcl 2015-11-24T01:25:01Z foom joined #sbcl 2015-11-24T01:53:52Z DeadTrickster_ quit (Ping timeout: 244 seconds) 2015-11-24T03:03:37Z Intensity quit (Ping timeout: 244 seconds) 2015-11-24T03:04:44Z rszeno joined #sbcl 2015-11-24T03:06:51Z Intensity joined #sbcl 2015-11-24T03:20:07Z rszeno quit (Quit: Leaving.) 2015-11-24T03:41:51Z dougk2 quit (Ping timeout: 244 seconds) 2015-11-24T03:53:50Z csziacobus quit (Quit: csziacobus) 2015-11-24T04:38:26Z dougk2 joined #sbcl 2015-11-24T04:43:07Z dougk2 quit (Ping timeout: 265 seconds) 2015-11-24T04:51:38Z ehaliewicz quit (Remote host closed the connection) 2015-11-24T06:48:54Z flip214: nyef: how much RAM? perhaps a tmpfs would work? 2015-11-24T07:53:21Z edgar-rft joined #sbcl 2015-11-24T08:18:19Z stassats joined #sbcl 2015-11-24T08:27:35Z Cymew joined #sbcl 2015-11-24T09:05:15Z ASau quit (Ping timeout: 240 seconds) 2015-11-24T09:08:07Z Xof: I'm getting unexpected failure in the threads.impure.lisp test lurking-threads, sometimes 2015-11-24T09:15:59Z scymtym_: Xof: i'm rarely seeing those as well. e.g. the most recent build had one instance in 18 configurations: https://ci.cor-lab.org/job/sbcl-master/lastCompletedBuild/testReport/ 2015-11-24T09:17:06Z scymtym_: but iirc, it has been like this since i started running the tests 2015-11-24T09:22:29Z Xof: ok 2015-11-24T09:28:54Z gingerale joined #sbcl 2015-11-24T09:33:18Z gingerale quit (Ping timeout: 250 seconds) 2015-11-24T09:36:15Z gingerale joined #sbcl 2015-11-24T09:48:25Z stassats: got "Index 5 out of bounds for (SIMPLE-VECTOR 3), should be nonnegative and <3." for (let () (aref (make-array 3) (eval 5))) 2015-11-24T09:48:48Z stassats: but now (let () (aref (make-array 3) 5)) doesn't produce a compile-time warning 2015-11-24T09:54:50Z pepol left #sbcl 2015-11-24T10:05:03Z stassats: because i %invalid-array-index-error is marked as return NIL and truly-the isn't reached 2015-11-24T10:06:24Z stassats: marking it as T works, but the compile-time error is still bogus, Derived type of SB-INT:INDEX is (VALUES (INTEGER 5 5) &OPTIONAL), conflicting with its asserted type (MOD 3). 2015-11-24T10:07:11Z stassats: would be great to have "Derived type of index X is out of bounds for (SIMPLE-VECTOR 3)" 2015-11-24T10:08:06Z stassats: i could transform check-bound to that directly, but is the type already well derived by then? 2015-11-24T10:15:09Z DeadTrickster_ joined #sbcl 2015-11-24T10:24:13Z stassats: it will produce a deletion note, but i'm still really want a concrete error message 2015-11-24T10:29:30Z DeadTrickster_: where can I find instruction on building sbcl on windows? http://sbcl-internals.cliki.net/Build is down (blank screen) 2015-11-24T10:29:48Z stassats: it's ./make.sh 2015-11-24T10:29:57Z DeadTrickster_: so cygwin? 2015-11-24T10:30:08Z stassats: preferably, no 2015-11-24T10:31:01Z DeadTrickster_: mingw? 2015-11-24T10:31:10Z stassats: preferably, yes 2015-11-24T10:31:56Z DeadTrickster_: thanks 2015-11-24T10:31:59Z rszeno joined #sbcl 2015-11-24T10:34:42Z DeadTrickster_: last mingw version is 2013-something, not cool 2015-11-24T10:34:52Z stassats: use msys2.0 2015-11-24T10:34:58Z stassats: with mingw64w 2015-11-24T10:35:06Z stassats: or w64 2015-11-24T10:42:38Z ASau joined #sbcl 2015-11-24T10:42:59Z DeadTrickster_: wow startup time is so much shorter on windows 2015-11-24T10:43:31Z stassats: you don't have quicklisp on windows? 2015-11-24T10:44:29Z DeadTrickster_: thats right 2015-11-24T10:44:39Z stassats: that's why it seems faster then 2015-11-24T10:44:58Z scymtym_: DeadTrickster_: try --no-userinit on both systems 2015-11-24T10:45:23Z stassats: after a semi-gross hack i have: 2015-11-24T10:46:17Z stassats: (lambda () (let () (aref (make-array 3) 5))) Derived type of (VALUES (INTEGER 5 5) &OPTIONAL) is not a suitable index for (SIMPLE-VECTOR 3). 2015-11-24T10:46:36Z stassats: and (aref (make-array 3) (eval 5)) is Index 5 out of bounds for (SIMPLE-VECTOR 3), should be nonnegative and <3. 2015-11-24T10:47:21Z stassats: the latter was previously The value 5 is not of type (MOD 3). 2015-11-24T10:47:44Z stassats: and the former ; Derived type of SB-INT:INDEX is (VALUES (INTEGER 5 5) &OPTIONAL), conflicting with its asserted type (MOD 3). 2015-11-24T10:48:08Z DeadTrickster_: why messages have to be different ? 2015-11-24T10:48:21Z stassats: which ones? 2015-11-24T10:48:31Z stassats: probably because they mean different things? 2015-11-24T10:50:37Z DeadTrickster_: but both forms trying to do the same - access vector element using invalid index 2015-11-24T10:50:53Z stassats: one is a compiler warning 2015-11-24T10:51:26Z DeadTrickster_: so runtime errors will look same? 2015-11-24T10:51:33Z stassats: sure 2015-11-24T10:52:31Z DeadTrickster_: also (let ((array (make-array 0))) (aref array 0)) doesn't generate compler warning at all now 2015-11-24T10:52:55Z DeadTrickster_: this was probably the most confusing 2015-11-24T10:54:09Z DeadTrickster_: stassats, also I would like to ask about error type - %compile-time-type-error why not use invalid-array-index-error? 2015-11-24T10:54:32Z stassats: not sure what you mean 2015-11-24T10:56:49Z DeadTrickster_: (aref (eval (make-array 3)) (eval 5)) at runtime signals invalid-array-index-error while (let ((array (make-array 0))) (aref array 0)) signals SB-C::%COMPILE-TIME-TYPE-ERROR 2015-11-24T10:58:12Z stassats: because it's a type mismatch 2015-11-24T10:58:18Z edgar-rft quit (Quit: edgar-rft) 2015-11-24T10:58:21Z stassats: not an index error 2015-11-24T10:58:48Z stassats: anyhow (let ((array (make-array 0))) (aref array 0)) now warns twice 2015-11-24T10:59:03Z stassats: Derived type (MOD 4611686018427387901) is not a suitable index for ARRAY. first, and then Derived type (INTEGER 0 0) is not a suitable index for (SIMPLE-VECTOR 0). 2015-11-24T10:59:16Z stassats: well, better than no warnings, but two may too much 2015-11-24T11:04:09Z stassats: it can actually warn three times, that's not good 2015-11-24T11:05:35Z DeadTrickster_: so i installed msys2 installed make and gcc. now it asks for sbcl I have msi packaged binary installed and i downloaded binary archive for x86-64 what to do next? how to install sbcl binary inside msys2 environment? 2015-11-24T11:05:55Z stassats: it should just pick it up 2015-11-24T11:06:57Z DeadTrickster_: sadly it doesn't "make-host-1.sh: line 34: sbcl: command not found 2015-11-24T11:07:54Z stassats: you'll need to either start a new msys terminal or a new session 2015-11-24T11:48:01Z stassats: ok, multiple warnings issue solved 2015-11-24T11:48:09Z lnostdal quit (Ping timeout: 272 seconds) 2015-11-24T11:49:13Z sjl__ quit (Read error: Connection reset by peer) 2015-11-24T11:49:53Z sjl joined #sbcl 2015-11-24T11:54:15Z stassats: had to add a CHECK-BOUND transform, so that it can transform to %check-bound while wrapping the index with TRULY-THE 2015-11-24T12:00:08Z lnostdal joined #sbcl 2015-11-24T12:08:19Z stassats: so, here's what i got http://paste.lisp.org/display/160643#2 2015-11-24T12:16:02Z DeadTrickster_: looks good 2015-11-24T12:16:50Z edgar-rft joined #sbcl 2015-11-24T12:17:36Z dougk2 joined #sbcl 2015-11-24T12:23:11Z rszeno quit (Quit: Leaving.) 2015-11-24T12:27:59Z sjl quit (Read error: Connection reset by peer) 2015-11-24T12:29:05Z sjl joined #sbcl 2015-11-24T13:13:59Z DeadTrickster_ quit (Ping timeout: 250 seconds) 2015-11-24T13:15:05Z dim: hi 2015-11-24T13:15:09Z dim: https://buildd.debian.org/status/package.php?p=pgloader 2015-11-24T13:15:22Z sjl quit (Read error: Connection reset by peer) 2015-11-24T13:15:42Z dim: we have build failures on arm64 and armhf, with logs when you click on Build-Attempted, such as https://buildd.debian.org/status/fetch.php?pkg=pgloader&arch=arm64&ver=3.2.2%2Bdfsg-1&stamp=1447698756 2015-11-24T13:15:59Z sjl joined #sbcl 2015-11-24T13:16:11Z dim: is anyone interested into understanding why sbcl builds pgloader just fine on x64 and i386 but fails for arm* architectures? 2015-11-24T13:17:50Z stassats: not sbcl's fault 2015-11-24T13:20:28Z dim: fair enough, how do I fix it? it builds on the other platforms... 2015-11-24T13:23:26Z stassats: is pgloader in quicklisp? 2015-11-24T13:24:49Z dim: yes 2015-11-24T13:25:03Z Shinmera joined #sbcl 2015-11-24T13:25:10Z dim: the current code is at https://github.com/dimitri/pgloader, there's a stable tag in Quicklisp 2015-11-24T13:26:22Z stassats: i bet lparallel is broken on -sb-thread 2015-11-24T13:28:51Z stassats: anyhow, lparallel builds fine on arm64 2015-11-24T13:29:48Z stassats: and pgloader as a whole builds fine 2015-11-24T13:35:42Z Xof: the next thing that happens is loading src/hooks.lisp 2015-11-24T13:59:56Z attila_lendvai joined #sbcl 2015-11-24T13:59:56Z attila_lendvai quit (Changing host) 2015-11-24T13:59:56Z attila_lendvai joined #sbcl 2015-11-24T14:07:54Z dim: back, sorry for interruption 2015-11-24T14:08:17Z dim: I guess I missed some messages (my znc proxy doesn't keep them all for some reason) 2015-11-24T14:17:43Z dim: Xof: so what about src/hooks.lisp? 2015-11-24T14:18:23Z dim: or rather, is there anything interesting for you guys in there? 2015-11-24T14:24:17Z Xof: I was replying to stassats 2015-11-24T14:24:31Z Xof: it's not clear from your transcript whether the error occurs while loading pgloader, or when doing the next thing 2015-11-24T14:33:09Z dim: loading pgloader yeah 2015-11-24T14:33:29Z dim: https://github.com/dimitri/pgloader/blob/master/debian/rules 2015-11-24T14:33:45Z dim: you can see there that override_dh_auto_build terminates with the buildapp command 2015-11-24T14:33:54Z dim: and we have this output: 2015-11-24T14:33:54Z dim: debian/rules:31: recipe for target 'override_dh_auto_build' failed 2015-11-24T14:33:59Z dim: in the build log 2015-11-24T14:34:24Z dim: so yeah the problem is when loading pgloader, the next step being buildapp doing save-lisp-image-and-die basically 2015-11-24T14:48:37Z stassats: dim: why is asdf being reloaded? 2015-11-24T14:48:43Z stassats: why is there no output produced? 2015-11-24T15:01:02Z Cymew quit (Ping timeout: 246 seconds) 2015-11-24T15:19:49Z sjl quit (Read error: Connection reset by peer) 2015-11-24T15:20:20Z sjl joined #sbcl 2015-11-24T15:30:49Z ZabaQ joined #sbcl 2015-11-24T15:33:30Z sjl quit (Read error: Connection reset by peer) 2015-11-24T15:34:23Z Xof: dim: how do you know it is when loading pgloader? 2015-11-24T15:34:48Z Xof: maybe --load-system pgloader has completed, and it's while loading src/hooks.lisp that is breaking? 2015-11-24T15:35:02Z sjl joined #sbcl 2015-11-24T15:35:10Z Xof: that is what I was trying to tell stassats 2015-11-24T15:36:27Z stassats: Xof: it said "in /usr/share/common-lisp/source/lparallel/src/cons-queue.lisp" 2015-11-24T15:36:55Z stassats: but a) it reloads asdf producing a lot of bogus warnings, b) it eats any useful output 2015-11-24T15:42:17Z Xof: right, but that looks like it's trying to execute code, not just compile 2015-11-24T15:42:18Z Xof: anyway 2015-11-24T15:57:22Z dougk2 quit (Ping timeout: 265 seconds) 2015-11-24T15:58:02Z Xof: bleah. Wretched map-allocated-objects and interpreted functions 2015-11-24T16:09:22Z psy_ joined #sbcl 2015-11-24T16:20:56Z joshe joined #sbcl 2015-11-24T16:57:25Z psilord quit (Quit: Leaving.) 2015-11-24T16:58:51Z DeadTrickster quit (Read error: No route to host) 2015-11-24T16:59:10Z DeadTrickster joined #sbcl 2015-11-24T17:00:48Z scymtym joined #sbcl 2015-11-24T17:10:56Z ZabaQ quit (Quit: Leaving) 2015-11-24T17:28:14Z adhoc quit (Ping timeout: 260 seconds) 2015-11-24T17:33:07Z dougk2 joined #sbcl 2015-11-24T17:49:46Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-24T17:58:08Z DeadTrickster_ joined #sbcl 2015-11-24T18:01:55Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-24T18:23:44Z dougk2 joined #sbcl 2015-11-24T18:49:57Z dougk2 quit (Ping timeout: 272 seconds) 2015-11-24T18:52:22Z rpg joined #sbcl 2015-11-24T19:16:52Z dougk2 joined #sbcl 2015-11-24T19:29:37Z rszeno joined #sbcl 2015-11-24T19:37:37Z rszeno quit (Quit: Leaving.) 2015-11-24T19:38:56Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-24T19:45:03Z dougk2 joined #sbcl 2015-11-24T20:00:38Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-24T20:05:35Z dougk2 joined #sbcl 2015-11-24T20:24:20Z dougk2_ joined #sbcl 2015-11-24T20:24:55Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-24T20:41:14Z dougk2_ quit (Ping timeout: 246 seconds) 2015-11-24T20:42:03Z nyef: Hrm. I think I need to free up GR1 for use as an interior-pointer. 2015-11-24T20:42:34Z stassats: there isn't one? 2015-11-24T20:42:52Z nyef: There is, GR31, the return-address register. 2015-11-24T20:43:02Z stassats: why more? 2015-11-24T20:43:43Z nyef: But the ADDIL (add immediate left) instruction adds a left-justified 21-bit constant to a given source register, storing the result in GR1. 2015-11-24T20:44:36Z stassats: can't it just be a non-descriptor then? 2015-11-24T20:44:58Z nyef: Useful when you need to do a load with a constant displacement that is outside the signed 14-bit range of the normal memory access instructions. 2015-11-24T20:45:45Z nyef: No, it can't be a non-descriptor, because the main use-case I have for it is things like accessing the constants vector. 2015-11-24T20:46:31Z stassats: there are no register-offset loads? 2015-11-24T20:46:47Z nyef: Or possibly the stack frame. Managed to scare up an extra three bits for frame displacements, at least. 2015-11-24T20:48:00Z nyef: If I do a register+register load, it takes two instructions to get one of the registers prepped, and I'm trying to do this from a MOVE-function, so it has to be some register that I can clobber without notice to the register allocator. 2015-11-24T20:51:12Z nyef: If I can use GR1 like this, then it's one instruction to prep the register, and then I use the usual load with the lower bits of the offset. 2015-11-24T20:51:53Z stassats: is wiring one register worth saving one instruction? 2015-11-24T20:52:34Z stassats: in some cases, at that 2015-11-24T20:55:27Z nyef: I don't know. 2015-11-24T20:56:49Z nyef: And then I still need a usable register, even if it's not an interior-pointer. 2015-11-24T20:57:40Z nyef: I suppose I can use LRA for that, though, since it's not going to be holding anything important, and the displacements should be less than the start of read-only-space. 2015-11-24T20:58:38Z stassats: non-descriptor is fare more usable 2015-11-24T20:58:39Z stassats: far 2015-11-24T21:01:55Z nyef: Except that much of the time I'm in a context where I can't declare that I need a temporary register, I need something that's universally wired and not holding any critical data at the time. 2015-11-24T21:02:50Z stassats: i used a non-descriptor register on arm64 for macros and whatnot 2015-11-24T21:02:53Z stassats: makes things easier 2015-11-24T21:03:12Z stassats: also for passing the number of bytes to allocate for alloc_tramp 2015-11-24T21:04:04Z stassats: nyef: you can't declare that you don't need it though 2015-11-24T21:05:19Z dougk2 joined #sbcl 2015-11-24T21:06:06Z nyef: I wonder if I could gimmick scavenge_interrupt_context() to treat GR1 as an interior-pointer IIF the preceding instruction is an ADDIL and the current instruction uses GR1 as an input? 2015-11-24T21:06:22Z stassats: too tricky 2015-11-24T21:06:29Z nyef: Should work, but yeah, too cutesy. 2015-11-24T21:06:30Z stassats: look where that got sparc 2015-11-24T21:06:55Z nyef: ... heading straight for the designation of "least maintained SBCL backend"? 2015-11-24T21:07:31Z stassats: as in https://bugs.launchpad.net/sbcl/+bug/1248181 2015-11-24T21:09:31Z csziacobus joined #sbcl 2015-11-24T21:12:30Z nyef: Seems more like a Solaris issue than a SPARC issue, but yeah. 2015-11-24T21:12:45Z nyef: Actually, many ports encode stuff into their trap words or close by. 2015-11-24T21:13:07Z nyef: Even for allocation overflow traps. 2015-11-24T21:13:21Z stassats: for errors, sure, but this is the normal code path 2015-11-24T21:13:37Z nyef: If it's broken for one, it's broken for the other. 2015-11-24T21:14:09Z stassats: errors can survive bad trap information 2015-11-24T21:16:52Z stassats: gc probably wouldn't like that either 2015-11-24T21:18:08Z adhoc joined #sbcl 2015-11-24T21:18:09Z stassats: if safepoints weren't crooked, we could get rid of signals altogether 2015-11-24T21:20:15Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-24T21:20:41Z stassats: does jvm use signals? 2015-11-24T21:21:31Z nyef: What do we need P-A for, anyway? 2015-11-24T21:22:01Z nyef: Even if we do signals, getting rid of P-A might be a win. 2015-11-24T21:24:26Z stassats: for bumping the allocation pointer 2015-11-24T21:26:02Z nyef: But that's basically it, isn't it? That, and the transitions between lisp and C? 2015-11-24T21:26:38Z stassats: i'm actually not convinced it's needed for that 2015-11-24T21:26:54Z stassats: i mean, what does it do that FFCA doesn't? 2015-11-24T21:27:26Z nyef: The problem is that some platforms store critical (mutable) state in registers, so you'd need to load them and set FFCA as an atomic operation. 2015-11-24T21:27:44Z nyef: We're moving away from that pattern, but it's still the case. 2015-11-24T21:29:09Z nyef: I think that I can probably get rid of P-A on gencgc targets. 2015-11-24T21:32:03Z stassats: how do you solve the issue of an interrupt allocating something? 2015-11-24T21:32:27Z nyef: Why would it be a problem? 2015-11-24T21:32:42Z gingerale quit (Remote host closed the connection) 2015-11-24T21:32:48Z stassats: you to atomically bump the allocation pointer and check that it doesn't overflow 2015-11-24T21:32:51Z stassats: need 2015-11-24T21:32:56Z jlarocco_work joined #sbcl 2015-11-24T21:33:09Z stassats: exchange and add does only the first part 2015-11-24T21:33:53Z nyef: Right, the allocation sequence would be the hard part. 2015-11-24T21:34:44Z stassats: oh, and that it has to have the right lowtag 2015-11-24T21:36:10Z stassats: so, we actually need PA to bump the allocation pointer and to tag the result 2015-11-24T21:36:25Z stassats: can't really see a way past it 2015-11-24T21:36:27Z nyef: Also to initialize the object header. 2015-11-24T21:36:43Z stassats: well, it can live being zeroed 2015-11-24T21:36:56Z stassats: just a bunch of 0 conses, then it's just one memory store 2015-11-24T21:37:02Z nyef: Not if a GC occurs. 2015-11-24T21:37:41Z dougk2 joined #sbcl 2015-11-24T21:43:40Z foom: If you could reliably get the instruction pointer of the sequence being interrupted, GC could notice it had interrupted an allocation sequence without a PA bit being set. :) 2015-11-24T21:44:23Z stassats: parsing x86 instructions backwards? dunno 2015-11-24T21:44:57Z nyef: I think that we can get rid of P-A without needing to do anything in terms of parsing the instruction stream. 2015-11-24T21:45:33Z stassats: well, a PA map in the debug function 2015-11-24T21:45:52Z foom: stassats: yea, i was thinking comparing IP, not actually parsing instructions. 2015-11-24T21:49:15Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-24T21:49:57Z stassats: i was thinking about debug fun maps for encoding error arguments too 2015-11-24T21:50:17Z stassats: just a sequence of CCCCCCCCCCCCCCCCC 2015-11-24T21:50:22Z nyef: And I'm thinking that the required information should be entirely contained in the allocation region structure. 2015-11-24T21:51:03Z stassats: well, a misaligned pointer? like on cheneygc? 2015-11-24T21:51:35Z nyef: No, something a bit more sprodden out. 2015-11-24T21:52:05Z nyef: I haven't been able to find my notes on this from when I originally came up with the idea, unfortunately. 2015-11-24T21:56:42Z dougk2 joined #sbcl 2015-11-24T22:11:23Z nyef: Okay, I think I finally might have some more progress made on the test suite. Had to extend the range on all of the stack address computations in call and nlx from 11 to 14 bits (signed), but it allows more test cases to run. 2015-11-24T22:27:39Z edgar-rft quit (Quit: edgar-rft) 2015-11-24T22:32:10Z nyef: ... lambda-list.pure.lisp, mop.pure.lisp, and seq.impure.lisp now run without unhandled errors. 2015-11-24T22:32:14Z rpg_ joined #sbcl 2015-11-24T22:33:24Z nyef: I think that that's a win. 2015-11-24T22:33:46Z nyef: Even if we can't have stack frames over about 16KB. 2015-11-24T22:34:43Z rpg quit (Ping timeout: 250 seconds) 2015-11-24T22:37:32Z nyef: Hrm. Maybe 8KB. 2015-11-24T22:44:55Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-24T22:46:28Z dougk2 joined #sbcl 2015-11-24T22:50:57Z rpg_ quit (Quit: rpg_) 2015-11-24T22:53:20Z rpg joined #sbcl 2015-11-24T22:53:53Z rpg quit (Client Quit) 2015-11-24T22:56:32Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-11-24T23:10:15Z yvm quit (Ping timeout: 240 seconds) 2015-11-24T23:31:35Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-24T23:39:50Z rpg joined #sbcl 2015-11-24T23:40:59Z rpg quit (Read error: Connection reset by peer) 2015-11-24T23:41:02Z rpg_ joined #sbcl 2015-11-24T23:42:12Z dougk2 joined #sbcl 2015-11-24T23:46:48Z attila_lendvai joined #sbcl 2015-11-24T23:46:48Z attila_lendvai quit (Changing host) 2015-11-24T23:46:48Z attila_lendvai joined #sbcl 2015-11-24T23:52:10Z lnostdal_ joined #sbcl 2015-11-24T23:55:46Z lnostdal quit (Ping timeout: 240 seconds) 2015-11-24T23:57:31Z rpg_ quit (Quit: rpg_) 2015-11-25T00:07:53Z stassats quit (Ping timeout: 250 seconds) 2015-11-25T00:11:41Z scymtym quit (Ping timeout: 272 seconds) 2015-11-25T00:17:26Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-25T00:19:55Z DeadTrickster_ quit (Ping timeout: 240 seconds) 2015-11-25T00:21:49Z dougk2 quit (Ping timeout: 272 seconds) 2015-11-25T00:27:49Z dougk2 joined #sbcl 2015-11-25T01:06:26Z adhoc quit (Ping timeout: 265 seconds) 2015-11-25T01:07:35Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-25T01:38:12Z dougk2 joined #sbcl 2015-11-25T01:40:24Z rpg joined #sbcl 2015-11-25T01:42:00Z rpg quit (Client Quit) 2015-11-25T01:44:31Z dougk2 quit (Ping timeout: 250 seconds) 2015-11-25T01:51:08Z dougk2 joined #sbcl 2015-11-25T01:52:58Z adhoc joined #sbcl 2015-11-25T02:04:16Z psilord joined #sbcl 2015-11-25T02:09:22Z dougk2 quit (Read error: Connection reset by peer) 2015-11-25T02:10:39Z dougk2 joined #sbcl 2015-11-25T02:14:15Z adhoc quit (Ping timeout: 240 seconds) 2015-11-25T02:24:01Z dougk2 quit (Ping timeout: 276 seconds) 2015-11-25T02:35:00Z dougk2 joined #sbcl 2015-11-25T02:39:11Z adhoc joined #sbcl 2015-11-25T02:45:35Z adhoc quit (Ping timeout: 246 seconds) 2015-11-25T02:47:25Z adhoc joined #sbcl 2015-11-25T03:01:09Z kanru quit (Read error: Connection reset by peer) 2015-11-25T03:06:19Z kanru joined #sbcl 2015-11-25T04:38:47Z nicdev quit (Remote host closed the connection) 2015-11-25T04:39:25Z nicdev joined #sbcl 2015-11-25T05:04:40Z csziacobus quit (Quit: csziacobus) 2015-11-25T05:29:05Z kanru quit (Remote host closed the connection) 2015-11-25T05:30:16Z kanru joined #sbcl 2015-11-25T06:06:40Z psilord quit (Remote host closed the connection) 2015-11-25T06:18:06Z igajsin1 joined #sbcl 2015-11-25T06:35:56Z pkhuong: nyef: we can get rid of PA by using (unlocked) read-modify-write instructions to allocate 2015-11-25T06:36:08Z pkhuong: I benchmarked it on x86. no difference. 2015-11-25T06:37:52Z pkhuong: there's a window where you have allocated k 0 bytes, but don't have a header or tagged pointer yet. I wound up pinning the page that the allocation pointer points to (+ exceptions) 2015-11-25T06:38:30Z pkhuong: use an unlocked cmpxchg 2015-11-25T06:43:32Z dougk2_ joined #sbcl 2015-11-25T06:45:52Z dougk2_: pkhuong: i think i tried the same with 'xadd'. You can save 1 byte in the encoding 2015-11-25T06:46:41Z pkhuong: dougk2_: yeah, but overflow handling is harder 2015-11-25T06:46:42Z dougk2 quit (Ping timeout: 260 seconds) 2015-11-25T06:46:51Z dougk2_: true, a little harder. 2015-11-25T06:59:12Z psy_ quit (Remote host closed the connection) 2015-11-25T07:04:18Z DeadTrickster_ joined #sbcl 2015-11-25T07:04:35Z dougk2_ quit (Ping timeout: 252 seconds) 2015-11-25T07:16:49Z Shinmera joined #sbcl 2015-11-25T07:47:01Z jlarocco quit (Read error: Connection reset by peer) 2015-11-25T08:07:26Z ASau` joined #sbcl 2015-11-25T08:10:46Z ASau quit (Ping timeout: 240 seconds) 2015-11-25T08:11:06Z stassats joined #sbcl 2015-11-25T08:18:47Z loke quit (Ping timeout: 246 seconds) 2015-11-25T08:31:42Z Cymew joined #sbcl 2015-11-25T08:31:53Z loke joined #sbcl 2015-11-25T08:40:23Z dim: Xof: oh, I see what you mean... the src/hooks.lisp file is doing things at the top-level indeed, albeit not much: trying to make the --self-upgrade option work by attempting to register already loaded systems so that ASDF doesn't try to load them again at run-time, but that fails miserably anyway 2015-11-25T08:57:45Z White_Flame: whee, new hardware. sbcl's make.sh run in 12min 10sec now 2015-11-25T08:58:07Z stassats: new? 2015-11-25T08:58:30Z White_Flame: new to me, had some questionable reliability on the older box 2015-11-25T08:58:43Z stassats: 12 minutes is really slow, though 2015-11-25T08:59:03Z White_Flame: yeah, most of it seems single-thread bound, but at least it's on a nvme drive now 2015-11-25T08:59:10Z White_Flame: i7-6700k 2015-11-25T08:59:12Z loke quit (Ping timeout: 255 seconds) 2015-11-25T08:59:20Z stassats: no 2015-11-25T08:59:23Z stassats: that can't be right 2015-11-25T08:59:36Z White_Flame: oh, with clisp as bootstrap; that's likely very important 2015-11-25T08:59:38Z stassats: i have 4770k, it takes 2 minutes 20 seconds 2015-11-25T08:59:53Z stassats: oh hell, who uses clisp to bootstrap? 2015-11-25T09:00:15Z White_Flame: clean install, don't want package system provided SBCL hanging around anywhere 2015-11-25T09:01:07Z jlarocco joined #sbcl 2015-11-25T09:09:13Z yvm joined #sbcl 2015-11-25T09:12:13Z Bicyclidine quit (Quit: leaving) 2015-11-25T09:13:02Z loke joined #sbcl 2015-11-25T09:24:12Z gargaml joined #sbcl 2015-11-25T09:28:27Z ZabaQ joined #sbcl 2015-11-25T09:35:47Z dougk2 joined #sbcl 2015-11-25T09:52:31Z dougk2 quit (Ping timeout: 252 seconds) 2015-11-25T09:56:28Z attila_lendvai joined #sbcl 2015-11-25T09:56:28Z attila_lendvai quit (Changing host) 2015-11-25T09:56:28Z attila_lendvai joined #sbcl 2015-11-25T10:04:25Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-25T10:20:35Z ASau` quit (Ping timeout: 246 seconds) 2015-11-25T12:06:00Z edgar-rft joined #sbcl 2015-11-25T12:24:44Z stassats quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2015-11-25T12:50:05Z DGASAU quit (Read error: Connection reset by peer) 2015-11-25T12:50:28Z DGASAU joined #sbcl 2015-11-25T13:15:07Z edgar-rft quit (Quit: edgar-rft) 2015-11-25T13:41:46Z dougk2 joined #sbcl 2015-11-25T14:00:15Z sjl quit (Ping timeout: 244 seconds) 2015-11-25T14:29:10Z attila_lendvai joined #sbcl 2015-11-25T14:29:10Z attila_lendvai quit (Changing host) 2015-11-25T14:29:10Z attila_lendvai joined #sbcl 2015-11-25T14:33:30Z dougk2 quit (Ping timeout: 260 seconds) 2015-11-25T14:33:45Z sjl joined #sbcl 2015-11-25T14:37:05Z psy_ joined #sbcl 2015-11-25T14:37:44Z psy_ quit (Max SendQ exceeded) 2015-11-25T14:38:07Z psy_ joined #sbcl 2015-11-25T14:53:34Z dougk2 joined #sbcl 2015-11-25T14:58:06Z nyef: Hrm... Pulling a lot of "unaligned access" messages from the kernel. 2015-11-25T15:29:26Z rpg joined #sbcl 2015-11-25T15:32:44Z edgar-rft joined #sbcl 2015-11-25T16:14:58Z nyef: ... And I think I may finally have nailed the issues that I was having with the float structure slots. 2015-11-25T16:16:42Z csziacobus joined #sbcl 2015-11-25T16:19:32Z gingerale joined #sbcl 2015-11-25T16:20:16Z dougk2 quit (Ping timeout: 244 seconds) 2015-11-25T16:36:04Z Bicyclidine joined #sbcl 2015-11-25T16:46:02Z nyef: Typical: double-float-whatever-bits doesn't look like it'll work right on a little-endian system. 2015-11-25T16:49:09Z nyef: Hrm. Okay, didn't get the issue nailed properly, but at least I'm back where I started. 2015-11-25T16:56:20Z Cymew quit (Ping timeout: 276 seconds) 2015-11-25T17:10:48Z scymtym_: Xof: are you going to overhaul the extensible sequences code? 2015-11-25T17:21:42Z sjl quit (Ping timeout: 250 seconds) 2015-11-25T17:44:30Z dougk2 joined #sbcl 2015-11-25T17:50:43Z nyef: Oh, FFS. Did this EVER work right? 2015-11-25T17:58:46Z sjl joined #sbcl 2015-11-25T17:59:43Z nyef: Preliminary indication is "no". And thus the question arises, "does it work right ANYWHERE?" 2015-11-25T18:05:23Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-25T18:14:09Z nyef: Hrm. Okay, I take that back, this looks almost reasonable. 2015-11-25T18:25:51Z dougk2 joined #sbcl 2015-11-25T18:27:14Z Xof: scymtym_: I'll at least fix the adjust-sequence problem 2015-11-25T18:28:27Z Xof: (I have a fix for the pretty-arglist problem, too, though it's not complete) 2015-11-25T18:29:46Z scymtym_: Xof: iirc, i did some work in that area. i can probably rebase on top of your fix. 2015-11-25T18:44:30Z DGASAU quit (Read error: Connection reset by peer) 2015-11-25T18:56:45Z DGASAU joined #sbcl 2015-11-25T18:56:55Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-25T19:20:54Z dougk2 joined #sbcl 2015-11-25T19:32:35Z rpg quit (Quit: rpg) 2015-11-25T19:33:06Z ZabaQ quit (Ping timeout: 240 seconds) 2015-11-25T19:42:31Z pkhuong: nyef: might just work on soft float arms :x 2015-11-25T19:57:15Z nyef: Aha! I think I may just have gotten a lead on my bug. 2015-11-25T20:00:37Z nyef: And, yes, I managed to find something that would explain the symptoms. 2015-11-25T20:01:43Z lnostdal_ quit (Ping timeout: 272 seconds) 2015-11-25T20:13:13Z lnostdal_ joined #sbcl 2015-11-25T20:13:36Z rpg joined #sbcl 2015-11-25T20:14:16Z gingerale quit (Remote host closed the connection) 2015-11-25T20:15:14Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-25T20:21:09Z dougk2 joined #sbcl 2015-11-25T20:23:53Z lnostdal_ quit (Ping timeout: 272 seconds) 2015-11-25T20:25:15Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-25T20:26:33Z rpg quit (Quit: rpg) 2015-11-25T20:32:43Z rpg joined #sbcl 2015-11-25T20:33:07Z rpg_ joined #sbcl 2015-11-25T20:34:15Z dougk2 joined #sbcl 2015-11-25T20:35:51Z lnostdal_ joined #sbcl 2015-11-25T20:37:03Z rpg quit (Ping timeout: 244 seconds) 2015-11-25T20:44:15Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-25T20:45:22Z nyef: Should we have a constraint that a double-float in an unboxed struct slot is in host word order, or does it just not matter? 2015-11-25T20:48:43Z dougk2 joined #sbcl 2015-11-25T20:51:16Z rpg_ quit (Quit: rpg_) 2015-11-25T20:57:25Z pkhuong: nyef: hopefully we don't support mixed endian floats 2015-11-25T20:57:42Z pkhuong: if so, I think that's true of every platform SBCL runs on 2015-11-25T20:58:28Z nyef: I suspect that unboxed struct slots can occasionally end up with their own layout for double-floats. 2015-11-25T20:58:58Z pkhuong: that would make loading/storing doubles really annoying? 2015-11-25T20:59:39Z scymtym joined #sbcl 2015-11-25T20:59:50Z nyef: Not necessarily annoying, but probably silly. 2015-11-25T21:03:55Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-25T21:07:10Z dougk2 joined #sbcl 2015-11-25T21:17:34Z nyef: Hrm. -0.0 => 0.0 ? 2015-11-25T21:20:12Z nyef: But -3.0 => -3.0. 2015-11-25T21:20:39Z nyef: And (make-single-float #x-80000000) => -0.0, which means that it's the reader screwing up somehow. 2015-11-25T21:26:06Z gargaml quit (Quit: WeeChat 1.3) 2015-11-25T21:40:38Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-25T21:42:36Z rpg joined #sbcl 2015-11-25T22:05:13Z ASau joined #sbcl 2015-11-25T22:15:51Z fikusz quit (Read error: Connection reset by peer) 2015-11-25T22:24:09Z nyef: Hunh. 68 elements. And LIST-or-LIST* had a limit of 64 CONSes. I think I have that up to 512 in this build, but... Eesh. What's call-arg-limit, again? (-: 2015-11-25T22:24:43Z fikusz joined #sbcl 2015-11-25T22:32:54Z rpg quit (Quit: rpg) 2015-11-25T22:43:13Z lnostdal_ quit (Ping timeout: 272 seconds) 2015-11-25T22:50:54Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-11-25T22:55:01Z lnostdal_ joined #sbcl 2015-11-25T23:10:35Z nyef: And then it turns around and does the same thing on the heap, not just the stack. And P-A had the same bloody limit for :EXTRA. 2015-11-25T23:13:48Z ferada_ is now known as ferada 2015-11-25T23:19:15Z nyef: Okay, why would READ be unable read a negative float value properly? 2015-11-25T23:22:26Z pkhuong: nyef: what does (- 0.0) return? 2015-11-25T23:22:38Z nyef: Also 0.0. 2015-11-25T23:22:46Z pkhuong: broken asm or broken architecture 2015-11-25T23:23:17Z nyef: But I can (sb-kernel:make-single-float #x-80000000) to get a -0.0. 2015-11-25T23:23:20Z pkhuong: yeah. 2015-11-25T23:23:35Z pkhuong: the code sequence we use for %negate doesn't handle IEEE correctly 2015-11-25T23:23:55Z pkhuong: if we subtract from 0, for example... 2015-11-25T23:24:44Z nyef: Which looks like EXACTLY what we're doing. 2015-11-25T23:26:29Z nyef: Guess I'll sub in an FNEG instead of an FSUB. 2015-11-25T23:27:15Z pkhuong: ... not sure how I feel about blindly debugging FP codegen ;) 2015-11-25T23:27:45Z nyef: Hrm. The instruction isn't supported in the assembler? 2015-11-25T23:28:59Z nyef: Damn. 2015-11-25T23:29:18Z nyef: It's a 2.0 instruction, not a 1.1 instruction. 2015-11-25T23:30:00Z pkhuong: could multiply by -1, if xor isn't an option 2015-11-25T23:30:44Z nyef: Yes, (* -1.0 0.0) => -0.0, so that's a start. 2015-11-25T23:30:58Z nyef: Don't have an immediate constant for that, though. 2015-11-25T23:33:49Z pkhuong: and no inline constant 2015-11-25T23:34:11Z karswell quit (Read error: Connection reset by peer) 2015-11-25T23:34:26Z karswell joined #sbcl 2015-11-25T23:34:46Z nyef: And no register-to-float-register moves. Every data interaction between the FPU and the CPU is via memory. 2015-11-25T23:35:31Z pkhuong: do doubles have to be aligned as well? 2015-11-25T23:35:34Z pkhuong: this is going to be fun. 2015-11-25T23:36:31Z nyef: Yeah. But now that I know what's going wrong, I can fix it. Thank you. 2015-11-25T23:49:00Z nyef: ... hash.impure.lisp now runs. Yay. 2015-11-26T00:04:28Z scymtym quit (Ping timeout: 272 seconds) 2015-11-26T00:09:32Z DeadTrickster_ quit (Ping timeout: 272 seconds) 2015-11-26T00:19:29Z lnostdal_ quit (Ping timeout: 272 seconds) 2015-11-26T00:31:58Z lnostdal_ joined #sbcl 2015-11-26T00:47:59Z lnostdal_ quit (Ping timeout: 272 seconds) 2015-11-26T00:59:26Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-26T00:59:43Z lnostdal_ joined #sbcl 2015-11-26T01:01:22Z edgar-rft quit (Quit: edgar-rft) 2015-11-26T01:17:02Z salva quit (Ping timeout: 260 seconds) 2015-11-26T01:19:31Z salva joined #sbcl 2015-11-26T01:30:46Z salva quit (Ping timeout: 240 seconds) 2015-11-26T01:33:44Z salva joined #sbcl 2015-11-26T01:47:06Z dougk2 joined #sbcl 2015-11-26T01:47:31Z loke quit (Ping timeout: 272 seconds) 2015-11-26T01:51:56Z salva quit (Ping timeout: 276 seconds) 2015-11-26T01:55:47Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-26T01:56:04Z salva joined #sbcl 2015-11-26T01:56:49Z dougk2 joined #sbcl 2015-11-26T02:00:18Z loke joined #sbcl 2015-11-26T02:10:42Z nyef: Hey, if I've got a function in hand, is there an easy way to look at the constants vector for the code component? 2015-11-26T02:24:56Z nyef: ... Lovely. The compiler somehow thinks that it can use the designated floating-point-zero register for both positive and negative zero. 2015-11-26T02:26:31Z nyef: Must be the use of ZEROP to determine if it's a candidate for an immediate constant. 2015-11-26T02:26:51Z nyef: Ah! Alpha is smarter about it. Good. 2015-11-26T02:40:40Z dougk2 quit (Ping timeout: 276 seconds) 2015-11-26T02:43:17Z npatrick04 joined #sbcl 2015-11-26T03:07:12Z dougk2 joined #sbcl 2015-11-26T03:14:58Z dougk2 quit (Ping timeout: 260 seconds) 2015-11-26T03:25:36Z phcrist quit (Remote host closed the connection) 2015-11-26T03:26:19Z phcrist joined #sbcl 2015-11-26T04:12:25Z sjl quit (Read error: Connection reset by peer) 2015-11-26T04:13:09Z sjl joined #sbcl 2015-11-26T04:41:41Z lnostdal_ quit (Ping timeout: 272 seconds) 2015-11-26T04:53:56Z nyef: How's this for dreadful? If %NEGATE operates by subtraction-from-zero, it won't produce a negative-zero. And if it operates by multiplication by -1, it triggers an overflow condition for some inputs. 2015-11-26T04:54:40Z lnostdal_ joined #sbcl 2015-11-26T04:54:52Z nyef: Therefore, either: Compare the input to zero, and use that to decide which implementation strategy to use. Or write the value out to the stack, read it up into an integer register, flip the sign bit, write it back out to the stack, and reload it to the float register. 2015-11-26T04:55:26Z nyef: I'm not sure which version is more dreadful. Is there a third option? 2015-11-26T04:59:03Z loke: nyef: Isn't there a dedicated NEGATE FPU instruction? 2015-11-26T05:00:03Z nyef: Only in PA-RISC 2.0. Which I have, but SBCL is explicitly PA-RISC 1.1 compatible. 2015-11-26T05:00:21Z loke: Oh, we're talking PA. 2015-11-26T05:00:44Z loke: Does PA use IEEE floats? 2015-11-26T05:00:58Z nyef: Yes. 2015-11-26T05:01:07Z loke: Then can't you just XOR the sign-bit? 2015-11-26T05:01:17Z nyef: That was strategy two, above. 2015-11-26T05:01:49Z loke: You can't do bit-fiddling on FP registers in PA? 2015-11-26T05:02:02Z nyef: You can't flip the bit while it's in the FPU, it doesn't have the operation for it. And you can't transfer directly between the FPU and the CPU. 2015-11-26T05:02:09Z loke: Oooh, I see 2015-11-26T05:02:15Z loke: Well that sucks. 2015-11-26T05:02:28Z loke: Compare with zero then. 2015-11-26T05:03:07Z loke: If you don't do that, then you'll have to do memory accesses even in the common case, which seems to me to be a hellofalot worse then a conditional. 2015-11-26T05:03:18Z nyef: That's about what I figured. 2015-11-26T05:03:25Z loke: Also, doesn't PA have a way to indicate which branch will be the most likely? (SPARC does) 2015-11-26T05:03:28Z nyef: Still, having a third choice would be nice. 2015-11-26T05:03:46Z nyef: It might, but I'm not sure that we have assembler support for it. 2015-11-26T05:04:18Z nyef: ... And it's one of those cases where the branch is an unconditional branch that gets conditionally suppressed by the preceding instruction. 2015-11-26T05:04:55Z nyef: Already had one bug with a branch delay slot getting executed when it shouldn't have been, leading to the branch target getting suppressed when it was supposed to be conditionally suppressing the following instruction. 2015-11-26T05:05:39Z nyef: And, yes, I realize that that's not a very coherent description. I'm not sure that it can properly be explained without appropriate pictures. 2015-11-26T05:09:12Z loke: How do you actually test for negative zero in CL? 2015-11-26T05:09:55Z nyef: EQL distinguishes between positive and negative zero, apparently. 2015-11-26T05:10:26Z loke: So (and (zerop X) (not (eql 0) X)) 2015-11-26T05:10:45Z loke: Damn, that doesn't work 2015-11-26T05:11:22Z Bicyclidine: you need a float zero, surely 2015-11-26T05:11:26Z nyef: Yeah, float zero. 2015-11-26T05:11:39Z nyef: A float zero appropriate to the type of float you're looking at. 2015-11-26T05:11:43Z loke: So (and (zerop X) (not (eql X (coerce 0 (typeof X))))) 2015-11-26T05:12:06Z loke: type-of even 2015-11-26T05:12:08Z Bicyclidine: you can just do (float 0 x), i think 2015-11-26T05:12:28Z loke: Bicyclidine: No, then I get the wrong type 2015-11-26T05:12:44Z loke: Oh, I see what you mean 2015-11-26T05:13:03Z loke: Yeah, that sounds good 2015-11-26T06:44:37Z psy_ quit (Ping timeout: 265 seconds) 2015-11-26T07:27:05Z mood_ joined #sbcl 2015-11-26T07:27:07Z jackc- joined #sbcl 2015-11-26T07:27:28Z ignotus` joined #sbcl 2015-11-26T07:27:34Z raeonite joined #sbcl 2015-11-26T07:27:39Z luis quit (Ping timeout: 265 seconds) 2015-11-26T07:27:43Z |3b|` joined #sbcl 2015-11-26T07:27:59Z specbot quit (Disconnected by services) 2015-11-26T07:28:06Z ASau` joined #sbcl 2015-11-26T07:28:38Z sjl_ joined #sbcl 2015-11-26T07:28:39Z carvite quit (Ping timeout: 265 seconds) 2015-11-26T07:28:45Z specbot joined #sbcl 2015-11-26T07:29:39Z igajsin joined #sbcl 2015-11-26T07:29:58Z irsol_ joined #sbcl 2015-11-26T07:30:27Z foom2 joined #sbcl 2015-11-26T07:30:39Z carvite joined #sbcl 2015-11-26T07:30:52Z Bicyclid1ne joined #sbcl 2015-11-26T07:31:09Z antoszka_ joined #sbcl 2015-11-26T07:31:26Z nimiux_ joined #sbcl 2015-11-26T07:32:00Z ferada_ joined #sbcl 2015-11-26T07:32:01Z phcrist_ joined #sbcl 2015-11-26T07:32:39Z minion quit (Disconnected by services) 2015-11-26T07:32:43Z minion joined #sbcl 2015-11-26T07:32:46Z p_l_ joined #sbcl 2015-11-26T07:33:15Z scymtym__ joined #sbcl 2015-11-26T07:33:53Z luis joined #sbcl 2015-11-26T07:34:50Z pkhuong_ joined #sbcl 2015-11-26T07:35:01Z irsol quit (*.net *.split) 2015-11-26T07:35:01Z Posterdati quit (*.net *.split) 2015-11-26T07:35:01Z ignotus quit (*.net *.split) 2015-11-26T07:35:05Z dim quit (*.net *.split) 2015-11-26T07:35:47Z kanru` joined #sbcl 2015-11-26T07:35:57Z phcrist quit (*.net *.split) 2015-11-26T07:35:57Z ASau quit (*.net *.split) 2015-11-26T07:35:58Z Bicyclidine quit (*.net *.split) 2015-11-26T07:35:58Z kanru quit (*.net *.split) 2015-11-26T07:35:59Z jdz quit (*.net *.split) 2015-11-26T07:36:01Z nimiux quit (*.net *.split) 2015-11-26T07:36:03Z Ober quit (*.net *.split) 2015-11-26T07:36:03Z Xof quit (*.net *.split) 2015-11-26T07:36:39Z abbe_ joined #sbcl 2015-11-26T07:36:57Z foom quit (*.net *.split) 2015-11-26T07:37:40Z Ober joined #sbcl 2015-11-26T07:38:40Z dsp-_ joined #sbcl 2015-11-26T07:38:46Z yauz_2 joined #sbcl 2015-11-26T07:39:06Z DeadTrickster_ joined #sbcl 2015-11-26T07:40:19Z ferada quit (*.net *.split) 2015-11-26T07:40:21Z mood quit (*.net *.split) 2015-11-26T07:40:22Z p_l quit (*.net *.split) 2015-11-26T07:40:22Z raeon quit (*.net *.split) 2015-11-26T07:40:25Z raeonite is now known as raeon 2015-11-26T07:40:44Z sjl quit (*.net *.split) 2015-11-26T07:40:45Z igajsin1 quit (*.net *.split) 2015-11-26T07:40:48Z sigjuice_ quit (*.net *.split) 2015-11-26T07:40:48Z scymtym_ quit (*.net *.split) 2015-11-26T07:40:52Z pkhuong quit (*.net *.split) 2015-11-26T07:40:52Z jackdaniel quit (*.net *.split) 2015-11-26T07:40:52Z Quadrescence quit (*.net *.split) 2015-11-26T07:40:53Z PuercoPop quit (*.net *.split) 2015-11-26T07:40:53Z dsp- quit (*.net *.split) 2015-11-26T07:40:54Z jackc-_ quit (*.net *.split) 2015-11-26T07:40:56Z |3b| quit (*.net *.split) 2015-11-26T07:40:57Z abbe quit (*.net *.split) 2015-11-26T07:40:58Z yauz quit (*.net *.split) 2015-11-26T07:40:59Z drmeister quit (*.net *.split) 2015-11-26T07:41:00Z antoszka quit (*.net *.split) 2015-11-26T07:41:00Z akkad quit (*.net *.split) 2015-11-26T07:41:42Z Quadrescence joined #sbcl 2015-11-26T07:42:08Z Posterdati joined #sbcl 2015-11-26T07:42:26Z DeadTrickster quit (*.net *.split) 2015-11-26T07:42:26Z Intensity quit (*.net *.split) 2015-11-26T07:44:29Z jackdaniel joined #sbcl 2015-11-26T07:45:29Z irsol_ quit (Changing host) 2015-11-26T07:45:29Z irsol_ joined #sbcl 2015-11-26T07:45:31Z irsol_ is now known as irsol 2015-11-26T07:46:51Z akkad joined #sbcl 2015-11-26T07:50:33Z DGASAU` joined #sbcl 2015-11-26T07:51:04Z dustinm` joined #sbcl 2015-11-26T07:51:32Z nimiux joined #sbcl 2015-11-26T07:53:34Z nyef_ joined #sbcl 2015-11-26T07:53:47Z dsp- joined #sbcl 2015-11-26T07:54:59Z PuercoPop joined #sbcl 2015-11-26T07:56:03Z Posterdati quit (*.net *.split) 2015-11-26T07:56:04Z DeadTrickster_ quit (*.net *.split) 2015-11-26T07:56:04Z dsp-_ quit (*.net *.split) 2015-11-26T07:56:07Z phcrist_ quit (*.net *.split) 2015-11-26T07:56:07Z nimiux_ quit (*.net *.split) 2015-11-26T07:56:07Z igajsin quit (*.net *.split) 2015-11-26T07:56:09Z karswell quit (*.net *.split) 2015-11-26T07:56:10Z DGASAU quit (*.net *.split) 2015-11-26T07:56:11Z nyef quit (*.net *.split) 2015-11-26T07:56:16Z dustinm`_ quit (*.net *.split) 2015-11-26T07:56:18Z sigjuice joined #sbcl 2015-11-26T07:57:25Z Xof joined #sbcl 2015-11-26T07:57:35Z ASau` quit (Ping timeout: 250 seconds) 2015-11-26T07:57:55Z phcrist joined #sbcl 2015-11-26T07:59:05Z DeadTrickster_ joined #sbcl 2015-11-26T08:00:27Z igajsin joined #sbcl 2015-11-26T08:09:07Z drmeister joined #sbcl 2015-11-26T08:09:12Z stassats joined #sbcl 2015-11-26T08:09:19Z dim joined #sbcl 2015-11-26T08:09:54Z DeadTrickster__ joined #sbcl 2015-11-26T08:13:03Z jdz joined #sbcl 2015-11-26T08:17:51Z Intensity joined #sbcl 2015-11-26T08:24:37Z drmeister quit (Changing host) 2015-11-26T08:24:38Z drmeister joined #sbcl 2015-11-26T08:25:07Z p_l_ is now known as p_l 2015-11-26T08:36:29Z Cymew joined #sbcl 2015-11-26T08:44:01Z dim quit (*.net *.split) 2015-11-26T08:45:32Z antoszka_ is now known as antoszka 2015-11-26T08:48:55Z ZabaQ joined #sbcl 2015-11-26T09:04:10Z sjl_ quit (Ping timeout: 260 seconds) 2015-11-26T09:26:49Z Shinmera joined #sbcl 2015-11-26T09:31:30Z npatrick` joined #sbcl 2015-11-26T09:31:37Z minion quit (Disconnected by services) 2015-11-26T09:31:41Z minion joined #sbcl 2015-11-26T09:32:00Z Quadrescence quit (Ping timeout: 264 seconds) 2015-11-26T09:32:00Z jackc-_ joined #sbcl 2015-11-26T09:32:09Z dim joined #sbcl 2015-11-26T09:33:14Z yauz_2 quit (Ping timeout: 264 seconds) 2015-11-26T09:33:16Z npatrick04 quit (Ping timeout: 264 seconds) 2015-11-26T09:33:48Z Cymew quit (Ping timeout: 264 seconds) 2015-11-26T09:33:49Z DeadTrickster_ quit (Ping timeout: 264 seconds) 2015-11-26T09:33:52Z raeon quit (Ping timeout: 264 seconds) 2015-11-26T09:33:52Z jackc- quit (Ping timeout: 264 seconds) 2015-11-26T09:35:01Z sjl joined #sbcl 2015-11-26T09:36:22Z Ober quit (Ping timeout: 260 seconds) 2015-11-26T09:36:50Z Ober joined #sbcl 2015-11-26T09:39:57Z raeon joined #sbcl 2015-11-26T09:42:30Z Quadrescence joined #sbcl 2015-11-26T09:42:49Z yauz joined #sbcl 2015-11-26T09:45:52Z ferada_ is now known as ferada 2015-11-26T09:46:31Z sjl quit (Quit: WeeChat 1.3) 2015-11-26T09:46:38Z DeadTrickster__ quit (Ping timeout: 260 seconds) 2015-11-26T09:47:57Z Cymew joined #sbcl 2015-11-26T09:48:11Z DeadTrickster_ joined #sbcl 2015-11-26T09:49:29Z sjl joined #sbcl 2015-11-26T09:51:20Z abbe_ is now known as abbe 2015-11-26T09:53:55Z lnostdal_ quit (Ping timeout: 272 seconds) 2015-11-26T09:54:21Z Xof: argh 2015-11-26T09:54:49Z Xof: (defmethod foo (&key bar (baz nil baz-p) ((quux quux))) (list bar baz quux)) 2015-11-26T09:55:01Z Xof: what should generic-function-pretty-arglist return? 2015-11-26T09:59:47Z sjl quit (Ping timeout: 250 seconds) 2015-11-26T10:00:18Z sjl joined #sbcl 2015-11-26T10:06:23Z lnostdal_ joined #sbcl 2015-11-26T10:06:27Z loke: Something, um... pretty? 2015-11-26T10:07:32Z stassats: "if the defmethod form mentions keyword arguments, the lambda list of the generic function will mention ..... key (but no keyword arguments)" 2015-11-26T10:07:38Z stassats: so, &key 2015-11-26T10:08:51Z Xof: ah, but I think this isn't what the pretty-arglist is about 2015-11-26T10:08:54Z Posterdati joined #sbcl 2015-11-26T10:09:10Z Xof: it's more about providing a superset of applicable keywords rather than the minimal subset 2015-11-26T10:09:14Z Xof: (for documentation) 2015-11-26T10:10:27Z Xof: well the answer to the question I think I was trying to ask is that we need to have ((quux quux)) in there 2015-11-26T10:11:01Z stassats: (sb-pcl::generic-function-pretty-arglist #'foo) => (&KEY BAR (BAZ NIL BAZ-P) ((QUUX QUUX))) 2015-11-26T10:15:12Z Xof: yeah, but 2015-11-26T10:15:34Z Xof: (a) that (baz nil baz-p) is not helpful 2015-11-26T10:15:50Z Xof: (b) marvel as I construct a test case that makes the pain a bit more obvious 2015-11-26T10:16:36Z stassats: (sb-introspect:function-arglist (lambda (&KEY BAR (BAZ NIL BAZ-P) ((QUUX QUUX))))) => (&KEY BAR (BAZ NIL BAZ-P) ((QUUX QUUX))) 2015-11-26T10:17:50Z Xof: having the baz-p thing there exposes an implementation detail 2015-11-26T10:18:01Z Xof: but also, it's harder with multiple methods and the rules about applicability 2015-11-26T10:18:15Z Xof: (defgeneric gf-arglist-2 (x &key y)) 2015-11-26T10:18:21Z Xof: (defmethod gf-arglist-2 ((x integer) &key (y nil) ((z z) nil z-p)) (list x y z z-p)) 2015-11-26T10:18:26Z Xof: (defmethod gf-arglist-2 ((x string) &key (y nil) ((z w) nil z-p)) (list x y w z-p)) 2015-11-26T10:19:37Z Xof: the point is that the variable name (z or w) is irrelevant when it comes to calling the function 2015-11-26T10:41:08Z stassats quit (Remote host closed the connection) 2015-11-26T11:04:26Z ignotus` quit (Ping timeout: 276 seconds) 2015-11-26T11:14:53Z attila_lendvai joined #sbcl 2015-11-26T11:14:53Z attila_lendvai quit (Changing host) 2015-11-26T11:14:53Z attila_lendvai joined #sbcl 2015-11-26T11:18:26Z sjl quit (Ping timeout: 260 seconds) 2015-11-26T11:42:56Z ignotus joined #sbcl 2015-11-26T11:42:56Z ignotus quit (Changing host) 2015-11-26T11:42:56Z ignotus joined #sbcl 2015-11-26T11:49:53Z sjl joined #sbcl 2015-11-26T12:01:36Z raeon left #sbcl 2015-11-26T12:07:03Z lnostdal_ is now known as lnostdal 2015-11-26T12:09:06Z DeadTrickster__ joined #sbcl 2015-11-26T12:23:53Z DGASAU` is now known as DGASAU 2015-11-26T12:54:11Z DGASAU quit (Read error: Connection reset by peer) 2015-11-26T12:54:48Z DGASAU joined #sbcl 2015-11-26T13:35:50Z DeadTrickster__ is now known as DeadTrickster 2015-11-26T13:35:56Z DeadTrickster quit (Quit: Leaving) 2015-11-26T13:36:16Z DeadTrickster joined #sbcl 2015-11-26T13:50:43Z edgar-rft joined #sbcl 2015-11-26T14:23:50Z jlarocco_work quit (Ping timeout: 240 seconds) 2015-11-26T14:31:44Z dougk2 joined #sbcl 2015-11-26T14:49:59Z rszeno joined #sbcl 2015-11-26T14:53:04Z zacts joined #sbcl 2015-11-26T15:00:47Z lnostdal quit (Ping timeout: 264 seconds) 2015-11-26T15:06:07Z stassats joined #sbcl 2015-11-26T15:12:32Z lnostdal joined #sbcl 2015-11-26T15:17:25Z lnostdal quit (Ping timeout: 250 seconds) 2015-11-26T15:25:46Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-26T15:29:45Z lnostdal joined #sbcl 2015-11-26T15:37:53Z dougk2 joined #sbcl 2015-11-26T15:43:30Z dougk2 quit (Ping timeout: 260 seconds) 2015-11-26T15:49:13Z dougk2 joined #sbcl 2015-11-26T15:53:49Z stassats quit (Ping timeout: 250 seconds) 2015-11-26T15:57:43Z dougk2 quit (Ping timeout: 250 seconds) 2015-11-26T16:02:32Z karswell joined #sbcl 2015-11-26T16:07:17Z rszeno quit (Quit: Leaving.) 2015-11-26T16:26:16Z dougk2 joined #sbcl 2015-11-26T16:30:10Z Cymew quit (Ping timeout: 240 seconds) 2015-11-26T16:30:36Z ZabaQ_ joined #sbcl 2015-11-26T16:32:07Z Shinmera- joined #sbcl 2015-11-26T16:35:39Z ZabaQ quit (Ping timeout: 240 seconds) 2015-11-26T16:35:41Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-26T16:36:06Z Shinmera quit (Ping timeout: 240 seconds) 2015-11-26T16:36:11Z Shinmera- is now known as Shinmera 2015-11-26T16:37:39Z attila_lendvai joined #sbcl 2015-11-26T16:37:39Z attila_lendvai quit (Changing host) 2015-11-26T16:37:39Z attila_lendvai joined #sbcl 2015-11-26T16:47:56Z gingerale joined #sbcl 2015-11-26T16:54:29Z dougk2 quit (Ping timeout: 250 seconds) 2015-11-26T16:54:33Z jlarocco_ joined #sbcl 2015-11-26T17:06:00Z scymtym joined #sbcl 2015-11-26T17:22:26Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-26T17:44:35Z dougk2 joined #sbcl 2015-11-26T17:57:56Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-26T18:07:18Z dougk2 joined #sbcl 2015-11-26T18:15:43Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-26T18:17:35Z lnostdal quit (Ping timeout: 264 seconds) 2015-11-26T18:30:02Z lnostdal joined #sbcl 2015-11-26T18:33:47Z dim quit (*.net *.split) 2015-11-26T18:34:44Z scymtym quit (*.net *.split) 2015-11-26T18:34:45Z Intensity quit (*.net *.split) 2015-11-26T18:39:36Z Bicyclid1ne is now known as Bicyclidine 2015-11-26T18:47:19Z lnostdal quit (Ping timeout: 240 seconds) 2015-11-26T18:53:34Z les quit (Ping timeout: 260 seconds) 2015-11-26T19:06:02Z ccl-logbot joined #sbcl 2015-11-26T19:06:02Z 2015-11-26T19:06:02Z names: ccl-logbot ZabaQ_ edgar-rft DGASAU ignotus Ober jackc-_ igajsin Xof nyef_ nimiux akkad jackdaniel abbe luis ferada antoszka Bicyclidine joshe angavrilov hitecnologys christop1 fe[nl]ix easye Blkt jsnell 2015-11-26T19:06:02Z ZabaQ_ quit (*.net *.split) 2015-11-26T19:06:02Z edgar-rft quit (*.net *.split) 2015-11-26T19:06:02Z DGASAU quit (*.net *.split) 2015-11-26T19:06:02Z Ober quit (*.net *.split) 2015-11-26T19:06:02Z Xof quit (*.net *.split) 2015-11-26T19:06:02Z nimiux quit (*.net *.split) 2015-11-26T19:06:02Z jackdaniel quit (*.net *.split) 2015-11-26T19:06:02Z hitecnologys quit (*.net *.split) 2015-11-26T19:06:02Z christop1 quit (*.net *.split) 2015-11-26T19:06:02Z jsnell quit (*.net *.split) 2015-11-26T19:09:55Z jackc-_ quit (*.net *.split) 2015-11-26T19:09:55Z igajsin quit (*.net *.split) 2015-11-26T19:09:55Z nyef_ quit (*.net *.split) 2015-11-26T19:09:55Z akkad quit (*.net *.split) 2015-11-26T19:09:55Z abbe quit (*.net *.split) 2015-11-26T19:09:55Z luis quit (*.net *.split) 2015-11-26T19:09:55Z ferada quit (*.net *.split) 2015-11-26T19:09:55Z antoszka quit (*.net *.split) 2015-11-26T19:09:55Z Bicyclidine quit (*.net *.split) 2015-11-26T19:11:45Z joshe quit (*.net *.split) 2015-11-26T19:11:45Z angavrilov quit (*.net *.split) 2015-11-26T19:11:45Z fe[nl]ix quit (*.net *.split) 2015-11-26T19:11:45Z easye quit (*.net *.split) 2015-11-26T19:11:45Z Blkt quit (*.net *.split) 2015-11-26T19:20:18Z ignotus quit (*.net *.split) 2015-11-26T19:23:24Z reb`` joined #sbcl 2015-11-26T19:48:37Z ccl-logbot joined #sbcl 2015-11-26T19:48:37Z 2015-11-26T19:48:37Z names: ccl-logbot jlarocco_ mood ignotus` akkad les drmeister_ adhoc yauz White_Flame flip214 dim Intensity gingerale- zacts Blkt easye fe[nl]ix angavrilov joshe Bicyclidine antoszka ferada luis abbe nyef_ igajsin jackc-_ chris2 frankS2 jozip pootler dougk_ brucem nicdev jlarocco yvm csziacobus |3b|` irsol foom2 carvite p_l scymtym__ pkhuong_ dustinm` PuercoPop sigjuice phcrist jdz DeadTrickster_ Posterdati Shinmera ZabaQ_ edgar-rft DGASAU Ober Xof nimiux 2015-11-26T19:48:37Z names: jackdaniel hitecnologys christop1 jsnell Quadrescence karswell DeadTrickster dsp- kanru` specbot loke salva fikusz chu derrida 2015-11-26T19:52:42Z akkad quit (Ping timeout: 240 seconds) 2015-11-26T19:52:43Z drmeister_ quit (Ping timeout: 240 seconds) 2015-11-26T19:52:46Z flip214 quit (Ping timeout: 240 seconds) 2015-11-26T19:52:48Z flip214 joined #sbcl 2015-11-26T19:52:48Z flip214 quit (Changing host) 2015-11-26T19:52:48Z flip214 joined #sbcl 2015-11-26T19:56:16Z akkad joined #sbcl 2015-11-26T19:56:44Z scymtym joined #sbcl 2015-11-26T20:03:02Z drmeister_ joined #sbcl 2015-11-26T20:09:54Z sjl joined #sbcl 2015-11-26T20:18:40Z gingerale- quit (Remote host closed the connection) 2015-11-26T20:33:44Z dougk2 joined #sbcl 2015-11-26T20:34:33Z jozip_ joined #sbcl 2015-11-26T20:34:59Z jozip quit (Ping timeout: 264 seconds) 2015-11-26T20:35:07Z jozip_ is now known as jozip 2015-11-26T20:42:52Z minion joined #sbcl 2015-11-26T20:51:56Z les` joined #sbcl 2015-11-26T20:54:06Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-26T20:57:14Z les quit (Ping timeout: 246 seconds) 2015-11-26T20:57:32Z Quadrescence quit (Ping timeout: 246 seconds) 2015-11-26T20:57:35Z ignotus` quit (Ping timeout: 246 seconds) 2015-11-26T20:58:18Z ignotus joined #sbcl 2015-11-26T20:58:18Z ignotus quit (Changing host) 2015-11-26T20:58:18Z ignotus joined #sbcl 2015-11-26T20:59:23Z Quadrescence joined #sbcl 2015-11-26T21:22:10Z eudoxia joined #sbcl 2015-11-26T21:22:18Z ZabaQ_ quit (Ping timeout: 260 seconds) 2015-11-26T21:29:41Z eudoxia quit (Quit: Leaving) 2015-11-26T21:52:19Z ASau joined #sbcl 2015-11-26T22:02:16Z attila_lendvai joined #sbcl 2015-11-26T22:18:56Z edgar-rft quit (Quit: edgar-rft) 2015-11-26T22:32:50Z DeadTrickster quit (Ping timeout: 240 seconds) 2015-11-26T22:51:27Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-26T23:36:02Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-11-26T23:47:48Z les joined #sbcl 2015-11-26T23:50:40Z Quadrescence quit (Ping timeout: 246 seconds) 2015-11-26T23:52:04Z les quit (Ping timeout: 246 seconds) 2015-11-26T23:52:15Z les joined #sbcl 2015-11-26T23:54:19Z les` quit (*.net *.split) 2015-11-26T23:54:25Z flip214 quit (*.net *.split) 2015-11-26T23:55:44Z flip214 joined #sbcl 2015-11-26T23:55:44Z flip214 quit (Changing host) 2015-11-26T23:55:44Z flip214 joined #sbcl 2015-11-27T00:00:30Z zacts_ joined #sbcl 2015-11-27T00:01:30Z zacts quit (Ping timeout: 240 seconds) 2015-11-27T00:06:04Z Quadrescence joined #sbcl 2015-11-27T00:12:50Z zacts_ quit (Ping timeout: 240 seconds) 2015-11-27T00:30:58Z scymtym quit (Ping timeout: 260 seconds) 2015-11-27T01:13:35Z zacts joined #sbcl 2015-11-27T01:29:42Z drmeister_ is now known as drmeister 2015-11-27T02:17:32Z rszeno joined #sbcl 2015-11-27T02:32:01Z dougk2 joined #sbcl 2015-11-27T02:33:48Z zacts quit (Quit: WeeChat 1.3) 2015-11-27T02:37:54Z zacts joined #sbcl 2015-11-27T03:02:12Z dougk2: Xof: gf-pretty arglist is making a mountain from a molehill. http://paste.lisp.org/display/160933 is a trivial reimplementation using the unified parser/unparser. 2015-11-27T03:59:39Z dougk2 quit (Ping timeout: 265 seconds) 2015-11-27T04:23:11Z psilord joined #sbcl 2015-11-27T05:11:18Z Bicyclid1ne joined #sbcl 2015-11-27T05:11:35Z Bicyclidine quit (Ping timeout: 250 seconds) 2015-11-27T05:39:19Z loke quit (Remote host closed the connection) 2015-11-27T05:57:57Z rszeno quit (Quit: Leaving.) 2015-11-27T06:18:54Z DGASAU quit (Read error: Connection reset by peer) 2015-11-27T06:23:00Z minion quit (Ping timeout: 264 seconds) 2015-11-27T06:23:09Z Quadresce` joined #sbcl 2015-11-27T06:23:36Z flip214 quit (Ping timeout: 264 seconds) 2015-11-27T06:23:42Z zacts quit (Ping timeout: 265 seconds) 2015-11-27T06:24:11Z Quadrescence quit (Ping timeout: 265 seconds) 2015-11-27T06:24:42Z DGASAU joined #sbcl 2015-11-27T06:27:33Z Quadresce` is now known as Quadrescence 2015-11-27T06:27:45Z DGASAU quit (Read error: Connection reset by peer) 2015-11-27T06:27:55Z Quadrescence quit (Changing host) 2015-11-27T06:27:55Z Quadrescence joined #sbcl 2015-11-27T06:30:54Z csziacobus quit (Quit: csziacobus) 2015-11-27T06:37:07Z zacts joined #sbcl 2015-11-27T06:55:35Z flip214 joined #sbcl 2015-11-27T06:55:35Z flip214 quit (Changing host) 2015-11-27T06:55:35Z flip214 joined #sbcl 2015-11-27T07:04:12Z zacts quit (Quit: WeeChat 1.3) 2015-11-27T07:09:01Z minion joined #sbcl 2015-11-27T07:22:22Z karswell quit (Remote host closed the connection) 2015-11-27T07:29:05Z karswell joined #sbcl 2015-11-27T07:31:04Z psilord quit (Quit: Leaving.) 2015-11-27T07:35:19Z Xof: dougk_: yeah, I got to something similar 2015-11-27T07:38:03Z Shinmera joined #sbcl 2015-11-27T07:38:43Z Xof: thanks 2015-11-27T07:46:30Z minion quit (Write error: Broken pipe) 2015-11-27T08:12:49Z gingerale joined #sbcl 2015-11-27T08:21:58Z ccl-logbot joined #sbcl 2015-11-27T08:21:58Z 2015-11-27T08:21:58Z names: ccl-logbot loke gingerale Shinmera karswell flip214 Quadrescence Bicyclidine les ASau ignotus jozip sjl drmeister akkad jlarocco_ mood adhoc yauz White_Flame dim chris2 frankS2 pootler dougk_ brucem nicdev jlarocco yvm |3b|` irsol foom2 carvite p_l scymtym__ pkhuong_ dustinm` PuercoPop sigjuice phcrist jdz DeadTrickster_ Posterdati Ober Xof nimiux jackdaniel hitecnologys christop1 jsnell dsp- kanru` salva fikusz chu derrida jackc-_ igajsin nyef_ abbe 2015-11-27T08:21:58Z names: luis ferada antoszka joshe angavrilov fe[nl]ix easye Blkt Intensity 2015-11-27T08:56:02Z ccl-logbot joined #sbcl 2015-11-27T08:56:02Z 2015-11-27T08:56:02Z names: ccl-logbot DeadTrickster ZabaQ scymtym_ scymtym minion loke gingerale Shinmera karswell Quadrescence Bicyclidine chris2 frankS2 pootler dougk_ brucem nicdev jlarocco yvm |3b|` irsol foom2 carvite p_l pkhuong_ dustinm` PuercoPop sigjuice phcrist DeadTrickster_ Posterdati Ober Xof nimiux jackdaniel hitecnologys christop1 jsnell dsp- kanru` salva fikusz chu derrida jackc-_ igajsin nyef_ abbe luis ferada antoszka joshe angavrilov fe[nl]ix easye Blkt White_Flame 2015-11-27T08:56:02Z names: yauz adhoc mood jlarocco_ akkad drmeister sjl jozip 2015-11-27T08:56:06Z gingerale quit (Ping timeout: 240 seconds) 2015-11-27T08:56:26Z loke quit (Ping timeout: 240 seconds) 2015-11-27T08:58:44Z ZabaQ quit (Read error: Connection reset by peer) 2015-11-27T09:02:26Z jackc-_ quit (*.net *.split) 2015-11-27T09:02:26Z igajsin quit (*.net *.split) 2015-11-27T09:02:26Z nyef_ quit (*.net *.split) 2015-11-27T09:02:27Z abbe quit (*.net *.split) 2015-11-27T09:02:27Z luis quit (*.net *.split) 2015-11-27T09:02:27Z ferada quit (*.net *.split) 2015-11-27T09:02:27Z antoszka quit (*.net *.split) 2015-11-27T09:02:27Z joshe quit (*.net *.split) 2015-11-27T09:02:27Z angavrilov quit (*.net *.split) 2015-11-27T09:02:28Z fe[nl]ix quit (*.net *.split) 2015-11-27T09:02:28Z easye quit (*.net *.split) 2015-11-27T09:02:28Z Blkt quit (*.net *.split) 2015-11-27T09:02:29Z sjl quit (*.net *.split) 2015-11-27T09:02:29Z drmeister quit (*.net *.split) 2015-11-27T09:02:29Z akkad quit (*.net *.split) 2015-11-27T09:02:29Z jlarocco_ quit (*.net *.split) 2015-11-27T09:02:29Z mood quit (*.net *.split) 2015-11-27T09:02:29Z adhoc quit (*.net *.split) 2015-11-27T09:02:29Z yauz quit (*.net *.split) 2015-11-27T09:02:29Z White_Flame quit (*.net *.split) 2015-11-27T09:02:30Z dsp- quit (*.net *.split) 2015-11-27T09:02:30Z kanru` quit (*.net *.split) 2015-11-27T09:02:30Z salva quit (*.net *.split) 2015-11-27T09:02:30Z fikusz quit (*.net *.split) 2015-11-27T09:02:31Z chu quit (*.net *.split) 2015-11-27T09:02:31Z derrida quit (*.net *.split) 2015-11-27T09:02:32Z Quadrescence quit (*.net *.split) 2015-11-27T09:02:32Z Bicyclidine quit (*.net *.split) 2015-11-27T09:02:33Z Ober quit (*.net *.split) 2015-11-27T09:02:34Z Xof quit (*.net *.split) 2015-11-27T09:02:34Z nimiux quit (*.net *.split) 2015-11-27T09:02:34Z jackdaniel quit (*.net *.split) 2015-11-27T09:02:34Z hitecnologys quit (*.net *.split) 2015-11-27T09:02:34Z christop1 quit (*.net *.split) 2015-11-27T09:02:35Z jsnell quit (*.net *.split) 2015-11-27T09:02:36Z Posterdati quit (*.net *.split) 2015-11-27T09:02:36Z DeadTrickster_ quit (*.net *.split) 2015-11-27T09:02:36Z p_l quit (*.net *.split) 2015-11-27T09:02:38Z jozip quit (*.net *.split) 2015-11-27T09:02:38Z phcrist quit (*.net *.split) 2015-11-27T09:02:38Z dustinm` quit (*.net *.split) 2015-11-27T09:02:39Z pootler quit (*.net *.split) 2015-11-27T09:02:39Z frankS2 quit (*.net *.split) 2015-11-27T09:02:39Z chris2 quit (*.net *.split) 2015-11-27T09:02:40Z sigjuice quit (*.net *.split) 2015-11-27T09:02:40Z PuercoPop quit (*.net *.split) 2015-11-27T09:02:40Z pkhuong_ quit (*.net *.split) 2015-11-27T09:02:41Z foom2 quit (*.net *.split) 2015-11-27T09:02:41Z carvite quit (*.net *.split) 2015-11-27T09:02:41Z irsol quit (*.net *.split) 2015-11-27T09:02:41Z |3b|` quit (*.net *.split) 2015-11-27T09:02:41Z yvm quit (*.net *.split) 2015-11-27T09:02:41Z jlarocco quit (*.net *.split) 2015-11-27T09:02:41Z nicdev quit (*.net *.split) 2015-11-27T09:02:41Z brucem quit (*.net *.split) 2015-11-27T09:02:41Z dougk_ quit (*.net *.split) 2015-11-27T09:13:14Z Quadrescence joined #sbcl 2015-11-27T09:13:14Z jozip joined #sbcl 2015-11-27T09:13:14Z sjl joined #sbcl 2015-11-27T09:13:14Z drmeister joined #sbcl 2015-11-27T09:13:14Z akkad joined #sbcl 2015-11-27T09:13:14Z jlarocco_ joined #sbcl 2015-11-27T09:13:14Z mood joined #sbcl 2015-11-27T09:13:14Z adhoc joined #sbcl 2015-11-27T09:13:14Z yauz joined #sbcl 2015-11-27T09:13:14Z White_Flame joined #sbcl 2015-11-27T09:13:14Z Blkt joined #sbcl 2015-11-27T09:13:14Z easye joined #sbcl 2015-11-27T09:13:14Z fe[nl]ix joined #sbcl 2015-11-27T09:13:14Z angavrilov joined #sbcl 2015-11-27T09:13:14Z joshe joined #sbcl 2015-11-27T09:13:14Z antoszka joined #sbcl 2015-11-27T09:13:14Z ferada joined #sbcl 2015-11-27T09:13:14Z luis joined #sbcl 2015-11-27T09:13:14Z abbe joined #sbcl 2015-11-27T09:13:14Z nyef_ joined #sbcl 2015-11-27T09:13:14Z igajsin joined #sbcl 2015-11-27T09:13:14Z jackc-_ joined #sbcl 2015-11-27T09:13:14Z derrida joined #sbcl 2015-11-27T09:13:14Z chu joined #sbcl 2015-11-27T09:13:14Z fikusz joined #sbcl 2015-11-27T09:13:14Z salva joined #sbcl 2015-11-27T09:13:14Z kanru` joined #sbcl 2015-11-27T09:13:14Z dsp- joined #sbcl 2015-11-27T09:13:14Z jsnell joined #sbcl 2015-11-27T09:13:14Z christop1 joined #sbcl 2015-11-27T09:13:14Z hitecnologys joined #sbcl 2015-11-27T09:13:14Z jackdaniel joined #sbcl 2015-11-27T09:13:14Z nimiux joined #sbcl 2015-11-27T09:13:14Z Xof joined #sbcl 2015-11-27T09:13:14Z Ober joined #sbcl 2015-11-27T09:13:14Z Posterdati joined #sbcl 2015-11-27T09:13:14Z DeadTrickster_ joined #sbcl 2015-11-27T09:13:14Z phcrist joined #sbcl 2015-11-27T09:13:14Z sigjuice joined #sbcl 2015-11-27T09:13:14Z PuercoPop joined #sbcl 2015-11-27T09:13:14Z dustinm` joined #sbcl 2015-11-27T09:13:14Z pkhuong_ joined #sbcl 2015-11-27T09:13:14Z p_l joined #sbcl 2015-11-27T09:13:14Z carvite joined #sbcl 2015-11-27T09:13:14Z foom2 joined #sbcl 2015-11-27T09:13:14Z irsol joined #sbcl 2015-11-27T09:13:14Z |3b|` joined #sbcl 2015-11-27T09:13:14Z yvm joined #sbcl 2015-11-27T09:13:14Z jlarocco joined #sbcl 2015-11-27T09:13:14Z nicdev joined #sbcl 2015-11-27T09:13:14Z brucem joined #sbcl 2015-11-27T09:13:14Z dougk_ joined #sbcl 2015-11-27T09:13:14Z pootler joined #sbcl 2015-11-27T09:13:14Z frankS2 joined #sbcl 2015-11-27T09:13:14Z chris2 joined #sbcl 2015-11-27T09:16:54Z ZabaQ joined #sbcl 2015-11-27T09:18:44Z loke joined #sbcl 2015-11-27T09:20:07Z les joined #sbcl 2015-11-27T09:20:25Z edgar-rft joined #sbcl 2015-11-27T09:20:34Z ignotus joined #sbcl 2015-11-27T09:20:34Z ignotus quit (Changing host) 2015-11-27T09:20:34Z ignotus joined #sbcl 2015-11-27T09:22:00Z flip214 joined #sbcl 2015-11-27T09:22:00Z flip214 quit (Changing host) 2015-11-27T09:22:00Z flip214 joined #sbcl 2015-11-27T09:25:06Z les quit (Ping timeout: 240 seconds) 2015-11-27T09:26:26Z edgar-rft quit (Ping timeout: 240 seconds) 2015-11-27T09:27:06Z flip214 quit (Ping timeout: 240 seconds) 2015-11-27T09:27:06Z loke quit (Ping timeout: 240 seconds) 2015-11-27T09:33:06Z jackc-_ quit (*.net *.split) 2015-11-27T09:33:06Z igajsin quit (*.net *.split) 2015-11-27T09:33:07Z nyef_ quit (*.net *.split) 2015-11-27T09:33:07Z abbe quit (*.net *.split) 2015-11-27T09:33:07Z luis quit (*.net *.split) 2015-11-27T09:33:07Z ferada quit (*.net *.split) 2015-11-27T09:33:07Z antoszka quit (*.net *.split) 2015-11-27T09:33:08Z joshe quit (*.net *.split) 2015-11-27T09:33:08Z angavrilov quit (*.net *.split) 2015-11-27T09:33:08Z fe[nl]ix quit (*.net *.split) 2015-11-27T09:33:08Z easye quit (*.net *.split) 2015-11-27T09:33:09Z Blkt quit (*.net *.split) 2015-11-27T09:33:10Z sjl quit (*.net *.split) 2015-11-27T09:33:10Z drmeister quit (*.net *.split) 2015-11-27T09:33:10Z akkad quit (*.net *.split) 2015-11-27T09:33:10Z jlarocco_ quit (*.net *.split) 2015-11-27T09:33:10Z mood quit (*.net *.split) 2015-11-27T09:33:10Z adhoc quit (*.net *.split) 2015-11-27T09:33:10Z yauz quit (*.net *.split) 2015-11-27T09:33:10Z White_Flame quit (*.net *.split) 2015-11-27T09:33:11Z dsp- quit (*.net *.split) 2015-11-27T09:33:11Z kanru` quit (*.net *.split) 2015-11-27T09:33:11Z salva quit (*.net *.split) 2015-11-27T09:33:11Z fikusz quit (*.net *.split) 2015-11-27T09:33:11Z chu quit (*.net *.split) 2015-11-27T09:33:12Z derrida quit (*.net *.split) 2015-11-27T09:33:13Z Quadrescence quit (*.net *.split) 2015-11-27T09:33:14Z Ober quit (*.net *.split) 2015-11-27T09:33:14Z Xof quit (*.net *.split) 2015-11-27T09:33:14Z nimiux quit (*.net *.split) 2015-11-27T09:33:14Z jackdaniel quit (*.net *.split) 2015-11-27T09:33:15Z hitecnologys quit (*.net *.split) 2015-11-27T09:33:15Z christop1 quit (*.net *.split) 2015-11-27T09:33:16Z jsnell quit (*.net *.split) 2015-11-27T09:33:17Z Posterdati quit (*.net *.split) 2015-11-27T09:33:17Z DeadTrickster_ quit (*.net *.split) 2015-11-27T09:33:17Z p_l quit (*.net *.split) 2015-11-27T09:33:19Z jozip quit (*.net *.split) 2015-11-27T09:33:19Z phcrist quit (*.net *.split) 2015-11-27T09:33:19Z dustinm` quit (*.net *.split) 2015-11-27T09:33:20Z pootler quit (*.net *.split) 2015-11-27T09:33:20Z frankS2 quit (*.net *.split) 2015-11-27T09:33:20Z chris2 quit (*.net *.split) 2015-11-27T09:33:21Z sigjuice quit (*.net *.split) 2015-11-27T09:33:21Z PuercoPop quit (*.net *.split) 2015-11-27T09:33:21Z pkhuong_ quit (*.net *.split) 2015-11-27T09:33:21Z foom2 quit (*.net *.split) 2015-11-27T09:33:21Z carvite quit (*.net *.split) 2015-11-27T09:33:22Z irsol quit (*.net *.split) 2015-11-27T09:33:22Z |3b|` quit (*.net *.split) 2015-11-27T09:33:22Z yvm quit (*.net *.split) 2015-11-27T09:33:22Z jlarocco quit (*.net *.split) 2015-11-27T09:33:22Z nicdev quit (*.net *.split) 2015-11-27T09:33:22Z brucem quit (*.net *.split) 2015-11-27T09:33:22Z dougk_ quit (*.net *.split) 2015-11-27T09:34:50Z flip214_ joined #sbcl 2015-11-27T09:34:50Z edgar-rf_ joined #sbcl 2015-11-27T09:34:50Z dim joined #sbcl 2015-11-27T09:34:50Z jdz joined #sbcl 2015-11-27T09:34:50Z Quadrescence joined #sbcl 2015-11-27T09:34:50Z jozip joined #sbcl 2015-11-27T09:34:50Z sjl joined #sbcl 2015-11-27T09:34:50Z drmeister joined #sbcl 2015-11-27T09:34:50Z akkad joined #sbcl 2015-11-27T09:34:50Z jlarocco_ joined #sbcl 2015-11-27T09:34:50Z mood joined #sbcl 2015-11-27T09:34:50Z adhoc joined #sbcl 2015-11-27T09:34:50Z yauz joined #sbcl 2015-11-27T09:34:50Z White_Flame joined #sbcl 2015-11-27T09:34:50Z Blkt joined #sbcl 2015-11-27T09:34:50Z easye joined #sbcl 2015-11-27T09:34:50Z fe[nl]ix joined #sbcl 2015-11-27T09:34:50Z angavrilov joined #sbcl 2015-11-27T09:34:50Z joshe joined #sbcl 2015-11-27T09:34:50Z antoszka joined #sbcl 2015-11-27T09:34:50Z ferada joined #sbcl 2015-11-27T09:34:50Z luis joined #sbcl 2015-11-27T09:34:50Z abbe joined #sbcl 2015-11-27T09:34:50Z nyef_ joined #sbcl 2015-11-27T09:34:50Z igajsin joined #sbcl 2015-11-27T09:34:50Z jackc-_ joined #sbcl 2015-11-27T09:34:50Z derrida joined #sbcl 2015-11-27T09:34:50Z chu joined #sbcl 2015-11-27T09:34:50Z fikusz joined #sbcl 2015-11-27T09:34:50Z salva joined #sbcl 2015-11-27T09:34:50Z kanru` joined #sbcl 2015-11-27T09:34:50Z dsp- joined #sbcl 2015-11-27T09:34:50Z jsnell joined #sbcl 2015-11-27T09:34:50Z christop1 joined #sbcl 2015-11-27T09:34:50Z hitecnologys joined #sbcl 2015-11-27T09:34:50Z jackdaniel joined #sbcl 2015-11-27T09:34:50Z nimiux joined #sbcl 2015-11-27T09:34:50Z Xof joined #sbcl 2015-11-27T09:34:50Z Ober joined #sbcl 2015-11-27T09:34:50Z Posterdati joined #sbcl 2015-11-27T09:34:50Z DeadTrickster_ joined #sbcl 2015-11-27T09:34:50Z chris2 joined #sbcl 2015-11-27T09:34:50Z frankS2 joined #sbcl 2015-11-27T09:34:50Z pootler joined #sbcl 2015-11-27T09:34:50Z dougk_ joined #sbcl 2015-11-27T09:34:50Z brucem joined #sbcl 2015-11-27T09:34:50Z nicdev joined #sbcl 2015-11-27T09:34:50Z jlarocco joined #sbcl 2015-11-27T09:34:50Z yvm joined #sbcl 2015-11-27T09:34:50Z |3b|` joined #sbcl 2015-11-27T09:34:50Z irsol joined #sbcl 2015-11-27T09:34:50Z foom2 joined #sbcl 2015-11-27T09:34:50Z carvite joined #sbcl 2015-11-27T09:34:50Z p_l joined #sbcl 2015-11-27T09:34:50Z pkhuong_ joined #sbcl 2015-11-27T09:34:50Z dustinm` joined #sbcl 2015-11-27T09:34:50Z PuercoPop joined #sbcl 2015-11-27T09:34:50Z sigjuice joined #sbcl 2015-11-27T09:34:50Z phcrist joined #sbcl 2015-11-27T09:35:10Z Intensity joined #sbcl 2015-11-27T09:39:15Z flip214_ is now known as flip214 2015-11-27T09:40:11Z flip214 quit (Changing host) 2015-11-27T09:40:11Z flip214 joined #sbcl 2015-11-27T09:46:50Z les joined #sbcl 2015-11-27T09:47:53Z Cymew joined #sbcl 2015-11-27T09:50:32Z loke joined #sbcl 2015-11-27T09:53:46Z les quit (Ping timeout: 240 seconds) 2015-11-27T09:55:26Z Cymew quit (Ping timeout: 240 seconds) 2015-11-27T09:55:46Z loke quit (Ping timeout: 240 seconds) 2015-11-27T10:02:05Z specbot joined #sbcl 2015-11-27T10:05:57Z loke joined #sbcl 2015-11-27T10:06:16Z Cymew joined #sbcl 2015-11-27T10:07:10Z les joined #sbcl 2015-11-27T11:10:53Z ccl-logbot joined #sbcl 2015-11-27T11:10:53Z 2015-11-27T11:10:53Z names: ccl-logbot jozip scymtym scymtym_ DeadTrickster ignotus specbot minion les` Shinmera- ZabaQ_ Intensity flip214 edgar-rf_ dim jdz Quadrescence drmeister akkad jlarocco_ mood adhoc yauz White_Flame Blkt easye fe[nl]ix angavrilov joshe antoszka ferada luis abbe nyef_ igajsin jackc-_ derrida chu fikusz salva kanru` dsp- jsnell christop1 hitecnologys jackdaniel nimiux Xof Ober Posterdati DeadTrickster_ phcrist PuercoPop dustinm` pkhuong_ p_l carvite foom2 2015-11-27T11:10:53Z names: irsol |3b|` yvm jlarocco nicdev brucem dougk_ pootler frankS2 chris2 2015-11-27T11:10:59Z jdz quit (Ping timeout: 264 seconds) 2015-11-27T11:11:00Z sigjuice joined #sbcl 2015-11-27T11:11:36Z pootler quit (Ping timeout: 264 seconds) 2015-11-27T11:12:33Z pootler joined #sbcl 2015-11-27T11:13:34Z sjl joined #sbcl 2015-11-27T12:12:49Z ccl-logbot joined #sbcl 2015-11-27T12:12:49Z 2015-11-27T12:12:49Z names: ccl-logbot DGASAU les Shinmera- sjl luis angavrilov jackc- specbot minion chris2 frankS2 dougk_ brucem nicdev jlarocco yvm |3b|` irsol foom2 carvite p_l pkhuong_ dustinm` PuercoPop DeadTrickster_ Posterdati Ober Xof nimiux jackdaniel hitecnologys christop1 jsnell dsp- kanru` salva fikusz chu derrida White_Flame yauz adhoc mood jlarocco_ akkad drmeister Quadrescence dim edgar-rf_ flip214 Intensity ignotus DeadTrickster scymtym_ scymtym abbe_ fe[nl]ix 2015-11-27T12:12:49Z names: Blkt igajsin nyef_ joshe jdz jozip antoszka phcrist 2015-11-27T12:12:49Z kornbluth.freenode.net:#sbcl- [freenode-info] please register your nickname...don't forget to auto-identify! http://freenode.net/faq.shtml#nicksetup 2015-11-27T12:16:40Z jozip quit (Read error: Connection reset by peer) 2015-11-27T12:24:20Z attila_lendvai joined #sbcl 2015-11-27T12:24:20Z attila_lendvai quit (Changing host) 2015-11-27T12:24:20Z attila_lendvai joined #sbcl 2015-11-27T12:33:03Z gingerale joined #sbcl 2015-11-27T12:34:23Z chris2 quit (Ping timeout: 264 seconds) 2015-11-27T12:36:35Z sjl_ joined #sbcl 2015-11-27T12:38:00Z les quit (Ping timeout: 264 seconds) 2015-11-27T12:38:05Z sjl quit (Disconnected by services) 2015-11-27T12:38:06Z luis quit (Ping timeout: 264 seconds) 2015-11-27T12:38:06Z specbot quit (Ping timeout: 264 seconds) 2015-11-27T12:38:10Z sjl_ is now known as sjl 2015-11-27T12:38:33Z jackc-_ joined #sbcl 2015-11-27T12:38:39Z angavrilov_ joined #sbcl 2015-11-27T12:39:15Z Shinmera- quit (Ping timeout: 264 seconds) 2015-11-27T12:39:18Z angavrilov quit (Ping timeout: 264 seconds) 2015-11-27T12:39:18Z jackc- quit (Ping timeout: 264 seconds) 2015-11-27T12:39:18Z minion quit (Ping timeout: 264 seconds) 2015-11-27T12:39:58Z DGASAU quit (Ping timeout: 264 seconds) 2015-11-27T12:40:04Z DGASAU` joined #sbcl 2015-11-27T12:41:05Z minion joined #sbcl 2015-11-27T12:41:43Z sigjuice joined #sbcl 2015-11-27T12:41:56Z chris2 joined #sbcl 2015-11-27T12:43:24Z jdz quit (Ping timeout: 264 seconds) 2015-11-27T12:44:57Z luis joined #sbcl 2015-11-27T12:47:23Z pootler joined #sbcl 2015-11-27T12:49:21Z ferada joined #sbcl 2015-11-27T12:51:08Z jdz joined #sbcl 2015-11-27T12:51:09Z les joined #sbcl 2015-11-27T12:57:13Z jozip joined #sbcl 2015-11-27T13:03:26Z DGASAU` is now known as DGASAU 2015-11-27T13:04:11Z specbot joined #sbcl 2015-11-27T13:04:43Z Shinmera- joined #sbcl 2015-11-27T13:18:06Z DeadTrickster quit (Ping timeout: 240 seconds) 2015-11-27T13:19:47Z nyef_: Ahh. Just figured out what's going on with ASH. It's doing the signed operation for both signed and unsigned inputs. 2015-11-27T13:21:14Z yvm quit (Quit: Leaving) 2015-11-27T13:30:51Z nyef_ is now known as nyef 2015-11-27T13:52:04Z stassats joined #sbcl 2015-11-27T13:53:04Z ZabaQ joined #sbcl 2015-11-27T13:55:12Z ZabaQ_ joined #sbcl 2015-11-27T13:57:06Z ZabaQ quit (Ping timeout: 240 seconds) 2015-11-27T13:58:01Z dougk2 joined #sbcl 2015-11-27T13:59:44Z yvm joined #sbcl 2015-11-27T14:01:05Z jozip_ joined #sbcl 2015-11-27T14:01:23Z jozip quit (Ping timeout: 264 seconds) 2015-11-27T14:01:24Z jozip_ is now known as jozip 2015-11-27T14:08:45Z yvm quit (Quit: Leaving) 2015-11-27T14:08:46Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-27T14:09:11Z jdz quit (Ping timeout: 264 seconds) 2015-11-27T14:10:13Z zacts joined #sbcl 2015-11-27T14:13:13Z jdz joined #sbcl 2015-11-27T14:15:09Z yvm joined #sbcl 2015-11-27T14:27:07Z jdz quit (*.net *.split) 2015-11-27T14:27:09Z attila_lendvai quit (*.net *.split) 2015-11-27T14:27:10Z ignotus quit (*.net *.split) 2015-11-27T14:27:11Z scymtym_ quit (*.net *.split) 2015-11-27T14:27:11Z scymtym quit (*.net *.split) 2015-11-27T14:33:10Z Shinmera- is now known as Shinmera 2015-11-27T14:39:39Z dougk2 joined #sbcl 2015-11-27T14:44:23Z christop1 is now known as christoph_debian 2015-11-27T14:45:45Z christoph_debian is now known as christoph 2015-11-27T14:46:14Z christoph is now known as Guest43231 2015-11-27T14:46:41Z Guest43231 is now known as christoph_d 2015-11-27T14:48:20Z attila_lendvai joined #sbcl 2015-11-27T14:48:20Z jdz joined #sbcl 2015-11-27T14:48:20Z ignotus joined #sbcl 2015-11-27T14:48:20Z scymtym_ joined #sbcl 2015-11-27T14:48:20Z scymtym joined #sbcl 2015-11-27T14:49:44Z attila_lendvai is now known as Guest81655 2015-11-27T14:50:31Z dougk2 quit (Ping timeout: 272 seconds) 2015-11-27T14:50:37Z sjl quit (Read error: Connection reset by peer) 2015-11-27T14:52:05Z sjl joined #sbcl 2015-11-27T15:05:31Z dougk2 joined #sbcl 2015-11-27T15:07:59Z Guest81655 is now known as attila_lendvai 2015-11-27T15:08:06Z attila_lendvai quit (Changing host) 2015-11-27T15:08:06Z attila_lendvai joined #sbcl 2015-11-27T15:24:26Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-27T15:29:14Z dougk2 joined #sbcl 2015-11-27T15:37:23Z dougk2 quit (Ping timeout: 272 seconds) 2015-11-27T15:41:45Z Cymew joined #sbcl 2015-11-27T15:51:38Z stassats` joined #sbcl 2015-11-27T15:53:47Z igajsin quit (Ping timeout: 250 seconds) 2015-11-27T15:55:05Z stassats quit (Ping timeout: 250 seconds) 2015-11-27T15:55:06Z nyef quit (Ping timeout: 250 seconds) 2015-11-27T16:02:43Z psy joined #sbcl 2015-11-27T16:02:52Z stassats` quit (Remote host closed the connection) 2015-11-27T16:06:06Z Cymew quit (Ping timeout: 240 seconds) 2015-11-27T16:08:17Z nyef joined #sbcl 2015-11-27T16:08:49Z igajsin joined #sbcl 2015-11-27T16:09:33Z dougk2 joined #sbcl 2015-11-27T16:16:46Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-27T16:17:13Z dougk2 joined #sbcl 2015-11-27T16:21:13Z stassats joined #sbcl 2015-11-27T16:24:13Z eudoxia joined #sbcl 2015-11-27T16:24:38Z Xof: does the fasteval interpreter break on clos-cache.impure.lisp? 2015-11-27T16:25:08Z Xof: oh, maybe its minimally-compiling nature saves it 2015-11-27T16:27:07Z csziacobus joined #sbcl 2015-11-27T16:27:26Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-27T16:38:04Z stassats` joined #sbcl 2015-11-27T16:44:59Z stassats`: got an osx machine, might do some damage 2015-11-27T16:45:57Z stassats`: sb-sprof using signals is probably not solvable 2015-11-27T16:46:20Z eudoxia quit (*.net *.split) 2015-11-27T16:46:20Z stassats quit (*.net *.split) 2015-11-27T16:46:22Z igajsin quit (*.net *.split) 2015-11-27T16:46:22Z nyef quit (*.net *.split) 2015-11-27T16:46:23Z psy quit (*.net *.split) 2015-11-27T16:46:26Z attila_lendvai quit (*.net *.split) 2015-11-27T16:46:26Z jdz quit (*.net *.split) 2015-11-27T16:46:28Z ignotus quit (*.net *.split) 2015-11-27T16:46:28Z scymtym_ quit (*.net *.split) 2015-11-27T16:46:28Z scymtym quit (*.net *.split) 2015-11-27T16:50:43Z dougk2 joined #sbcl 2015-11-27T16:51:58Z igajsin joined #sbcl 2015-11-27T16:53:56Z nyef joined #sbcl 2015-11-27T16:56:15Z DeadTrickster joined #sbcl 2015-11-27T16:56:16Z psy joined #sbcl 2015-11-27T16:56:16Z attila_lendvai joined #sbcl 2015-11-27T16:56:16Z jdz joined #sbcl 2015-11-27T16:56:16Z ignotus joined #sbcl 2015-11-27T16:56:16Z scymtym_ joined #sbcl 2015-11-27T16:56:16Z scymtym joined #sbcl 2015-11-27T16:56:45Z yvm quit (Quit: Leaving) 2015-11-27T16:58:00Z dougk2 quit (Ping timeout: 272 seconds) 2015-11-27T17:04:59Z zacts quit (Ping timeout: 264 seconds) 2015-11-27T17:21:28Z DGASAU quit (Read error: Connection reset by peer) 2015-11-27T17:26:57Z abbe joined #sbcl 2015-11-27T17:27:07Z abbe_ quit (Ping timeout: 240 seconds) 2015-11-27T17:27:08Z igajsin quit (Ping timeout: 240 seconds) 2015-11-27T17:27:44Z igajsin joined #sbcl 2015-11-27T17:36:51Z abbe quit (Ping timeout: 246 seconds) 2015-11-27T17:40:04Z abbe joined #sbcl 2015-11-27T17:40:06Z stassats` quit (Remote host closed the connection) 2015-11-27T17:46:00Z attila_lendvai: --script also implies --no-userinit? it's not mentioned in the docs, but it seems like that to me (added a clear mistake to my .sbclrc and it's not triggered when I use --script) 2015-11-27T17:51:47Z stassats joined #sbcl 2015-11-27T17:54:42Z scymtym_: attila_lendvai: the man-page has two descriptions of --script: as a runtime option and as a toplevel option. the latter implies --no-userinit 2015-11-27T17:54:56Z nyef quit (Ping timeout: 247 seconds) 2015-11-27T17:55:41Z attila_lendvai: I was looking at the manual online. in fact I've started to record a pull request, but then I was stuck wondering what's this "as a runtime option" disctinction, and tried to play with it 2015-11-27T17:56:15Z attila_lendvai: I guess I'll just use --load instead of --script. I want the debugger anyways if this dies... 2015-11-27T17:57:06Z nyef joined #sbcl 2015-11-27T18:00:19Z DGASAU joined #sbcl 2015-11-27T18:00:59Z attila_lendvai: ok, so --load cannot work because of the #! stuff, but this --script being interpreted differently in different locations confuses the shit out of me 2015-11-27T18:01:17Z attila_lendvai: and thus I gave up on updating the manual 2015-11-27T18:04:03Z ZabaQ_ quit (Quit: Leaving) 2015-11-27T18:07:00Z attila_lendvai: so, is there a way to use --script so that it doesn't imply --no-userinit? because wherever I put --script foo.lisp (before or after --end-runtime-options), it doesn't seem to load .sbclrc 2015-11-27T18:09:24Z nyef quit (Ping timeout: 246 seconds) 2015-11-27T18:19:19Z scymtym_: i didn't read this carefully the first time, but the variant as a runtime option seems to imply the toplevel option 2015-11-27T18:19:40Z DGASAU quit (Ping timeout: 246 seconds) 2015-11-27T18:19:42Z nyef joined #sbcl 2015-11-27T18:19:42Z scymtym_: "As a runtime option equivalent to … --end-runtime-options --script " 2015-11-27T18:21:53Z DGASAU joined #sbcl 2015-11-27T18:28:22Z attila_lendvai: indeed, that escaped me also. so, it'll always imply --no-userinit. I can work it around, but I wonder if that's by design... 2015-11-27T18:28:39Z nyef: I would expect that it IS by design. 2015-11-27T18:28:54Z nyef: You want scripts to always behave the same, no matter what initfiles a user might have. 2015-11-27T18:29:56Z attila_lendvai: my use-case: a build.sh that "invokes" itself with sbcl --script $0, and I would like to use the user's full environment, e.g. if he has quicklisp loaded and configured in .sbclrc then load dependencies using ql 2015-11-27T18:43:25Z nyef: ... Why am I getting OBJECT-NOT-TYPE-ERROR instead of OBJECT-NOT-LIST-ERROR ? 2015-11-27T18:45:34Z nyef: Oh. Let me guess... stassats tore out the VOPs that generate more-appropriate errors on systems that don't support VOP TYPE-CHECK-ERROR/C ? 2015-11-27T18:45:59Z stassats: didn't you solve that? 2015-11-27T18:46:11Z nyef: Not yet. 2015-11-27T18:46:27Z psy quit (Disconnected by services) 2015-11-27T18:46:48Z nyef: I figure "it's a known issue, with known solution, and it's not a bug per se, so leave it while I track down everything else that's going wrong." 2015-11-27T18:46:55Z psy_ joined #sbcl 2015-11-27T18:47:43Z nyef: And there was PLENTY of other stuff going wrong. 2015-11-27T18:50:01Z zacts joined #sbcl 2015-11-27T18:51:06Z scymtym quit (Ping timeout: 240 seconds) 2015-11-27T18:51:20Z nyef: I guess I should spend some time dealing with the easier stuff now. 2015-11-27T18:53:37Z attila_lendvai: FTR, I ended up with the following hack: 2015-11-27T18:53:46Z attila_lendvai: --eval "(set-dispatch-macro-character #\# #\! (lambda (stream c n) (declare (ignore c n)) (read-line stream) (values)))" --load "$0" 2015-11-27T18:54:46Z nyef: Which... is different from my hack. 2015-11-27T18:55:09Z nyef: You know that you can call LOAD on a text stream, and it continues reading from the current stream position, right? 2015-11-27T18:55:59Z attila_lendvai: oh, I was pondering on something like that, but the stream part didn't strike me. is that simpler, though? 2015-11-27T18:56:44Z nyef: Probably not simpler, but it does mean you don't hack up the readtable. 2015-11-27T18:57:12Z attila_lendvai: oh, damn! right, I'm saving an image from this... 2015-11-27T18:57:39Z dougk2 joined #sbcl 2015-11-27T18:59:13Z Bicyclidine joined #sbcl 2015-11-27T19:00:00Z Bicyclidine quit (Client Quit) 2015-11-27T19:00:08Z Bicyclidine joined #sbcl 2015-11-27T19:03:00Z nyef: exec /home/nyef/sbcl/bin/sbcl --noinform --eval "(with-open-file (i \"$0\") (read-line i) (read-line i) (load i) (quit))" 2015-11-27T19:03:25Z nyef: attila_lendvai: Look about right to you? 2015-11-27T19:04:41Z attila_lendvai: nyef: perfect, thanks! 2015-11-27T19:05:23Z nyef: Looks like that was from 2008. 2015-11-27T19:05:29Z Xof: attila_lendvai: I was about to suggest that you could call process-init-file to process system and user init files in your script 2015-11-27T19:06:33Z attila_lendvai: Xof: that'd also work, but I'm trying to keep this somewhat lisp agnostic. at one point cl-launch may help me run this same build.sh with different lisps 2015-11-27T19:15:01Z zacts quit (Quit: WeeChat 1.3) 2015-11-27T19:21:04Z rszeno joined #sbcl 2015-11-27T19:21:40Z rszeno quit (Client Quit) 2015-11-27T19:21:55Z rszeno joined #sbcl 2015-11-27T19:38:38Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-27T19:40:16Z attila_lendvai: why isn't it *debug-io*? (%print-debugger-invocation-reason condition *error-output*) 2015-11-27T19:40:21Z attila_lendvai: is that by design? 2015-11-27T19:40:57Z attila_lendvai: code/debug.lisp most of the other printing there goes to *debug-io* 2015-11-27T19:41:36Z attila_lendvai is staring at an infinite loop of backtraces being printed due to an error from the stream wrapper of stderr 2015-11-27T19:42:33Z attila_lendvai: oh, hrm. my smarter nested error may be part of this 2015-11-27T19:50:22Z easye joined #sbcl 2015-11-27T19:52:21Z easye quit (Client Quit) 2015-11-27T19:56:18Z attila_lendvai: weird, error-error does a (throw 'toplevel-catcher nil), yet after that the 11 nested errors protector gets triggered. all the errors due to unable to write to stderr (as much as I can catch in the crazy scrolling) 2015-11-27T19:59:07Z attila_lendvai: a first time ever: killall -STOP sbcl 2015-11-27T20:00:13Z sjl quit (Ping timeout: 272 seconds) 2015-11-27T20:04:28Z attila_lendvai: so, it's the repl-fun busy looping because stdout and stderr got in a state that they cannot be touched. wondering what's a reasonable way to handle this if it needs any handling... 2015-11-27T20:05:39Z scymtym joined #sbcl 2015-11-27T20:06:50Z attila_lendvai: and there's a (catch 'toplevel-catcher ...) inside the loop, which practically disables error-error when dealing with errors beyond that point 2015-11-27T20:17:07Z attila_lendvai: this is the same with stock sbcl and I found a way to reproduce it. now the question is: a quick fix with a pull request or report a bug? 2015-11-27T20:18:04Z attila_lendvai: the issue in short: repl installs a toplevel-catcher inside its loop, and error-error tries to deal with a nested error by throwing 'toplevel-catcher 2015-11-27T20:19:32Z zacts joined #sbcl 2015-11-27T20:25:14Z attila_lendvai goes and reports a bug 2015-11-27T20:29:02Z stassats quit (Ping timeout: 246 seconds) 2015-11-27T20:32:09Z stassats joined #sbcl 2015-11-27T20:35:49Z dougk2 joined #sbcl 2015-11-27T20:39:53Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-27T20:42:31Z sjl joined #sbcl 2015-11-27T20:43:24Z npatrick04 joined #sbcl 2015-11-27T20:53:17Z attila_lendvai: reported as: https://bugs.launchpad.net/sbcl/+bug/1520694 2015-11-27T21:00:11Z stassats quit (Ping timeout: 264 seconds) 2015-11-27T21:04:09Z stassats joined #sbcl 2015-11-27T21:08:14Z stassats` joined #sbcl 2015-11-27T21:08:35Z stassats quit (Ping timeout: 246 seconds) 2015-11-27T21:20:51Z rszeno quit (Quit: Leaving.) 2015-11-27T21:27:49Z dougk2 joined #sbcl 2015-11-27T21:33:15Z nyef: ... Lovely. Found a test case that requires a relative branch with a displacement outside of the (signed-byte 17) range of the branch instruction. 2015-11-27T21:34:17Z nyef: And the only apparent option for getting a longer branch involves clobbering GR 2. 2015-11-27T21:42:46Z DeadTrickster quit (Ping timeout: 240 seconds) 2015-11-27T21:53:29Z angavrilov_ quit (Remote host closed the connection) 2015-11-27T22:11:56Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-27T22:12:14Z dougk2 joined #sbcl 2015-11-27T22:16:59Z dougk2 quit (Ping timeout: 264 seconds) 2015-11-27T22:18:00Z edgar-rf_ quit (Quit: edgar-rf_) 2015-11-27T22:22:19Z DeadTrickster joined #sbcl 2015-11-27T22:24:53Z stassats` quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2015-11-27T22:56:43Z ASau joined #sbcl 2015-11-28T00:06:53Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-11-28T00:09:01Z dougk2 joined #sbcl 2015-11-28T00:21:29Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-28T00:22:51Z DeadTrickster quit (Ping timeout: 328 seconds) 2015-11-28T00:26:00Z dougk2 joined #sbcl 2015-11-28T00:36:26Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-28T00:43:14Z nyef: Oh, FFS. Linux absolutely SPAMS the kernel log if a process hits a break 10,0 instruction. WTF? 2015-11-28T00:43:36Z nyef: Probably isn't even delivering it properly. 2015-11-28T00:45:25Z dougk2 joined #sbcl 2015-11-28T00:45:32Z nyef: Hrm. Or something even weirder or worse is going on. 2015-11-28T00:49:26Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-28T00:55:51Z gingerale quit (Remote host closed the connection) 2015-11-28T01:01:20Z scymtym quit (Ping timeout: 246 seconds) 2015-11-28T01:08:49Z sjl_ joined #sbcl 2015-11-28T01:10:47Z sjl quit (Ping timeout: 246 seconds) 2015-11-28T01:22:35Z nyef: I think that things just got sufficiently more complicated that I'm going to need to be digging through the Linux kernel to figure out what's what. 2015-11-28T01:55:46Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-28T01:56:03Z dougk2 joined #sbcl 2015-11-28T02:04:11Z nyef: ... I wonder if it has something to do with internal-error handling and the way HPPA interrupt contexts represent instruction pointers? 2015-11-28T02:12:07Z nyef: Unaligned access to bff1f504, though. And bff1f4c4 before it... And the previous run was c018a504... 2015-11-28T02:12:30Z nyef: ... Wait, always from 4b154ea7? 2015-11-28T02:12:45Z nyef: That's read-only-space, isn't it? 2015-11-28T02:13:04Z nyef: Does purify dump stuff to read-only space? 2015-11-28T02:13:23Z nyef: Hrm. Yes, it does. 2015-11-28T02:17:12Z karswell joined #sbcl 2015-11-28T02:19:15Z nyef: Okay, #x5bef86 words in read-only space, according to the header. 2015-11-28T02:19:28Z nyef: I'm missing an obvious trick here, aren't I? 2015-11-28T02:20:05Z nyef: Data page is zero, page count is #x16fc. 2015-11-28T02:21:07Z nyef: Looks like it starts at offset #x1000 in the file. 2015-11-28T02:22:04Z nyef: So, file address... #x155ea4, accounting for the file header and the program counter twist. 2015-11-28T02:22:21Z nyef: ... That can't be right, can it? 2015-11-28T02:23:00Z nyef: Okay, yes it can. 2015-11-28T02:23:27Z nyef: Instruction word is #x2c281000. 2015-11-28T02:25:28Z nyef: Opcode is 07? 2015-11-28T02:26:08Z nyef: That can't be right, surely. Do I have this the... Ah. Opcode is 0b. 2015-11-28T02:27:28Z nyef: A double-word coprocessor load. 2015-11-28T02:28:53Z nyef: Base is... GR 1? 2015-11-28T02:29:26Z nyef: Target is FR 0... Which means that this is a float control load. 2015-11-28T02:31:08Z nyef: No base modification, cc is 0 (whatever that means), immediate displacement, post-access base modification, not that we're doing base modification... 2015-11-28T02:32:29Z nyef: s is 0 (whatever that means), and the displacement is an "im5" of #b01000. 2015-11-28T02:34:55Z nyef: s is space register, and cc is cache-control. Nothing weird there. 2015-11-28T02:35:03Z nyef: So, GR 1 must be misaligned? 2015-11-28T02:36:44Z nyef: Oh, hell. 2015-11-28T02:36:55Z nyef: Okay, yeah, I screwed that up pretty badly. 2015-11-28T02:48:27Z |3b|` is now known as |3b| 2015-11-28T02:51:41Z nyef: Right, low_sign_ext(), so that's an offset of 4. 2015-11-28T03:00:53Z nyef: Oh, WOW did I screw that up, in retrospect. 2015-11-28T03:01:34Z nyef: Probably time to update my build host, under the circumstances. 2015-11-28T03:11:58Z dougk2 quit (Ping timeout: 260 seconds) 2015-11-28T03:13:48Z dougk2 joined #sbcl 2015-11-28T03:18:05Z nyef: Hrm... Damn, still pulling some unaligned accesses... But from different IPs now. 2015-11-28T03:18:25Z nyef: All in the 4cb5cxx range? 2015-11-28T03:18:38Z nyef: Err... 4c0b5cxx range. 2015-11-28T03:20:47Z nyef: Unaligned accesses to... bf74aaxx, but... 37, 3b, 2b, 2f, 37. Odd patterning. 2015-11-28T03:21:41Z nyef: Okay, still read-only-space. 2015-11-28T03:22:19Z nyef: So, first hit, 4c0b5cc3, is file offset b6cc0. 2015-11-28T03:22:48Z nyef: Instruction word 4b0b644b. Odd pattern. 2015-11-28T03:23:55Z nyef: ... load halfword? 2015-11-28T03:24:40Z nyef: Either a SAP access or a partial-data-vector-frob. 2015-11-28T03:26:21Z nyef: So, backing up a bit, I see obvious strings... Then 00000f52, which is... Instance-header-widetag? 2015-11-28T03:26:38Z nyef: Oh, hell. No wonder it's an odd instruction pattern. 2015-11-28T03:27:47Z nyef: So, b7448 should be a CONS... 2015-11-28T03:29:38Z nyef: An other-pointer into static-space, and the CDR is the immediately following CONS. And the immediately preceeding object is a simple-base-string, "AMOUNT2". 2015-11-28T03:30:04Z nyef: So... why/how does it wind up off in the weeds like that, AND recover? 2015-11-28T03:32:54Z nyef: Oh, and for it to happen while running octets.pure.lisp. 2015-11-28T03:45:37Z nyef: Hrm. Not a funcallable-instance, either. 2015-11-28T03:54:29Z nyef: FDEFN logic looks sane... 2015-11-28T03:55:31Z nyef: ... Maybe something to do with trampolines or the call-into-lisp/return dance for GC? 2015-11-28T03:56:35Z nyef: Hrm. Not obviously so, at least not for an invoked rather than triggered GC... 2015-11-28T04:03:18Z dougk2 quit (Ping timeout: 260 seconds) 2015-11-28T04:06:50Z nyef: Funcallable-instance-tramp has to be working right, or the damage would have been obvious long since. 2015-11-28T04:21:42Z dougk2 joined #sbcl 2015-11-28T04:21:45Z nyef: Closure-tramp likewise. 2015-11-28T04:22:21Z nyef: There's some brainlessness with return-multiple, but that should just be a GC race condition... 2015-11-28T04:24:32Z nyef: I'm already wishing that I could have data in an NX space. 2015-11-28T04:27:10Z nyef: Well, the CPU supports NX spaces. Too bad neither of our GCs do. 2015-11-28T04:35:59Z csziacobus quit (Quit: csziacobus) 2015-11-28T05:01:38Z dougk2 quit (Ping timeout: 260 seconds) 2015-11-28T05:32:59Z abbe_ joined #sbcl 2015-11-28T05:34:02Z DGASAU` joined #sbcl 2015-11-28T05:34:05Z ASau` joined #sbcl 2015-11-28T05:37:25Z Bicyclid1ne joined #sbcl 2015-11-28T05:42:04Z ASau quit (*.net *.split) 2015-11-28T05:42:05Z zacts quit (*.net *.split) 2015-11-28T05:42:05Z Bicyclidine quit (*.net *.split) 2015-11-28T05:42:06Z psy_ quit (*.net *.split) 2015-11-28T05:42:06Z DGASAU quit (*.net *.split) 2015-11-28T05:42:06Z nyef quit (*.net *.split) 2015-11-28T05:42:07Z abbe quit (*.net *.split) 2015-11-28T05:42:07Z igajsin quit (*.net *.split) 2015-11-28T05:43:06Z Intensity quit (*.net *.split) 2015-11-28T05:59:39Z ccl-logbot joined #sbcl 2015-11-28T05:59:39Z 2015-11-28T05:59:40Z names: ccl-logbot les` luis` Bicyclidine ferada_ nyef pootler psy_ ASau`` jackc- zacts minion DGASAU` abbe_ karswell sjl_ npatrick04 scymtym_ ignotus jdz jozip sigjuice phcrist antoszka joshe Blkt fe[nl]ix flip214 dim Quadrescence drmeister akkad jlarocco_ mood adhoc yauz White_Flame derrida chu fikusz salva kanru` dsp- frankS2 dougk_ brucem nicdev jlarocco |3b| irsol foom2 carvite p_l pkhuong_ dustinm` PuercoPop DeadTrickster_ Posterdati Ober Xof nimiux 2015-11-28T05:59:40Z names: jackdaniel hitecnologys christoph_d jsnell 2015-11-28T06:04:01Z chris2 joined #sbcl 2015-11-28T06:06:25Z specbot joined #sbcl 2015-11-28T06:14:20Z dougk2 joined #sbcl 2015-11-28T06:21:10Z rszeno joined #sbcl 2015-11-28T06:33:10Z psilord joined #sbcl 2015-11-28T06:33:30Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-28T06:36:05Z edgar-rft joined #sbcl 2015-11-28T06:46:26Z psilord quit (Quit: Leaving.) 2015-11-28T07:04:03Z DeadTrickster joined #sbcl 2015-11-28T08:06:18Z Shinmera joined #sbcl 2015-11-28T08:22:26Z stassats joined #sbcl 2015-11-28T08:31:58Z angavrilov joined #sbcl 2015-11-28T08:44:42Z Intensity joined #sbcl 2015-11-28T08:58:46Z gingerale joined #sbcl 2015-11-28T09:45:30Z rszeno quit (Quit: Leaving.) 2015-11-28T10:13:48Z ASau`` is now known as ASau 2015-11-28T10:35:10Z stassats: huh, my test-case doesn't work from within with-test 2015-11-28T10:35:18Z stassats: even though it involves compile 2015-11-28T10:40:18Z stassats: and it fails if i put it at the start of compiler.pure 2015-11-28T10:40:21Z stassats: so much for pure 2015-11-28T10:43:53Z stassats: ; to keep this test pure 2015-11-28T10:43:55Z stassats: uh, no 2015-11-28T11:07:45Z yvm joined #sbcl 2015-11-28T11:26:43Z akkad quit (Excess Flood) 2015-11-28T11:31:41Z akkad joined #sbcl 2015-11-28T12:24:20Z sigjuice quit (Quit: ZNC - http://znc.in) 2015-11-28T12:25:37Z sigjuice joined #sbcl 2015-11-28T12:32:48Z ferada_ is now known as ferada 2015-11-28T12:47:45Z attila_lendvai joined #sbcl 2015-11-28T13:18:21Z stassats` joined #sbcl 2015-11-28T13:19:11Z stassats quit (Ping timeout: 246 seconds) 2015-11-28T13:31:52Z stassats` quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2015-11-28T13:35:14Z stassats joined #sbcl 2015-11-28T13:36:30Z stassats quit (Client Quit) 2015-11-28T13:36:57Z stassats joined #sbcl 2015-11-28T13:37:30Z stassats quit (Client Quit) 2015-11-28T13:56:50Z zacts quit (Read error: Connection reset by peer) 2015-11-28T13:58:18Z zacts joined #sbcl 2015-11-28T14:12:01Z stassats joined #sbcl 2015-11-28T14:12:59Z stassats left #sbcl 2015-11-28T14:15:07Z akkad quit (Excess Flood) 2015-11-28T14:16:13Z akkad joined #sbcl 2015-11-28T14:19:29Z nyef: Hrm... Sounds like we need read-only-tramps fairly soon, don't we? 2015-11-28T14:19:42Z nyef: And possibly call_into_c in read-only-space as well? 2015-11-28T14:22:41Z yvm quit (Quit: Leaving) 2015-11-28T14:28:35Z stassats joined #sbcl 2015-11-28T14:28:44Z akkad quit (Excess Flood) 2015-11-28T14:34:13Z akkad joined #sbcl 2015-11-28T14:43:25Z dougk2 joined #sbcl 2015-11-28T14:55:51Z yvm joined #sbcl 2015-11-28T15:13:38Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-28T15:31:05Z dougk2 joined #sbcl 2015-11-28T15:35:16Z lnostdal joined #sbcl 2015-11-28T15:36:07Z yvm quit (Quit: Leaving) 2015-11-28T15:48:52Z nyef: ... Something definitely happens that sends the system off into the weeds somewhere. I've found a way to reproduce it reliably, but not exactly usefully. /-: 2015-11-28T16:06:16Z nyef: Okay, Faults at 4c0b5ccX. Read-only space again, so file offset b6cc0, all four "instructions". 2015-11-28T16:07:01Z nyef: Data space again. 2015-11-28T16:07:17Z nyef: And I have a somewhat-reduced test case, which is good. 2015-11-28T16:08:52Z nyef: Hrm. 0x1c26 is a code-header-widetag. 2015-11-28T16:09:03Z nyef: So it's landing in a constant-vector somehow. 2015-11-28T16:09:52Z nyef: ... And I'm looking in the wrong place? 2015-11-28T16:10:15Z nyef: It's file offset 10b6cc0. 2015-11-28T16:15:35Z dougk_ quit (Ping timeout: 272 seconds) 2015-11-28T16:15:38Z nyef: Trying again, 0x1826 is a code-header-widetag. 2015-11-28T16:17:09Z stassats: that's too wide for a widetag, no? 2015-11-28T16:17:13Z nyef: 0x182a is a simple-fun-header-widetag, and the header word looks correct. 2015-11-28T16:17:31Z nyef: It's a code-header-widetag with header data? 2015-11-28T16:18:56Z nyef: self is correct, no next function, name is... 0x4e06db1f, I can try to nail that down later. 2015-11-28T16:19:41Z nyef: arglist is 0x4e346f23, type is 0x4c0cea23, info is NIL. 2015-11-28T16:20:19Z nyef: And the entry point is five instructions before the first known unaligned access. 2015-11-28T16:21:00Z nyef: And this is read-only-space in a saved core, so I can bring heavier weapons to bear. 2015-11-28T16:21:36Z nyef: TWO-ARG-+. 2015-11-28T16:22:24Z nyef: Hrm. Too much code, might have to trace-file this. 2015-11-28T16:24:31Z nyef: Okay, dumped the assembly to a file. 2015-11-28T16:24:53Z nyef: And the answer is $CSP is deranged, somehow. 2015-11-28T16:25:13Z nyef: And $CFP, of course. 2015-11-28T16:27:09Z stassats: as in, out of range? 2015-11-28T16:27:43Z stassats: "this index is deranged" 2015-11-28T16:27:44Z nyef: As in, not aligned. 2015-11-28T16:27:52Z stassats: i should have gone with that wording for my last commit 2015-11-28T16:28:11Z dougk_ joined #sbcl 2015-11-28T16:28:32Z nyef: Thus, not in proper order, not arranged, deranged. 2015-11-28T16:36:14Z stassats: attila_lendvai: that github pull request, do you have a test case for it? 2015-11-28T16:36:36Z stassats: because i can't see before and after with the snippet you have there 2015-11-28T16:37:14Z attila_lendvai: stassats: you mean this https://github.com/sbcl/sbcl/pull/3 ? I commented a test case there 2015-11-28T16:38:05Z attila_lendvai: stassats: you want to see what the output looks like before and after? 2015-11-28T16:38:10Z stassats: yes 2015-11-28T16:38:36Z stassats: does it help anywhere outside of a new keyword argument? 2015-11-28T16:39:39Z attila_lendvai: stassats: I don't have one at hand, but in short: prior just a line of "Help! 11 nested errors..." and then ldb, or printing this in a loop. after it emits a backtrace also inbetween, if it manages to. if fails, then the same old Help! only 2015-11-28T16:41:09Z attila_lendvai: but at the very least starts to emit a backtrace if the streams are usable, and if nesting happens then it gives up halfway 2015-11-28T16:42:02Z attila_lendvai: the repl loop bug I reported is a reasonable usecase for this, maybe with an added (sleep 5) in the loop 2015-11-28T16:42:11Z attila_lendvai: s/usecase/testcase/ 2015-11-28T16:42:33Z stassats: but i didn't notice any improvement there 2015-11-28T16:42:45Z stassats: it still spins, right? 2015-11-28T16:42:49Z attila_lendvai: without this PR it'll just print "Help! ...", with it it should print a backtrace. 2015-11-28T16:42:56Z attila_lendvai: yes, but the spinning is an unrelated bug 2015-11-28T16:43:16Z stassats: ok, let me check again 2015-11-28T16:43:24Z stassats: if i see an improvement, i'll git push 2015-11-28T16:43:38Z attila_lendvai: the spinning happens because error-error tries to break out in a ways that doesn't break out from the spinning 2015-11-28T16:44:29Z attila_lendvai: the fix for that is not obvious because most of the time this is what you want... to be thrown to the toplevel, i.e. the repl loop. but when the stdout/err is borked, then you want something more radical. 2015-11-28T16:45:11Z stassats: well, how about not breaking stdout? 2015-11-28T16:45:12Z attila_lendvai: whether error-error should be more radical in the breaking attempt, or the repl code should deal with this... I don't have a useful opinion on that... 2015-11-28T16:45:18Z stassats: this is low priority then 2015-11-28T16:46:06Z attila_lendvai: stassats: well, that happens and throughout the years I've seen this not once and not twice. it always left me with no clue. now that it has happened again with my patch I could at least get a clue 2015-11-28T16:46:17Z attila_lendvai: but yes, that bug is low priority 2015-11-28T16:47:05Z attila_lendvai: but the error-error patch was very useful several times since I wrote it 2015-11-28T16:53:03Z stassats: i see the 2>&1 difference, but nothing changes for an erring print-object method 2015-11-28T16:53:17Z stassats: it just prints # as it did 2015-11-28T16:56:34Z stassats: ok, it seems to try more 2015-11-28T16:57:25Z stassats: attila_lendvai: pushed 2015-11-28T16:57:33Z attila_lendvai: stassats: there was a fix since I wrote this patch that better deals with print errors in the debugger. nevertheless, even with the fix this patch makes debugger get nested to level1 and show the backtrace of the print-object error, and use # only if emergency-best-effor is true, which by default is nesting > 1 2015-11-28T16:58:00Z nyef: Okay, I can reliably screw up CFP, and have it recover, with (map 'string #'code-char '(8364)). 2015-11-28T16:58:28Z attila_lendvai: nyef must be a magician... :) 2015-11-28T16:58:37Z stassats: though 2015-11-28T16:58:45Z stassats: it seems to be worse in slime now 2015-11-28T16:58:56Z nyef: But (map 'string #'code-char nil) doesn't do it. 2015-11-28T16:58:58Z attila_lendvai: stassats: thanks! hope it will save precious debugging time for others 2015-11-28T16:59:03Z stassats: [error printing frame] instead of (foo #) 2015-11-28T16:59:21Z attila_lendvai looks into his slime patches 2015-11-28T16:59:41Z stassats: did you hear? helmut resigned as a maintainer 2015-11-28T17:01:33Z stassats: ok, not sure where the issue with sldb lies, in slime or in sbcl 2015-11-28T17:01:35Z attila_lendvai: yeah, I've seen the theatrical handing over of the crown... didn't make much sense to me. seems like he felt that there must be an authority in the form of a single person who ultimately decides everything 2015-11-28T17:02:03Z attila_lendvai: stassats: I didn't find anything interesting among my patches. do you have a test-case? 2015-11-28T17:03:38Z stassats: attila_lendvai: http://paste.lisp.org/display/161099 2015-11-28T17:04:11Z stassats: well, error printing frame is coming from sbcl 2015-11-28T17:05:22Z stassats: or maybe not 2015-11-28T17:06:21Z stassats: ok, this is swank::frame-to-string 2015-11-28T17:09:35Z attila_lendvai: stassats: ah, ok, here's what happens: with my patch sbcl's debug code disables error guards and liberally signals errors with :emergency-best-effort nil, which by default is not being nested 2015-11-28T17:09:47Z stassats: yeah, that's what i'm seeing 2015-11-28T17:09:48Z attila_lendvai: stassats: the immediate return to normal is to pass in :e-b-e t 2015-11-28T17:10:07Z stassats: well, but shouldn't slime get the same treatment then? 2015-11-28T17:10:08Z stassats: can it? 2015-11-28T17:11:12Z attila_lendvai: maybe slime's error handling could be disabled now and let sbcl's backtrace code be smart about limiting the damage of errors while printing backtraces? 2015-11-28T17:11:39Z stassats: well, this is swank-wide, not just for sbcl 2015-11-28T17:12:19Z attila_lendvai: hrm, too bad. if you get rid of the handler-case then the backtrace is pretty useful actually 2015-11-28T17:12:32Z stassats: otherwise it works, but i see again things eaten 2015-11-28T17:12:41Z stassats: never was able to pin it down 2015-11-28T17:13:11Z attila_lendvai: yeah, the holes would be nicer if they were a # no immediate idea why it's not there 2015-11-28T17:13:29Z stassats: but it's even for unrelated things 2015-11-28T17:13:51Z stassats: i guess this is the time to figure it out 2015-11-28T17:13:52Z attila_lendvai: I think they are all related 2015-11-28T17:14:14Z stassats: but i first need to finish wrapping kqeueu on os x 2015-11-28T17:14:32Z attila_lendvai: stassats: I can look into this now, will let you know 2015-11-28T17:15:11Z stassats: well, there's one benefit, no one will revert a commit removing changing that handler-case 2015-11-28T17:17:02Z stassats: and i think we could do better than # 2015-11-28T17:17:23Z stassats: we can try printing its type 2015-11-28T17:17:32Z attila_lendvai: yep, at least the type should be able to print 2015-11-28T17:17:45Z stassats: well, until you are actually breaking sbcl internals 2015-11-28T17:20:37Z stassats: bloody kqueue keeps looping (and typing the word queue properly is half the reason to prefer inotify) 2015-11-28T17:29:46Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-28T17:31:48Z dougk2 joined #sbcl 2015-11-28T18:00:58Z dougk2 quit (Ping timeout: 260 seconds) 2015-11-28T18:03:01Z dougk2 joined #sbcl 2015-11-28T18:07:00Z attila_lendvai: I have a nice fix for printing errors, but now I need a new testcase for debugger nesting... :/ 2015-11-28T18:16:07Z attila_lendvai is wondering why is there both a PRINT-FRAME and a FRAME-CALL in swank, with almost the same semantics 2015-11-28T18:17:11Z attila_lendvai: hrm, one of them gets a frame object and the other a frame index 2015-11-28T18:26:28Z lnostdal quit (Remote host closed the connection) 2015-11-28T18:27:30Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-28T18:27:50Z dougk2 joined #sbcl 2015-11-28T18:30:21Z momo-reina joined #sbcl 2015-11-28T18:32:14Z dougk2 quit (Ping timeout: 260 seconds) 2015-11-28T18:33:35Z attila_lendvai: stassats: the only user of (definterface frame-call ) is the repl contrib, and it's hardly implemented on any lisps... maybe the user can be expected to copy-paste a line in return of some simplicity? 2015-11-28T18:34:23Z stassats: i added it, i think 2015-11-28T18:34:31Z stassats: i sometimes use it, it's not that great without presentations 2015-11-28T18:34:50Z attila_lendvai: that was my first thought 2015-11-28T18:35:14Z stassats: removing doesn't sound like a plan, can it just sometimes work? 2015-11-28T18:36:01Z attila_lendvai: it was just confusing. I was looking at the wrong code until I realized that there are two functions with almost the same semantics 2015-11-28T18:36:40Z attila_lendvai: and then again until I realized that the one I'm looking at is pretty much irrelevant, and its implementation is a oneliner using print-frame 2015-11-28T18:37:00Z stassats: well, that was 6 years ago, i don't remember any details 2015-11-28T18:37:27Z attila_lendvai: but I'm only looking at it from sbcl's perspective... maybe other lisps have different debug api 2015-11-28T18:39:29Z attila_lendvai: now if it could be upgraded to use presentation pointing into the debugged thread's stackframes... that would be nice. 2015-11-28T18:39:42Z nyef: Building in order to get a trace-file. Current best guess as to root cause is something to do with DX closures or something to do with &REST processing. 2015-11-28T18:39:48Z nyef: ... Or APPLY. 2015-11-28T18:41:46Z nyef: And I was thoroughly lost last night, it wasn't really ending up in the weeds, but I was looking in the wrong place in the core file. 2015-11-28T18:43:25Z akkad quit (Excess Flood) 2015-11-28T18:47:12Z akkad joined #sbcl 2015-11-28T19:14:44Z momo-reina quit (Remote host closed the connection) 2015-11-28T19:15:50Z nyef: Ugh. Ten megabyte trace file. /-: 2015-11-28T19:19:06Z nyef: ... Build process doesn't trip the unaligned thing, at least. 2015-11-28T19:27:45Z Bicyclidine quit (Quit: left right) 2015-11-28T19:29:31Z nyef: Okay, I'm thinking that it's almost certainly some sort of stack screw, either a blown TN-OFFSET-based access or something with an UVL packet or a DV packet, possibly including &REST arguments. 2015-11-28T19:36:37Z dougk2 joined #sbcl 2015-11-28T19:37:06Z nyef: Address pattern for the unaligned faults indicates that the low two bits of CFP are set, suggesting an other-pointer reference or a CONS cell reference. 2015-11-28T19:37:43Z nyef: The higher pointer bits suggest some sort of stack space. 2015-11-28T19:39:25Z nyef: Yeah, definitely a stack space. 2015-11-28T20:05:50Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-28T20:12:10Z psy_ quit (Read error: Connection reset by peer) 2015-11-28T20:22:39Z stassats: created https://github.com/stassats/kqueue 2015-11-28T20:23:07Z stassats: (yes, i have a knack for naming things) 2015-11-28T20:29:54Z dougk2 joined #sbcl 2015-11-28T20:44:05Z attila_lendvai: stassats: I have a patch soon ready for sbcl, but sldb is an entangled web... it has its own machinery for limiting printing length, and compartmentalizing errors 2015-11-28T20:44:33Z attila_lendvai: stassats: the print-length limiter is probably part of the story when frame lines are empty 2015-11-28T20:49:43Z attila_lendvai: hrm, maybe my patch is useless, because it may subvert the pretty printer upon which the debugger relies on. need to test that, too. 2015-11-28T20:50:30Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-28T20:53:08Z scymtym_: first set of improvements for bivalent streams and faster {READ,WRITE}-SEQUENCE: http://paste.lisp.org/display/161120. would anyone like to review? 2015-11-28T20:58:49Z attila_lendvai: so, basically in the trace code and in the debugger I cannot use a (with-output-to-string ...) wrapper for error handling because that would circumvent the pretty-printer on the underlying stream, notably the indentation... right? 2015-11-28T20:59:19Z attila_lendvai: this code looks so much nicer -- except this detail 2015-11-28T21:00:06Z attila_lendvai: and thus the only strategy available for print error handling is to try to print the object, and if it doesn't error, then print it again into its final place 2015-11-28T21:11:05Z Intensity quit (*.net *.split) 2015-11-28T21:39:51Z Xof: scymtym_: based on a moderately quick read, only one question comes to mind: previously, in read-sequence, there was a fast path for non-fd-streams (through ansi-stream-read-n-bytes if compatible-vector-and-element-type-p was true). Am I right in reading that your rewrite takes this away (because there's an fd-stream-p guard? 2015-11-28T21:40:43Z Xof: I'm also trying to imagine what it would take to reorder things so that the type declaration in the new compatible-vector-and-etc could be accurate... a src/code/late-streams.lisp that goes after fd-stream in the build order? 2015-11-28T21:42:56Z Xof: the type '(or signed-byte unsigned-byte) is equal to 'integer 2015-11-28T21:43:30Z nyef: ... While someone is messing with stream stuff, ISTR there being a problem with gray streams and the declared function return types in fndb. 2015-11-28T21:43:49Z Xof: I sometimes worry a little bit when thinking about our dubious claims to support non-8-bit binary io, but that's out of scope for this patch 2015-11-28T21:44:12Z Xof: otherwise, looks nice to me 2015-11-28T21:46:10Z nyef: Hrm. Enabling VOP TYPE-CHECK-ERROR/C causes octets.pure.lisp to memory fault, enter an infinitely-nested error scenario, and then just lock up. 2015-11-28T21:47:24Z nyef: And this would be after the first round of misaligned accesses caused by whatever-it-is with full calls to %MAP-TO-VECTOR. 2015-11-28T21:58:07Z dougk2 joined #sbcl 2015-11-28T22:07:03Z nyef: Trying a build --without-stack-allocatable-anything (not the actual build option) to see if it provides a different failure mode. 2015-11-28T22:08:46Z dougk2 quit (Ping timeout: 260 seconds) 2015-11-28T22:10:38Z scymtym joined #sbcl 2015-11-28T22:12:10Z angavrilov quit (Remote host closed the connection) 2015-11-28T22:14:26Z DeadTrickster: run-interruptions is called only on sigpipe? so interrupt-thread actually 'waits' for sigpipe? 2015-11-28T22:16:04Z scymtym: Xof: thanks for having a look. i will try to address your remarks. tangentially, based on brief experimentation, at least ([un]signed-byte ) seemed to work, but as you said, that wasn't the focus. 2015-11-28T22:16:06Z nyef: ... I think I ran into some problem with that once, actually... I think I was using pipes at the time. 2015-11-28T22:16:45Z nyef: scymtym: Your new challenge: A packed BAUDOT external-format. d-: 2015-11-28T22:17:28Z nyef: (Even less likely to be useful than EBCDIC... Which we may yet find a use for, there was some talk about a month or so ago about possibly doing an IBM mainframe port.) 2015-11-28T22:18:07Z lnostdal joined #sbcl 2015-11-28T22:18:15Z scymtym: nyef: thanks for the suggestion, but i think i will try to add support for different newline encodings before that :) 2015-11-28T22:19:32Z nyef: Ooh! Even better, though not as much of a stress-test for I/O with element types that aren't a power of two bits wide. 2015-11-28T22:20:00Z scymtym: hard enough with our stream and external-format code, though 2015-11-28T22:20:18Z nyef: Yeah, one of the reasons why I haven't really tried to do much with external-formats. 2015-11-28T22:20:39Z nyef: Even if I did have to add support for a unibyte encoding. 2015-11-28T22:21:04Z scymtym: i made some progress but multiple-byte newline encoding are hard to add without slowing things down 2015-11-28T22:21:26Z stassats: things are pretty slow already 2015-11-28T22:21:39Z stassats: i wanted to rewrite those parts 2015-11-28T22:26:40Z attila_lendvai: cannot babel be integrated into the sbcl build? would that be overkill? or just hard? or silly? 2015-11-28T22:27:04Z stassats: i imagine that would be even slower 2015-11-28T22:27:39Z attila_lendvai: IIRC babel is pretty fast actually, but I forgot the numbers 2015-11-28T22:27:43Z stassats: i had an order of magnitude improvement for octets-to-string for utf8, using internal stuff 2015-11-28T22:27:54Z stassats: or maybe more, i don't remember 2015-11-28T22:29:12Z stassats: something similar could be applied to streams and ffi string conversion 2015-11-28T22:29:48Z stassats: even faster results could be produced with simd 2015-11-28T22:30:34Z dougk2 joined #sbcl 2015-11-28T22:30:53Z attila_lendvai: hrm. and doing that in babel with #+sbcl and friends would be silly probably, although I guess it depends on how much of the internals are needed 2015-11-28T22:32:00Z stassats: access to raw bytes 2015-11-28T22:32:13Z stassats: i.e. processing 8 bytes at a time 2015-11-28T22:46:02Z nyef: Definitely getting stack corruption still. Hrm. 2015-11-28T22:47:28Z yvm joined #sbcl 2015-11-28T23:00:50Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-28T23:11:33Z attila_lendvai: stassats: recorded my change: https://github.com/attila-lendvai/sbcl/commits/debugger-print-errors 2015-11-28T23:12:01Z attila_lendvai: it only looks big because of the flet wrapping. considered for a while, but it's much more readable this way 2015-11-28T23:12:24Z attila_lendvai: there's also a docstring cleanup and a comment in a separate patch 2015-11-28T23:13:26Z stassats: this does not resolve the slime issue, right? 2015-11-28T23:13:41Z attila_lendvai: no 2015-11-28T23:14:20Z attila_lendvai: it just gives a hint about what errors failed, extends it to the info part, and makes trace output shorter if there are print errors 2015-11-28T23:14:32Z attila_lendvai: s/failed/got signalled/ 2015-11-28T23:14:32Z stassats: maybe slime should have error nesting too 2015-11-28T23:14:56Z attila_lendvai: I looked into that, but got lost... and sbcl.lisp cannot use swank::*sldb-level* 2015-11-28T23:15:38Z stassats: it can't? 2015-11-28T23:16:21Z attila_lendvai: what breaks slime output is probably one/all of: without-printing-errors, to-line, CALL/TRUNCATED-OUTPUT-TO-STRING 2015-11-28T23:16:43Z stassats: the ability to use swank:: in backends is the reason for the whole drama, though it will complain about undefined variables 2015-11-28T23:17:17Z attila_lendvai: well, you can, it's just against the way things are set up currently 2015-11-28T23:17:28Z gingerale quit (Remote host closed the connection) 2015-11-28T23:18:30Z attila_lendvai: but I don't understand why printing lossage only happens when the debugger gets nested 2015-11-28T23:18:57Z stassats: anyway, i don't really want to rewire slime extensively, some minimal fix should do 2015-11-28T23:19:43Z stassats: you mean the missing bits in frames? 2015-11-28T23:19:54Z attila_lendvai: oh, look at this, ?w=1 on github to ignore whitespaces: https://github.com/attila-lendvai/sbcl/commit/e75d01d46ec7cc8cbfc9193bfeefcf6097ae5f48?w=1 2015-11-28T23:20:05Z attila_lendvai: stassats: yes 2015-11-28T23:34:51Z stassats: it loses the ability to print conses 2015-11-28T23:34:54Z stassats: huh, huh 2015-11-28T23:34:57Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-11-28T23:43:04Z edgar-rft quit (Quit: edgar-rft) 2015-11-28T23:43:23Z attila_lendvai: pprint dispatch? didn't see anything related to that though 2015-11-28T23:46:28Z stassats: print circle broken? 2015-11-28T23:51:01Z stassats: when combined with logical blocks? 2015-11-28T23:51:51Z attila_lendvai: and something in swank breaks it when sldb gets nested? what could that be? 2015-11-28T23:54:03Z stassats: what the hell is (let ((sb!impl::*circularity-hash-table* . nil)) ? 2015-11-28T23:54:59Z stassats: it's just (sb!impl::*circularity-hash-table*), but i mean, really? 2015-11-28T23:55:32Z attila_lendvai: weird... :) 2015-11-28T23:55:43Z stassats: ok, i'm out of time 2015-11-28T23:55:51Z stassats: but the trail is on circularity 2015-11-28T23:56:07Z attila_lendvai: I may try tomorrow morning 2015-11-28T23:56:11Z stassats: i think there is a chance of a slimeless test-case 2015-11-28T23:56:47Z attila_lendvai: then maybe I'll wait for you... :) 2015-11-29T00:02:45Z akkad quit (Excess Flood) 2015-11-29T00:08:14Z stassats quit (Ping timeout: 260 seconds) 2015-11-29T00:09:14Z akkad joined #sbcl 2015-11-29T00:17:35Z Intensity joined #sbcl 2015-11-29T00:34:44Z nyef: We're still in code-freeze, aren't we? 2015-11-29T00:37:26Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-29T01:07:14Z scymtym quit (Ping timeout: 246 seconds) 2015-11-29T01:41:05Z csziacobus joined #sbcl 2015-11-29T01:45:50Z csziacobus: nyef: no, sbcl 1.3.1 was released a few days ago 2015-11-29T01:48:23Z nyef: Ah, so it was. 2015-11-29T01:48:31Z nyef: About a day and a half ago. 2015-11-29T01:50:55Z dougk2 joined #sbcl 2015-11-29T01:54:30Z nyef: Pull, done. Rebase, done. Build, in process. 2015-11-29T01:59:46Z DeadTrickster quit (Ping timeout: 260 seconds) 2015-11-29T02:00:51Z Intensity quit (Ping timeout: 244 seconds) 2015-11-29T02:09:10Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-29T02:13:45Z dougk2 joined #sbcl 2015-11-29T02:28:10Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-29T02:32:50Z adhoc quit (Ping timeout: 240 seconds) 2015-11-29T02:32:58Z nyef: sb-posix failed to build, with a memory error, which is new, but otherwise things seem okay. 2015-11-29T02:33:06Z nyef: Can't run the test suite without sb-posix, though, of course. 2015-11-29T02:33:10Z nyef: Trying a self-build. 2015-11-29T02:50:44Z dougk2 joined #sbcl 2015-11-29T03:00:24Z akkad quit (Excess Flood) 2015-11-29T03:05:55Z Bike joined #sbcl 2015-11-29T03:06:29Z Bike quit (Client Quit) 2015-11-29T03:06:50Z Bike joined #sbcl 2015-11-29T03:07:46Z akkad joined #sbcl 2015-11-29T03:08:31Z Bike quit (Client Quit) 2015-11-29T03:08:45Z Bike joined #sbcl 2015-11-29T03:08:52Z Bike quit (Client Quit) 2015-11-29T03:10:25Z Bike joined #sbcl 2015-11-29T03:19:45Z jlarocco quit (Remote host closed the connection) 2015-11-29T03:22:02Z jlarocco joined #sbcl 2015-11-29T04:05:59Z dougk2_ joined #sbcl 2015-11-29T04:09:03Z dougk2 quit (Ping timeout: 260 seconds) 2015-11-29T04:38:12Z lnostdal_ joined #sbcl 2015-11-29T04:41:47Z lnostdal quit (Ping timeout: 246 seconds) 2015-11-29T05:33:58Z dougk2_ quit (Ping timeout: 260 seconds) 2015-11-29T05:35:57Z dougk2 joined #sbcl 2015-11-29T05:44:49Z csziacobus quit (Quit: csziacobus) 2015-11-29T05:46:11Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-29T05:52:58Z psy_ joined #sbcl 2015-11-29T07:55:49Z angavrilov joined #sbcl 2015-11-29T08:04:44Z Shinmera joined #sbcl 2015-11-29T08:10:38Z npatrick` joined #sbcl 2015-11-29T08:10:39Z stassats joined #sbcl 2015-11-29T08:12:48Z npatrick04 quit (Ping timeout: 264 seconds) 2015-11-29T08:25:57Z adhoc joined #sbcl 2015-11-29T09:09:21Z scymtym joined #sbcl 2015-11-29T09:20:59Z gingerale joined #sbcl 2015-11-29T11:25:46Z ASau` joined #sbcl 2015-11-29T11:28:50Z ASau quit (Ping timeout: 240 seconds) 2015-11-29T11:35:17Z DeadTrickster joined #sbcl 2015-11-29T11:39:09Z edgar-rft joined #sbcl 2015-11-29T12:18:17Z ASau` is now known as ASau 2015-11-29T12:50:47Z ZabaQ joined #sbcl 2015-11-29T13:07:23Z stassats: i know why print-circle fails and have a test-case without involving slime 2015-11-29T13:07:41Z stassats: but no fix yet 2015-11-29T13:20:14Z attila_lendvai joined #sbcl 2015-11-29T13:37:40Z stassats: ok, i might have an idea 2015-11-29T13:41:47Z ccl-logbot joined #sbcl 2015-11-29T13:41:47Z 2015-11-29T13:41:47Z names: ccl-logbot attila_lendvai ZabaQ edgar-rft DeadTrickster ASau gingerale scymtym adhoc stassats npatrick` Shinmera angavrilov psy_ lnostdal_ jlarocco Bike akkad yvm dougk_ zacts sigjuice frankS2 brucem nicdev |3b| irsol foom2 carvite p_l pkhuong_ dustinm` PuercoPop DeadTrickster_ Posterdati Ober Xof nimiux jackdaniel hitecnologys christoph_d jsnell dsp- kanru` salva fikusz chu derrida White_Flame yauz mood jlarocco_ drmeister Quadrescence dim flip214 2015-11-29T13:41:47Z names: fe[nl]ix Blkt joshe antoszka phcrist jozip jdz ignotus scymtym_ sjl_ karswell abbe_ DGASAU` minion jackc- pootler nyef ferada luis` les` chris2 specbot 2015-11-29T13:43:17Z npatrick` quit (Remote host closed the connection) 2015-11-29T13:44:10Z kanru` quit (Ping timeout: 240 seconds) 2015-11-29T13:45:04Z stassats: (sb-int:info :type :translator symbol) stopped working 2015-11-29T13:46:33Z stassats: (sb-int:info :type :expander 'real) => (#) (sb-int:info :type :expander 'sb-c::index) => # 2015-11-29T13:46:42Z stassats: one is a list, one is a function 2015-11-29T13:59:58Z stassats: ok, that solved 2015-11-29T14:12:22Z stassats: so, the solution to the printing problem would involve creating a broadcast stream which hold *current-print-level* and *circularity-hash-table* 2015-11-29T14:12:39Z stassats: output-object wraps the original stream with it 2015-11-29T14:13:01Z stassats: that way errors inside print-object and interrupts won't inherit *circularity-hash-table* and *current-print-level* 2015-11-29T14:14:28Z stassats: the test case http://paste.lisp.org/display/161396 2015-11-29T14:14:46Z yvm quit (Ping timeout: 260 seconds) 2015-11-29T14:26:11Z yvm joined #sbcl 2015-11-29T14:32:37Z dougk2 joined #sbcl 2015-11-29T14:38:53Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-29T14:42:27Z attila_lendvai: stassats: so, the slime backtrace holes are caused by an sbcl printer bug? 2015-11-29T14:53:30Z stassats: attila_lendvai: yes 2015-11-29T14:59:58Z stassats: disabled listing pastes on paste.lisp.org 2015-11-29T15:03:44Z attila_lendvai: then it's good that I left it to you, because I didn't even consider that until you mentioned it 2015-11-29T15:05:25Z stassats: will probably not try that per stream circularity thing today, but sometime this week 2015-11-29T15:11:35Z attila_lendvai: I cannot find irc logs... but I think I see. circularity check should be per stream, otherwise it's pretty much useless. 2015-11-29T15:12:30Z stassats: and not exactly per stream, the same stream can be output each time, but output-object would create a wrapper 2015-11-29T15:12:36Z stassats: that wrapper wouldn't escape 2015-11-29T15:12:46Z stassats: s/each time/many times/ 2015-11-29T15:13:43Z stassats: so, it'd be, per invocation of output-object on a compound object 2015-11-29T15:13:55Z stassats: plus print-logical-block 2015-11-29T15:14:18Z attila_lendvai: ah, I see. even more complicated than what I tought 2015-11-29T15:14:20Z stassats: same thing with print-level 2015-11-29T15:14:39Z stassats: you saw the paste, right? 2015-11-29T15:14:59Z attila_lendvai: I only saw this test case: http://paste.lisp.org/display/161396 2015-11-29T15:15:06Z stassats: yes, that one 2015-11-29T15:16:34Z stassats: attila_lendvai: see also https://github.com/sbcl/sbcl/blob/master/src/code/debug.lisp#L832 2015-11-29T15:20:54Z attila_lendvai: seem like WHN had his headaches with this already. I wish there was a nice place already back then to record all these non-trivial outstanding issues with the codebase. or at least a marker like e.g. "DESIGN-ISSUE" that people could grep for to collect important comments like that^ 2015-11-29T15:25:39Z attila_lendvai: stassats: and maybe this could also be solved: I tried to add a with-printing-guard macro that wraps the output into a with-output-to-string, and emit the whole thing as one chunk if there were no errors... until I realized that the pprinter state is different while printing into the string buffer. 2015-11-29T15:26:27Z attila_lendvai: not sure it's a crucial thing to solve, but maybe this use-case is worth keeping in mind when designing a fix 2015-11-29T16:05:37Z nyef: Is there some way to know if a :RESULT TN for a VOP is ever used as input to another VOP? 2015-11-29T16:08:02Z dougk2 joined #sbcl 2015-11-29T16:12:14Z stassats: hack or non-hacky? 2015-11-29T16:12:20Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-29T16:12:26Z stassats: hacky: check tn-reads 2015-11-29T16:12:35Z stassats: or ref-reads, whatever was that 2015-11-29T16:13:46Z stassats: a better interface should be provided 2015-11-29T16:14:18Z nyef: Non-hacky, ideally. 2015-11-29T16:14:48Z nyef: Ah well, a "later" thing anyway. 2015-11-29T16:15:15Z nyef: Trying to track down my stack corruption issue right now, and something in the trace file triggered that question. 2015-11-29T16:17:42Z dougk2 joined #sbcl 2015-11-29T16:21:47Z dougk2 quit (Ping timeout: 246 seconds) 2015-11-29T16:31:58Z stassats quit (Ping timeout: 260 seconds) 2015-11-29T16:34:10Z stassats joined #sbcl 2015-11-29T17:05:11Z nyef: I have now desk-checked the output from all of the suspicious-looking VOPs indicated by my corruption test-case. I find that MAKE-CLOSURE could be tightened up a bit, and that COPY-MORE-ARG is a bit twisty, but nothing seems "wrong". /-: 2015-11-29T17:06:10Z derrida quit (Ping timeout: 240 seconds) 2015-11-29T17:08:12Z derrida joined #sbcl 2015-11-29T17:08:13Z derrida quit (Changing host) 2015-11-29T17:08:13Z derrida joined #sbcl 2015-11-29T17:13:24Z stassats: assembly routines? 2015-11-29T17:14:11Z nyef: It'd have to be GENERIC-+. 2015-11-29T17:14:24Z nyef: But good call. 2015-11-29T17:14:34Z nyef: I guess I'll check that next. 2015-11-29T17:14:39Z nyef: Or, hrm... 2015-11-29T17:15:25Z nyef: I should be able to declare indexness, which should eliminate the use of GENERIC-+ in favor of inline operations. 2015-11-29T17:15:42Z nyef: Shouldn't it? 2015-11-29T17:16:53Z nyef: I think what's annoying me the most is that at some point in the ten commits since 1.3.1, something has changed so that the corruption prevents building sb-posix. 2015-11-29T17:17:27Z nyef: Which means that I can't even run the test suite anymore. 2015-11-29T17:29:22Z psy_ quit (Ping timeout: 260 seconds) 2015-11-29T17:30:02Z rszeno joined #sbcl 2015-11-29T17:43:54Z nyef: GENERIC-+ looks good for this scenario. 2015-11-29T17:44:22Z dougk2 joined #sbcl 2015-11-29T17:45:10Z nyef: (Having checked the semantics of LISP-RETURN with the given offset, and it should be landing just AFTER the instruction that would have clobbered CSP with an uninitialized OCFP.) 2015-11-29T17:50:35Z dougk2 quit (Ping timeout: 264 seconds) 2015-11-29T18:10:35Z csziacobus joined #sbcl 2015-11-29T18:21:48Z dougk2 joined #sbcl 2015-11-29T18:26:42Z rszeno quit (Quit: Leaving.) 2015-11-29T18:36:43Z dougk2 quit (Ping timeout: 276 seconds) 2015-11-29T18:55:02Z gabnet joined #sbcl 2015-11-29T19:02:57Z dougk2 joined #sbcl 2015-11-29T19:10:59Z dougk2 quit (Ping timeout: 264 seconds) 2015-11-29T19:12:29Z DeadTrickster_ quit (Ping timeout: 276 seconds) 2015-11-29T19:13:10Z gabnet quit (Quit: Quitte) 2015-11-29T19:16:47Z nyef: ... It's messing up in SB-BIGNUM:MAKE-SMALL-BIGNUM? WTF? 2015-11-29T19:16:59Z nyef: Okay, maybe GENERIC-+ is busted after all? 2015-11-29T19:17:09Z nyef: Or something else is going on. 2015-11-29T19:17:42Z nyef: I do have a new trick for finding an enclosing code object from a program counter value, though. 2015-11-29T19:34:39Z dougk2 joined #sbcl 2015-11-29T19:46:40Z DeadTrickster_ joined #sbcl 2015-11-29T19:48:16Z _iwc joined #sbcl 2015-11-29T19:50:00Z nyef sighs. 2015-11-29T19:50:11Z nyef: CALL-NAMED is not GC-safe. /-: 2015-11-29T19:53:26Z dougk2 quit (Ping timeout: 276 seconds) 2015-11-29T20:23:20Z derrida quit (Ping timeout: 276 seconds) 2015-11-29T20:27:33Z derrida joined #sbcl 2015-11-29T20:27:33Z derrida quit (Changing host) 2015-11-29T20:27:33Z derrida joined #sbcl 2015-11-29T20:42:48Z DeadTrickster_ quit (Ping timeout: 264 seconds) 2015-11-29T21:00:27Z DeadTrickster_ joined #sbcl 2015-11-29T21:04:48Z nyef: Okay, just got to the point where CSP gets deranged. Now I have to figure out WHY. 2015-11-29T21:04:57Z nyef: NARGS. NARGS is wrong 2015-11-29T21:05:54Z nyef: NARGS is getting corrupted when COMPUTE-CODE-FROM-something has a large offset. 2015-11-29T21:06:22Z nyef: And it's nargs, so it has to be COMPUTE-CODE-FROM-LIP, doesn't it? 2015-11-29T21:06:31Z edgar-rft quit (Quit: edgar-rft) 2015-11-29T21:07:16Z nyef: Oh, god. This isn't uncommon. 2015-11-29T21:07:43Z nyef: Aha! 2015-11-29T21:08:47Z nyef: NARGS is a non-descriptor-reg on HPPA, but... No, that doesn't work, it's also non-descriptor-reg on MIPS... Unless MIPS has it as a latent bug due to a larger available displacement? 2015-11-29T21:09:39Z nyef: Also non-descriptor reg on SPARC, same thing. 2015-11-29T21:10:13Z phoe_krk joined #sbcl 2015-11-29T21:10:20Z nyef: And again on PPC. 2015-11-29T21:11:03Z derrida quit (*.net *.split) 2015-11-29T21:11:05Z csziacobus quit (*.net *.split) 2015-11-29T21:11:11Z PuercoPop quit (*.net *.split) 2015-11-29T21:11:13Z pkhuong_ quit (*.net *.split) 2015-11-29T21:11:15Z foom2 quit (*.net *.split) 2015-11-29T21:11:15Z carvite quit (*.net *.split) 2015-11-29T21:11:15Z irsol quit (*.net *.split) 2015-11-29T21:11:15Z |3b| quit (*.net *.split) 2015-11-29T21:11:16Z nicdev quit (*.net *.split) 2015-11-29T21:11:16Z brucem quit (*.net *.split) 2015-11-29T21:14:10Z pkhuong joined #sbcl 2015-11-29T21:14:33Z pkhuong is now known as Guest84856 2015-11-29T21:15:03Z |3b| joined #sbcl 2015-11-29T21:18:03Z csziacobus joined #sbcl 2015-11-29T21:19:14Z nyef: Preliminary conclusion: HPPA gets bit by this one because (signed-byte 14) isn't enough to encode the displacement very often. 2015-11-29T21:21:05Z nyef: ... doesn't explain SPARC, though? 2015-11-29T21:21:06Z dougk2 joined #sbcl 2015-11-29T21:21:53Z phoe_krk left #sbcl 2015-11-29T21:23:31Z nyef: Might also be weirdness with the register allocator or something as well. 2015-11-29T21:23:45Z carvite joined #sbcl 2015-11-29T21:25:06Z irsol joined #sbcl 2015-11-29T21:27:13Z Posterdati quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2015-11-29T21:28:36Z phoe_krk joined #sbcl 2015-11-29T21:30:13Z jozip quit (Ping timeout: 264 seconds) 2015-11-29T21:31:57Z derrida joined #sbcl 2015-11-29T21:31:57Z derrida quit (Changing host) 2015-11-29T21:31:57Z derrida joined #sbcl 2015-11-29T21:32:15Z jozip joined #sbcl 2015-11-29T21:33:15Z PuercoPop joined #sbcl 2015-11-29T21:33:22Z brucem joined #sbcl 2015-11-29T21:35:36Z nyef: Still, neatly explains why/how it can recover, as well as why/how it slams random places on the stack but not anywhere else. 2015-11-29T21:38:36Z PuercoPop quit (Ping timeout: 264 seconds) 2015-11-29T21:40:02Z dougk2 quit (Ping timeout: 276 seconds) 2015-11-29T21:40:03Z ZabaQ quit (Read error: Connection reset by peer) 2015-11-29T21:40:19Z nyef sighs. 2015-11-29T21:40:24Z nyef: Still more corruption to find. /-: 2015-11-29T21:40:42Z nyef: On the upside, I have something new to desk-check to try and find it. 2015-11-29T21:44:16Z PuercoPop joined #sbcl 2015-11-29T21:44:52Z nyef: Is NARGS live over a local call? 2015-11-29T21:45:49Z phcrist quit (Remote host closed the connection) 2015-11-29T21:49:47Z nyef: And no go. Unless NARGS is live over a local call, this is a bit of a dead end. /-: 2015-11-29T21:54:49Z nyef: And it's not corrupting the same way, either. Nothing in the system log, for example. 2015-11-29T21:58:08Z gingerale quit (Remote host closed the connection) 2015-11-29T22:02:00Z brucem quit (Ping timeout: 264 seconds) 2015-11-29T22:02:44Z stassats: local calls can use non-standard registers 2015-11-29T22:06:51Z |3b| quit (Remote host closed the connection) 2015-11-29T22:08:15Z dougk2 joined #sbcl 2015-11-29T22:08:25Z russian_lisper joined #sbcl 2015-11-29T22:08:34Z russian_lisper: hello all :) 2015-11-29T22:08:56Z brucem joined #sbcl 2015-11-29T22:09:49Z phoe_krk_ joined #sbcl 2015-11-29T22:10:11Z |3b| joined #sbcl 2015-11-29T22:11:36Z angavrilov_ joined #sbcl 2015-11-29T22:11:45Z angavrilov_ quit (Remote host closed the connection) 2015-11-29T22:11:54Z DGASAU`` joined #sbcl 2015-11-29T22:12:30Z dsp-_ joined #sbcl 2015-11-29T22:12:40Z Bike_ joined #sbcl 2015-11-29T22:12:48Z chu_ joined #sbcl 2015-11-29T22:16:28Z mood_ joined #sbcl 2015-11-29T22:18:05Z derrida quit (*.net *.split) 2015-11-29T22:18:08Z irsol quit (*.net *.split) 2015-11-29T22:18:10Z ASau quit (*.net *.split) 2015-11-29T22:18:11Z angavrilov quit (*.net *.split) 2015-11-29T22:18:12Z Bike quit (*.net *.split) 2015-11-29T22:18:13Z zacts quit (*.net *.split) 2015-11-29T22:18:16Z nyef quit (*.net *.split) 2015-11-29T22:18:16Z jackc- quit (*.net *.split) 2015-11-29T22:18:16Z minion quit (*.net *.split) 2015-11-29T22:18:16Z phoe_krk quit (*.net *.split) 2015-11-29T22:18:17Z DGASAU` quit (*.net *.split) 2015-11-29T22:18:19Z drmeister quit (*.net *.split) 2015-11-29T22:18:20Z jlarocco_ quit (*.net *.split) 2015-11-29T22:18:20Z mood quit (*.net *.split) 2015-11-29T22:18:21Z yauz quit (*.net *.split) 2015-11-29T22:18:21Z White_Flame quit (*.net *.split) 2015-11-29T22:18:25Z dsp- quit (*.net *.split) 2015-11-29T22:18:26Z salva quit (*.net *.split) 2015-11-29T22:18:26Z fikusz quit (*.net *.split) 2015-11-29T22:18:28Z chu quit (*.net *.split) 2015-11-29T22:18:34Z phoe_krk_ is now known as phoe_krk 2015-11-29T22:20:29Z attila_lendvai: russian_lisper: welcome here, too. note that #sbcl focuses mostly on the development of sbcl itself. 2015-11-29T22:21:49Z Posterdati joined #sbcl 2015-11-29T22:25:29Z stassats: i guess it's time for planning how to approach the ppc64 port 2015-11-29T22:26:05Z stassats: i think i'll just go over the vops, change anything that looks word-length dependent and make sure that it works on ppc32 first 2015-11-29T22:26:11Z stassats: than try to debug it on ppc64 2015-11-29T22:26:24Z fikusz joined #sbcl 2015-11-29T22:26:38Z stassats: having a remote machine is not ideal 2015-11-29T22:27:06Z dougk2 quit (Ping timeout: 240 seconds) 2015-11-29T22:27:16Z phcrist joined #sbcl 2015-11-29T22:28:08Z russian_lisper: attila_lendvai: thanks! I suspected it :) 2015-11-29T22:28:56Z Bike_ is now known as Bike 2015-11-29T22:29:19Z stassats: i might want to use some new instructions, and some existing instructions would need to be adjusted to handle different widths, mostly load/store, i guess 2015-11-29T22:29:36Z stassats: can't say i'm really excited about the port, but it's better to do it now, while the memory of arm64 is fresh 2015-11-29T22:30:18Z russian_lisper: stassats: thank you for your work! :) 2015-11-29T22:31:15Z stassats: you're welcome, i guess 2015-11-29T22:32:36Z PuercoPop quit (Ping timeout: 264 seconds) 2015-11-29T22:34:43Z attila_lendvai: a rare moment of non-negative online feedback... :) let me also express my gratitude to everyone who contributed to what SBCL is today! 2015-11-29T22:35:11Z russian_lisper: SBCL is a really alternative technology, and you guys, who maintain it, thank you very much! 2015-11-29T22:37:53Z stassats: eh, it's not that alternative 2015-11-29T22:38:30Z stassats: no pixies inside or anything 2015-11-29T22:39:10Z Shinmera: There's a joke to be made about aliens. 2015-11-29T22:39:39Z stassats: there's sb-alien, yes 2015-11-29T22:40:49Z White_Flame joined #sbcl 2015-11-29T22:40:53Z PuercoPop joined #sbcl 2015-11-29T22:42:04Z jackc- joined #sbcl 2015-11-29T22:42:12Z minion joined #sbcl 2015-11-29T22:42:18Z russian_lisper: statsats: hehe :) 2015-11-29T22:42:27Z nyef joined #sbcl 2015-11-29T22:42:27Z jlarocco_ joined #sbcl 2015-11-29T22:42:55Z phcrist quit (Ping timeout: 270 seconds) 2015-11-29T22:43:05Z nyef: ... Why can't script kiddies use a real operating system, instead of DoS? 2015-11-29T22:43:42Z phcrist joined #sbcl 2015-11-29T22:44:46Z derrida joined #sbcl 2015-11-29T22:44:46Z salva joined #sbcl 2015-11-29T22:44:46Z derrida quit (Changing host) 2015-11-29T22:44:46Z derrida joined #sbcl 2015-11-29T22:45:26Z drmeister joined #sbcl 2015-11-29T22:46:09Z stassats: but it works in real mode 2015-11-29T22:47:11Z nyef: Ah, right, and they want to keep shit real? 2015-11-29T22:47:18Z nyef: They could at least use MINIX? 2015-11-29T22:47:55Z stassats: i think i'll have an insts64.lisp file 2015-11-29T22:48:08Z yauz joined #sbcl 2015-11-29T22:48:33Z irsol joined #sbcl 2015-11-29T22:49:02Z nyef: I don't know what happened, but 1.3.1.x doesn't build sb-posix for me. Or sb-gmp or sb-mpfr, but those are expected. 2015-11-29T22:49:39Z nyef: Beyond that, I'm getting a clean build without any unaligned traps, which is an improvement. 2015-11-29T22:49:46Z stassats: and i'll have to use an instruction macro in place of STW 2015-11-29T22:50:12Z nyef: Sounds fun. What port are you working on? 2015-11-29T22:50:52Z stassats: ppc64, the last one i'm going to tackle 2015-11-29T22:51:05Z stassats: it ain't no fun, i'll tell you 2015-11-29T22:51:29Z stassats: browsing through PowerISA_V2.07_PUBLIC.pdf 2015-11-29T22:51:40Z zacts joined #sbcl 2015-11-29T22:52:12Z nyef: Mmm. I have hppa64, alpha, mips64, and possibly sparc64 on my queue. 2015-11-29T22:52:16Z stassats: ok, keeping the same source tree seems doable 2015-11-29T22:52:32Z stassats: only the load/store instructions would need to be changed 2015-11-29T22:52:43Z stassats: and maybe multiplication and stuff 2015-11-29T22:53:06Z nyef: And a lot of fixnum/word-index sort-out. 2015-11-29T22:53:33Z nyef: Although you can, temporarily, set n-fixnum-tag-bits to 3 to mask that. 2015-11-29T22:54:25Z stassats: i will go step by step while preserving ppc32 2015-11-29T22:54:32Z stassats: that way i can do it through slime 2015-11-29T22:57:02Z ASau joined #sbcl 2015-11-29T22:57:11Z stassats: maybe the abi is different 2015-11-29T22:58:04Z drmeister quit (Ping timeout: 245 seconds) 2015-11-29T22:59:42Z stassats: and i'm having second thoughts, what do i need ppc64 for? not going to use it anyhow 2015-11-29T23:01:09Z stassats: what i actually need is qt5 support in commonqt 2015-11-29T23:06:48Z brucem quit (Ping timeout: 264 seconds) 2015-11-29T23:09:26Z drmeister joined #sbcl 2015-11-29T23:12:39Z stassats: complex doubles can live in vector registers 2015-11-29T23:13:09Z nyef: Hrm. bit-vector.impure-cload.lisp still dies. 2015-11-29T23:15:54Z stassats: i think power7 could be the minimal target 2015-11-29T23:17:16Z brucem joined #sbcl 2015-11-29T23:17:17Z abbe_ quit (*.net *.split) 2015-11-29T23:17:49Z stassats: it has the VSX vector thingy 2015-11-29T23:19:11Z stassats: which 64 vector registers, but that's probably not really helpful 2015-11-29T23:19:45Z russian_lisper: stassats: what problem with Qt5 in CommonQt? :) 2015-11-29T23:20:00Z stassats: it's not supported 2015-11-29T23:20:45Z russian_lisper: stassats: oops. what the reason? 2015-11-29T23:21:04Z stassats: ok, i won't go out of my way to only support power7, but that's the oldest thing i have, probably won't use vector registers just yet 2015-11-29T23:21:19Z stassats: russian_lisper: the library it uses is bogus 2015-11-29T23:21:41Z russian_lisper: stassats: are you talking about Smoke? :) 2015-11-29T23:22:47Z stassats: yes 2015-11-29T23:23:36Z jozip quit (Ping timeout: 264 seconds) 2015-11-29T23:24:24Z PuercoPop quit (Ping timeout: 264 seconds) 2015-11-29T23:25:01Z russian_lisper: stassats: do you need any help for Qt5 support in CommonQt? :) 2015-11-29T23:25:56Z PuercoPop joined #sbcl 2015-11-29T23:26:37Z stassats: not really 2015-11-29T23:27:45Z russian_lisper: stassats: well, good luck! :) looking forward for this feature! :) 2015-11-29T23:27:57Z russian_lisper: have to go sleep :) zzzzzzz 2015-11-29T23:28:56Z russian_lisper: good night! :) 2015-11-29T23:28:59Z russian_lisper left #sbcl 2015-11-29T23:29:27Z jozip joined #sbcl 2015-11-29T23:31:35Z DeadTrickster quit (Ping timeout: 246 seconds) 2015-11-29T23:42:06Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-11-29T23:47:53Z brucem quit (Changing host) 2015-11-29T23:47:53Z brucem joined #sbcl 2015-11-29T23:52:41Z abbe joined #sbcl 2015-11-29T23:53:38Z stassats quit (Ping timeout: 246 seconds) 2015-11-29T23:53:40Z abbe is now known as Guest37866 2015-11-30T00:08:00Z jozip quit (Ping timeout: 264 seconds) 2015-11-30T00:08:00Z jozip_ joined #sbcl 2015-11-30T00:08:38Z frankS2 quit (Read error: Connection reset by peer) 2015-11-30T00:08:57Z frankS2 joined #sbcl 2015-11-30T00:21:14Z jozip_ quit (Read error: Connection reset by peer) 2015-11-30T00:21:30Z jozip_ joined #sbcl 2015-11-30T00:34:18Z phoe_krk quit (Read error: Connection reset by peer) 2015-11-30T00:40:24Z PuercoPop quit (Ping timeout: 264 seconds) 2015-11-30T00:41:01Z drmeister quit (Read error: Connection reset by peer) 2015-11-30T00:42:09Z drmeister joined #sbcl 2015-11-30T00:46:10Z dim quit (Ping timeout: 260 seconds) 2015-11-30T00:46:38Z Xof quit (Ping timeout: 260 seconds) 2015-11-30T00:48:03Z Quadrescence quit (Ping timeout: 260 seconds) 2015-11-30T00:48:32Z PuercoPop joined #sbcl 2015-11-30T00:48:35Z dim joined #sbcl 2015-11-30T00:49:03Z nyef: Hrm... That COPY-MORE-ARG bug would be affected by the number of arg-passing-registers wouldn't it? 2015-11-30T00:50:02Z Quadrescence joined #sbcl 2015-11-30T00:53:00Z frankS2 quit (Ping timeout: 264 seconds) 2015-11-30T00:53:54Z frankS2 joined #sbcl 2015-11-30T00:57:47Z PuercoPop quit (Ping timeout: 264 seconds) 2015-11-30T00:57:48Z jozip_ quit (Ping timeout: 264 seconds) 2015-11-30T00:58:34Z PuercoPop joined #sbcl 2015-11-30T00:58:42Z jozip_ joined #sbcl 2015-11-30T01:03:53Z drmeister quit (Read error: Connection reset by peer) 2015-11-30T01:08:47Z drmeister joined #sbcl 2015-11-30T01:09:38Z jozip__ joined #sbcl 2015-11-30T01:10:24Z jozip_ quit (Ping timeout: 264 seconds) 2015-11-30T01:10:24Z PuercoPop quit (Ping timeout: 264 seconds) 2015-11-30T01:10:24Z jozip__ is now known as jozip_ 2015-11-30T01:15:09Z PuercoPop joined #sbcl 2015-11-30T01:18:14Z drmeister quit (Read error: Network is unreachable) 2015-11-30T01:18:48Z frankS2 quit (Ping timeout: 264 seconds) 2015-11-30T01:19:12Z frankS2 joined #sbcl 2015-11-30T01:22:23Z PuercoPop quit (Ping timeout: 264 seconds) 2015-11-30T01:23:15Z nyef: ... sb-bsd-sockets passes its tests, which require sb-posix, but sb-posix itself doesn't even build? WTF? 2015-11-30T01:23:56Z drmeister joined #sbcl 2015-11-30T01:27:48Z jozip_ quit (Ping timeout: 264 seconds) 2015-11-30T01:28:59Z drmeister quit (Ping timeout: 264 seconds) 2015-11-30T01:30:08Z jozip_ joined #sbcl 2015-11-30T01:30:17Z drmeister joined #sbcl 2015-11-30T01:34:06Z PuercoPop joined #sbcl 2015-11-30T01:39:46Z nyef: I wonder if I'm running into something in terms of sanctify_for_execution()? 2015-11-30T01:57:06Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-30T02:03:38Z edgar-rft joined #sbcl 2015-11-30T02:14:26Z psilord joined #sbcl 2015-11-30T02:15:15Z Guest37866 quit (Ping timeout: 240 seconds) 2015-11-30T02:30:12Z jozip_ quit (Ping timeout: 264 seconds) 2015-11-30T02:30:14Z jozip__ joined #sbcl 2015-11-30T02:35:00Z jozip__ quit (Ping timeout: 264 seconds) 2015-11-30T02:36:34Z jozip__ joined #sbcl 2015-11-30T02:36:58Z Quadresce` joined #sbcl 2015-11-30T02:38:30Z Quadrescence quit (Ping timeout: 245 seconds) 2015-11-30T02:43:23Z jozip__ quit (Ping timeout: 264 seconds) 2015-11-30T02:45:16Z jozip__ joined #sbcl 2015-11-30T03:00:54Z nyef: Damn. Still pulling unaligned accesses somewhere, plus the kernel likes to bitch about breakpoints. 2015-11-30T03:02:41Z edgar-rft quit (Quit: edgar-rft) 2015-11-30T03:07:06Z abbe joined #sbcl 2015-11-30T03:07:19Z csziacobus quit (Quit: csziacobus) 2015-11-30T03:16:19Z drmeister_ joined #sbcl 2015-11-30T03:16:24Z drmeister quit (Ping timeout: 264 seconds) 2015-11-30T03:16:26Z drmeister_ is now known as drmeister 2015-11-30T03:17:04Z loke joined #sbcl 2015-11-30T03:20:25Z drmeister_ joined #sbcl 2015-11-30T03:21:12Z drmeister quit (Ping timeout: 264 seconds) 2015-11-30T03:21:13Z drmeister_ is now known as drmeister 2015-11-30T03:26:00Z drmeister quit (Ping timeout: 264 seconds) 2015-11-30T03:27:48Z jozip__ quit (Ping timeout: 264 seconds) 2015-11-30T03:29:00Z jozip__ joined #sbcl 2015-11-30T03:55:15Z drmeister joined #sbcl 2015-11-30T04:04:24Z phcrist quit (Ping timeout: 264 seconds) 2015-11-30T04:05:08Z phcrist joined #sbcl 2015-11-30T04:24:07Z karswell quit (Read error: Connection reset by peer) 2015-11-30T04:26:27Z abbe quit (Ping timeout: 240 seconds) 2015-11-30T04:26:39Z jozip__ quit (Ping timeout: 264 seconds) 2015-11-30T04:35:07Z jozip__ joined #sbcl 2015-11-30T04:42:11Z jozip__ quit (Ping timeout: 264 seconds) 2015-11-30T04:42:12Z jozip___ joined #sbcl 2015-11-30T04:43:54Z Quadresce` quit (Ping timeout: 245 seconds) 2015-11-30T04:46:59Z jozip___ quit (Ping timeout: 264 seconds) 2015-11-30T04:50:51Z jozip___ joined #sbcl 2015-11-30T05:00:12Z PuercoPop quit (Ping timeout: 264 seconds) 2015-11-30T05:07:42Z Quadrescence joined #sbcl 2015-11-30T05:16:40Z phcrist quit (Ping timeout: 264 seconds) 2015-11-30T05:17:00Z jozip___ quit (Ping timeout: 264 seconds) 2015-11-30T05:17:35Z drmeister quit (Ping timeout: 264 seconds) 2015-11-30T05:21:02Z drmeister joined #sbcl 2015-11-30T05:25:54Z PuercoPop joined #sbcl 2015-11-30T05:31:24Z brucem quit (Ping timeout: 264 seconds) 2015-11-30T05:32:09Z jozip___ joined #sbcl 2015-11-30T05:57:28Z phcrist joined #sbcl 2015-11-30T05:58:43Z brucem joined #sbcl 2015-11-30T06:26:00Z drmeister quit (Ping timeout: 264 seconds) 2015-11-30T06:30:48Z frankS2 quit (Ping timeout: 264 seconds) 2015-11-30T06:31:44Z frankS2 joined #sbcl 2015-11-30T07:01:05Z chu_ is now known as chu 2015-11-30T07:02:36Z frankS2 quit (Ping timeout: 264 seconds) 2015-11-30T07:04:30Z frankS2 joined #sbcl 2015-11-30T07:06:39Z igajsin joined #sbcl 2015-11-30T07:08:46Z ASau quit (Quit: off) 2015-11-30T07:45:36Z dougk2 joined #sbcl 2015-11-30T08:06:12Z brucem quit (Ping timeout: 264 seconds) 2015-11-30T08:08:57Z jlarocco quit (Read error: Connection reset by peer) 2015-11-30T08:17:40Z Cymew joined #sbcl 2015-11-30T08:18:52Z brucem joined #sbcl 2015-11-30T08:19:02Z brucem quit (Changing host) 2015-11-30T08:19:02Z brucem joined #sbcl 2015-11-30T08:19:19Z angavrilov joined #sbcl 2015-11-30T08:21:42Z Shinmera joined #sbcl 2015-11-30T08:23:08Z dougk2 quit (Ping timeout: 244 seconds) 2015-11-30T08:28:25Z drmeister joined #sbcl 2015-11-30T08:30:35Z jozip___ quit (Changing host) 2015-11-30T08:30:35Z jozip___ joined #sbcl 2015-11-30T08:30:42Z frankS2 quit (Changing host) 2015-11-30T08:30:42Z frankS2 joined #sbcl 2015-11-30T08:31:10Z drmeister quit (Changing host) 2015-11-30T08:31:10Z drmeister joined #sbcl 2015-11-30T08:33:04Z frankS2 quit (Ping timeout: 245 seconds) 2015-11-30T08:33:58Z stassats joined #sbcl 2015-11-30T08:36:20Z jlarocco joined #sbcl 2015-11-30T08:38:00Z drmeister quit (Ping timeout: 264 seconds) 2015-11-30T08:40:47Z DeadTrickster_ quit (Quit: Leaving) 2015-11-30T08:41:09Z DeadTrickster joined #sbcl 2015-11-30T08:41:37Z jozip___ quit (Ping timeout: 264 seconds) 2015-11-30T08:42:26Z jozip___ joined #sbcl 2015-11-30T08:44:47Z sjl_ quit (Ping timeout: 240 seconds) 2015-11-30T08:45:27Z Cymew quit (Ping timeout: 260 seconds) 2015-11-30T08:48:00Z drmeister joined #sbcl 2015-11-30T08:49:23Z jozip___ quit (Ping timeout: 264 seconds) 2015-11-30T08:50:42Z Cymew joined #sbcl 2015-11-30T08:51:11Z jozip___ joined #sbcl 2015-11-30T08:55:54Z frankS2 joined #sbcl 2015-11-30T09:00:30Z jozip____ joined #sbcl 2015-11-30T09:00:47Z jozip___ quit (Ping timeout: 264 seconds) 2015-11-30T09:00:48Z jozip____ is now known as jozip___ 2015-11-30T09:18:37Z jozip___ quit (Read error: Connection reset by peer) 2015-11-30T09:20:39Z brucem quit (Ping timeout: 264 seconds) 2015-11-30T09:28:18Z jozip___ joined #sbcl 2015-11-30T09:28:27Z brucem joined #sbcl 2015-11-30T09:29:04Z jozip___ quit (Client Quit) 2015-11-30T09:35:29Z ZabaQ joined #sbcl 2015-11-30T09:37:07Z loke quit (Ping timeout: 250 seconds) 2015-11-30T09:44:06Z sjl joined #sbcl 2015-11-30T09:49:23Z drmeister quit (Ping timeout: 264 seconds) 2015-11-30T09:49:55Z drmeister joined #sbcl 2015-11-30T09:56:04Z ccl-logbot joined #sbcl 2015-11-30T09:56:04Z 2015-11-30T09:56:04Z names: ccl-logbot loke drmeister sjl ZabaQ brucem frankS2 Cymew DeadTrickster jlarocco stassats Shinmera angavrilov igajsin phcrist PuercoPop Quadrescence psilord dim zacts irsol yauz salva derrida jlarocco_ nyef minion jackc- White_Flame fikusz Posterdati mood_ chu Bike dsp-_ DGASAU`` |3b| p_l dustinm` Ober nimiux jackdaniel hitecnologys christoph_d jsnell flip214 fe[nl]ix Blkt joshe antoszka jdz ignotus scymtym_ pootler ferada luis` les` chris2 specbot sigjuice 2015-11-30T09:56:04Z names: dougk_ akkad lnostdal_ adhoc scymtym yvm _iwc Guest84856 carvite 2015-11-30T10:01:02Z stassats quit (Ping timeout: 260 seconds) 2015-11-30T10:03:51Z stassats joined #sbcl 2015-11-30T10:08:30Z stassats quit (Ping timeout: 260 seconds) 2015-11-30T10:17:21Z stassats joined #sbcl 2015-11-30T10:20:29Z Xof joined #sbcl 2015-11-30T10:22:02Z stassats quit (Ping timeout: 260 seconds) 2015-11-30T10:28:21Z stassats joined #sbcl 2015-11-30T10:32:46Z stassats quit (Ping timeout: 260 seconds) 2015-11-30T10:33:21Z stassats joined #sbcl 2015-11-30T10:37:54Z stassats quit (Ping timeout: 260 seconds) 2015-11-30T10:38:21Z stassats joined #sbcl 2015-11-30T10:43:02Z stassats quit (Ping timeout: 260 seconds) 2015-11-30T10:43:21Z stassats joined #sbcl 2015-11-30T10:47:42Z stassats quit (Ping timeout: 260 seconds) 2015-11-30T10:48:21Z stassats joined #sbcl 2015-11-30T10:52:50Z stassats quit (Ping timeout: 260 seconds) 2015-11-30T10:54:19Z Quadrescence quit (Ping timeout: 245 seconds) 2015-11-30T10:56:30Z Quadrescence joined #sbcl 2015-11-30T10:58:51Z stassats joined #sbcl 2015-11-30T11:03:34Z stassats quit (Ping timeout: 260 seconds) 2015-11-30T11:12:56Z stassats joined #sbcl 2015-11-30T11:13:29Z DGASAU`` is now known as DGASAU 2015-11-30T11:17:34Z stassats quit (Ping timeout: 260 seconds) 2015-11-30T11:20:51Z lnostdal_ quit (Ping timeout: 260 seconds) 2015-11-30T11:22:49Z luis` is now known as luis 2015-11-30T11:25:37Z attila_lendvai joined #sbcl 2015-11-30T11:35:26Z stassats joined #sbcl 2015-11-30T11:39:58Z stassats quit (Ping timeout: 260 seconds) 2015-11-30T11:40:06Z Bike quit (Ping timeout: 240 seconds) 2015-11-30T11:41:22Z loke quit (Ping timeout: 260 seconds) 2015-11-30T11:41:22Z sjl quit (Ping timeout: 260 seconds) 2015-11-30T11:42:00Z lnostdal_ joined #sbcl 2015-11-30T11:43:22Z DGASAU quit (Read error: Connection reset by peer) 2015-11-30T11:43:48Z DGASAU joined #sbcl 2015-11-30T11:46:19Z loke joined #sbcl 2015-11-30T11:48:09Z Bike joined #sbcl 2015-11-30T11:50:14Z lnostdal_ quit (Ping timeout: 260 seconds) 2015-11-30T11:50:56Z stassats joined #sbcl 2015-11-30T11:54:17Z sjl joined #sbcl 2015-11-30T11:54:19Z derrida quit (Ping timeout: 245 seconds) 2015-11-30T11:54:56Z derrida joined #sbcl 2015-11-30T11:54:57Z derrida quit (Changing host) 2015-11-30T11:54:57Z derrida joined #sbcl 2015-11-30T12:00:02Z stassats quit (Ping timeout: 260 seconds) 2015-11-30T12:01:50Z lnostdal_ joined #sbcl 2015-11-30T12:05:26Z stassats joined #sbcl 2015-11-30T12:07:06Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-30T12:19:59Z PuercoPop quit (Ping timeout: 264 seconds) 2015-11-30T12:20:28Z PuercoPop joined #sbcl 2015-11-30T13:02:34Z sjl quit (Ping timeout: 260 seconds) 2015-11-30T13:08:20Z sjl joined #sbcl 2015-11-30T13:19:22Z lnostdal_ quit (Ping timeout: 260 seconds) 2015-11-30T13:34:17Z lnostdal joined #sbcl 2015-11-30T13:40:21Z loke quit (Ping timeout: 262 seconds) 2015-11-30T15:33:24Z ccl-logbot joined #sbcl 2015-11-30T15:33:24Z 2015-11-30T15:33:24Z names: ccl-logbot reb sjl attila_lendvai rpg edgar-rft lnostdal PuercoPop stassats derrida DGASAU drmeister ZabaQ brucem frankS2 Cymew DeadTrickster jlarocco Shinmera angavrilov igajsin phcrist psilord dim irsol yauz salva jlarocco_ nyef minion jackc- White_Flame p_l dustinm` Ober nimiux jackdaniel hitecnologys christoph_d jsnell flip214 fe[nl]ix Blkt joshe antoszka jdz ignotus scymtym_ pootler ferada luis les` chris2 specbot sigjuice dougk_ akkad adhoc scymtym 2015-11-30T15:33:24Z names: yvm _iwc Guest84856 carvite |3b| dsp-_ chu mood_ Posterdati fikusz 2015-11-30T15:37:14Z dougk2 joined #sbcl 2015-11-30T15:37:36Z Quadrescence joined #sbcl 2015-11-30T15:37:43Z Bike joined #sbcl 2015-11-30T15:41:42Z dougk2 quit (Ping timeout: 260 seconds) 2015-11-30T15:45:17Z Cymew quit (Quit: Konversation terminated!) 2015-11-30T15:45:31Z Cymew joined #sbcl 2015-11-30T15:47:00Z dougk2 joined #sbcl 2015-11-30T15:49:44Z Cymew quit (Ping timeout: 245 seconds) 2015-11-30T16:03:46Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-11-30T16:08:40Z loke joined #sbcl 2015-11-30T16:11:40Z gingerale joined #sbcl 2015-11-30T16:25:06Z lnostdal quit (Ping timeout: 260 seconds) 2015-11-30T16:29:18Z DGASAU quit (Ping timeout: 260 seconds) 2015-11-30T16:37:50Z lnostdal joined #sbcl 2015-11-30T16:48:55Z hitecnologys quit (Ping timeout: 260 seconds) 2015-11-30T16:50:09Z dougk2 quit (Ping timeout: 245 seconds) 2015-11-30T16:57:30Z hitecnologys joined #sbcl 2015-11-30T17:04:06Z ZabaQ quit (Quit: Leaving) 2015-11-30T17:47:28Z stassats: trying to wrangle check-bound transforms 2015-11-30T17:47:46Z stassats: i want it to be folded when types are known, but i don't want it to be folded when they are not known 2015-11-30T17:48:06Z stassats: previously it just transformed into a cast, which ate any error context 2015-11-30T17:49:45Z zacts joined #sbcl 2015-11-30T17:54:15Z nyef: Good luck? 2015-11-30T17:55:22Z stassats: trying to remove it in a defoptimizer 2015-11-30T18:00:12Z nyef: I... may need to rework the HPPA backend to not use SIGTRAP. 2015-11-30T18:03:09Z dougk2 joined #sbcl 2015-11-30T18:04:05Z stassats: deleting does not work so well... 2015-11-30T18:04:59Z stassats: can't fold because the array is not known... 2015-11-30T18:05:19Z stassats: i've already trying a dozen of different combinations 2015-11-30T18:06:17Z stassats: well, deleting probably doesn't work so well because i'm deleting it wrong 2015-11-30T18:11:33Z nyef turns off the unaligned-trap option in the kernel and re-runs the test suite. 2015-11-30T18:11:55Z stassats: there's constant-fold-call, but it only works on constants 2015-11-30T18:15:51Z stassats: still, i suppose the optimizer can bail out and not call the defoptimizer thingy 2015-11-30T18:16:34Z |3b|` joined #sbcl 2015-11-30T18:16:41Z joshe quit (Ping timeout: 250 seconds) 2015-11-30T18:16:50Z akkad quit (Ping timeout: 246 seconds) 2015-11-30T18:17:04Z stassats: i suppose that's pretty unlikely, otherwise other things will be in a bad shape 2015-11-30T18:17:26Z |3b| quit (Ping timeout: 240 seconds) 2015-11-30T18:18:00Z stassats: so, maybe ir2-convert 2015-11-30T18:21:13Z jackc- quit (Read error: Connection reset by peer) 2015-11-30T18:21:26Z sigjuice quit (Ping timeout: 240 seconds) 2015-11-30T18:23:28Z hlavaty joined #sbcl 2015-11-30T18:24:54Z stassats: that actually works 2015-11-30T18:24:57Z nyef: Hrm. Unaligned access, from dynamic-space-0 to... 0xc06f061a ? 2015-11-30T18:25:19Z nyef: On the upside, the kernel should have slapped that process down, hard, so I'll know which test file it's in. 2015-11-30T18:26:20Z stassats: so so hacky 2015-11-30T18:27:07Z stassats: compiling, i bet to find out that it fails horribly 2015-11-30T18:27:37Z jackc- joined #sbcl 2015-11-30T18:27:58Z stassats: and i still can't derive the type of the variable 2015-11-30T18:28:35Z akkad joined #sbcl 2015-11-30T18:28:45Z sigjuice joined #sbcl 2015-11-30T18:29:22Z stassats: (and (aref #(a) x) x) doesn't get derived as 0 2015-11-30T18:31:11Z stassats: and i do want those better error messages 2015-11-30T18:31:34Z stassats: maybe i can introduce a new kind of casts, check-bound casts 2015-11-30T18:31:56Z stassats: since it is a cast after all 2015-11-30T18:33:44Z stassats: that horrible idea i had half an hour ago doesn't seem so horrible 2015-11-30T18:34:37Z stassats: basically i just want a cast that issues a different compile-time warning and translates into the check-bound vop 2015-11-30T18:35:19Z nyef: ... float.impure.lisp. Typical. 2015-11-30T18:35:31Z nyef: Heh. Didn't I try to introduce a new type of CAST at some point? 2015-11-30T18:36:13Z nyef: I forget if they ended up staying, or if I found another way to make them not evanesce inappropriately. 2015-11-30T18:37:43Z stassats: i think it's the best course of action, otherwise i'm just duplicating what casts already do 2015-11-30T18:38:15Z stassats: maybe i can make more generic cast-like things, so that you can attach more information to it and what to translate it to 2015-11-30T18:38:28Z stassats: well, i guess i should jump ahead and just make check-bound work first 2015-11-30T18:38:32Z stassats: shouldn't 2015-11-30T18:38:42Z nyef: Hrm. Bus error, which is fine. Then UNDEFINED-FUNCTION on SB-VM:CONTEXT-FLOAT-REGISTER, which is less so, and why is it even trying that, anyway? Then the backtrace gets stunted at call_into_lisp for the INTERNAL-ERROR. 2015-11-30T18:39:44Z nyef: ... The EQUAL-ENOUGH noise, apparently. 2015-11-30T18:41:10Z stassats: ok, tomorrow, since tonight is the tv-series night 2015-11-30T18:42:39Z Quadrescence quit (Ping timeout: 245 seconds) 2015-11-30T18:42:52Z nyef: ... tv-series? 2015-11-30T18:44:13Z stassats: that's when i catch up with sunday night american tv, due to timezone differences 2015-11-30T18:45:23Z nyef: Ah. 2015-11-30T18:48:25Z Quadrescence joined #sbcl 2015-11-30T18:48:35Z Quadrescence quit (Changing host) 2015-11-30T18:48:35Z Quadrescence joined #sbcl 2015-11-30T18:53:06Z stassats: and then another rework, of *print-circle* 2015-11-30T18:53:17Z fe[nl]ix: watcha watchin', doc ? 2015-11-30T18:53:54Z stassats: tonight, homeland and the walking dead 2015-11-30T18:54:33Z nyef: Hrm. Some sort of indexed float access, maybe? I'm looking at an "fldw r31(r1),fr26", r31 is a constant 0x1a, r1 is 0xc00e3580... which is plausibly a chunk of number stack? And then there's an fcnvxf,sgl,sgl, which seems a bit weird. 2015-11-30T18:56:00Z lnostdal quit (Quit: Invest and trade anonymously: https://goo.gl/NwRDC2) 2015-11-30T18:56:05Z nyef: Ah. r30 is more properly known as $sp, and is 0xc00e3640, so yes, number stack reference. 2015-11-30T18:56:15Z lnostdal joined #sbcl 2015-11-30T18:59:51Z ASau joined #sbcl 2015-11-30T19:00:49Z nyef: ... Hunh. Okay, offsets to LD-FLOAT need to be scaled. How totally nuisance. 2015-11-30T19:01:11Z mood_ is now known as mood 2015-11-30T19:01:30Z Xof joined #sbcl 2015-11-30T19:06:09Z Xof: dougk2: do you do anything special in sb-fasteval to make with-pinned-objects work? 2015-11-30T19:06:36Z nyef: ... Why would there need to be anything special to make with-pinned-objects work? 2015-11-30T19:06:41Z dougk2: Xof: yes, it should work 2015-11-30T19:06:52Z nyef: Oh. x86oids. Right. 2015-11-30T19:06:58Z dougk2: nyef: in x86-64 you have to guarantee that the object is on the stack 2015-11-30T19:07:03Z nyef: Right, right. 2015-11-30T19:07:30Z nyef: Maybe we should just get rid of that mechanism, and use the non-x86oid approach everywhere? 2015-11-30T19:07:46Z stassats: would be great 2015-11-30T19:08:01Z stassats: except, how would it work? 2015-11-30T19:08:04Z nyef: Still pinning stuff that's on the stack, but use the explicit pin list for anything explicitly pinned. 2015-11-30T19:08:27Z nyef: And since the explicit pin list is stack allocated anyway...? 2015-11-30T19:10:03Z stassats: the part that it has to be search is what i don't like 2015-11-30T19:10:08Z stassats: searched 2015-11-30T19:10:39Z stassats: or it's just iterated over and pages are pinned? 2015-11-30T19:10:41Z Xof: dougk2: ok, how? 2015-11-30T19:11:45Z dougk2: Xof: I copied the code from full-eval which looks right. It uses with-pinned-objects on each object after eval'ing them individually. 2015-11-30T19:11:55Z Xof: Hm 2015-11-30T19:12:08Z Xof: I have reason to believe that full-eval doesn't support with-pinned-objects 2015-11-30T19:12:17Z Xof: namely, failures in the test suite. But I could be misinterpreting 2015-11-30T19:12:35Z Bicyclidine joined #sbcl 2015-11-30T19:13:17Z nyef: Xof: There's an easy test for this. Crib the PPC version of with-pinned-objects, add *PINNED-OBJECTS* or whatever it is to static-symbols, and enable the corresponding bit in gencgc.c. 2015-11-30T19:13:44Z dougk2: Xof: full-eval *claims* to support. You must mean that it's broken. Look at 'eval-with-pinned-objects' 2015-11-30T19:14:26Z Xof: dougk2: specifically, full-eval fails at least c-bignum-logbitp 2015-11-30T19:14:28Z nyef: Also, if we get the x86oids using the pinned-object list, it means that the same code gets used in every backend, and thus can be promoted to generic. 2015-11-30T19:15:04Z Xof: I see eval-with-pinned-objects, and of course nothing immediately tickles my spidey sense 2015-11-30T19:15:13Z Xof: but that just proves that I don't have a spidey sense 2015-11-30T19:16:52Z Bicyclidine quit (Client Quit) 2015-11-30T19:17:05Z Bicyclidine joined #sbcl 2015-11-30T19:20:14Z gingerale quit (Remote host closed the connection) 2015-11-30T19:20:50Z Xof: it could be something else, given that some of the other with-pinned-objects in the test suite succeed 2015-11-30T19:20:56Z Bicyclidine quit (Client Quit) 2015-11-30T19:21:11Z Bicyclidine joined #sbcl 2015-11-30T19:25:40Z Bicyclidine quit (Client Quit) 2015-11-30T19:30:01Z Bicyclidine joined #sbcl 2015-11-30T19:34:27Z nyef: Or the other tests could be succeeding by accident, being on the same page as a pinned object. 2015-11-30T19:37:40Z stassats: recently i had clearly failing tests succeeding 2015-11-30T19:37:48Z stassats: turns out, a previous wasn't so pure 2015-11-30T19:42:33Z nyef: Mmm. Seen that before. 2015-11-30T19:42:52Z nyef: As pure as the freshly-plowed snow? 2015-11-30T19:48:28Z dougk2 quit (Ping timeout: 250 seconds) 2015-11-30T19:56:02Z sjl quit (Ping timeout: 260 seconds) 2015-11-30T20:05:16Z plertrood joined #sbcl 2015-11-30T20:14:30Z nyef: Oh, FFS. If a break instruction isn't specifically GDB_BREAK_INSN, it gets logged by the kernel? 2015-11-30T20:15:13Z nyef: At least this can be worked around, but still... WTF? 2015-11-30T20:17:50Z nyef: Looks like the break instruction needs to be "break 4,8" for the kernel to not pitch a fit about it. 2015-11-30T20:32:40Z nyef: And it looks like whatever is going wrong with a 1.3.1.x rebase is very touchy. This time it blew up sb-md5 rather than sb-posix. 2015-11-30T20:33:01Z nyef: I'm still thinking sanctify_for_execution. 2015-11-30T20:42:16Z sjl joined #sbcl 2015-11-30T20:43:38Z lnostdal quit (Ping timeout: 260 seconds) 2015-11-30T20:45:11Z dougk2 joined #sbcl 2015-11-30T20:51:11Z yvm quit (Ping timeout: 246 seconds) 2015-11-30T20:54:01Z yvm joined #sbcl 2015-11-30T20:55:38Z lnostdal joined #sbcl 2015-11-30T20:56:30Z dougk2 quit (Ping timeout: 250 seconds) 2015-11-30T20:58:35Z nyef: And of COURSE we need to be able to pass parameters in on the break instruction. And not being able to screws up breakpoints (not that they work on HPPA yet), pending interrupts, and various other bits. 2015-11-30T21:05:34Z lnostdal quit (Ping timeout: 260 seconds) 2015-11-30T21:05:35Z Bicyclidine quit (Ping timeout: 260 seconds) 2015-11-30T21:07:16Z Bicyclidine joined #sbcl 2015-11-30T21:17:41Z lnostdal joined #sbcl 2015-11-30T21:25:05Z eudoxia joined #sbcl 2015-11-30T21:29:59Z attila_lendvai joined #sbcl 2015-11-30T21:29:59Z attila_lendvai quit (Changing host) 2015-11-30T21:29:59Z attila_lendvai joined #sbcl 2015-11-30T21:34:39Z csziacobus joined #sbcl 2015-11-30T21:40:11Z angavrilov quit (Remote host closed the connection) 2015-11-30T21:48:35Z nyef: Okay, I've got an angle on the stupid breakpoint thing. I can use ADDI,TC with a condition that will cause a trap. 2015-11-30T22:03:40Z Bicyclidine quit (Ping timeout: 250 seconds) 2015-11-30T22:22:30Z Bicyclidine joined #sbcl 2015-11-30T22:35:56Z eudoxia_ joined #sbcl 2015-11-30T22:36:25Z eudoxia quit (Read error: Connection reset by peer) 2015-11-30T22:44:50Z njmurphy_ joined #sbcl 2015-11-30T23:03:31Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-11-30T23:12:39Z rpg quit (Quit: rpg) 2015-11-30T23:21:15Z rpg joined #sbcl 2015-11-30T23:25:06Z adhoc quit (Ping timeout: 260 seconds) 2015-11-30T23:27:28Z eudoxia_ quit (Quit: Leaving) 2015-11-30T23:35:22Z plertrood quit (Ping timeout: 260 seconds) 2015-11-30T23:46:34Z stassats quit (Ping timeout: 260 seconds) 2015-11-30T23:49:55Z dougk2 joined #sbcl 2015-11-30T23:54:30Z dougk2 quit (Ping timeout: 260 seconds)