2017-02-01T00:14:12Z nyef: The problem cases all involve value semantics. They tend to (but need not) involve dynamic-extent. If they don't involve dynamic-extent then the compiler typically won't notice if it screws up (see lp#309099 for an example). 2017-02-01T00:14:31Z nyef: And tagbody / go don't have value semantics. 2017-02-01T00:17:42Z dougk__ quit (Ping timeout: 255 seconds) 2017-02-01T00:18:13Z nyef: So, can I use a value-less control transfer to screw up value semantics? 2017-02-01T00:24:38Z myrkraverk joined #sbcl 2017-02-01T00:25:31Z nyef: ... Yes. I can screw up value semantics this way. Now, can I get a runnable test case from this? 2017-02-01T00:27:35Z rumbler31 joined #sbcl 2017-02-01T00:29:41Z quadresce joined #sbcl 2017-02-01T00:32:27Z nyef: And yes, I can get a runnable test case that has a reasonable chance of not breaking the system horribly when it fails. 2017-02-01T00:35:26Z jamtho quit (Ping timeout: 240 seconds) 2017-02-01T00:36:43Z quadresce quit (Quit: This computer has gone to sleep) 2017-02-01T00:46:42Z dougk__ joined #sbcl 2017-02-01T01:21:36Z dougk__ quit (Ping timeout: 255 seconds) 2017-02-01T01:33:26Z stassats quit (Ping timeout: 240 seconds) 2017-02-01T01:40:37Z dougk__ joined #sbcl 2017-02-01T02:05:15Z dougk__ quit (Ping timeout: 255 seconds) 2017-02-01T02:09:15Z dougk__ joined #sbcl 2017-02-01T02:18:01Z nyef: Okay, that's the backside of *that* little mess hopefully seen for the last time. 2017-02-01T02:23:10Z dougk__ quit (Ping timeout: 240 seconds) 2017-02-01T02:48:13Z rumbler31 quit (Remote host closed the connection) 2017-02-01T02:48:50Z rumbler31 joined #sbcl 2017-02-01T02:50:22Z em1l_ joined #sbcl 2017-02-01T02:53:10Z rumbler31 quit (Ping timeout: 240 seconds) 2017-02-01T02:53:55Z em1l quit (Ping timeout: 255 seconds) 2017-02-01T03:28:45Z rumbler31 joined #sbcl 2017-02-01T03:32:22Z rumbler31 quit (Remote host closed the connection) 2017-02-01T03:52:32Z dougk__ joined #sbcl 2017-02-01T04:36:13Z dougk___ joined #sbcl 2017-02-01T04:39:37Z dougk__ quit (Ping timeout: 258 seconds) 2017-02-01T04:47:04Z quadresce joined #sbcl 2017-02-01T05:04:45Z em1l joined #sbcl 2017-02-01T05:07:47Z em1l_ quit (Ping timeout: 245 seconds) 2017-02-01T05:31:10Z dougk___ quit (Ping timeout: 240 seconds) 2017-02-01T06:11:23Z quadresce quit (Quit: This computer has gone to sleep) 2017-02-01T06:13:50Z sirkmatija joined #sbcl 2017-02-01T06:13:50Z sirkmatija quit (Remote host closed the connection) 2017-02-01T06:14:02Z sirkmatija joined #sbcl 2017-02-01T06:35:21Z sirkmatija quit (Quit: sirkmatija) 2017-02-01T07:24:37Z oleo quit (Ping timeout: 256 seconds) 2017-02-01T07:27:08Z adlai joined #sbcl 2017-02-01T07:37:20Z scymtym quit (Ping timeout: 255 seconds) 2017-02-01T08:04:35Z adlai quit (Ping timeout: 240 seconds) 2017-02-01T08:08:53Z adlai joined #sbcl 2017-02-01T08:16:11Z adlai quit (Ping timeout: 256 seconds) 2017-02-01T08:20:28Z adlai joined #sbcl 2017-02-01T08:23:31Z shka joined #sbcl 2017-02-01T08:31:14Z scymtym joined #sbcl 2017-02-01T08:59:31Z angavrilov joined #sbcl 2017-02-01T09:06:00Z macdavid313 joined #sbcl 2017-02-01T09:13:34Z macdavid313 quit (Ping timeout: 264 seconds) 2017-02-01T09:23:08Z sjl quit (Read error: Connection reset by peer) 2017-02-01T09:24:42Z Bike quit (Quit: not listening) 2017-02-01T09:38:28Z rtmpdavid quit (Ping timeout: 240 seconds) 2017-02-01T10:07:31Z stassats joined #sbcl 2017-02-01T10:08:19Z stassats: going back to the parallel-fasl-load-test on macos, the failing function has zeros in its XEP 2017-02-01T10:08:27Z stassats: the other part of the function is there 2017-02-01T10:08:31Z stassats: huuh 2017-02-01T10:11:37Z stassats: doesn't make any sense 2017-02-01T10:12:05Z stassats: ok, the xep is in first two words 2017-02-01T10:22:04Z sjl joined #sbcl 2017-02-01T10:40:32Z sjl quit (Ping timeout: 252 seconds) 2017-02-01T10:47:32Z stassats: there are actually two two-word zero sections 2017-02-01T11:12:21Z sjl joined #sbcl 2017-02-01T11:26:57Z jibanes quit (Ping timeout: 248 seconds) 2017-02-01T11:28:42Z jibanes joined #sbcl 2017-02-01T11:41:55Z m00natic joined #sbcl 2017-02-01T11:53:32Z sjl quit (Ping timeout: 258 seconds) 2017-02-01T12:08:48Z stassats: the zeros are already there after (read-n-bytes (%fasl-input-stream fasl-input) (code-instructions code) 0 code-length) in load-code 2017-02-01T12:21:04Z stassats: could it be broken streams? 2017-02-01T12:58:43Z Xach: It looks like fast-http breaks with latest git sbcl. Something about handler-bind argument counts. 2017-02-01T12:58:49Z Xach: I'll get a log in a few minutes. 2017-02-01T12:59:00Z stassats: yeah, that's a new feature 2017-02-01T12:59:34Z flip214: yes, stassats fixed that after seeing my (bad) test case 2017-02-01T13:01:29Z stassats: did i? 2017-02-01T13:03:17Z flip214: I believe you did. Or was it somebody else? 2017-02-01T13:04:19Z stassats: the handler-bind checking argument count wasn't a fix for anything 2017-02-01T13:05:13Z flip214: it "fixed" my test case by providing a more sane error message, instead of breaking at runtime. AFAIR. But never mind. 2017-02-01T13:05:22Z Xach: Ok, I see that handler-bind functions must take one argument. 2017-02-01T13:07:27Z Intensity quit (Ping timeout: 256 seconds) 2017-02-01T13:09:58Z schjetne quit (Ping timeout: 255 seconds) 2017-02-01T13:10:34Z sjl joined #sbcl 2017-02-01T13:11:04Z Xach: I will try everything else and see what busts. 2017-02-01T13:28:36Z Intensity joined #sbcl 2017-02-01T13:32:57Z Intensity quit (Ping timeout: 256 seconds) 2017-02-01T13:44:01Z Intensity joined #sbcl 2017-02-01T13:55:52Z rumbler31 joined #sbcl 2017-02-01T14:03:18Z rumbler31 quit (Remote host closed the connection) 2017-02-01T14:20:13Z macdavid313 joined #sbcl 2017-02-01T14:24:42Z macdavid314 joined #sbcl 2017-02-01T14:27:58Z macdavid313 quit (Ping timeout: 264 seconds) 2017-02-01T14:27:58Z macdavid314 is now known as macdavid313 2017-02-01T14:29:39Z schjetne joined #sbcl 2017-02-01T14:32:22Z nyef: G'morning all. 2017-02-01T14:33:17Z nyef: I see that Eric has accepted my challenge to bust exit value semantics again. (-: 2017-02-01T14:36:56Z stassats: and busted my vops instead 2017-02-01T14:37:40Z stassats: and i'm still seeing zeros in parallel-fasl-load-test and can't figure out where they come from 2017-02-01T14:38:05Z stassats: (took a detour into making os_context_float_register_addr work on darwin-x86-64) 2017-02-01T14:41:26Z stassats: that done, back to code corruption 2017-02-01T14:42:40Z cromachina quit (Ping timeout: 240 seconds) 2017-02-01T14:45:19Z cromachina joined #sbcl 2017-02-01T14:53:21Z macdavid314 joined #sbcl 2017-02-01T14:53:55Z rumbler31 joined #sbcl 2017-02-01T14:54:33Z macdavid313 quit (Ping timeout: 256 seconds) 2017-02-01T14:54:37Z macdavid314 is now known as macdavid313 2017-02-01T14:55:40Z stassats: there's a lot of zero holes just (read-n-bytes (%fasl-input-stream fasl-input) (code-instructions code) 0 code-length) 2017-02-01T14:55:40Z sjl quit (Ping timeout: 240 seconds) 2017-02-01T14:58:17Z rumbler31 quit (Ping timeout: 260 seconds) 2017-02-01T15:06:39Z cromachina quit (Read error: Connection reset by peer) 2017-02-01T15:08:05Z nyef: I really have to wonder if we can't do a whole lot better in terms of fasl format. 2017-02-01T15:08:12Z macdavid313 quit (Ping timeout: 260 seconds) 2017-02-01T15:08:44Z attila_lendvai joined #sbcl 2017-02-01T15:08:44Z attila_lendvai quit (Changing host) 2017-02-01T15:08:44Z attila_lendvai joined #sbcl 2017-02-01T15:13:58Z stassats: the stack machine is not really a great idea 2017-02-01T15:17:17Z stassats: but there are other things to worry about 2017-02-01T15:18:00Z nyef: Yeah, that's about the conclusion that I come to as well. 2017-02-01T15:18:27Z stassats: grabbing sb-thread::with-system-mutex (sb-c::**world-lock** :without-gcing t) around load-code seems to inhibit the problem 2017-02-01T15:18:50Z nyef: ... GC interference? 2017-02-01T15:19:13Z stassats: nyef: most of load-code is already under without-gcing 2017-02-01T15:20:09Z nyef: Hrm. Bogus SCs in some of the VOPs involved? 2017-02-01T15:20:57Z stassats: the code has two-word sized zero holes 2017-02-01T15:21:07Z stassats: there's also this new immobile thingy 2017-02-01T15:22:05Z stassats: wrapping the whole thing in without-gcing seems to also push it back 2017-02-01T15:22:24Z stassats: so, something bad happens between two without-gcing 2017-02-01T15:22:27Z nyef: Mmm. And the zero holes are in the code instructions, not the header? 2017-02-01T15:22:43Z stassats: nyef: yes, although sigill wouldn't know 2017-02-01T15:22:50Z stassats: but when sigill hits, the header is ok 2017-02-01T15:23:11Z stassats: zeros are also valid instructions, so it hits after the zeros 2017-02-01T15:23:25Z stassats: but part of the code is ok 2017-02-01T15:24:01Z stassats: i don't know what happens with this new immobile code objects 2017-02-01T15:25:15Z nyef: And it's "just" that some of the instructions are getting blanked, it's not an outright shift of position or anything? 2017-02-01T15:29:30Z stassats: yes, it looks otherwise intact 2017-02-01T15:30:37Z stassats: and only on macos 2017-02-01T15:30:53Z stassats: i'm perplexed 2017-02-01T15:34:48Z nyef: I'm thinking "stupid interaction between deferred interrupts and REFILL-INPUT-BUFFER". 2017-02-01T15:35:34Z stassats: when i read into a buffer and then fill the code object with it, nothing happens 2017-02-01T15:36:12Z nyef: Inside or outside your without-gcing / without-interrupts? 2017-02-01T15:37:05Z stassats: it happens inside without-gcing either way 2017-02-01T15:37:28Z stassats: but there's a window between allocate-code-object and its initialization where there's no without-gcing 2017-02-01T15:37:56Z stassats: well, that's a simple fix, without-gcing all the things 2017-02-01T15:38:51Z schjetne quit (Read error: Connection reset by peer) 2017-02-01T15:39:22Z stassats: but i'm not convinced 2017-02-01T15:40:16Z stassats: i suspect that allocate-code-object gives two overlapping objects 2017-02-01T15:41:29Z nyef: Also, you're on macos, which is notorious for poor handling of things even slightly outside of the norm. Things like interrupts/signals, keyboards, mice, bluetooth, internet... 2017-02-01T15:41:40Z dougk__ joined #sbcl 2017-02-01T15:44:04Z sjl joined #sbcl 2017-02-01T15:45:39Z stassats: well, unlikely to be a problem here 2017-02-01T15:55:07Z sjl quit (Ping timeout: 255 seconds) 2017-02-01T16:00:51Z stassats: i'm checking that all the bits are zero before reading in code, and they are zero 2017-02-01T16:04:00Z stassats: there's :immobile-space-debug, trying it 2017-02-01T16:06:26Z stassats: ok, :immobile-space-debug is not buildable 2017-02-01T16:06:54Z stassats: (what's the point then?) 2017-02-01T16:09:44Z stassats: trying on older sbcl, it gives a wider range of failures 2017-02-01T16:09:53Z stassats: and the backtrace shows the function that i'm not even calling 2017-02-01T16:16:16Z nyef: Do these look good, and can you think of more scenarios to test? http://paste.lisp.org/display/337925 2017-02-01T16:16:37Z stassats: use checked-compile? 2017-02-01T16:18:22Z nyef: Easily enough done, thank you. 2017-02-01T16:18:25Z dougk__ quit (Ping timeout: 255 seconds) 2017-02-01T16:19:07Z stassats: with :allow-notes nil, optionally 2017-02-01T16:19:44Z nyef: I see no notes here, so suppressing them seems a waste of time at the moment. 2017-02-01T16:19:56Z stassats: :allow-notes t is the default 2017-02-01T16:20:05Z stassats: :allow-notes nil will crash 2017-02-01T16:20:07Z stassats: on notes 2017-02-01T16:20:16Z scymtym: nyef: the point is letting the test fail if notes ... yeah that 2017-02-01T16:20:45Z stassats: nyef: have a closure that looks like (lambda () (incf x)) 2017-02-01T16:21:19Z nyef: Ah, to involve a value-cell, or an implicit value cell? 2017-02-01T16:21:23Z gingerale joined #sbcl 2017-02-01T16:21:25Z stassats: yes 2017-02-01T16:21:37Z stassats: also, two closures sharing one variable 2017-02-01T16:22:28Z nyef: Okay. Beyond that, do I have the semantics right for DXing so far? 2017-02-01T16:23:05Z stassats: the function also should still be inlinable 2017-02-01T16:23:11Z stassats: or at least let convertible 2017-02-01T16:23:27Z stassats: because my hack stops the latter 2017-02-01T16:23:53Z edgar-rft quit (Quit: edgar-rft) 2017-02-01T16:24:18Z stassats: i guess you can't let convert a function with a xep, but if there's actually no escaping dynamic-extent shouldn't prevent conversion 2017-02-01T16:25:19Z nyef: I'm not sure how I'd even test that. 2017-02-01T16:25:37Z Xach: /win 3 2017-02-01T16:25:40Z Xach: (sorry) 2017-02-01T16:25:48Z stassats: is there a function in the code constants 2017-02-01T16:26:06Z oleo joined #sbcl 2017-02-01T16:26:51Z nyef: Right, a literal function in the code constants, because any external function reference would be to the fdefn. Good point. 2017-02-01T16:27:48Z schjetne joined #sbcl 2017-02-01T16:28:46Z stassats: allocate-immobile-bytes is under a lock, so it shouldn't cause problems on its own 2017-02-01T16:29:23Z stassats: and i have no angle anymore 2017-02-01T16:36:22Z nyef: Okay, mutated value cell, two-closures-one-variable (with and without cell mutation), and still-inlinable/let-convertible? 2017-02-01T16:36:24Z stassats: maybe just one, i need to find what writes zeros and write something else 2017-02-01T16:36:25Z stassats: like CC 2017-02-01T16:36:54Z nyef: F6 was once a popular dummy byte, IIRC. 2017-02-01T16:37:15Z stassats: is it illegal? 2017-02-01T16:37:29Z nyef: ("Ahhh! I *love* the smell of freshly formatted disk sectors in the morning!") 2017-02-01T16:38:20Z stassats: isn't it some kind of prefix? 2017-02-01T16:38:41Z stassats: well, anyhow, i haven't found the source of zeros yet 2017-02-01T16:38:50Z sjl joined #sbcl 2017-02-01T16:39:21Z stassats: and i can't exactly turn bzero into bcc, cause we rely on stuff being zero 2017-02-01T16:39:57Z nyef: Heh. Had to double-take on that one, as my initial read was "branch on carry clear" or "branch on condition code". (-: 2017-02-01T16:40:24Z stassats: and not blind carbon copy? 2017-02-01T16:40:27Z sirkmatija joined #sbcl 2017-02-01T16:42:45Z pkhuong: do we use nontemporal stores? 2017-02-01T16:43:12Z pkhuong: we need fences after that (in theory) 2017-02-01T16:43:19Z stassats: there's %byte-blt invovled 2017-02-01T16:43:23Z stassats: let me check 2017-02-01T16:43:44Z pkhuong: (or call libc's memcpy) 2017-02-01T16:44:11Z pkhuong: I wouldn't be surprised if os x had a poor quality implementation ;) 2017-02-01T16:44:27Z nyef: Well spotted! 2017-02-01T16:44:28Z stassats: %byte-blt uses memmove 2017-02-01T16:44:32Z pkhuong: yeah 2017-02-01T16:44:55Z nyef: Throw a memory barrier in there and see if it goes away? 2017-02-01T16:45:00Z pkhuong: try inserting an sfence lisp-side? 2017-02-01T16:47:12Z stassats: (sb-thread:barrier (:memory)) after read-n-bytes doesn't seem to help 2017-02-01T16:47:39Z pkhuong: :store? 2017-02-01T16:48:19Z stassats: memory is the only non-no-op barrier on x86-64 2017-02-01T16:48:23Z pkhuong: I might have patched :mfence to be a lock xadd 2017-02-01T16:48:25Z pkhuong: sigh. 2017-02-01T16:48:36Z pkhuong: we need an lfence instruction. VOP it in? 2017-02-01T16:48:52Z stassats: ok 2017-02-01T16:49:01Z pkhuong: erh. *sfence 2017-02-01T16:50:12Z stassats: no dice 2017-02-01T16:50:27Z stassats: let me check what memmove actually does 2017-02-01T16:50:39Z dougk__ joined #sbcl 2017-02-01T16:51:03Z pkhuong: doing the same here 2017-02-01T16:51:50Z nyef: Hrm. (lambda (x y) (let ((f (lambda (z) z))) (+ x (funcall f y)))) has the function in the constants vector. 2017-02-01T16:52:16Z stassats: nyef: (lambda (z) z) does not share the code object 2017-02-01T16:52:26Z pkhuong: https://opensource.apple.com/source/xnu/xnu-1456.1.26/osfmk/x86_64/bcopy.s.auto.html 2017-02-01T16:52:33Z stassats: and it's a toplevel component 2017-02-01T16:52:37Z stassats: can't inline across components 2017-02-01T16:52:46Z stassats: i have no idea why that particular choice 2017-02-01T16:53:39Z stassats: see SB-C::FIND-INITIAL-DFO 2017-02-01T16:59:09Z stassats: pkhuong: it actually calls _platform_memmove$VARIANT$Haswell 2017-02-01T16:59:27Z pkhuong: https://software.intel.com/sites/default/files/managed/7c/f1/253668-sdm-vol-3a.pdf 8.2.4.2 says rep is safe 2017-02-01T17:01:17Z nyef: Okay, making it a closure makes it disappear. 2017-02-01T17:02:11Z nyef: And that should probably tell me something about part of the compiler that I have basically no knowledge about and find utterly confusing. 2017-02-01T17:02:16Z pkhuong: I don't have a haswell :( can you disassemble from gdb? 2017-02-01T17:03:28Z stassats: well, i'm actually having trouble dissembling this variant thing 2017-02-01T17:03:54Z stassats: will have to figure out the address by hand 2017-02-01T17:05:24Z pkhuong: single instruction (si) step until you get there? 2017-02-01T17:14:59Z nyef: Okay, the VOPs for read-barrier and write-barrier on x86-64 should be doing an lfence and an sfence, respectively. 2017-02-01T17:15:16Z nyef: (Just checked against the linux kernel.) 2017-02-01T17:15:39Z stassats: but are they needed where we use them? 2017-02-01T17:16:01Z dougk__ quit (Ping timeout: 255 seconds) 2017-02-01T17:16:10Z stassats: since sometimes there's an assumption "it'll be a no-op on x86-64" 2017-02-01T17:16:33Z nyef: I'll let you guys worry about that. (-: 2017-02-01T17:17:12Z stassats: thanks... 2017-02-01T17:17:28Z pkhuong: http://paste.lisp.org/display/337929 seems safe. 2017-02-01T17:17:35Z pkhuong: nyef: not really. 2017-02-01T17:17:49Z pkhuong: lfence and sfence are only needed for fancy things we don't expose in SBCL 2017-02-01T17:18:29Z pkhuong: I think it's safe to say that if you write your own VOPs with non-temporal stores, you can afford to insert the fences yourself. 2017-02-01T17:19:44Z pkhuong: memmove seems safe, unless we rely on writes happening in a specific byte order. 2017-02-01T17:20:04Z stassats: lldb shows some silly addreses here 2017-02-01T17:20:46Z stassats: still can't figure out where my haswell variant lives 2017-02-01T17:20:52Z nyef: So be it, then. I know that I'm out of my depth when it comes to multithreaded synchronization, even if I did implement BARRIER in the first place. 2017-02-01T17:20:53Z dougk__ joined #sbcl 2017-02-01T17:20:59Z stassats: libsystem_platform.dylib`_platform_memmove$VARIANT$Haswell Address: libsystem_platform.dylib[0x00000000000061a0] 2017-02-01T17:23:16Z pkhuong: nyef: fbsd's adopting concurrency kit. I'll wait a bit for any dust to settle, and perhaps come back with a proposal to mimic CK's set of barriers. 2017-02-01T17:23:44Z stassats: i don't get lldb 2017-02-01T17:23:50Z pkhuong: it's finer grained, which makes it less hard to have correct and efficient code on both TSO and RMO architectures. 2017-02-01T17:23:57Z pkhuong: stassats: same. 2017-02-01T17:24:31Z nyef: We cover more architectures than concurrency kit, though. 2017-02-01T17:24:56Z pkhuong: nyef: we don't cover more memory models 2017-02-01T17:25:02Z pkhuong: stassats: I wrote a C program, loaded in lldb, `break set -b memmove`, `run`, `disassemble -c 200 -s 0x...` 2017-02-01T17:25:06Z nyef: Alpha. 2017-02-01T17:25:30Z pkhuong: really? 2017-02-01T17:25:33Z stassats: no threads on alpha yet? 2017-02-01T17:25:43Z pkhuong: who's going to write multithreaded code on alpha? 2017-02-01T17:25:52Z pkhuong: alpha doesn't believe in causality. 2017-02-01T17:26:03Z nyef: Wrong question. The question is, who's going to RUN multithreaded code on alpha. 2017-02-01T17:26:27Z pkhuong: "Dependent loads reordered" 2017-02-01T17:26:51Z nyef: One of the reasons that I picked the Linux kernel model to use for SBCL is that it includes the data-dependency barrier. 2017-02-01T17:28:18Z stassats: i was actually able to do _platform_memmove$VARIANT$Haswell 2017-02-01T17:28:21Z stassats: break set 2017-02-01T17:28:34Z stassats: and even disassemble -n _platform_memmove$VARIANT$Haswell 2017-02-01T17:28:36Z stassats: go figure 2017-02-01T17:29:02Z stassats: when didn't that work the first time i tried 2017-02-01T17:29:46Z stassats: anyway, it's the same code 2017-02-01T17:31:32Z stassats: usually the first two words are zero 2017-02-01T17:31:45Z stassats: or the fifth and sixth 2017-02-01T17:34:55Z dougk__ quit (Ping timeout: 255 seconds) 2017-02-01T17:35:34Z nyef: Okay, version two: http://paste.lisp.org/display/337925#1 2017-02-01T17:53:18Z stassats: nyef: something more nested, like (list (lambda () x))? 2017-02-01T17:58:10Z dougk__ joined #sbcl 2017-02-01T18:01:30Z stassats: can it be that we don't preserve enough YMM on interrupts? 2017-02-01T18:03:51Z Bike joined #sbcl 2017-02-01T18:04:10Z quadresce joined #sbcl 2017-02-01T18:04:31Z dougk_: stassats: the "context" that you provide in error messages for binding forms mentions SB-KERNEL sometimes. I have received comments that this is confusing 2017-02-01T18:04:55Z dougk_: like "foo is not a real when binding SB-KERNEL::X" coming from a transform 2017-02-01T18:05:20Z stassats: well, not providing a package isn't great either 2017-02-01T18:06:01Z dougk_: if we can't provide a context that references a non-system package, maybe don't provide it ? 2017-02-01T18:06:12Z m00natic quit (Remote host closed the connection) 2017-02-01T18:06:32Z stassats: system packages should be easily debuggable too 2017-02-01T18:08:11Z stassats: dougk_: is SB-KERNEL:: the most problematic? probably can drop packages for non-special symbols 2017-02-01T18:10:09Z nyef: stassats: Good point. More nested it is. 2017-02-01T18:10:41Z stassats: or do we have something to distinguish nodes coming from ir1 conversion? 2017-02-01T18:11:13Z stassats: ok, i'm getting sidetracked, that's not important now 2017-02-01T18:11:20Z dougk_: stassats: if we could distinguish, it would be the best solution. maybe i'll add something like that 2017-02-01T18:12:27Z stassats: disabling binding context saving around transform-call? 2017-02-01T18:13:32Z nyef: stassats: Does http://paste.lisp.org/display/337925#2 look good to you? 2017-02-01T18:14:22Z stassats: nyef: would F be dxed in the second variant? 2017-02-01T18:14:44Z stassats: or is NIL for that? 2017-02-01T18:14:54Z stassats: in assert-on-stack 2017-02-01T18:14:59Z nyef: The NIL says "not on stack". 2017-02-01T18:15:16Z stassats: ok, assert-on-stack is just misleading 2017-02-01T18:15:18Z stassats: the name 2017-02-01T18:15:49Z nyef: I'll happily take a new name for it... or two. 2017-02-01T18:18:39Z schjetne quit (Ping timeout: 240 seconds) 2017-02-01T18:22:06Z macdavid313 joined #sbcl 2017-02-01T18:22:10Z dougk__ quit (Ping timeout: 255 seconds) 2017-02-01T18:24:20Z dougk__ joined #sbcl 2017-02-01T18:28:35Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-01T18:40:30Z stassats: ok, clearly memmove is broken 2017-02-01T18:40:43Z stassats: i replaced read-n-bytes with a loop of read-byte into a buffer 2017-02-01T18:40:57Z stassats: then doing memmove on that buffer into the code object 2017-02-01T18:41:05Z stassats: memmove fails, a byte loop into the code object doesn't 2017-02-01T18:41:55Z nyef: And the question becomes, is this from something that SBCL is doing, or is it systemic? And if it's something that SBCL is doing, is it something that *should* be breaking memmove? 2017-02-01T18:42:25Z dougk__ quit (Ping timeout: 255 seconds) 2017-02-01T18:42:27Z stassats: it looks like YMM has its upper half zeroed 2017-02-01T18:42:38Z stassats: but only the first few, weird 2017-02-01T18:44:58Z stassats: ok 2017-02-01T18:45:28Z stassats: we save x86_FLOAT_STATE64 2017-02-01T18:45:37Z stassats: but there's x86_AVX_STATE64 2017-02-01T18:45:38Z stassats: also 2017-02-01T18:46:20Z nyef: ... And watch some of the more advanced flags not be valid if you use them on the "wrong" microarchitecture. 2017-02-01T18:46:56Z stassats: well, naturally 2017-02-01T18:48:43Z dougk_ quit (Ping timeout: 255 seconds) 2017-02-01T18:53:28Z angavrilov quit (Remote host closed the connection) 2017-02-01T18:56:26Z edgar-rft joined #sbcl 2017-02-01T18:59:35Z stassats: doesn't seem to help, actually 2017-02-01T19:00:50Z dougk_ joined #sbcl 2017-02-01T19:01:57Z scymtym: does this look ok? http://paste.lisp.org/display/337938 2017-02-01T19:02:42Z stassats: busy wrestling with AVX to check now 2017-02-01T19:02:59Z scymtym: i understand 2017-02-01T19:04:08Z stassats: looks like FLOAT and ABX are exclusive 2017-02-01T19:07:33Z nyef: Every time I see :WILD-INFERIORS I think of Bill & Ted. 2017-02-01T19:11:42Z nyef: scymtym: Looks superficially sane, though I don't have enough of an idea of the context to really know what's going on there, and I have a head full of DX allocation state myself. 2017-02-01T19:18:07Z scymtym: nyef: thanks for taking a look 2017-02-01T19:21:59Z stassats: can't figure out how to use the avx contexts 2017-02-01T19:22:01Z stassats: sigh 2017-02-01T19:23:32Z dougk__ joined #sbcl 2017-02-01T19:35:11Z em1l_ joined #sbcl 2017-02-01T19:37:42Z em1l quit (Ping timeout: 260 seconds) 2017-02-01T19:43:10Z dougk__ quit (Ping timeout: 255 seconds) 2017-02-01T19:48:10Z schjetne joined #sbcl 2017-02-01T19:50:21Z dougk__ joined #sbcl 2017-02-01T20:18:11Z em1l joined #sbcl 2017-02-01T20:20:17Z em1l_ quit (Ping timeout: 248 seconds) 2017-02-01T20:23:16Z em1l_ joined #sbcl 2017-02-01T20:23:26Z em1l quit (Ping timeout: 240 seconds) 2017-02-01T20:23:40Z dougk__ quit (Ping timeout: 255 seconds) 2017-02-01T20:25:29Z sjl_ joined #sbcl 2017-02-01T20:25:44Z sjl quit (Read error: Connection reset by peer) 2017-02-01T20:31:47Z scymtym quit (Ping timeout: 240 seconds) 2017-02-01T20:32:46Z macdavid313 quit (Ping timeout: 255 seconds) 2017-02-01T20:36:53Z dougk__ joined #sbcl 2017-02-01T21:04:10Z sjl_ quit (Ping timeout: 255 seconds) 2017-02-01T21:07:45Z alandipert quit (Ping timeout: 248 seconds) 2017-02-01T21:08:52Z alandipert joined #sbcl 2017-02-01T21:09:10Z phoe joined #sbcl 2017-02-01T21:09:53Z phoe: (eql (sxhash #(19 098 9 98098)) (sxhash #(0 1 2 3))) ;=> T 2017-02-01T21:10:07Z phoe: is this intended? 2017-02-01T21:11:10Z stassats: yes 2017-02-01T21:12:36Z phoe: So I should not be using vectors as hash keys in SBCL. 2017-02-01T21:12:51Z stassats: how did you come to this conclusion? 2017-02-01T21:13:21Z phoe: They get sxhashed to the same value. 2017-02-01T21:13:45Z stassats: you made a jump somewhere in your conclusion 2017-02-01T21:13:48Z phoe: And AFAIK hashtables use sxhash as their hash function. 2017-02-01T21:13:55Z stassats: well, there's your jump 2017-02-01T21:14:13Z Bike: that's wrong, and also doesn't make sense, since there are multiple predicates that couldn't share a hash function 2017-02-01T21:14:38Z phoe: Got it. 2017-02-01T21:14:55Z Bike: well, i guess they could, but it would be a bit silly. 2017-02-01T21:15:21Z Bike: the page for sxhash has "The hash codes returned by sxhash are not necessarily related to any hashing strategy used by any other function in Common Lisp. " if you want a cite 2017-02-01T21:16:46Z dougk__ quit (Ping timeout: 255 seconds) 2017-02-01T21:17:00Z phoe: Yes, that resolves it. Thanks. 2017-02-01T21:17:06Z stassats: it's also a required result 2017-02-01T21:18:09Z stassats: sxhash has to be always the same under EQUAL, EQUAL doesn't compare general vectors 2017-02-01T21:18:43Z stassats: can't hash the pointer either, since that can move 2017-02-01T21:18:45Z nyef: And even if the hash values collide, there's little to say that a hash table implementation can't do some further work to disambiguate two collided hashes. 2017-02-01T21:19:20Z scymtym joined #sbcl 2017-02-01T21:20:16Z foom: could hash the pointer value if sbcl stopped moving objects around. :) 2017-02-01T21:20:28Z phoe: stassats: required? 2017-02-01T21:20:58Z pkhuong: clhs sxhash 2017-02-01T21:20:58Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_sxhash.htm 2017-02-01T21:21:00Z mateuszb_ joined #sbcl 2017-02-01T21:21:03Z pkhuong: clhs equal 2017-02-01T21:21:03Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_equal.htm 2017-02-01T21:21:06Z stassats: phoe: i just explained... 2017-02-01T21:21:10Z phoe: no no 2017-02-01T21:21:15Z phoe: it means that ECL is getting it wrong 2017-02-01T21:21:19Z phoe: (equal (sxhash #(19 098 9 98098)) (sxhash #(0 1 2 3))) ;=> NIL on ECL 2017-02-01T21:21:23Z phoe: hence my confusion 2017-02-01T21:21:27Z stassats: does it now? 2017-02-01T21:21:37Z phoe: verily, yes 2017-02-01T21:21:40Z pkhuong: or it could have a non-moving GC. 2017-02-01T21:21:48Z mateuszb quit (Ping timeout: 240 seconds) 2017-02-01T21:21:55Z pkhuong: or stash a hash code in the object itself. 2017-02-01T21:22:06Z nyef: Isn't the requirement more that *some* values collide, not that *these specific* values collide? 2017-02-01T21:22:18Z nyef: Or am I lost again? 2017-02-01T21:22:25Z Bike: phoe: sxhash guarantees that the hashes of equal objects are equal. it doesn't say unequal objects have to have unequal hashes. i think. 2017-02-01T21:22:36Z phoe: Bike: got it. 2017-02-01T21:22:45Z phoe: I'm just confused about the implementation differences. 2017-02-01T21:23:22Z pkhuong: nyef: stassats's saying that, given that EQUAL is EQL for general arrays, we must sxhash on identity. 2017-02-01T21:23:57Z pkhuong: the current behaviour follows from having a moving GC and not wanting to waste space on a hash value slot. 2017-02-01T21:24:32Z stassats: and the fact that vectors can be modified 2017-02-01T21:25:57Z nyef: Ah, okay. 2017-02-01T21:29:11Z sirkmatija quit (Quit: sirkmatija) 2017-02-01T21:31:18Z stassats: catch_exception_raise is incomprehensible, cleaned up it a bit, now i can try dealing with avx again 2017-02-01T21:31:32Z stassats: 84 insertions(+), 218 deletions(-) 2017-02-01T21:33:24Z dougk__ joined #sbcl 2017-02-01T21:35:34Z jackdaniel: ECL uses pointer cast for vectors indeed 2017-02-01T21:36:18Z jackdaniel: (wrapped in a few other things of course) 2017-02-01T21:45:53Z stassats: ugh, still can't figure out that avx stuff 2017-02-01T21:54:56Z nyef: I'm going to have to start doing deeper analysis to figure out this DX stuff, and I don't know that I have enough whatever resource it is to spend on it right now. 2017-02-01T22:00:05Z ryan_vw quit (Ping timeout: 240 seconds) 2017-02-01T22:13:01Z prxq joined #sbcl 2017-02-01T22:42:49Z gingerale quit (Read error: Connection reset by peer) 2017-02-01T22:52:16Z shka quit (Ping timeout: 256 seconds) 2017-02-01T22:54:20Z stassats: argh, the avx problem still persist 2017-02-01T22:54:29Z stassats: s 2017-02-01T22:55:22Z prxq quit (Remote host closed the connection) 2017-02-01T22:55:50Z stassats: i'm starting to doubt that it's actually an avx problem 2017-02-01T22:57:34Z dougk__ quit (Ping timeout: 255 seconds) 2017-02-01T22:57:46Z pkhuong: is the error deterministic wrt the size of the memmove? 2017-02-01T22:58:57Z stassats: it's always the same function 2017-02-01T22:59:56Z stassats: i'll try writing some sentinel into XMM15 around memmove and seeing if it's actually in memmove when the signal hits 2017-02-01T23:02:34Z dougk__ joined #sbcl 2017-02-01T23:13:29Z stassats: and the size is 589 2017-02-01T23:18:19Z quadresce: (Small update: I was possibly indirectly complaining weeks earlier about efficiency of complex double floats. I actually got a lot of complicated code to avoid allocation altogether, which took me by surprise. I guess the lesson learned is that if you can stick to simple arithmetic and always extract and deposit into arrays, you can get away with it fine.) 2017-02-01T23:18:46Z stassats: huh, and i can no longer trigger it 2017-02-01T23:21:04Z nyef: quadresce: One of my earliest Lisp performance lessons, only with floats instead of integers. 2017-02-01T23:22:04Z nyef: ... Well, Eric still hasn't reported a breakage in my last go-round with exit value semantics. I think that's a win. 2017-02-01T23:31:50Z stassats: it's too early to call 2017-02-01T23:32:20Z stassats: no #!+sb-doc, finally 2017-02-01T23:35:32Z oleo quit (Read error: Connection reset by peer) 2017-02-01T23:39:07Z dougk_: stassats: you're welcome, I think? 2017-02-01T23:43:20Z stassats: ok, looks like i've actually fixed the avx problem 2017-02-01T23:43:26Z nyef: Oh? 2017-02-01T23:43:27Z stassats: i guess i didn't recompile or something when i tested it 2017-02-01T23:43:31Z nyef: Ah. 2017-02-01T23:43:38Z nyef: Or it's just hiding. 2017-02-01T23:43:43Z stassats: but now for the hard part, how to make it work on non-avx systems 2017-02-01T23:44:01Z nyef: Query for AVXness? 2017-02-01T23:44:27Z nyef: And we'll probably still get nailed by the next such architectural extension. 2017-02-01T23:44:36Z dougk___ joined #sbcl 2017-02-01T23:45:04Z stassats: it doesn't look like it's hiding, since i can trigger this pretty reliably 2017-02-01T23:45:43Z dougk__ quit (Ping timeout: 255 seconds) 2017-02-01T23:47:58Z stassats: it also tries to fill ucontext with the float state, 2017-02-01T23:48:00Z stassats: context->uc_mcontext->fs = *float_state; 2017-02-01T23:48:11Z stassats: but that obviously does not work with the avx state 2017-02-01T23:53:58Z stassats: so, two problems, how to give the avx state to the emulated signal handler and how to do it conditionally 2017-02-01T23:57:39Z nyef: Does the emulated signal handler need the float state? 2017-02-01T23:57:43Z dougk_: stassats: is the issue you're looking at also possibly the cause of https://bugs.launchpad.net/sbcl/+bug/1383650 ? 2017-02-01T23:58:09Z jamtho joined #sbcl 2017-02-01T23:58:24Z stassats: nyef: until this afternoon the lisp handlers couldn't even read the float states 2017-02-01T23:58:38Z stassats: nyef: so now we may want to modify them in the debugger 2017-02-01T23:58:45Z stassats: dougk_: never seen that fail before 2017-02-01T23:58:50Z nyef: ... Right, carry on then. 2017-02-01T23:59:55Z dougk_: i haven't been following the conversion in full detail, but are you seeing RBP get corruption after return from signals on macOS, is that the issue? 2017-02-02T00:00:17Z dougk_: because context is restored wrong ? 2017-02-02T00:00:22Z stassats: dougk_: no, it's upper AVX register corruption in signal handlers 2017-02-02T00:00:28Z stassats: breaking memmove 2017-02-02T00:01:05Z dougk_: ok, i feel like I've seen RBP get restored wrong but never pursued it 2017-02-02T00:09:31Z stassats: i need somehow to figure out if both the cpu and the os support avx 2017-02-02T00:09:35Z stassats: the former is the easier part 2017-02-02T00:10:56Z stassats: sigh 2017-02-02T00:11:17Z stassats: these parts of macos are never fun 2017-02-02T00:14:18Z stassats: and when Preview can't properly handle the intel manuals: http://i.imgur.com/ysUSD3q.png 2017-02-02T00:16:46Z dougk___ quit (Ping timeout: 255 seconds) 2017-02-02T00:27:32Z stassats: ok, both os and cpu support can be figured out from cpuid 2017-02-02T00:31:15Z cromachina joined #sbcl 2017-02-02T00:33:12Z stassats: and of course i will have no way of testing this 2017-02-02T00:33:24Z stassats: an old os x in a vm, maybe 2017-02-02T00:34:19Z stassats: but detecting avx support would be a good general idea, not restricted to macos 2017-02-02T00:55:28Z jamtho quit (Ping timeout: 240 seconds) 2017-02-02T01:20:50Z macdavid313 joined #sbcl 2017-02-02T01:25:16Z macdavid313 quit (Ping timeout: 255 seconds) 2017-02-02T01:30:05Z nyef: In (let ((g (flet ((f () x)) #'f))) (declare (dynamic-extent g)) ...), should the closure be stack-allocated? 2017-02-02T01:30:34Z stassats: i'd say yes 2017-02-02T01:30:43Z nyef: Yeah, that's the impression that I got, too. 2017-02-02T01:31:01Z nyef: Just wrote up a test case for it. (-: 2017-02-02T01:35:18Z nyef: I suspect that what we do with functional values is fundamentally incompatible with DX, and the only reason that it works as well as it does now is because FLET and LABELS are, at their core, handled differently than LET and handle DX explicitly. 2017-02-02T01:45:28Z dougk__ joined #sbcl 2017-02-02T02:04:41Z rumbler31 joined #sbcl 2017-02-02T02:08:39Z rumbler31 quit (Ping timeout: 240 seconds) 2017-02-02T02:22:09Z macdavid313 joined #sbcl 2017-02-02T02:26:28Z macdavid313 quit (Ping timeout: 255 seconds) 2017-02-02T02:37:31Z em1l joined #sbcl 2017-02-02T02:41:10Z em1l_ quit (Ping timeout: 264 seconds) 2017-02-02T03:13:02Z stassats: ok, got an avx fix that should work without avx too 2017-02-02T03:13:21Z stassats: no energy to either actually test it on such systems or port to x86 2017-02-02T03:21:03Z stassats: i wager xgetbv will fail to compile on some ancient toolchain 2017-02-02T03:22:43Z joshe: I haven't read the context, but fwiw openbsd has just about the most ancient toolchain around 2017-02-02T03:23:17Z stassats: joshe: well, i'll wait for reports before i make things ugly 2017-02-02T03:23:23Z stassats: on x86-64 2017-02-02T03:50:53Z stassats quit (Ping timeout: 276 seconds) 2017-02-02T03:59:29Z njmurphy joined #sbcl 2017-02-02T04:05:13Z quadresce quit (Quit: This computer has gone to sleep) 2017-02-02T04:23:40Z macdavid313 joined #sbcl 2017-02-02T04:24:39Z dougk__ quit (Ping timeout: 240 seconds) 2017-02-02T04:27:58Z macdavid313 quit (Ping timeout: 255 seconds) 2017-02-02T04:38:34Z attila_lendvai joined #sbcl 2017-02-02T04:38:34Z attila_lendvai quit (Changing host) 2017-02-02T04:38:34Z attila_lendvai joined #sbcl 2017-02-02T04:50:04Z mateuszb_ quit (Quit: Textual IRC Client: www.textualapp.com) 2017-02-02T04:55:47Z em1l_ joined #sbcl 2017-02-02T04:58:16Z em1l quit (Ping timeout: 260 seconds) 2017-02-02T05:15:38Z njmurphy quit (Quit: WeeChat 1.6) 2017-02-02T05:17:24Z dougk__ joined #sbcl 2017-02-02T05:22:40Z dougk__ quit (Ping timeout: 240 seconds) 2017-02-02T05:28:23Z macdavid313 joined #sbcl 2017-02-02T05:28:53Z macdavid314 joined #sbcl 2017-02-02T05:32:46Z macdavid313 quit (Ping timeout: 255 seconds) 2017-02-02T05:33:09Z macdavid314 quit (Ping timeout: 240 seconds) 2017-02-02T05:41:21Z dougk__ joined #sbcl 2017-02-02T05:47:47Z dougk__ quit (Ping timeout: 245 seconds) 2017-02-02T05:48:47Z schjetne quit (Ping timeout: 256 seconds) 2017-02-02T05:56:52Z sirkmatija joined #sbcl 2017-02-02T06:00:52Z sirkmatija quit (Client Quit) 2017-02-02T06:12:22Z em1l_ quit (Ping timeout: 264 seconds) 2017-02-02T06:12:29Z em1l joined #sbcl 2017-02-02T06:13:34Z nzambe quit (Ping timeout: 264 seconds) 2017-02-02T06:13:34Z fiddlerwoaroof quit (Ping timeout: 264 seconds) 2017-02-02T06:18:19Z fiddlerwoaroof joined #sbcl 2017-02-02T06:27:17Z edgar-rft quit (Quit: edgar-rft) 2017-02-02T06:30:11Z jrm quit (Ping timeout: 252 seconds) 2017-02-02T06:30:30Z sirkmatija joined #sbcl 2017-02-02T06:32:11Z jrm joined #sbcl 2017-02-02T06:39:56Z sirkmatija quit (Quit: sirkmatija) 2017-02-02T06:55:56Z macdavid313 joined #sbcl 2017-02-02T06:56:07Z macdavid313 quit (Client Quit) 2017-02-02T06:59:51Z schjetne joined #sbcl 2017-02-02T07:09:08Z scymtym quit (Ping timeout: 240 seconds) 2017-02-02T07:11:06Z macdavid313 joined #sbcl 2017-02-02T07:12:11Z macdavid313 quit (Client Quit) 2017-02-02T07:25:11Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-02T07:28:44Z dougk__ joined #sbcl 2017-02-02T07:32:47Z dougk__ quit (Ping timeout: 245 seconds) 2017-02-02T07:45:25Z schjetne_ joined #sbcl 2017-02-02T07:45:26Z schjetne quit (Read error: Connection reset by peer) 2017-02-02T07:50:07Z schjetne_ quit (Ping timeout: 240 seconds) 2017-02-02T07:50:59Z igajsin joined #sbcl 2017-02-02T07:52:15Z igajsin left #sbcl 2017-02-02T08:03:20Z schjetne joined #sbcl 2017-02-02T08:11:40Z angavrilov joined #sbcl 2017-02-02T08:36:43Z scymtym joined #sbcl 2017-02-02T08:45:35Z schjetne quit (Ping timeout: 240 seconds) 2017-02-02T08:48:57Z shka joined #sbcl 2017-02-02T09:08:37Z gingerale joined #sbcl 2017-02-02T09:24:56Z jamtho joined #sbcl 2017-02-02T09:32:30Z Bike quit (Quit: false) 2017-02-02T09:38:40Z jamtho quit (Ping timeout: 248 seconds) 2017-02-02T10:02:14Z schjetne joined #sbcl 2017-02-02T10:23:53Z stassats joined #sbcl 2017-02-02T10:44:20Z igajsin joined #sbcl 2017-02-02T11:24:20Z sjl_ joined #sbcl 2017-02-02T11:35:27Z igajsin quit (Ping timeout: 240 seconds) 2017-02-02T11:41:22Z m00natic joined #sbcl 2017-02-02T11:43:54Z attila_lendvai joined #sbcl 2017-02-02T11:43:54Z attila_lendvai quit (Changing host) 2017-02-02T11:43:54Z attila_lendvai joined #sbcl 2017-02-02T11:51:48Z igajsin joined #sbcl 2017-02-02T12:36:26Z igajsin left #sbcl 2017-02-02T12:43:38Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-02T12:55:38Z sirkmatija joined #sbcl 2017-02-02T12:55:52Z sirkmatija quit (Remote host closed the connection) 2017-02-02T12:57:29Z sirkmatija joined #sbcl 2017-02-02T13:26:05Z dougk__ joined #sbcl 2017-02-02T13:52:34Z stassats: got back to my arm64 machine, ready to do some damage 2017-02-02T14:00:06Z dougk__ quit (Read error: Connection reset by peer) 2017-02-02T14:00:24Z dougk__ joined #sbcl 2017-02-02T14:21:46Z nzambe joined #sbcl 2017-02-02T14:27:08Z dougk__ quit (Ping timeout: 240 seconds) 2017-02-02T14:34:58Z cromachina quit (Read error: Connection reset by peer) 2017-02-02T14:39:24Z dougk__ joined #sbcl 2017-02-02T14:49:57Z dougk__ quit (Read error: Connection reset by peer) 2017-02-02T14:50:14Z dougk__ joined #sbcl 2017-02-02T14:55:21Z dougk__ quit (Read error: Connection reset by peer) 2017-02-02T14:55:38Z dougk__ joined #sbcl 2017-02-02T15:02:32Z nyef: Oh, wow. Eric found a way to break LET-CONVERT. 2017-02-02T15:02:48Z stassats: i have a reduced test case 2017-02-02T15:02:58Z stassats: (defun foo () (block nil (lambda () (return))) (flet ((%f (a &key) (progv '() a) (return-from foo))) (%f (%f (return-from foo))))) 2017-02-02T15:03:52Z stassats: it croaks on the optional processor 2017-02-02T15:06:14Z nyef: ... And the BLOCK NIL is required. Lovely. 2017-02-02T15:06:23Z dougk__ quit (Ping timeout: 256 seconds) 2017-02-02T15:06:38Z stassats: the (%f (return-from foo)) (%f 1) variation also works 2017-02-02T15:06:53Z stassats: keeping it from getting let converted 2017-02-02T15:20:23Z nyef: I... don't like the PROGV ir1-translator. 2017-02-02T15:23:44Z stassats: (defun foo () (block nil (lambda () (return))) (flet ((%f (a &key) (labels ((bind0 () (bind0))) (bind0)) (return-from foo))) (%f (return-from foo)) (%f 1))) 2017-02-02T15:23:46Z stassats: no progv 2017-02-02T15:24:45Z nyef: Much more tractable, thank you! 2017-02-02T15:25:09Z stassats: or (labels ((l () (l)) (%f (a &key) (l) (return-from foo))) (%f (return-from foo)) (%f 1)) 2017-02-02T15:25:31Z oleo joined #sbcl 2017-02-02T15:29:34Z nyef: I think that this is enough for me to go on for now, thank you. 2017-02-02T15:34:10Z stassats: why does move-return-stuff delete the return of the caller function? 2017-02-02T15:35:59Z nyef: Because it's a tail call, and... I dunno? Should it be deleting the return of the callee? 2017-02-02T15:37:27Z scymtym quit (Ping timeout: 240 seconds) 2017-02-02T15:39:00Z stassats: but it says that (SB-C::&OPTIONAL-PROCESSOR (LABELS %F :IN FOO)) is calling L 2017-02-02T15:39:08Z stassats: which is not really true 2017-02-02T15:39:17Z stassats: it's also :KIND :DELETED 2017-02-02T15:42:11Z stassats: and happens only with &more stuff, &optional isn't affected 2017-02-02T15:42:56Z stassats: ok, %optinal-processer lambda because the main function is let-converted inside it 2017-02-02T15:44:17Z nyef: And does this count as Eric succeeding with his challenge? 2017-02-02T15:44:26Z stassats: well, it's not about dx 2017-02-02T15:45:40Z nyef: ... No calls to M-D-V-E, so it's a separate effect. 2017-02-02T15:47:19Z stassats: L shouldn't really return 2017-02-02T15:47:28Z stassats: with thou block nil thingy, it has no return 2017-02-02T15:51:44Z stassats: or rather, with block nil the caller has no return, l still has one 2017-02-02T16:03:55Z edgar-rft joined #sbcl 2017-02-02T16:06:19Z sirkmatija quit (Quit: sirkmatija) 2017-02-02T16:06:51Z stassats: will take a break from this and look at STEP on arm64 2017-02-02T16:08:19Z dougk__ joined #sbcl 2017-02-02T16:08:22Z nyef: I should have some project bandwidth to look at it more myself later today. 2017-02-02T16:18:29Z stassats: huh, (funcall x) does not get single stepping 2017-02-02T16:25:47Z dougk__ quit (Ping timeout: 240 seconds) 2017-02-02T16:32:19Z sirkmatija joined #sbcl 2017-02-02T16:33:46Z stassats: ok, should be easy to resolve by adding a new parameter to %funcall 2017-02-02T16:46:47Z stassats: ok, fixing STEP on arm64 is easy, step.impure was just not enabled there and i noticed only recently 2017-02-02T17:10:28Z scymtym joined #sbcl 2017-02-02T17:39:04Z dougk__ joined #sbcl 2017-02-02T17:56:02Z scymtym quit (Ping timeout: 252 seconds) 2017-02-02T17:57:33Z Bike joined #sbcl 2017-02-02T17:59:38Z dougk__ quit (Ping timeout: 255 seconds) 2017-02-02T18:01:19Z dougk__ joined #sbcl 2017-02-02T18:04:44Z m00natic quit (Remote host closed the connection) 2017-02-02T18:05:08Z stassats: how do we know where the LRAs of a function are? 2017-02-02T18:05:13Z stassats: when scavenging 2017-02-02T18:11:23Z stassats: ok, it has an offset to the code object, so if there's a forwarding pointer there it'll be handled 2017-02-02T18:13:05Z stassats: that means, 16MB code size limit on 32-bit gengc platforms? 2017-02-02T18:15:50Z dougk__ quit (Ping timeout: 255 seconds) 2017-02-02T18:16:06Z stassats: immobile-code thingy can't handle 16MB code objects 2017-02-02T18:19:56Z nyef: I'm suddenly reminded of the 80286. Or the 65816. 2017-02-02T18:20:37Z dougk__ joined #sbcl 2017-02-02T18:20:38Z nyef: (16MB total address space.) 2017-02-02T18:25:49Z stassats: debugger invoked on a TYPE-ERROR: The value 4294976054 is not of type (INTEGER -2147483648 4294967295) 2017-02-02T18:25:51Z stassats: in (SB-ASSEM::PROCESS-BACK-PATCHES # 2017-02-02T18:26:19Z stassats: ok, i think i made 2 24 nops, not 2 24 bytes 2017-02-02T18:27:58Z stassats: (/ (expt 2 24) 4) nops, compiles ok, can't disassemble 2017-02-02T18:29:38Z stassats: (deftype disassem-length () '(unsigned-byte 24)) 2017-02-02T18:32:10Z nyef: It's that small so that it fits in a LispM fixnum, obviously. d-: 2017-02-02T18:33:39Z stassats: hm, can't trigger a problem with LRA 2017-02-02T18:33:54Z stassats: is the offset in instructions then or words? 2017-02-02T18:33:56Z stassats: double words? 2017-02-02T18:34:28Z stassats: offset = HeaderValue(return_pc->header) * N_WORD_BYTES; 2017-02-02T18:37:04Z stassats: i guess it's not a problem then 2017-02-02T18:37:16Z stassats: the disassembler is a problem, though 2017-02-02T18:37:35Z nyef: That's... neat. The LRA header is double-word aligned, so we could squeeze an extra bit out there. 2017-02-02T18:38:51Z stassats: although, maybe someone will want 64MB-large functions 2017-02-02T18:39:41Z dougk__ quit (Ping timeout: 255 seconds) 2017-02-02T18:43:50Z stassats: i don't think there's any merit in having disassem-length be 24-bit 2017-02-02T18:44:16Z nyef: I can see it being unsigned-fixnum reasonably, though. 2017-02-02T18:44:30Z stassats: i'll just change to fixnum 2017-02-02T18:44:37Z stassats: well, it and OFFSET 2017-02-02T18:48:49Z stassats: anything to avoid looking at that unlink-node problem 2017-02-02T18:53:03Z stassats: hm, i don't think arm64 needs to go through LR to save LRA 2017-02-02T18:53:10Z stassats: LR being LIP 2017-02-02T18:53:49Z stassats: not that it matter, once LR is used 2017-02-02T18:54:48Z stassats: but can simplify things 2017-02-02T18:56:37Z stassats: although, NLX LRAs can be further away for the ADR instruction to handle without using temporary registers 2017-02-02T18:59:29Z dougk__ joined #sbcl 2017-02-02T19:04:53Z dougk__ quit (Ping timeout: 255 seconds) 2017-02-02T19:06:46Z sirkmatija quit (Quit: sirkmatija) 2017-02-02T19:07:12Z sirkmatija joined #sbcl 2017-02-02T19:07:57Z dougk__ joined #sbcl 2017-02-02T19:31:15Z nyef: (lambda (x) (let ((f (flet ((g () (x))) #'g))) (declare (dynamic-extent f)) ...)), DX the closure or not? 2017-02-02T19:31:48Z nyef: I'm thinking yes. 2017-02-02T19:32:03Z stassats: well, dynamic-extent is pretty sticky 2017-02-02T19:35:48Z nyef: So, DX the closure in that case, because it parallels the similar one with LET instead of FLET, but not if we have, say, (lambda (x f) (let ((g (flet ((h () (x))) (funcall f #'h) #'h))) (declare (dynamic-extent g)) ...)). 2017-02-02T19:36:44Z stassats: G is not accessible outside of F, si, dx it 2017-02-02T19:36:50Z stassats: in the first thing 2017-02-02T19:37:53Z stassats: nyef: not sure about that one 2017-02-02T19:39:30Z nyef: Well, there's a parallel version for non-functional DX: Swap out h for #'h, let for flet, and make it a lambda. 2017-02-02T19:39:58Z nyef: At that point, we'd be arguing that it shouldn't DX because there's an extra reference. 2017-02-02T19:54:11Z nyef: Oh, fun. "failed AVER: (SUBSETP SB!C::END SB!C::END-STACK)" (-: 2017-02-02T20:01:51Z edgar-rft quit (Quit: edgar-rft) 2017-02-02T20:02:38Z phoe quit (Quit: leaving) 2017-02-02T20:04:52Z nyef: What on earth? It's a closure, it is stuffed into a CONS, but it has no XEP? 2017-02-02T20:22:16Z foom quit (Ping timeout: 255 seconds) 2017-02-02T20:24:58Z dougk__ quit (Ping timeout: 255 seconds) 2017-02-02T20:27:42Z dougk__ joined #sbcl 2017-02-02T20:32:27Z sjl_ quit (Read error: Connection reset by peer) 2017-02-02T20:34:09Z foom joined #sbcl 2017-02-02T20:36:01Z sjl_ joined #sbcl 2017-02-02T20:37:30Z angavrilov quit (Remote host closed the connection) 2017-02-02T20:44:13Z stassats quit (Quit: ZNC 1.6.2+deb1 - http://znc.in) 2017-02-02T20:46:23Z stassats joined #sbcl 2017-02-02T20:54:40Z dougk__ quit (Ping timeout: 255 seconds) 2017-02-02T21:01:06Z dougk__ joined #sbcl 2017-02-02T21:04:59Z edgar-rft joined #sbcl 2017-02-02T21:08:25Z DeadTrickster quit (Read error: Connection reset by peer) 2017-02-02T21:14:51Z quadresce joined #sbcl 2017-02-02T21:15:22Z eschatologist quit (Ping timeout: 255 seconds) 2017-02-02T21:17:36Z quadresce quit (Client Quit) 2017-02-02T21:21:26Z eschatologist joined #sbcl 2017-02-02T21:25:16Z gingerale quit (Remote host closed the connection) 2017-02-02T21:36:34Z quadresce joined #sbcl 2017-02-02T22:06:08Z stassats quit (Ping timeout: 240 seconds) 2017-02-02T22:06:25Z stassats joined #sbcl 2017-02-02T22:07:13Z scymtym joined #sbcl 2017-02-02T22:07:35Z shka quit (Ping timeout: 240 seconds) 2017-02-02T22:17:30Z sirkmatija quit (Quit: sirkmatija) 2017-02-02T22:30:43Z prxq joined #sbcl 2017-02-02T22:34:29Z sjl_ is now known as sjl 2017-02-02T23:18:10Z em1l quit (Remote host closed the connection) 2017-02-02T23:19:34Z dougk__ quit (Ping timeout: 255 seconds) 2017-02-02T23:21:58Z eschatologist quit (Ping timeout: 264 seconds) 2017-02-02T23:23:25Z dougk__ joined #sbcl 2017-02-02T23:26:39Z eschatologist joined #sbcl 2017-02-02T23:34:50Z jamtho joined #sbcl 2017-02-02T23:55:10Z cromachina joined #sbcl 2017-02-03T00:15:49Z dougk__ quit (Ping timeout: 255 seconds) 2017-02-03T00:24:04Z myrkraverk quit (Remote host closed the connection) 2017-02-03T00:37:15Z nyef: Right, stack analysis requires that DX allocators end their blocks. 2017-02-03T00:37:25Z nyef: Well, supposedly. 2017-02-03T00:38:18Z nyef: And the commentary on that in stack.lisp is misleading, because while it says that a REF to a DX closure doesn't end its block, the REF to the closure isn't the allocator! 2017-02-03T00:40:08Z nyef: Still don't know why some of this damage is necessary, but I think I'm making some progress. 2017-02-03T00:42:45Z prxq quit (Remote host closed the connection) 2017-02-03T00:46:29Z nyef: Finally, it builds! (-: 2017-02-03T00:48:13Z nyef: ... No change to stack allocation behavior, though. /-: 2017-02-03T00:49:15Z nyef: ... Because I screwed up, and built something almost-stock. Damnit. 2017-02-03T00:59:52Z jamtho quit (Ping timeout: 245 seconds) 2017-02-03T01:43:48Z dougk__ joined #sbcl 2017-02-03T01:50:28Z dougk__ quit (Ping timeout: 255 seconds) 2017-02-03T01:51:43Z dougk__ joined #sbcl 2017-02-03T02:25:31Z dougk__ quit (Read error: Connection reset by peer) 2017-02-03T02:25:50Z dougk__ joined #sbcl 2017-02-03T02:27:36Z nyef: Okay, *wow*. Let's use LET to DX something that's in another XEP LAMBDA altogether. 2017-02-03T02:27:59Z nyef: I... have no words. 2017-02-03T02:56:30Z nyef: Hrm. It's not in another XEP lambda, but something else is going on: The LET is in a local function, but the allocator is in an outer scope. 2017-02-03T02:57:02Z nyef: And the local function is invoked twice. 2017-02-03T03:03:23Z nyef: Hrm. Even weirder than that. 2017-02-03T03:03:48Z nyef: Does *not* help that the damned thing is so huge. 2017-02-03T03:10:09Z stassats quit (Ping timeout: 258 seconds) 2017-02-03T03:38:33Z Lord_Nightmare quit (Quit: ZNC - http://znc.in) 2017-02-03T03:41:47Z Lord_Nightmare joined #sbcl 2017-02-03T04:18:39Z karswell` joined #sbcl 2017-02-03T04:21:22Z karswell` quit (Read error: Connection reset by peer) 2017-02-03T04:23:17Z karswell` joined #sbcl 2017-02-03T04:24:26Z eschatologist quit (Quit: ZNC 1.6.3+deb2 - http://znc.in) 2017-02-03T04:25:07Z eschatologist joined #sbcl 2017-02-03T04:28:29Z dougk__ quit (Read error: Connection reset by peer) 2017-02-03T04:28:50Z dougk__ joined #sbcl 2017-02-03T04:32:11Z nzambe quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2017-02-03T04:33:00Z nyef: It builds... it finally builds... 2017-02-03T04:33:08Z nzambe joined #sbcl 2017-02-03T04:33:24Z nyef: Doesn't quite work right, but it's getting there. 2017-02-03T04:34:02Z dougk__ quit (Read error: Connection reset by peer) 2017-02-03T04:34:18Z dougk__ joined #sbcl 2017-02-03T04:44:28Z karswell` quit (Ping timeout: 255 seconds) 2017-02-03T04:58:49Z karswell` joined #sbcl 2017-02-03T04:59:07Z attila_lendvai joined #sbcl 2017-02-03T04:59:51Z attila_lendvai quit (Client Quit) 2017-02-03T05:00:36Z attila_lendvai joined #sbcl 2017-02-03T05:03:58Z karswell` quit (Ping timeout: 264 seconds) 2017-02-03T05:30:11Z karswell` joined #sbcl 2017-02-03T05:30:19Z attila_lendvai quit (Quit: Leaving.) 2017-02-03T05:34:38Z karswell` quit (Ping timeout: 240 seconds) 2017-02-03T05:36:20Z karswell` joined #sbcl 2017-02-03T05:39:52Z dougk__ quit (Ping timeout: 245 seconds) 2017-02-03T05:52:18Z attila_lendvai joined #sbcl 2017-02-03T05:55:52Z sirkmatija joined #sbcl 2017-02-03T05:58:40Z sirkmatija quit (Client Quit) 2017-02-03T06:07:32Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-03T06:20:19Z Lord_Nightmare: nyef: what'cha working on? 2017-02-03T06:29:50Z sirkmatija joined #sbcl 2017-02-03T06:42:14Z sirkmatija quit (Ping timeout: 276 seconds) 2017-02-03T06:44:06Z igajsin joined #sbcl 2017-02-03T07:19:47Z oleo quit (Quit: Leaving) 2017-02-03T07:31:28Z scymtym quit (Ping timeout: 240 seconds) 2017-02-03T07:36:43Z quadresce quit (Quit: This computer has gone to sleep) 2017-02-03T07:53:57Z angavrilov joined #sbcl 2017-02-03T08:29:54Z prxq joined #sbcl 2017-02-03T08:33:53Z scymtym joined #sbcl 2017-02-03T08:41:54Z Bike quit (Quit: sleep) 2017-02-03T08:49:18Z prxq quit (Remote host closed the connection) 2017-02-03T08:56:46Z shka joined #sbcl 2017-02-03T09:29:13Z jamtho joined #sbcl 2017-02-03T09:56:05Z jibanes quit (Ping timeout: 240 seconds) 2017-02-03T09:58:04Z jibanes joined #sbcl 2017-02-03T10:25:42Z jamtho quit (Ping timeout: 245 seconds) 2017-02-03T10:26:57Z attila_lendvai joined #sbcl 2017-02-03T10:26:57Z attila_lendvai quit (Changing host) 2017-02-03T10:26:57Z attila_lendvai joined #sbcl 2017-02-03T11:48:26Z m00natic joined #sbcl 2017-02-03T11:56:43Z stassats joined #sbcl 2017-02-03T12:31:00Z sirkmatija joined #sbcl 2017-02-03T12:50:56Z dougk__ joined #sbcl 2017-02-03T13:08:45Z sjl: is there no way to have a struct slot that's both an unboxed (unsigned-byte 64) and CAS-able? 2017-02-03T13:09:15Z sjl: sb-ext:compare-and-swap says a CAS-able place is "... or the name of a defstruct created accessor for a slot whose declared type is either fixnum or t. Results are unspecified if the slot has a declared type other than fixnum or t. 2017-02-03T13:10:05Z sjl: context: I'm implementing a little library for http://www.pcg-random.org/ 2017-02-03T13:10:47Z sjl: using a struct with (unsigned-byte 64) gives me a nice unboxed slot for the RNG state and makes the update compile down really nicely, but I'd also like to have something thread-safe if possible 2017-02-03T13:17:26Z flip214: sjl: you could try to use a sb-ext:word type (or whatever the exact type required by the atomic_inc function is) 2017-02-03T13:18:40Z sjl: flip214: hmm, will that work with atomic-update too? I only see that in the docs for atomic-decf and atomic-incf 2017-02-03T13:19:20Z sjl: oh wait, I can probably just fix this with defcas can't I? 2017-02-03T13:19:36Z flip214: I guess that the same type should work with all atomic operations 2017-02-03T13:20:05Z dougk__ quit (Read error: Connection reset by peer) 2017-02-03T13:20:24Z dougk__ joined #sbcl 2017-02-03T13:20:51Z sjl: flip214: that's what I would expect, but the docs for atomic-update/compare-and-swap very specifically say > Results are unspecified if the slot has a declared type other than fixnum or t. 2017-02-03T13:22:27Z sjl: hm, actually maybe I can't defcas it... 2017-02-03T13:23:59Z flip214: sjl: src/code/cas.lisp has (case (dsd-raw-type slotd) 2017-02-03T13:24:07Z flip214: ((word) ...) 2017-02-03T13:24:20Z flip214: so the sbcl word type should work fine. 2017-02-03T13:24:46Z flip214: It's depending on #!+(or x86 x86-64) 2017-02-03T13:24:48Z flip214: though... 2017-02-03T13:25:18Z flip214: just try it?! 2017-02-03T13:25:28Z sjl: hm, yeah I see. x86 only 2017-02-03T13:25:59Z sjl: well I could just try it, but I'd like to avoid relying on undefined behavior 2017-02-03T13:26:56Z nyef: Lord_Nightmare: I'm working on lp#383079, starting from a proof of concept that stassats put together, but it's been a pain just getting to the point that a full build works, let alone getting the semantics right. 2017-02-03T13:36:37Z rumbler31 joined #sbcl 2017-02-03T13:41:48Z dougk__ quit (Ping timeout: 240 seconds) 2017-02-03T13:42:52Z dougk__ joined #sbcl 2017-02-03T13:49:36Z dougk__ quit (Read error: Connection reset by peer) 2017-02-03T13:49:56Z dougk__ joined #sbcl 2017-02-03T13:58:37Z sirkmatija quit (Ping timeout: 240 seconds) 2017-02-03T14:05:48Z rumbler31 quit (Remote host closed the connection) 2017-02-03T14:05:57Z cromachina quit (Read error: Connection reset by peer) 2017-02-03T14:24:28Z dougk__ quit (Ping timeout: 240 seconds) 2017-02-03T14:25:00Z nyef: ... I think that I need to supply an ENTRY DX and DX CLEANUP for every FLET and LABELS, even if they don't have a DX declaration, so that there's somewhere reasonable to track the allocation in case they are DXed by a LET. 2017-02-03T14:25:37Z nyef: Which, of course, has knock-on effects for vestigial exit deletion. 2017-02-03T14:28:47Z shka quit (Quit: Konversation terminated!) 2017-02-03T14:29:40Z jibanes quit (Ping timeout: 240 seconds) 2017-02-03T14:32:10Z jibanes joined #sbcl 2017-02-03T14:32:15Z shka joined #sbcl 2017-02-03T14:32:39Z oleo joined #sbcl 2017-02-03T14:35:20Z shka quit (Client Quit) 2017-02-03T14:36:10Z shka joined #sbcl 2017-02-03T14:44:59Z nyef: Right, it's unreasonable to expect that (flet ((f () ...)) (something #'f)) should tail-call. 2017-02-03T14:45:08Z nyef: So, nothing of value would be lost. 2017-02-03T14:45:26Z scymtym: our macos x86_64 build are currently failing in two (different?) ways: e.g. https://ci.cor-lab.org/job/sbcl-master/1994/featureset=2,label=MAC_OS_mavericks_64bit/console and https://ci.cor-lab.org/job/sbcl-master/1994/featureset=1,label=MAC_OS_mavericks_64bit/console 2017-02-03T14:58:25Z sjl quit (Ping timeout: 255 seconds) 2017-02-03T15:04:00Z jibanes quit (Ping timeout: 260 seconds) 2017-02-03T15:05:42Z jibanes joined #sbcl 2017-02-03T15:08:40Z nyef: ... except that it could be the equivalent of LET-converted, which *would* tail-call. Hrm. 2017-02-03T15:20:40Z myrkraverk joined #sbcl 2017-02-03T15:23:45Z gingerale joined #sbcl 2017-02-03T15:38:49Z sjl joined #sbcl 2017-02-03T15:44:43Z dougk__ joined #sbcl 2017-02-03T15:47:08Z stassats: sjl flip214 word and (unsigned-byte 64) are equivalent 2017-02-03T15:47:11Z stassats: or 32 2017-02-03T15:47:28Z sjl: stassats: yeah 2017-02-03T15:47:53Z sjl: I get that I can use (usb 64) slots with atomic-incf/decf 2017-02-03T15:48:06Z sjl: but atomic-update's docs specifically say fixnum or t only 2017-02-03T15:48:59Z sjl: or, well, it says "any CAS-able place" and then compare-and-swap says fixnum/t 2017-02-03T15:49:57Z stassats: sjl: considering that only x86oids support that, that statement is still true 2017-02-03T15:50:38Z sjl: yeah, I guess if I want to do it portably I should use a lock 2017-02-03T15:52:29Z stassats: scymtym: i don't think the new AVX can cause those errors, but anything is possible 2017-02-03T15:54:33Z stassats: mavericks doesn't support avx, does it? 2017-02-03T15:54:59Z stassats: Apple OS X: Support for AVX added in 10.6.8 (Snow Leopard) 2017-02-03T16:05:19Z pkhuong: sjl: don't use interlocked operations for a PRNG. set up independent states per thread. 2017-02-03T16:06:13Z sjl: yeah I suppose I could just sidestep it by saying "this isn't thread safe, split into separate streams per thread if you want" 2017-02-03T16:06:22Z rumbler3_ joined #sbcl 2017-02-03T16:06:25Z sjl: since PCG has nice support for that 2017-02-03T16:06:42Z sjl: 2^63 threads ought to be enough for anybody 2017-02-03T16:07:46Z stassats: i think i can at least test avx detection works properly when there's no avx, though not on os x 2017-02-03T16:08:16Z pkhuong: stassats: it's "just" a cpuid right? 2017-02-03T16:08:36Z stassats: pkhuong: cpuid + xgetbv 2017-02-03T16:08:42Z stassats: that way you can test both cpu and os support 2017-02-03T16:09:29Z stassats: and that the windows build is broken 2017-02-03T16:10:35Z rumbler3_ quit (Ping timeout: 240 seconds) 2017-02-03T16:17:46Z igajsin quit (Ping timeout: 264 seconds) 2017-02-03T16:19:15Z dougk__ quit (Ping timeout: 260 seconds) 2017-02-03T16:24:19Z nyef: ... Why do we account REFs as being DX allocators? 2017-02-03T16:25:19Z stassats: what is normally a dx allocator? 2017-02-03T16:25:44Z nyef: Something which can do a stack allocation, which basically means just combinations. 2017-02-03T16:26:03Z nyef: Well, something *with value semantics* that can do stack allocation. 2017-02-03T16:26:17Z stassats: what about &rest? 2017-02-03T16:26:59Z nyef: Hrm. SRCTRAN / REST-VAR-MORE-CONTEXT-OK ? 2017-02-03T16:27:10Z stassats: auto and declared 2017-02-03T16:28:32Z stassats: well, &more isn't exactly dx, but you can declare &rest to be dx 2017-02-03T16:28:41Z stassats: well, &more is a dx, but it's not even a list 2017-02-03T16:33:46Z nyef: Right, &more doesn't conform to the usual value semantics. Not sure what's going on with &REST yet. 2017-02-03T16:33:55Z nyef: Any other plausibilities? 2017-02-03T16:49:11Z stassats: ok, avx detection seems to work 2017-02-03T16:49:16Z stassats: at least on the cpu side 2017-02-03T16:54:29Z stassats quit (Quit: ZNC 1.6.2+deb1 - http://znc.in) 2017-02-03T16:56:43Z dougk__ joined #sbcl 2017-02-03T16:58:42Z stassats joined #sbcl 2017-02-03T16:58:52Z stassats: and on the os side 2017-02-03T17:02:27Z sirkmatija joined #sbcl 2017-02-03T17:11:15Z stassats: no size function for object at 0x21e1c030 (widetag 0x31), 0x31 is supposed to be simple-fun-header-widetag 2017-02-03T17:13:38Z Intensity quit (Changing host) 2017-02-03T17:13:38Z Intensity joined #sbcl 2017-02-03T17:18:07Z nyef: Ugh. I forgot one of the rules: "Ignore the comments, they can be terribly misleading. Debug only code." 2017-02-03T17:18:13Z igajsin joined #sbcl 2017-02-03T17:18:40Z sirkmatija quit (Quit: sirkmatija) 2017-02-03T17:19:00Z stassats: the code is pretty misleading too 2017-02-03T17:19:02Z nyef: Specifically, "If this LVAR's USE is good for DX, it is either a CAST, or it must be a regular combination whose arguments are potentially DX as well." shortly before an ETYPECASE that has cases for CAST, COMBINATION, and REF. 2017-02-03T17:21:49Z nyef: So, the only other plausible reasons that I've been able to come up with for saving the entire path to the DX allocators are for the unable-to-stack-allocate notes, and laziness. 2017-02-03T17:25:25Z dougk__ quit (Ping timeout: 255 seconds) 2017-02-03T17:36:49Z sirkmatija joined #sbcl 2017-02-03T17:50:38Z dougk__ joined #sbcl 2017-02-03T17:55:57Z m00natic quit (Remote host closed the connection) 2017-02-03T17:56:03Z Cthulhux quit (*.net *.split) 2017-02-03T17:56:10Z kini quit (*.net *.split) 2017-02-03T17:56:14Z Cthulhux joined #sbcl 2017-02-03T17:56:20Z carvite quit (*.net *.split) 2017-02-03T17:56:20Z White_Flame quit (*.net *.split) 2017-02-03T17:59:50Z ccl-logbot joined #sbcl 2017-02-03T17:59:50Z 2017-02-03T17:59:50Z names: ccl-logbot carvite White_Flame Cthulhux dougk__ sirkmatija igajsin stassats sjl gingerale myrkraverk jibanes shka oleo attila_lendvai scymtym angavrilov karswell` nzambe eschatologist Lord_Nightmare edgar-rft foom schjetne jrm fiddlerwoaroof alandipert dougk_ Intensity adlai fe[nl]ix Blkt DGASAU jdz sigjuice christoph_debian pkhuong hzp akkad ym nyef whiteline minion Shinmera leah2 irsol jsnell salva Xof xristos joshe nicdev gko brucem sebboh flip214 2017-02-03T17:59:50Z names: jcloud Reinisch Quadrescence arjenve les libreman Xach leo_song Posterdati pchrist |3b| mood swflint malm specbot luis nimiux fjl knobo payphone jackdaniel Ober drmeister p_l PuercoPop dustinm` mjl solene abbe jackc 2017-02-03T18:03:18Z angular_mike_ joined #sbcl 2017-02-03T18:06:36Z nyef: ... CASTs aren't allocators either, are they? 2017-02-03T18:08:04Z stassats: nyef: they can result in insertion of arbitrary code 2017-02-03T18:08:41Z nyef: Hrm. Can that code allocate? 2017-02-03T18:08:55Z stassats: inlined satisfies, sure 2017-02-03T18:09:01Z nyef: Ah, damn. 2017-02-03T18:09:09Z nyef: Hrm. Actually, that might be fine. 2017-02-03T18:09:45Z stassats: pretty rare, though 2017-02-03T18:12:38Z nyef: Yeah, but I have to consider stupidly-rare-but-legal cases here. 2017-02-03T18:23:57Z Bike joined #sbcl 2017-02-03T18:54:28Z eschatologist quit (Ping timeout: 240 seconds) 2017-02-03T18:58:05Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-03T19:05:01Z eschatologist joined #sbcl 2017-02-03T19:10:32Z eschatologist quit (Ping timeout: 256 seconds) 2017-02-03T19:10:36Z karswell` quit (Remote host closed the connection) 2017-02-03T19:11:22Z karswell` joined #sbcl 2017-02-03T19:15:12Z eschatologist joined #sbcl 2017-02-03T19:16:30Z oleo quit (Read error: Connection reset by peer) 2017-02-03T19:20:20Z karswell` is now known as karswell 2017-02-03T19:28:52Z igajsin left #sbcl 2017-02-03T19:46:43Z dougk__ quit (Ping timeout: 255 seconds) 2017-02-03T19:52:41Z dougk__ joined #sbcl 2017-02-03T19:58:19Z eschatologist quit (Ping timeout: 258 seconds) 2017-02-03T20:04:46Z eschatologist joined #sbcl 2017-02-03T20:11:11Z oleo joined #sbcl 2017-02-03T20:19:28Z eschatologist quit (Ping timeout: 245 seconds) 2017-02-03T20:19:43Z quadresce joined #sbcl 2017-02-03T20:21:59Z nyef: Hunh. I found where the comment about REFs to DX closures not ending their blocks came from. 2017-02-03T20:22:28Z quadresce quit (Client Quit) 2017-02-03T20:23:47Z nyef: ... and it's not even a requirement that DX allocators end their blocks, it's a requirement that they appear after any and all UV receivers in their blocks. 2017-02-03T20:24:08Z scymtym quit (Ping timeout: 240 seconds) 2017-02-03T20:25:46Z Cthulhux quit (Changing host) 2017-02-03T20:25:46Z Cthulhux joined #sbcl 2017-02-03T20:31:38Z eschatologist joined #sbcl 2017-02-03T20:37:49Z quadresce joined #sbcl 2017-02-03T20:46:34Z dougk__ quit (Ping timeout: 255 seconds) 2017-02-03T20:57:47Z nyef: Looks like the crazyness here was added in the original nested DX implementation, and it just hasn't gotten better since. 2017-02-03T21:03:11Z quadresce quit (Quit: This computer has gone to sleep) 2017-02-03T21:03:59Z dougk__ joined #sbcl 2017-02-03T21:06:48Z eschatologist quit (Ping timeout: 240 seconds) 2017-02-03T21:12:25Z eschatologist joined #sbcl 2017-02-03T21:16:44Z scymtym joined #sbcl 2017-02-03T21:20:16Z quadresce joined #sbcl 2017-02-03T21:21:04Z quadresce quit (Client Quit) 2017-02-03T21:21:27Z angavrilov quit (Remote host closed the connection) 2017-02-03T21:24:19Z dougk__ quit (Ping timeout: 260 seconds) 2017-02-03T21:34:16Z prxq joined #sbcl 2017-02-03T21:36:15Z sirkmatija quit (Quit: sirkmatija) 2017-02-03T21:48:55Z rumbler3_ joined #sbcl 2017-02-03T21:49:35Z rumbler3_ quit (Remote host closed the connection) 2017-02-03T21:53:50Z quadresce joined #sbcl 2017-02-03T22:02:35Z rumbler3_ joined #sbcl 2017-02-03T22:09:07Z rumbler3_ quit (Remote host closed the connection) 2017-02-03T22:12:33Z nyef: If we take (flet ((f () ...)) ...) as equivalent to (let ((#'f (lambda () ...))) ...), a REF FUNCTIONAL has an obvious parallel to a REF LAMBDA-VAR. 2017-02-03T22:12:50Z nyef: And, presumably, should be subject to the same restrictions with respect to DX propagation. 2017-02-03T22:46:53Z jamtho joined #sbcl 2017-02-03T22:56:08Z dougk__ joined #sbcl 2017-02-03T22:56:30Z rumbler31 joined #sbcl 2017-02-03T22:56:38Z rumbler31 quit (Remote host closed the connection) 2017-02-03T22:57:10Z karswell quit (Remote host closed the connection) 2017-02-03T22:58:24Z karswell joined #sbcl 2017-02-03T23:01:24Z Intensity quit (Remote host closed the connection) 2017-02-03T23:04:48Z gingerale quit (Read error: Connection reset by peer) 2017-02-03T23:12:03Z nyef: ... what does :EXIT-IF-NULL do in BINDING* ? 2017-02-03T23:12:33Z stassats: returns from the whole binding if it's null 2017-02-03T23:13:06Z nyef: So, it doesn't evaluate the body? 2017-02-03T23:13:12Z stassats: right 2017-02-03T23:13:13Z dougk__ quit (Ping timeout: 245 seconds) 2017-02-03T23:13:19Z nyef: I am... horrified. 2017-02-03T23:13:44Z stassats: i never use BINDING 2017-02-03T23:14:28Z nyef: Let's see... no docstring, the comment doesn't explain the flag, and the code is gibberish enough to require careful parsing. Lovely. 2017-02-03T23:15:49Z edgar-rft: 2017-02-03T23:16:34Z nyef: edgar-rft: Please don't tempt me right now. 2017-02-03T23:17:08Z edgar-rft: I only wanted to show stassats how to use Binding 2017-02-03T23:20:54Z nyef: Okay, took the easy way out and used MACROEXPAND-1. 2017-02-03T23:21:00Z nyef: And, yes, it skips evaluating the body. 2017-02-03T23:21:07Z nyef: And, yes, I am definitely horrified. 2017-02-03T23:21:34Z stassats: yes, i always have to be careful around these parts 2017-02-03T23:21:45Z stassats: since it's easy to miss those :exit-if-null 2017-02-03T23:22:10Z nyef: When I rewrite this logic, and I'm almost definitely going to be rewriting it, I will not be using BINDING*. /-: 2017-02-03T23:58:48Z jamtho quit (Ping timeout: 240 seconds) 2017-02-04T00:14:03Z shka quit (Ping timeout: 245 seconds) 2017-02-04T00:15:38Z prxq quit (Remote host closed the connection) 2017-02-04T00:47:08Z dougk__ joined #sbcl 2017-02-04T00:50:06Z nyef: So, (let ((f (flet ((g () x)) (declare (dynamic-extent #'g)) #'g))) ...) is illegal, but (let ((f (flet ((g () x)) #'g))) (declare (dynamic-extent f)) ...) is legal and should stack-allocate #'g. 2017-02-04T00:50:20Z nyef: And this has definite implications for how we handle DX functionals. 2017-02-04T00:51:17Z nyef: I also get the distinct impression that having a distinction between a "dx-allocating" LVAR and a "dx-carrying" LVAR could be useful, or at least less messy. 2017-02-04T00:52:08Z nyef: Basically, STACK analysis shouldn't need to care about a "dx-carrying" LVAR, since it doesn't actually affect the stack, but it does need to care about "dx-allocating" LVARs, because they *do* affect the stack. 2017-02-04T00:53:28Z dougk__ quit (Ping timeout: 240 seconds) 2017-02-04T01:00:31Z cromachina joined #sbcl 2017-02-04T01:03:04Z dougk__ joined #sbcl 2017-02-04T01:05:20Z karswell` joined #sbcl 2017-02-04T01:05:23Z Intensity joined #sbcl 2017-02-04T01:05:56Z karswell quit (Ping timeout: 276 seconds) 2017-02-04T01:10:05Z stassats quit (Ping timeout: 240 seconds) 2017-02-04T01:17:21Z mateuszb joined #sbcl 2017-02-04T01:26:28Z dougk__ quit (Ping timeout: 240 seconds) 2017-02-04T02:04:51Z dougk__ joined #sbcl 2017-02-04T02:10:32Z dougk__ quit (Ping timeout: 258 seconds) 2017-02-04T02:19:55Z dougk__ joined #sbcl 2017-02-04T02:21:13Z quadresce quit (Quit: This computer has gone to sleep) 2017-02-04T02:24:03Z dougk__ quit (Ping timeout: 245 seconds) 2017-02-04T02:26:48Z dougk__ joined #sbcl 2017-02-04T02:33:57Z rumbler31 joined #sbcl 2017-02-04T02:57:45Z drl joined #sbcl 2017-02-04T03:37:03Z dougk__ quit (Read error: Connection reset by peer) 2017-02-04T03:37:22Z dougk__ joined #sbcl 2017-02-04T04:44:22Z rumbler31 quit (Remote host closed the connection) 2017-02-04T04:55:40Z dougk__ quit (Ping timeout: 240 seconds) 2017-02-04T06:08:22Z igajsin joined #sbcl 2017-02-04T06:32:36Z sirkmatija joined #sbcl 2017-02-04T06:43:36Z nimiux quit (Ping timeout: 240 seconds) 2017-02-04T06:45:26Z sirkmatija quit (Quit: sirkmatija) 2017-02-04T07:06:24Z igajsin left #sbcl 2017-02-04T07:54:47Z edgar-rft quit (Quit: edgar-rft) 2017-02-04T08:24:49Z angavrilov joined #sbcl 2017-02-04T08:41:38Z shka joined #sbcl 2017-02-04T09:03:55Z gingerale joined #sbcl 2017-02-04T09:14:58Z Bike quit (Quit: leaving) 2017-02-04T09:15:04Z dougk__ joined #sbcl 2017-02-04T10:02:48Z sjl quit (Ping timeout: 240 seconds) 2017-02-04T10:03:10Z dougk__ quit (Read error: Connection reset by peer) 2017-02-04T10:03:29Z dougk__ joined #sbcl 2017-02-04T10:24:28Z oleo quit (Ping timeout: 240 seconds) 2017-02-04T10:45:57Z sjl joined #sbcl 2017-02-04T11:00:21Z jamtho joined #sbcl 2017-02-04T11:05:10Z sjl quit (Ping timeout: 240 seconds) 2017-02-04T11:17:40Z dougk__ quit (Ping timeout: 240 seconds) 2017-02-04T11:19:50Z scymtym quit (Remote host closed the connection) 2017-02-04T11:37:18Z dougk__ joined #sbcl 2017-02-04T11:52:34Z scymtym joined #sbcl 2017-02-04T12:03:40Z jamtho quit (Ping timeout: 240 seconds) 2017-02-04T12:05:03Z mateuszb_ joined #sbcl 2017-02-04T12:06:58Z mateuszb quit (Ping timeout: 245 seconds) 2017-02-04T12:30:40Z dougk__ quit (Ping timeout: 255 seconds) 2017-02-04T12:55:55Z attila_lendvai joined #sbcl 2017-02-04T12:55:55Z attila_lendvai quit (Changing host) 2017-02-04T12:55:55Z attila_lendvai joined #sbcl 2017-02-04T13:04:35Z tetero joined #sbcl 2017-02-04T13:06:55Z tetero: Hi. I'm a tad confused. I'm trying to get the argv's from when the program is executed and I've found *posix-argv* and sb-ext:*posix-argv* none of which works. I found a reference in the manual to it being deprecated? And it seems as though it's replaced by sb-posix if I understand things correctly? But I'm having a serious hard time finding the right documentation on this 2017-02-04T13:09:31Z tetero: I also found sb-unix::posix-getenv and now I'm even more confused 2017-02-04T13:09:54Z stassats joined #sbcl 2017-02-04T13:10:12Z stassats: tetero: sb-ext:*posix-argv* works perfectly fine and is not deprecated 2017-02-04T13:10:30Z stassats: and don't use sb-unix::posix-getenv 2017-02-04T13:10:35Z stassats: anything sb-unix 2017-02-04T13:12:06Z tetero: stassats: How so? I might have confused sb-ext being deprecated with the condition-sb-ext-*-deprecation documentation 2017-02-04T13:13:12Z tetero: All I get trying to use sb-ext:*posix-argv* is that *posix-argv* is undefined 2017-02-04T13:13:40Z stassats: i can't tell you where you are confused, i can just tell you to use sb-ext:*posix-argv* and sb-ext:posix-getenv 2017-02-04T13:13:50Z tetero: Perhaps I'm missing an entrypoint? 2017-02-04T13:15:15Z tetero: Ah, right. getenv is for env variables. 2017-02-04T13:18:54Z tetero: I think I sorted it out now. Thanks stassats 2017-02-04T13:28:46Z tetero quit (Quit: WeeChat 1.7) 2017-02-04T13:41:15Z dougk__ joined #sbcl 2017-02-04T14:15:25Z stassats: managed "The function COMMON-LISP-USER::BAR is undefined. ... Restarts: 0: [CONTINUE] Retry calling" 2017-02-04T14:15:28Z stassats: on x86-64 2017-02-04T14:17:40Z stassats: another improvement would be to have a USE-VALUE restart 2017-02-04T14:19:47Z whiteline_ joined #sbcl 2017-02-04T14:21:13Z whiteline_ quit (Remote host closed the connection) 2017-02-04T14:29:14Z nyef: stassats: I've done a USE-VALUE restart for undefined-function twice, but it's never really been good enough to merge. 2017-02-04T14:29:20Z rumbler31 joined #sbcl 2017-02-04T14:30:24Z stassats: nyef: any inherent reason? 2017-02-04T14:31:11Z rumbler31 quit (Remote host closed the connection) 2017-02-04T14:32:29Z dougk__ quit (Read error: Connection reset by peer) 2017-02-04T14:32:45Z dougk__ joined #sbcl 2017-02-04T14:33:18Z nyef: Hrm. I found the symbol-value version of the patch, but not yet the symbol-function version. 2017-02-04T14:34:57Z nyef: Looks like it needs some per-backend work, uses the cerror trap mechanism, and... Well, see for yourself: http://www.lisphacker.com/temp/symbol-value-restarts-take2.patch 2017-02-04T14:35:11Z nyef: The symbol-function version might have been cleaner. 2017-02-04T14:38:44Z stassats: well, yeah, it's per backend, but now there are lisp tramps 2017-02-04T14:39:05Z stassats: and i used cerror, naturally, although, i feel like there's actually no need for cerror 2017-02-04T14:39:15Z stassats: or rather, no need in error, any error can be restartable 2017-02-04T14:39:37Z nyef: The point of the cerror trap, to my mind, is that it says "there is recovery code in place". 2017-02-04T14:40:14Z stassats: non continuable errors just do not return 2017-02-04T14:40:43Z stassats: and if they return, i don't think we actually pay attention to the fact that it's not continuable, arch_skip_instruction is just omitted 2017-02-04T14:41:18Z nyef: You're missing my point: "This particular instance of WHATEVER-ERROR has recovery code, establishing the restarts that take advantage of it is indicated." 2017-02-04T14:41:43Z stassats: well, in theory 2017-02-04T14:41:54Z nyef: So we can omit the recovery code on high space/low debug. 2017-02-04T14:42:15Z stassats: ok, sure, i was only concerned with the undefined case 2017-02-04T14:43:32Z stassats: ah, i see that your patch skips the instructions unconditionally 2017-02-04T14:45:58Z nyef: Anyway, we can make USE-VALUE happen for undefined-function. 2017-02-04T14:46:15Z stassats: i'm planning on shipping it today 2017-02-04T14:46:19Z stassats: for x86-64 2017-02-04T14:46:28Z nyef: Based on my patch, or your own? 2017-02-04T14:46:35Z stassats: my own 2017-02-04T14:46:42Z stassats: well, your patch is for symbol-value 2017-02-04T14:46:45Z nyef: And are you catching the one or two cases that aren't from the trap in tramps? 2017-02-04T14:47:21Z stassats: the tramp only for now 2017-02-04T14:47:38Z stassats: well, i need to make work first, then i'll think about other cases, including symbol-value 2017-02-04T14:48:22Z stassats: another restart, "return value" from a function call 2017-02-04T14:48:36Z stassats: or just skip it, if the value is unused, how do i specify that it's unused? 2017-02-04T14:48:59Z nyef: You plausibly don't know that the value is unused at that point, but returning NIL is appropriate at that point. 2017-02-04T14:49:06Z stassats: also, the backtrace for undefined functions should show the arguments 2017-02-04T14:49:39Z stassats: nyef: returning user specified values is better, but i feel like typing nil will get old quick 2017-02-04T14:49:46Z stassats: so, maybe, "return zero values" 2017-02-04T14:50:08Z nyef: "return NIL"? 2017-02-04T14:50:14Z stassats: that's what, four restarts? continue, use-value-for-function,use-value-for-return,use-value-for-zero-values 2017-02-04T14:55:28Z nyef: Ooh. I found my original writeup for the scavenge-interrupt-context damage that I ran into doing the PPC threads work. 2017-02-04T14:56:46Z dougk__ quit (Ping timeout: 264 seconds) 2017-02-04T14:59:17Z nyef: 30 lines of background, 60 lines of explanation-of-problem including such classic lines as "It won't" and "Oops", and section titles "It gets worse" and "And worse". 15 lines of how-to-fix, and 15 lines of why-it-wasn't-found-earlier. 2017-02-04T15:02:14Z nyef: Further choice phrases: "longstanding badness", "particularly unfortunate FIXNUM", "Lies the documentation told me", "can be measured in round numbers", and "This is infinitely greater than the previous norm of zero". 2017-02-04T15:11:34Z rumbler31 joined #sbcl 2017-02-04T15:20:57Z rumbler31 quit (Remote host closed the connection) 2017-02-04T15:21:43Z edgar-rft joined #sbcl 2017-02-04T15:21:47Z gingerale quit (Remote host closed the connection) 2017-02-04T15:22:09Z igajsin joined #sbcl 2017-02-04T15:22:33Z igajsin left #sbcl 2017-02-04T15:23:25Z oleo joined #sbcl 2017-02-04T15:24:45Z stassats: (foo ) Type a form to be evaluated: (lambda () (print 10)) 10 => 10 2017-02-04T15:25:36Z dougk__ joined #sbcl 2017-02-04T15:26:04Z jamtho joined #sbcl 2017-02-04T15:26:04Z stassats: i feel that use-value-for-return should be provided by an IDE, by specifying (constantly value) for that restart 2017-02-04T15:26:32Z stassats: well, that would be easier to implement, as in, nothing would have to be implemented by sbcl 2017-02-04T15:29:35Z dougk__ quit (Ping timeout: 240 seconds) 2017-02-04T15:33:17Z sjl joined #sbcl 2017-02-04T15:35:14Z stassats: (foo ) Type a form to be evaluated: (values 1 2 3) => 1 2 3 2017-02-04T15:36:33Z nyef: Oh! Right, I found two more places that need to be converted to use NODE-STACK-ALLOCATE-P. 2017-02-04T15:47:00Z jamtho quit (Ping timeout: 256 seconds) 2017-02-04T15:49:48Z schjetne quit (Ping timeout: 240 seconds) 2017-02-04T15:52:36Z drl quit (Quit: Ex-Chat) 2017-02-04T16:00:07Z stassats: ok, undefined-tramp and %coerce-callable-to-fun handled, but returning #'undefined is trickier 2017-02-04T16:01:07Z nyef: It's "just" adding the trap to safe-fdefn-fun, isn't it? 2017-02-04T16:01:36Z stassats: "just", yes, trickier without increasing code size 2017-02-04T16:01:59Z stassats: i think it's possible using debug contexts 2017-02-04T16:02:02Z nyef: Make it policy dependent, only emitting the code when debug > space or something? 2017-02-04T16:02:20Z stassats: record where to return after fixing the value 2017-02-04T16:03:21Z nyef: That's... plausible. 2017-02-04T16:04:31Z nyef: ... Damnit. I'm going to be picking up after people who didn't understand STACK for ages, aren't I? 2017-02-04T16:05:28Z stassats: does that include past you? 2017-02-04T16:06:01Z nyef: Probably, yes. 2017-02-04T16:06:32Z stassats: using tagbody with go somehow messes up type derivation 2017-02-04T16:07:12Z nyef: Although most of my recent nasty bugfixes have been because of misunderstanding IR1 structures, not because of misunderstanding STACK. 2017-02-04T16:07:13Z stassats: ok, when the go is coming from restarts 2017-02-04T16:07:28Z stassats: i guess it thinks it's conditional 2017-02-04T16:08:15Z stassats: can't blame it 2017-02-04T16:08:49Z nyef: In ir1opt.lisp, line 501, is a comment: "FIXME: This is a partial workaround for bug 303." 2017-02-04T16:09:18Z stassats: good luck finding bug 303 2017-02-04T16:09:28Z nyef: I had to look it up. Bug 303 was "nonlinear LVARs". 2017-02-04T16:09:39Z stassats: so, VARs? 2017-02-04T16:09:47Z nyef: Something like that. 2017-02-04T16:10:44Z nyef: You may remember part of this story, it involved a non-local exit getting deleted in such a way that the stack analysis decided that an LVAR could be discarded when it was still live. 2017-02-04T16:12:39Z nyef: This particular bit, however, was added in 2004, and was a merge from a branch. 2017-02-04T16:13:13Z nyef: And this was CVS days, when they were sloppy about how much stuff a single commit does. 2017-02-04T16:15:28Z stassats: ok, before #'undefined I want to make the backtrace to show the arguments 2017-02-04T16:19:44Z nyef: ... And the corresponding magic isn't in cmucl, so that path for finding an explanation is out. 2017-02-04T16:34:20Z nyef: I also get to wonder if it's still necessary. 2017-02-04T16:35:42Z schjetne joined #sbcl 2017-02-04T16:40:10Z schjetne quit (Ping timeout: 240 seconds) 2017-02-04T16:46:19Z schjetne joined #sbcl 2017-02-04T16:50:58Z schjetne quit (Remote host closed the connection) 2017-02-04T16:53:16Z stassats: i guess now i know why cerror-trap is neccessary to skip the instruction 2017-02-04T16:53:34Z stassats: if i want to return to a different location i don't want any instruction skipping 2017-02-04T16:55:44Z schjetne joined #sbcl 2017-02-04T16:56:37Z stassats: ok, args for undefined functions are in as well 2017-02-04T16:56:46Z stassats: now to #'und on x86-64 2017-02-04T17:01:54Z Bike joined #sbcl 2017-02-04T17:03:02Z Bike: yo, where in the source can i find how type inference works? i already know about ctypes and deftransform a bit. 2017-02-04T17:03:52Z stassats: constraint.lisp? 2017-02-04T17:04:21Z stassats: and, good luck 2017-02-04T17:07:21Z Bike: it's deep magic, isn't it 2017-02-04T17:07:53Z stassats: "magic" is too positive a word 2017-02-04T17:08:38Z nyef: It's a "grad student special", isn't it? 2017-02-04T17:08:39Z Bike: deep hexing 2017-02-04T17:09:04Z stassats: nyef: and then mix some "organic growth" in 2017-02-04T17:09:29Z Bike: anyway thanks. 2017-02-04T17:09:46Z nyef: "constraint like a cancer grows"? 2017-02-04T17:11:37Z stassats: ugh, a dilemma, to retry evaluating #'xxx i can just return the function, but i'll need to know the result location, which is one more place in the context vector 2017-02-04T17:11:57Z stassats: or return before it takes the fdefn value, but i'll need to create a dummy fdefn 2017-02-04T17:12:09Z stassats: but it doesn't seem that i can create dummy fdefns 2017-02-04T17:13:20Z nyef: Or hard-code the TN-offset? 2017-02-04T17:13:46Z stassats: not the best idea 2017-02-04T17:14:16Z stassats: actually, i would be able to create dummy fdefns in the past 2017-02-04T17:14:31Z stassats: but now make-fdefn is #!+immobile-space .. something-something 2017-02-04T17:14:39Z stassats: obviously i don't want the dummy to be immobile 2017-02-04T17:18:29Z stassats: ok, i'll define make-dummy-fdefn and plug in the old x86-64 vop into it 2017-02-04T17:18:53Z stassats: (so ugly) 2017-02-04T17:19:14Z nyef: "Uses of multiple-use LVARs already end their blocks" -- HANDLE-NESTED-DYNAMIC-EXTENT-LVARs. Is this the bug 303 workaround in JOIN-SUCCESSOR-IF-POSSIBLE, or some other effect? 2017-02-04T17:19:16Z nyef whimpers. 2017-02-04T17:20:08Z scymtym quit (Ping timeout: 240 seconds) 2017-02-04T17:23:39Z dougk__ joined #sbcl 2017-02-04T17:23:48Z nyef: Is it actually the case that USEs of multiple-USE LVARs always end their blocks, or is it more usual-happenstance that is maintained by JOIN-SUCCESSOR-IF-POSSIBLE? 2017-02-04T17:32:27Z nyef: What the...? 2017-02-04T17:32:57Z nyef: (lambda (x y z a) (if x (multiple-value-prog1 (values (funcall y)) (funcall a)) (multiple-value-prog1 (values (funcall z)) (funcall a)))) introduces CLAMBDAs for the M-V-P1s?!? 2017-02-04T17:33:08Z dougk__ quit (Ping timeout: 240 seconds) 2017-02-04T17:34:36Z stassats: and not for VALUES? 2017-02-04T17:35:04Z nyef: Hrm. Okay, maybe it's for VALUES. 2017-02-04T17:35:10Z nyef: How irritating, though. 2017-02-04T17:35:18Z stassats: well, values is being transformed 2017-02-04T17:35:28Z nyef: Okay, probably for VALUES, then. 2017-02-04T17:35:37Z stassats: any transform is done via splicing in lambdas 2017-02-04T17:40:20Z stassats: (handler-bind ((undefined-function (lambda (c) (invoke-restart 'use-value 'list)))) #'abc) => #'list 2017-02-04T17:40:23Z stassats: that was easy 2017-02-04T17:40:39Z stassats: the generate code is unchanged 2017-02-04T17:40:54Z nyef: Congratulations. 2017-02-04T17:41:01Z stassats: the debug code uses one more simple-vector element 2017-02-04T17:41:35Z nyef: Okay, so a type declaration managed to sort out the first part. 2017-02-04T17:42:04Z stassats: it was easy because i put the context thing in place, otherwise i would've probably just dropped that feature 2017-02-04T17:42:31Z nyef: But now I'm left with a question: Are all blocks created this way and then coalesced, or is there still something special going on? 2017-02-04T17:45:45Z stassats: on the other hand, if i modify the register with the fdefn, and it's the argument register 2017-02-04T17:46:08Z stassats: it's not a great idea modifying argument registers 2017-02-04T17:47:11Z stassats: on the third hand, SAFE-FDEFN-FUN usually loads a constant anyway 2017-02-04T17:47:20Z stassats: and this is debugging code, so no harm 2017-02-04T17:47:47Z stassats: why isn't safe-fdefn-fun loading the fdefn into the result tn, anyhow 2017-02-04T17:48:22Z stassats: for the error 2017-02-04T17:49:08Z nyef: That's always the question, isn't it? "Why *this*? Is there a good reason not to? Was there a good reason not to that no longer applies? Or was it straight-up ignorance?" 2017-02-04T17:49:37Z stassats: i think i know all the reasons why now 2017-02-04T17:49:42Z stassats: and it's the right thing 2017-02-04T17:50:00Z stassats: except that what i'm doing isn't 100% the right thing, but i'm willing to let it slide 2017-02-04T17:50:05Z nyef: Heh. 2017-02-04T17:51:24Z nyef: I'm digging into a case that probably was the right thing at the time, or at least the least wrong thing without spending a couple of days or weeks figuring out what the right thing was, but may not be the right thing anymore, and would be a win to remove or handle differently. 2017-02-04T18:02:36Z stassats: ok, i can now apply the context thingy for symbol-value as well 2017-02-04T18:03:24Z nyef: Okay, looks like things are constructed that way. I'd need to do a bit more checking to see if it's always the case, but it currently looks deliberate. 2017-02-04T18:05:18Z stassats: i think i can easily enable this restart thingy all backend wide 2017-02-04T18:05:25Z stassats: the undefined tramp changes are minimal 2017-02-04T18:05:32Z nyef: ... and was in place from day one. 2017-02-04T18:06:58Z nyef: So, it's done deliberately by construction, and maintained. 2017-02-04T18:07:36Z stassats: actually, undefined-tramp can be left unchanged and PC can start pointing to the new function 2017-02-04T18:07:49Z nyef: And the question becomes, why is it maintained for multiple-use but not single-use? 2017-02-04T18:08:21Z stassats: but problems with interior pointers into functions 2017-02-04T18:08:23Z nyef: stassats: Mind reg_CODE when you do that. 2017-02-04T18:09:18Z stassats: though, PC is already treated as an interior pointer 2017-02-04T18:15:38Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-04T18:16:48Z stassats: return zero values on undefined should come in handy when i redefine something in the compiler and it's wrong 2017-02-04T18:16:55Z stassats: like that pesky /show0 2017-02-04T18:18:59Z nyef: Right, let's take out the bit that maintains the constraint and see what happens. 2017-02-04T18:19:48Z gingerale joined #sbcl 2017-02-04T18:21:56Z nyef: ... If you have multiple USEs, and they're in the same block, you get badness. 2017-02-04T18:22:13Z nyef: ... Iif it's an unknown-values LVAR. 2017-02-04T18:24:25Z nyef: There's something about not crossing the streams for single-use LVARs, I think, but... I'm not sure that it's possible within a linear stretch of code. 2017-02-04T18:28:19Z stassats: and type errors can be restarted in the same way too 2017-02-04T18:28:25Z stassats: with use-value 2017-02-04T18:29:34Z nyef: Sounds like you might have a mechanism there that we can abuse for other things. 2017-02-04T18:30:00Z nyef: Don't forget to recheck the type with the use-value restart. (-: 2017-02-04T18:30:29Z stassats: i think i'll leave this for the next release 2017-02-04T18:30:38Z stassats: so that people will have reasons to update 2017-02-04T18:31:10Z karswell` quit (Ping timeout: 240 seconds) 2017-02-04T18:31:52Z nyef: Even if I manage to get my current little mess sorted out in time, it's definitely waiting for the next release. It's tricky enough that I'd want as much testing time as possible before it goes out the door. 2017-02-04T18:32:01Z stassats: or rather, till i'm bored 2017-02-04T18:32:20Z stassats: and i wanted to look into failed AVER: (SB-INT:SINGLETON-P SB-C::SUCC) today 2017-02-04T18:32:42Z stassats: but got sidetracked somewhere by being annoyed at an undefined function error 2017-02-04T18:33:20Z nyef: Heh. That's next-ish on my list, too, except that I got thoroughly sucked into DX and stack analysis stuff. 2017-02-04T18:33:28Z eschatologist quit (Ping timeout: 240 seconds) 2017-02-04T18:34:01Z karswell` joined #sbcl 2017-02-04T18:37:05Z nyef: Hrm. Removing the workaround doesn't cause new test suite failures. 2017-02-04T18:38:27Z nyef: Oh! I misread the diff. It pre-dates the DX merge. More digging to do! 2017-02-04T18:40:05Z eschatologist joined #sbcl 2017-02-04T18:45:46Z scymtym joined #sbcl 2017-02-04T18:52:00Z nyef: Definitely still necessary. Damn. 2017-02-04T18:52:31Z nyef: So, commentary update is in order there, and a test case, but no further action. 2017-02-04T18:54:31Z cromachina_ joined #sbcl 2017-02-04T18:57:40Z cromachina quit (Ping timeout: 240 seconds) 2017-02-04T19:08:10Z eschatologist quit (Ping timeout: 255 seconds) 2017-02-04T19:10:08Z eschatologist joined #sbcl 2017-02-04T19:12:52Z sirkmatija joined #sbcl 2017-02-04T19:25:31Z Bike: am i right in thinking the reason that the compiler is "bad with setq" is that constraints are tied to basic blocks, and if the block has an assignment in it it invalidates block-wide constraints? 2017-02-04T19:32:59Z nyef: ... when do we know if an LVAR is singly or multiply valued? 2017-02-04T19:33:34Z stassats: nyef: SB-C::LVAR-SINGLE-VALUE-P? 2017-02-04T19:34:14Z nyef: Thank you. 2017-02-04T19:35:00Z nyef: Hrm. This plausibly isn't right, either. 2017-02-04T19:36:15Z nyef: Still, it's a conservative approximation, so the worst that it should do is prevent some optimizations. 2017-02-04T19:37:13Z stassats: it's more of single or unknown values 2017-02-04T19:43:26Z nyef: Well, what it's checking is if the DEST can do anything with multiple values. 2017-02-04T19:43:52Z nyef: But if none of the USEs can supply multiple values, then the nature of the DEST doesn't matter. 2017-02-04T19:44:16Z nyef: Except that, in some cases, additional USEs can be added afterwards, which is harder to check for. 2017-02-04T19:46:56Z stassats: reoptimize things? 2017-02-04T19:47:12Z stassats: i guess that's asking too much 2017-02-04T19:48:29Z nyef: My point is that if an additional USE is added, it could break things that have been done based on the original set of USEs. 2017-02-04T19:49:02Z stassats: is this the time for "rewrite the compiler" quip? 2017-02-04T19:49:06Z nyef: Being multiply-valued is the hard case, being singly-valued is the optimizable case. 2017-02-04T19:49:11Z nyef: Oh hell no. 2017-02-04T19:49:59Z nyef: We're finally, after more than fifteen years, getting close to having the major bugs worked out. d-: 2017-02-04T19:50:18Z stassats: bugs is one thing 2017-02-04T19:58:18Z nyef: Yes, porting to a new architecture is a pain. We know this, we've both done it. Yes, the type inference can be brainless at times. Yes, some aspects of VMR lead to non-optimal code. Yes, the loop logic is insane and broken. But! The core of the compiler is finally mostly-stable, and we have maintainer coverage to know how to keep it that way. 2017-02-04T19:58:36Z nyef: We're in a far, far better place than we'd be with a rewrite going on. 2017-02-04T19:59:09Z Bike: um, i wasn't criticizing or anything, i just want to know how it works. 2017-02-04T19:59:13Z stassats: well, the rewrite from scratch 2017-02-04T20:00:11Z nyef: Bike: Not your fault, we've been dealing with some deep magic crazyness recently. 2017-02-04T20:01:08Z prxq joined #sbcl 2017-02-04T20:01:18Z stassats: if by "recently" you mean the past couple of years 2017-02-04T20:05:51Z dougk__ joined #sbcl 2017-02-04T20:06:45Z nyef: Yes, the past couple of years. Three if you're counting the original nonlinear LVARs fix. 2017-02-04T20:07:01Z nyef: More if you include things like the ARM port, or the implicit closure value cells, or... 2017-02-04T20:08:28Z stassats: i still need to come up with a manageable way to copy IR for inlining 2017-02-04T20:08:28Z nyef: Hunh. I actually understood something in CONSTRAINT enough to patch it back in 2011. 2017-02-04T20:09:28Z stassats: i had to understand something in both constraint and copyprop 2017-02-04T20:09:45Z stassats: enough to allow normal code to get compiled 2017-02-04T20:10:07Z stassats: but i successfully forgot what i learned then 2017-02-04T20:10:22Z nyef: Mmm. I know how that goes. 2017-02-04T20:11:41Z stassats: but usually take the "if i don't understand this part, i'll just poke around and the solution will reveal itself" 2017-02-04T20:11:50Z stassats: sometimes after five years 2017-02-04T20:21:10Z dougk__ quit (Ping timeout: 240 seconds) 2017-02-04T20:21:44Z dougk__ joined #sbcl 2017-02-04T20:26:46Z leah2 quit (Ping timeout: 264 seconds) 2017-02-04T20:34:26Z nyef: Energy level assessment says: Attempting to resume direct work on lp#383079 is contraindicated at this time. 2017-02-04T20:34:43Z stassats: clhs 383079 2017-02-04T20:34:43Z specbot: Couldn't find anything for 383079. 2017-02-04T20:34:45Z stassats: lp 383079 2017-02-04T20:34:46Z specbot: https://bugs.launchpad.net/bugs/383079 2017-02-04T20:36:34Z nyef: stassats: Thanks to your proof-of-concept, and my subsequent thrashing about trying to get the system to build with some variant of it in place, I'm confident in being able to make it happen, but not today. 2017-02-04T20:36:36Z dougk___ joined #sbcl 2017-02-04T20:38:28Z dougk__ quit (Ping timeout: 260 seconds) 2017-02-04T20:41:06Z leah2 joined #sbcl 2017-02-04T20:49:57Z sirkmatija quit (Quit: sirkmatija) 2017-02-04T20:57:38Z nyef: ... Why is the compiler trying to LET-CONVERT a tail-local recursive call? 2017-02-04T20:58:06Z nyef: Err... trying to LET-CONVERT a tail-recursive local call? 2017-02-04T20:58:12Z nyef: Recursive local tail-call? 2017-02-04T20:58:16Z nyef: Something like that. 2017-02-04T20:58:28Z eschatologist quit (Ping timeout: 240 seconds) 2017-02-04T21:01:32Z eschatologist joined #sbcl 2017-02-04T21:02:20Z nyef: stassats: If you're looking at Eric's failed AVAR: (SB-INT:SINGLETON-P SB-C::SUCC) thing, try putting (when (eq fun (node-home-lambda call)) (break)) just before the NODE-ENDS-BLOCK in MAYBE-CONVERT-TAIL-LOCAL-CALL. 2017-02-04T21:02:20Z nyef: 2017-02-04T21:03:57Z nyef: s/AVAR/AVER/. 2017-02-04T21:04:20Z nyef: Doing a full build, and hopefully test, with it as an AVER, to see if we're doing anything immediately-obviously-clever that might work anyway under those circumstances. 2017-02-04T21:05:07Z mateuszb_ is now known as mateuszb 2017-02-04T21:06:12Z nyef: Damn. It seems that it *is* a legitimate circumstance. 2017-02-04T21:15:44Z Shinmera quit (Ping timeout: 248 seconds) 2017-02-04T21:21:31Z nyef: ... Okay, what if it's more a matter of "yes, we're deleting the block for the return, but it still has more than one successor that may-or-may-not have been deleted"? 2017-02-04T21:37:24Z Shinmera joined #sbcl 2017-02-04T21:39:38Z stassats: more than one? 2017-02-04T21:39:52Z stassats: the aver fails because there's zero successors 2017-02-04T21:42:14Z nyef: Okay, or that. Clearly, I hadn't gotten that far. /-: 2017-02-04T21:42:34Z stassats: well, it's the first thing i checked 2017-02-04T21:44:40Z nyef: Hrm. 2017-02-04T21:50:02Z jamtho joined #sbcl 2017-02-04T21:53:59Z dougk___ quit (Ping timeout: 252 seconds) 2017-02-04T21:54:49Z dougk__ joined #sbcl 2017-02-04T22:07:27Z nyef: I'm blanking out here. 2017-02-04T22:19:36Z sirkmatija joined #sbcl 2017-02-04T22:36:46Z nyef: Oh, it's already a degenerate exit, isn't it? 2017-02-04T22:43:28Z stassats: i always love ";; some info used by the back end" 2017-02-04T22:45:59Z stassats: and in the vop.lisp file there's ";;;; IR1 annotations used for IR2 conversion" 2017-02-04T22:46:11Z stassats: where it actually says ;;; TAIL-SET-INFO ;;; Holds the RETURN-INFO structure. 2017-02-04T22:46:21Z stassats: why didn't it say that where tail-set-info is defined? 2017-02-04T23:02:06Z nyef: Several generations of maintainers, with different attitudes towards commentary. 2017-02-04T23:02:41Z stassats: it's not like the commentary is not there, it's just not in the right place 2017-02-04T23:03:35Z shka quit (Ping timeout: 240 seconds) 2017-02-04T23:05:37Z nyef: ... The more that I think about it, the more I'm convinced that UNWIND-PROTECT is the wrong thing to use for PROGV. 2017-02-04T23:17:25Z prxq quit (Remote host closed the connection) 2017-02-04T23:33:19Z stassats: why does move-return-stuff need to delete the cal-fun return in an already deleted block? 2017-02-04T23:36:22Z dougk__ quit (Ping timeout: 264 seconds) 2017-02-04T23:37:09Z stassats: well, it does have to do that 2017-02-04T23:37:13Z stassats: no "why" though 2017-02-04T23:38:04Z stassats: ok, why unlinking in a dead block then 2017-02-04T23:47:36Z nyef` joined #sbcl 2017-02-04T23:48:12Z nyef quit (Remote host closed the connection) 2017-02-04T23:52:02Z dougk__ joined #sbcl 2017-02-04T23:55:46Z Intensity quit (Changing host) 2017-02-04T23:55:46Z Intensity joined #sbcl 2017-02-05T00:03:21Z gingerale quit (Remote host closed the connection) 2017-02-05T00:24:37Z stassats: ok, i kinda see why all these deletions are necessary 2017-02-05T00:25:04Z stassats: but it smells like a hack 2017-02-05T00:26:47Z nyef`: Some parts of the system really feel like there was a simple idea originally, and then successive maintainers elaborated by adding another layer and more bookkeeping. 2017-02-05T00:27:37Z stassats: so RETURN has RETURN-LAMBDA in it 2017-02-05T00:28:01Z stassats: move-return-stuff replace the return of a lambda with a different return, but the old return still points to the lambda 2017-02-05T00:28:40Z stassats: so you have two returns pointing to the same lambda, now when both of them are deleted they trip an aver that asserts that the lambda still has a return 2017-02-05T00:28:42Z nyef`: ... but the lambda is typically being converted so that it's never explicitly called at this point, isn't it? 2017-02-05T00:28:44Z stassats: before clearing it 2017-02-05T00:29:55Z stassats: that's why it deletes the return, to avoid clearing lambda-return 2017-02-05T00:30:23Z stassats: but unlink-node fails because the return is the last block, but that block has no successors 2017-02-05T00:30:32Z stassats: not only the last, the only block 2017-02-05T00:31:39Z stassats: and it unlinks the return, not just delete-return, because otherwise it'll be deleted for the second time by DELETE-BLOCK 2017-02-05T00:31:45Z stassats: and you can't delete a return twice 2017-02-05T00:32:03Z stassats: now, are all these avers just silly or are they neccessary 2017-02-05T00:33:31Z stassats: the return is in a dead block because the last reference to &optional-processor lambda was deleted 2017-02-05T00:34:03Z nyef`: Sounds like what we really need is to work out what the actually-depended-on model is, and what bits are optional. /-: 2017-02-05T00:34:16Z stassats: i feel that unlink-node should never be called on nodes in dead blocks 2017-02-05T00:34:36Z stassats: because that's really silly 2017-02-05T00:34:55Z stassats: so, that leaves the double reference to the lambda 2017-02-05T00:38:18Z stassats: but if the call-return block is deleted, is any of the _move_ parts of move-return-stuff needed? 2017-02-05T00:40:14Z stassats: yeah, why is it doing thing for a call-fun that's deleted? 2017-02-05T00:40:21Z stassats: things 2017-02-05T00:42:11Z stassats: so, i did some experimental builds, and a test failed, but the test failed because it now says that an unused variable is unused 2017-02-05T00:42:14Z stassats: which is correct 2017-02-05T00:42:24Z stassats: so, this "hack" is also hiding unused variables 2017-02-05T00:43:22Z stassats: well, i guess because the whole thing is being deleted, but still 2017-02-05T00:50:44Z dougk__ quit (Ping timeout: 276 seconds) 2017-02-05T01:05:08Z jamtho quit (Ping timeout: 240 seconds) 2017-02-05T01:08:37Z nyef`: That might be half the point, at least if the function itself going away gets reported. 2017-02-05T01:09:51Z dougk__ joined #sbcl 2017-02-05T01:21:14Z stassats: haven't figured out all that deletion 2017-02-05T01:23:11Z nyef`: I'm giving some thought to the idea of writing down what I know about the STACK phase and exit deletion. 2017-02-05T01:27:18Z stassats: so, (l) actually reaches the return of the &optional-processor because (%optinal-processer (%f (l))) was let converted and the return from %F got into %optinal-processer 2017-02-05T01:28:16Z stassats: then %optinal-processer is deleted, and (l) is about to be let converted into %optinal-processer 2017-02-05T01:28:50Z stassats: if %optinal-processer is deleted, why isn't %f deleted 2017-02-05T01:32:59Z sirkmatija quit (Quit: sirkmatija) 2017-02-05T01:33:37Z hydan joined #sbcl 2017-02-05T01:55:39Z dougk__ quit (Read error: Connection reset by peer) 2017-02-05T01:55:56Z dougk__ joined #sbcl 2017-02-05T02:04:58Z Xach quit (Ping timeout: 258 seconds) 2017-02-05T02:05:04Z Xach joined #sbcl 2017-02-05T02:20:56Z stassats: i don't like how deletion is handle overall 2017-02-05T02:21:12Z stassats: the compiler can be busy optimizing stuff in already deleted blocks 2017-02-05T02:21:27Z nyef`: Feel free to come up with a better mechanism, then. d-: 2017-02-05T02:24:51Z nyef`: So, here's something that's bugging me about AVER: The error message (and, for that matter, the call site) tell you what the test is that failed, but not what it *means*. 2017-02-05T02:25:20Z stassats: well, the comments are supposed to achieve that 2017-02-05T02:25:30Z stassats: except that there are never any 2017-02-05T02:25:34Z nyef`: Exactly. 2017-02-05T02:25:43Z nyef`: Or they're nowhere near the AVER. 2017-02-05T02:25:57Z nyef`: STACK / FIND-PUSHED-LVARS is one of the better examples. 2017-02-05T02:31:42Z stassats: i still can't come up with a non hacky solution 2017-02-05T02:32:10Z stassats: i know that the work it performs will be discarded, by i can't prove it 2017-02-05T02:32:30Z nyef`: Well, either we'll figure it out, or we won't. 2017-02-05T02:32:47Z dougk__ quit (Ping timeout: 276 seconds) 2017-02-05T02:33:05Z stassats: i have only one solution, in handle the no successors case in unlink-node 2017-02-05T02:33:37Z stassats: but that means it'll never be improved 2017-02-05T02:34:01Z nyef`: We had someone at one point who was trying to write what amounted to a book on how the compiler worked, but gave up after a bit, didn't we? 2017-02-05T02:34:13Z stassats: yeah 2017-02-05T02:34:48Z nyef`: I'm wondering if he was taking the wrong approach. 2017-02-05T02:35:15Z nyef`: It was sortof presented as a "here's how it all works" from front to back. 2017-02-05T02:35:38Z stassats: well, the source code is "here's how it works" 2017-02-05T02:35:44Z nyef`: Right, right. 2017-02-05T02:35:45Z stassats: and it looked just like a retelling 2017-02-05T02:35:52Z stassats: not "why it all works" 2017-02-05T02:36:36Z nyef`: Mmm. Not a "here's where this bit fits, what it does, why it's needed, and what its constraints are". 2017-02-05T02:37:42Z stassats: i'd love to have IR1 immediately reflect any changes to it 2017-02-05T02:37:59Z stassats: as in, a lambda is deleted, then all its block are deleted too 2017-02-05T02:38:09Z stassats: without any intervening code and efficiently 2017-02-05T02:38:27Z stassats: that way the code isn't pestered with block-to-be-deleted-p etc. 2017-02-05T02:38:29Z nyef`: Mmm. And that may not be possible, but if it isn't, I'd like to know *why* it's impossible. 2017-02-05T02:38:59Z stassats: and that's the cause of the succ aver 2017-02-05T02:40:45Z nyef`: Lovely. 2017-02-05T02:42:07Z nyef`: How about we open a high-priority or medium-priority bug on it, with your explanation for what's going on, tagged compiler, compiler-ir1, hard, and maybe some other things, and defer it for the time being? 2017-02-05T02:42:42Z stassats: ok 2017-02-05T02:43:47Z stassats: i like how there are two functions, move-return-stuff and move-return-uses 2017-02-05T02:43:56Z stassats: just "stuff", ok, uses are not stuff, apparently 2017-02-05T02:50:36Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2017-02-05T02:51:01Z dougk__ joined #sbcl 2017-02-05T02:51:45Z attila_lendvai joined #sbcl 2017-02-05T02:51:45Z attila_lendvai quit (Changing host) 2017-02-05T02:51:45Z attila_lendvai joined #sbcl 2017-02-05T02:52:24Z nyef`: ... best AVER comment: stack.lisp, (aver (not (plusp todo))). Six lines of explanatory comment. 2017-02-05T02:52:39Z nyef`: Immediately before the AVER. 2017-02-05T02:54:15Z stassats: manged https://bugs.launchpad.net/sbcl/+bug/1661911 2017-02-05T02:56:16Z nyef`: Looks good. 2017-02-05T02:56:22Z stassats: so, it's simple to describe, but no idea how to fix 2017-02-05T02:56:44Z nyef`: ... other than to start putting checks for deleted blocks everywhere? /-: 2017-02-05T02:56:59Z stassats: right 2017-02-05T02:57:41Z stassats: ir1-optimize is supposed to handle deletion, but it's too late 2017-02-05T02:57:53Z stassats: so it doesn't pick up anything before crashing 2017-02-05T02:57:57Z nyef`: I don't know if/when I'll take another crack at it, but it sounds like the opening for a substantial refactoring of all the IR1 phases. 2017-02-05T02:58:02Z stassats: should delete-lambda do more? 2017-02-05T02:58:19Z stassats: it says "We set FUNCTIONAL-KIND to :DELETED and rely on IR1-OPTIMIZE to delete its blocks." 2017-02-05T02:59:08Z stassats: it deletes the blocks alright, but not before they cause trouble 2017-02-05T02:59:43Z nyef`: Such a familiar refrain. Dead code causing trouble. 2017-02-05T03:00:38Z karswell` quit (Remote host closed the connection) 2017-02-05T03:01:02Z karswell` joined #sbcl 2017-02-05T03:01:03Z dougk__ quit (Read error: Connection reset by peer) 2017-02-05T03:01:20Z dougk__ joined #sbcl 2017-02-05T03:02:23Z stassats: and the situation is, there's both not enough BLOCK-DELETE-P and too much of it 2017-02-05T03:03:47Z stassats: i guess it's an optimization, to avoid costly deletion 2017-02-05T03:04:16Z stassats: a) is it really costly? b) can it be more efficient c) it's 2017, is it still costly? 2017-02-05T03:05:16Z nyef`: d) do we *care* if it's still costly, if it means that the overall code is simpler and more easily reasoned about? 2017-02-05T03:05:55Z stassats: c) what other compilers are doing? 2017-02-05T03:06:46Z nyef`: f) will/could the simplification enable us to write more/better optimizations? 2017-02-05T03:07:08Z nyef`: After all, the point of Python was that it might be slow as heck, but it would be very, very good at optimization. 2017-02-05T03:08:05Z stassats: well, i can actually experiment 2017-02-05T03:08:25Z stassats: make block deletion more immediate, and convert all deleted checks into assertions 2017-02-05T03:09:21Z stassats: but it looks like only lambda can cause decimation 2017-02-05T03:10:57Z stassats: the first question, how do i get all the blocks of a lambda, reverse of block-home-lambda 2017-02-05T03:12:01Z nyef`: The naive solution is do-all-blocks and check with block-home-lambda. 2017-02-05T03:12:41Z stassats: block-home-lambda is kinda expensive 2017-02-05T03:13:05Z nyef`: And, as this is a test to see if it works, naive solutions can be used even if they are unsuitable for production. 2017-02-05T03:24:25Z stassats: (do-blocks (block (node-component bind)) (when (eq (block-home-lambda block) clambda) (mark-for-deletion block))) does fix the aver 2017-02-05T03:25:21Z nyef`: ... but probably still requires that DFO-AS-NEEDED be called before LOCALL gets triggered again, which makes it a bit weak. 2017-02-05T03:27:42Z stassats: failed AVER: (NOT (AND (NULL #) (NOT #) (NOT #))) 2017-02-05T03:27:47Z stassats: hello 2017-02-05T03:28:04Z nyef`: Heh. Print-depth for the win! (-: 2017-02-05T03:28:14Z stassats: (BUG "~@" (NOT (AND (NULL (SB!C::BLOCK-SUCC SB!C::B)) (NOT (SB!C::BLOCK-DELETE-P SB!C::B)) (NOT (EQ SB!C::B (SB!C::COMPONENT-HEAD #))) 2017-02-05T03:32:21Z nyef`: Hunh. We don't need to recompute the dominators if we don't have DX variables. 2017-02-05T03:32:29Z gko quit (Ping timeout: 240 seconds) 2017-02-05T03:37:34Z sjl quit (Ping timeout: 264 seconds) 2017-02-05T03:39:04Z gko joined #sbcl 2017-02-05T03:47:48Z dougk__ quit (Ping timeout: 256 seconds) 2017-02-05T03:48:31Z nyef`: ... and there may still be a way to break STACK analysis with sufficiently twisty user code. 2017-02-05T03:50:12Z nyef`: I'll have to think more deeply about it at some point. 2017-02-05T03:50:27Z stassats: what about testing it on hand crafted IR? 2017-02-05T03:52:49Z nyef`: Doesn't say much if it's hand crafted IR that doesn't correspond to anything that can be created by normal input. 2017-02-05T03:53:02Z nyef`: Or by optimizing normal input. 2017-02-05T03:54:10Z stassats: if you can handle all IR permutations, then any user input should succeed 2017-02-05T03:55:04Z nyef`: Yes, but if we can't handle all IR permutations, but we can handle all permutations that correspond to legitimate input, we're fine. 2017-02-05T03:55:30Z stassats: until Eric finds new legitimate ways to screw the compiler 2017-02-05T03:55:49Z nyef`: Again, legitimate input, even if the input is erroneous in terms of language semantics. 2017-02-05T04:25:04Z stassats quit (Ping timeout: 248 seconds) 2017-02-05T04:38:23Z fiddlerwoaroof joined #sbcl 2017-02-05T05:41:05Z eschatologist quit (Ping timeout: 240 seconds) 2017-02-05T05:42:42Z eschatologist joined #sbcl 2017-02-05T06:06:14Z nyef`: Wow. I found a way to screw up DX allocation so hard that it can break a GC invariant! (-: 2017-02-05T06:35:53Z sirkmatija joined #sbcl 2017-02-05T06:50:23Z hydan quit (Ping timeout: 260 seconds) 2017-02-05T06:51:25Z nzambe quit (Remote host closed the connection) 2017-02-05T06:52:26Z Fzh joined #sbcl 2017-02-05T07:17:40Z igajsin joined #sbcl 2017-02-05T07:35:45Z Quadrescence: nyef`, will you be on tomorrow? 2017-02-05T07:46:50Z Fzh left #sbcl 2017-02-05T07:57:39Z sirkmatija quit (Quit: sirkmatija) 2017-02-05T08:26:33Z scymtym quit (Remote host closed the connection) 2017-02-05T08:59:53Z macdavid313 joined #sbcl 2017-02-05T09:01:20Z macdavid313 quit (Client Quit) 2017-02-05T09:15:01Z shka joined #sbcl 2017-02-05T09:15:54Z Bike quit (Quit: sheep will sleep) 2017-02-05T09:27:12Z gingerale joined #sbcl 2017-02-05T10:01:58Z sirkmatija joined #sbcl 2017-02-05T11:00:45Z sirkmatija quit (Quit: sirkmatija) 2017-02-05T11:22:44Z jamtho joined #sbcl 2017-02-05T11:27:10Z jamtho quit (Ping timeout: 240 seconds) 2017-02-05T11:37:59Z leo_song quit (Quit: ZNC - http://znc.in) 2017-02-05T11:39:15Z whiteline quit (Remote host closed the connection) 2017-02-05T11:40:47Z leo_song joined #sbcl 2017-02-05T11:46:13Z sjl joined #sbcl 2017-02-05T12:04:46Z mateuszb_ joined #sbcl 2017-02-05T12:06:02Z mateuszb quit (Ping timeout: 258 seconds) 2017-02-05T12:29:05Z christoph_debian: . o O ( anyone working on sbcl/risc-v ? ) 2017-02-05T13:12:17Z MetaHertz joined #sbcl 2017-02-05T13:19:05Z nyef`: Quadrescence: I'm on today (Sunday). Monday is a bit up-in-the-air at the moment. 2017-02-05T13:22:29Z nyef`: christoph_debian: I doubt that anyone is working on a risc-v backend at the moment, but feel free to try doing the port yourself. d-: 2017-02-05T13:41:19Z whiteline joined #sbcl 2017-02-05T13:45:04Z whiteline quit (Remote host closed the connection) 2017-02-05T13:50:29Z whiteline joined #sbcl 2017-02-05T13:54:53Z whiteline quit (Remote host closed the connection) 2017-02-05T13:55:28Z whiteline joined #sbcl 2017-02-05T13:59:54Z stassats joined #sbcl 2017-02-05T14:00:40Z hydan joined #sbcl 2017-02-05T14:02:56Z stassats: i'd consider doing riscv only if i had fast and local hardware 2017-02-05T14:03:13Z nyef`: Ditto 2017-02-05T14:04:14Z nyef`: On the other hand, if someone else wants to work on risc-v, I'm quite happy to offer advice. 2017-02-05T14:05:08Z nyef`: stassats: I'm fairly sure that conditional DX is broken, btw. 2017-02-05T14:05:39Z stassats: conditional as in on IFs? 2017-02-05T14:05:44Z nyef`: Yeah. 2017-02-05T14:06:17Z stassats: broken or just not dxing? 2017-02-05T14:06:35Z nyef`: The DX decision for a given combination is supposed to be made by an optimizer, and the optimizer can decline for whatever reason it likes. But the information is carried on the LVAR. 2017-02-05T14:06:48Z nyef`: Conditional DX winds up with a shared LVAR. 2017-02-05T14:07:43Z nyef`: So, one branch is fine with DX, and the other says "no, that would break a GC invariant". And the DX gets called-for anyway, because one side is fine. 2017-02-05T14:08:02Z nyef`: And the other side *also* does the DX, even if it shouldn't. 2017-02-05T14:08:52Z nyef` sighs. 2017-02-05T14:09:03Z nyef`: And... there may be other damage. 2017-02-05T14:09:58Z stassats: the make-restart issue was causing all sorts of problems, including gc invariant 2017-02-05T14:10:16Z stassats: it inserted pop-values even though the result wasn't dxed 2017-02-05T14:10:55Z nyef`: Oh boy. 2017-02-05T14:11:14Z nyef`: There's some sort of restart structure involved, isn't there? 2017-02-05T14:11:33Z stassats: it turned to be having nothing to do with restarts or structures 2017-02-05T14:11:42Z nyef`: Oh? 2017-02-05T14:11:50Z stassats: but with non let converted combinations 2017-02-05T14:12:02Z stassats: it marked them as ok for dx, but they ended up not being let convered 2017-02-05T14:12:54Z nyef`: From what I see, local calls may DX, and the DX environment is inserted at the call site. 2017-02-05T14:13:24Z stassats: after countless attempts to determine whether something will be in fact inlined i came up to the right solution, being more conservative during RECHECK-DYNAMIC-EXTENT-LVARS 2017-02-05T14:13:49Z nyef`: Ah! Is that the cross-component thing, or the "deep results" thing? 2017-02-05T14:13:50Z stassats: so if it the original lvar is in a non inlined local call its dynamic-extent gets cleared 2017-02-05T14:15:44Z stassats: which was caused by dxing nested structures allocators (list (make-struct (list (make-struct))) 2017-02-05T14:15:51Z nyef`: ... or a combination of both? 2017-02-05T14:16:10Z stassats: from e3113504fca73ebd1b992930315386d9d3ae5d18 2017-02-05T14:16:36Z stassats: and my fix in 295da4f7bd1698ac847a6196c24d51523e1e659b 2017-02-05T14:17:26Z stassats: and found a typo in my comment 2017-02-05T14:18:50Z nyef`: Oh, something else entirely. Lovely. 2017-02-05T14:20:17Z stassats: do you have a test case for the CIF dx problem? 2017-02-05T14:20:43Z nyef`: Not at this point. 2017-02-05T14:22:00Z stassats: what handles IFs anyway? 2017-02-05T14:22:11Z nyef`: In what sense? 2017-02-05T14:22:30Z stassats: from handle-nested-dynamic-extent-lvars 2017-02-05T14:22:44Z nyef`: They appear as multi-USE LVARs. 2017-02-05T14:23:01Z stassats: ok 2017-02-05T14:26:09Z nyef`: I currently have a good picture for how LTN, STACK, IR2TRAN, and the backends handle DX, and how it ties into LOCALL and PHYSENVANAL, but USE-GOOD-FOR-DX-P and HANDLE-NESTED-DYNAMIC-EXTENT-LVARS is a confusing mess and producing what appear to be ludicrous results even for the most basic of scenarios. 2017-02-05T14:26:17Z stassats: but lvar-good-for-dx-p checks for (every (lambda (use) (use-good-for-dx-p use dx component)) uses) 2017-02-05T14:27:01Z nyef`: Hrm. And that would mean that we don't generate bogus code, but that we also don't stack allocate as much as we should. 2017-02-05T14:27:08Z stassats: which happens only during recheck-dynamic-extent-lvars 2017-02-05T14:27:20Z stassats: so, why is handle-nested-dynamic-extent-lvars collects the lvar in the first place? 2017-02-05T14:27:48Z nyef`: Consider the various SUBSTITUTE- paths. 2017-02-05T14:28:20Z stassats: well, if it weren't an IF it wouldn't mark anything 2017-02-05T14:29:12Z stassats: oh, ok, it doesn't care, it marks everything, its only purpose is to find sublvars 2017-02-05T14:31:55Z nyef`: So, my current large goal is to figure out what's actually going on with USE-GOOD and HANDLE-NESTED, what the semantics really need to be, and how to fix it. 2017-02-05T14:33:00Z stassats: what the hell is (if (zerop it) (car args) (nth it args)) ? 2017-02-05T14:34:08Z nyef`: Where? 2017-02-05T14:34:15Z stassats: known-dx-combination-p 2017-02-05T14:35:18Z nyef`: fun-info-result-arg returns the index of the argument that the function returns. 2017-02-05T14:35:39Z nyef`: I'm not quite sure what's the what with the IF there, though. 2017-02-05T14:36:04Z nyef`: clhs nth 2017-02-05T14:36:05Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_nth.htm 2017-02-05T14:36:26Z nyef`: Yeah, I got nothing. 2017-02-05T14:36:31Z stassats: i'll deobfuscate it 2017-02-05T14:36:47Z nyef`: Watch it be somehow necessary. d-: 2017-02-05T14:36:57Z stassats: there's no way 2017-02-05T14:37:25Z stassats: it can be faster, but that's not a good reason 2017-02-05T14:37:35Z stassats: especially there 2017-02-05T14:37:53Z dougk__ joined #sbcl 2017-02-05T14:40:28Z stassats: and i'm not a fan of awhen 2017-02-05T14:40:48Z nyef`: I'm not a huge fan, but it's occasionally useful. 2017-02-05T14:41:02Z stassats: i'd be ok with let-when 2017-02-05T14:41:13Z stassats: but "IT" is just not enough 2017-02-05T14:42:00Z nyef`: That's fair, I guess. 2017-02-05T14:43:40Z stassats: i also don't like all the terminology mix up 2017-02-05T14:43:55Z stassats: like call and combination 2017-02-05T14:45:13Z stassats: and functions being clambda, that's all over locall 2017-02-05T14:45:21Z stassats: e.g. (declare (type clambda fun) (type basic-combination call)) 2017-02-05T14:46:14Z nyef`: Mmm. And that's only true after a certain point. Until then, they can be optional-dispatch. 2017-02-05T14:46:25Z stassats: and all the node accessors not having C at the start 2017-02-05T14:46:29Z nyef`: Or whatever. There's a reason for the FUNCTIONAL struct. 2017-02-05T14:46:55Z stassats: (declare (type clambda fun)) .. (lambda-return fun) .. 2017-02-05T14:47:04Z stassats: now that's a good way to confuse newcomers 2017-02-05T14:47:22Z nyef`: There's a why of it, but yeah, it's weird. 2017-02-05T14:49:14Z nyef`: I currently suspect that LVAR-DYNAMIC-EXTENT conflates two concepts. One is "this is USEd by something which does a stack allocation", and the other is "this carries dynamic-extent semantics". 2017-02-05T14:49:36Z stassats: and the way C is prepende is inconsistent as well, CIF, CBLOCK, but REF 2017-02-05T14:49:47Z nyef`: One is a "this requires special handling, because it's for a DX-allocator", the other is "this is subject to certain invariant-maintenance rules". 2017-02-05T14:50:15Z nyef`: No, there's a consistent rule for prepending the C: If it would otherwise be a CL keyword. 2017-02-05T14:50:56Z stassats: that doesn't make it consistent 2017-02-05T14:51:07Z stassats: it's just the reason for the See 2017-02-05T14:51:29Z stassats: Cee, rather 2017-02-05T14:51:58Z dougk__ quit (Ping timeout: 264 seconds) 2017-02-05T15:02:09Z stassats: (the (cons (eql 1)) (cons 1 2)) can't be dxed 2017-02-05T15:02:13Z stassats: because of the cast 2017-02-05T15:02:37Z stassats: not of great importance 2017-02-05T15:03:17Z nyef`: Wait, what? Why can't that DX? 2017-02-05T15:03:38Z stassats: (and (cast-p use) (not (cast-type-check use)) (lvar-good-for-dx-p (cast-value use) dx component)) 2017-02-05T15:04:19Z nyef`: ... Of all the... Why does the type-check matter? 2017-02-05T15:05:12Z nyef`: And even if it DOES matter, why does it matter prior to PHYSENVANAL? 2017-02-05T15:05:13Z stassats: removing that condition, it gets dxed, but still produces a note 2017-02-05T15:05:39Z stassats: ; note: could not stack allocate #:G2 in: (THE (CONS (EQL 1)) (CONS 1 2)) 2017-02-05T15:05:45Z stassats: what's #:G2, though 2017-02-05T15:06:12Z stassats: probably because THE can be transformed into arbitrary code? 2017-02-05T15:06:16Z nyef`: Something to do with the way that a type-check is transformed. 2017-02-05T15:06:44Z stassats: but it's about the value, if you say it's dx, it's your job to make sure of that 2017-02-05T15:07:00Z stassats: only SATISFIES can mess things up, but that's on the user 2017-02-05T15:07:30Z nyef`: clhs satisfies 2017-02-05T15:07:31Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/t_satisf.htm 2017-02-05T15:07:59Z stassats: #:G2 is from the type check 2017-02-05T15:08:03Z stassats: (MULTIPLE-VALUE-BIND (#:G2) 'SB-C::DUMMY (UNLESS (TYPEP #:G2 '(CONS (INTEGER 1 1) T)) (SB-C::%TYPE-CHECK-ERROR #:G2 '(CONS (INTEGER 1 1) T) 'NIL)) (VALUES #:G2)) 2017-02-05T15:08:14Z nyef`: Sounds about right. 2017-02-05T15:08:26Z stassats: but it still gets dxed 2017-02-05T15:09:00Z stassats: after removing (not (cast-type-check use)) 2017-02-05T15:09:47Z stassats: that brings us, (multiple-value-bind (x) (cons 1 2) x) can't be dxed 2017-02-05T15:10:10Z stassats: or (let ((x (cons 1 2))) x) ; what? 2017-02-05T15:10:27Z stassats: i thought it handled that 2017-02-05T15:54:18Z sirkmatija joined #sbcl 2017-02-05T16:11:10Z jibanes quit (Ping timeout: 240 seconds) 2017-02-05T16:13:07Z jibanes joined #sbcl 2017-02-05T16:30:12Z hydan quit (Ping timeout: 260 seconds) 2017-02-05T16:55:14Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-05T17:03:19Z karswell` quit (Remote host closed the connection) 2017-02-05T17:04:05Z karswell` joined #sbcl 2017-02-05T17:11:53Z MetaHertz quit (Remote host closed the connection) 2017-02-05T17:12:23Z MetaHertz joined #sbcl 2017-02-05T17:20:22Z hydan joined #sbcl 2017-02-05T17:25:53Z rumbler31 joined #sbcl 2017-02-05T17:28:54Z leah2 quit (Ping timeout: 256 seconds) 2017-02-05T17:41:15Z oleo quit (Quit: Leaving) 2017-02-05T17:43:16Z Bike joined #sbcl 2017-02-05T17:44:00Z leah2 joined #sbcl 2017-02-05T17:46:56Z hydan quit (Ping timeout: 252 seconds) 2017-02-05T18:11:25Z dougk__ joined #sbcl 2017-02-05T18:15:46Z hydan joined #sbcl 2017-02-05T18:20:42Z oleo joined #sbcl 2017-02-05T18:24:08Z MetaHertz quit (Remote host closed the connection) 2017-02-05T18:31:49Z oleo quit (Quit: Leaving) 2017-02-05T18:32:47Z oleo joined #sbcl 2017-02-05T18:33:10Z dougk__ quit (Read error: Connection reset by peer) 2017-02-05T18:33:25Z dougk__ joined #sbcl 2017-02-05T18:43:40Z oleo quit (Quit: Leaving) 2017-02-05T18:44:27Z oleo joined #sbcl 2017-02-05T18:47:10Z sirkmatija quit (Quit: sirkmatija) 2017-02-05T18:54:58Z oleo quit (Quit: Leaving) 2017-02-05T18:57:43Z oleo joined #sbcl 2017-02-05T19:10:58Z sirkmatija joined #sbcl 2017-02-05T19:30:20Z karswell` quit (Ping timeout: 252 seconds) 2017-02-05T19:54:40Z shka quit (Ping timeout: 248 seconds) 2017-02-05T19:54:44Z dougk__ quit (Ping timeout: 276 seconds) 2017-02-05T20:05:18Z angavrilov quit (Remote host closed the connection) 2017-02-05T20:28:08Z dougk__ joined #sbcl 2017-02-05T20:57:39Z sirkmatija quit (Quit: sirkmatija) 2017-02-05T20:57:47Z dougk__ quit (Ping timeout: 276 seconds) 2017-02-05T21:42:28Z jamtho joined #sbcl 2017-02-05T21:44:35Z igajsin quit (Ping timeout: 240 seconds) 2017-02-05T22:22:25Z dougk__ joined #sbcl 2017-02-05T22:27:35Z dougk__ quit (Ping timeout: 240 seconds) 2017-02-05T22:27:44Z jamtho quit (Ping timeout: 248 seconds) 2017-02-05T22:37:00Z prxq joined #sbcl 2017-02-05T22:37:04Z jamtho joined #sbcl 2017-02-05T22:41:27Z dougk__ joined #sbcl 2017-02-05T22:43:24Z gingerale quit (Remote host closed the connection) 2017-02-05T22:47:38Z dougk__ quit (Ping timeout: 276 seconds) 2017-02-05T22:49:40Z dougk__ joined #sbcl 2017-02-05T22:58:07Z dougk__ quit (Ping timeout: 260 seconds) 2017-02-05T23:17:14Z hydan quit (Remote host closed the connection) 2017-02-05T23:27:15Z dougk__ joined #sbcl 2017-02-05T23:27:39Z rumbler31 quit (Remote host closed the connection) 2017-02-05T23:48:51Z rumbler31 joined #sbcl 2017-02-05T23:50:09Z prxq quit (Remote host closed the connection) 2017-02-05T23:57:49Z jamtho quit (Ping timeout: 240 seconds) 2017-02-06T00:23:23Z dougk__ quit (Read error: Connection reset by peer) 2017-02-06T00:23:41Z dougk__ joined #sbcl 2017-02-06T00:31:40Z rumbler31 quit (Remote host closed the connection) 2017-02-06T00:34:12Z rumbler31 joined #sbcl 2017-02-06T00:42:14Z nyef`: Hunh. DX allocation in SBCL has *always* been a hack. 2017-02-06T00:42:47Z stassats: up next: allocating into registers 2017-02-06T00:44:31Z nyef`: ... twelve and a half years, and nobody has managed to figure it out enough to make it not a hack. 2017-02-06T00:45:04Z stassats: i guess you gotta just start with it in mind 2017-02-06T00:45:43Z rumbler31 quit (Remote host closed the connection) 2017-02-06T00:57:23Z rumbler31 joined #sbcl 2017-02-06T01:06:11Z rumbler31 quit (Remote host closed the connection) 2017-02-06T01:21:39Z rumbler31 joined #sbcl 2017-02-06T02:18:34Z stassats quit (Ping timeout: 258 seconds) 2017-02-06T02:49:37Z rumbler31 quit (Remote host closed the connection) 2017-02-06T02:50:29Z shaftoe joined #sbcl 2017-02-06T03:33:03Z dougk__ quit (Read error: Connection reset by peer) 2017-02-06T03:33:23Z dougk__ joined #sbcl 2017-02-06T03:43:22Z sjl quit (Ping timeout: 260 seconds) 2017-02-06T04:35:12Z karswell` joined #sbcl 2017-02-06T05:21:55Z igajsin joined #sbcl 2017-02-06T05:46:09Z attila_lendvai joined #sbcl 2017-02-06T05:46:09Z attila_lendvai quit (Changing host) 2017-02-06T05:46:09Z attila_lendvai joined #sbcl 2017-02-06T05:53:29Z dougk__ quit (Ping timeout: 240 seconds) 2017-02-06T05:54:50Z dougk__ joined #sbcl 2017-02-06T06:13:59Z shka joined #sbcl 2017-02-06T06:31:28Z dougk__ quit (Ping timeout: 240 seconds) 2017-02-06T06:39:32Z oleo quit (Read error: Connection reset by peer) 2017-02-06T06:40:36Z angavrilov joined #sbcl 2017-02-06T06:47:15Z sirkmatija joined #sbcl 2017-02-06T06:47:16Z dougk__ joined #sbcl 2017-02-06T06:56:30Z sirkmatija quit (Quit: sirkmatija) 2017-02-06T06:58:10Z sirkmatija joined #sbcl 2017-02-06T06:58:14Z sirkmatija quit (Remote host closed the connection) 2017-02-06T06:58:26Z sirkmatija joined #sbcl 2017-02-06T07:04:45Z scymtym joined #sbcl 2017-02-06T07:09:29Z scymtym quit (Ping timeout: 240 seconds) 2017-02-06T07:26:08Z sirkmatija quit (Quit: sirkmatija) 2017-02-06T08:23:05Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-06T08:24:39Z dougk__ quit (Ping timeout: 258 seconds) 2017-02-06T08:42:39Z hydan joined #sbcl 2017-02-06T08:44:57Z scymtym joined #sbcl 2017-02-06T09:21:00Z dougk__ joined #sbcl 2017-02-06T09:25:18Z dougk__ quit (Ping timeout: 245 seconds) 2017-02-06T09:26:25Z gingerale joined #sbcl 2017-02-06T09:44:23Z Bike quit (Quit: leaving) 2017-02-06T10:17:00Z jamtho joined #sbcl 2017-02-06T10:31:10Z jamtho quit (Ping timeout: 240 seconds) 2017-02-06T11:12:02Z dougk__ joined #sbcl 2017-02-06T11:13:45Z m00natic joined #sbcl 2017-02-06T11:17:23Z dougk__ quit (Ping timeout: 245 seconds) 2017-02-06T12:04:02Z sjl joined #sbcl 2017-02-06T12:04:30Z mateuszb_ quit (Ping timeout: 240 seconds) 2017-02-06T12:04:57Z mateuszb joined #sbcl 2017-02-06T12:10:30Z myrkraverk quit (Ping timeout: 240 seconds) 2017-02-06T12:12:50Z dustinm` quit (Quit: Leaving) 2017-02-06T12:17:23Z dougk__ joined #sbcl 2017-02-06T12:21:33Z dougk__ quit (Ping timeout: 245 seconds) 2017-02-06T12:26:46Z leah2 quit (Ping timeout: 255 seconds) 2017-02-06T12:30:05Z myrkraverk joined #sbcl 2017-02-06T12:30:16Z dustinm` joined #sbcl 2017-02-06T12:32:01Z leah2 joined #sbcl 2017-02-06T13:36:54Z sirkmatija joined #sbcl 2017-02-06T13:37:19Z nzambe joined #sbcl 2017-02-06T14:05:45Z stassats joined #sbcl 2017-02-06T14:11:30Z karswell` quit (Read error: Connection reset by peer) 2017-02-06T14:12:15Z karswell` joined #sbcl 2017-02-06T14:18:16Z cromachina_ quit (Read error: Connection reset by peer) 2017-02-06T14:18:26Z rumbler31 joined #sbcl 2017-02-06T14:25:33Z sirkmatija quit (Quit: sirkmatija) 2017-02-06T14:30:36Z rumbler31 quit (Remote host closed the connection) 2017-02-06T14:45:46Z dougk__ joined #sbcl 2017-02-06T15:06:04Z dougk__ quit (Ping timeout: 240 seconds) 2017-02-06T15:19:40Z oleo joined #sbcl 2017-02-06T15:33:17Z milanj joined #sbcl 2017-02-06T15:34:30Z scymtym quit (Ping timeout: 240 seconds) 2017-02-06T15:45:17Z sjl quit (Ping timeout: 252 seconds) 2017-02-06T15:47:08Z dougk__ joined #sbcl 2017-02-06T15:51:08Z dougk__ quit (Ping timeout: 245 seconds) 2017-02-06T16:16:34Z hydan quit (Ping timeout: 240 seconds) 2017-02-06T16:17:31Z attila_lendvai joined #sbcl 2017-02-06T16:17:31Z attila_lendvai quit (Changing host) 2017-02-06T16:17:31Z attila_lendvai joined #sbcl 2017-02-06T16:36:48Z schjetne quit (Ping timeout: 240 seconds) 2017-02-06T16:38:13Z mateuszb quit (Read error: Connection reset by peer) 2017-02-06T16:38:41Z mateuszb joined #sbcl 2017-02-06T16:39:23Z schjetne joined #sbcl 2017-02-06T16:43:44Z schjetne quit (Ping timeout: 248 seconds) 2017-02-06T16:50:03Z dougk__ joined #sbcl 2017-02-06T16:53:45Z sjl joined #sbcl 2017-02-06T16:54:55Z MetaHertz joined #sbcl 2017-02-06T16:55:49Z quadresce joined #sbcl 2017-02-06T16:58:33Z dougk___ joined #sbcl 2017-02-06T17:01:07Z dougk__ quit (Ping timeout: 255 seconds) 2017-02-06T17:06:09Z Bike joined #sbcl 2017-02-06T17:12:09Z rpg joined #sbcl 2017-02-06T17:12:30Z MetaHertz quit (Ping timeout: 258 seconds) 2017-02-06T17:12:59Z m00natic quit (Remote host closed the connection) 2017-02-06T17:26:10Z dougk___ quit (Ping timeout: 264 seconds) 2017-02-06T17:37:16Z karswell` quit (Ping timeout: 255 seconds) 2017-02-06T17:45:16Z DeadTrickster joined #sbcl 2017-02-06T18:13:30Z scymtym joined #sbcl 2017-02-06T18:41:07Z sirkmatija joined #sbcl 2017-02-06T18:52:17Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-06T18:55:08Z leah2 quit (Ping timeout: 240 seconds) 2017-02-06T18:57:47Z sjl quit (Ping timeout: 252 seconds) 2017-02-06T19:00:03Z leah2 joined #sbcl 2017-02-06T20:13:51Z dougk__ joined #sbcl 2017-02-06T20:28:53Z angavrilov quit (Remote host closed the connection) 2017-02-06T20:37:29Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-02-06T20:40:08Z dougk___ joined #sbcl 2017-02-06T20:41:37Z dougk__ quit (Ping timeout: 255 seconds) 2017-02-06T20:46:24Z milanj quit (Quit: Leaving) 2017-02-06T20:52:52Z dougk___ quit (Ping timeout: 255 seconds) 2017-02-06T21:04:01Z sjl joined #sbcl 2017-02-06T21:18:13Z rpg joined #sbcl 2017-02-06T21:19:20Z rpg quit (Client Quit) 2017-02-06T21:30:43Z igajsin quit (Ping timeout: 245 seconds) 2017-02-06T21:32:06Z rpg joined #sbcl 2017-02-06T21:44:19Z nyef` quit (Ping timeout: 255 seconds) 2017-02-06T21:47:21Z shka quit (Ping timeout: 258 seconds) 2017-02-06T21:48:20Z nimiux joined #sbcl 2017-02-06T21:49:48Z nimiux quit (Client Quit) 2017-02-06T21:50:03Z nimiux joined #sbcl 2017-02-06T21:50:03Z nimiux quit (Changing host) 2017-02-06T21:50:03Z nimiux joined #sbcl 2017-02-06T22:15:23Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-02-06T22:59:29Z quadresce quit (Quit: This computer has gone to sleep) 2017-02-06T23:00:12Z gingerale quit (Remote host closed the connection) 2017-02-06T23:16:14Z quadresce joined #sbcl 2017-02-06T23:20:24Z rumbler3_ joined #sbcl 2017-02-06T23:20:55Z rumbler3_ quit (Remote host closed the connection) 2017-02-06T23:22:38Z quadresce` joined #sbcl 2017-02-06T23:38:01Z ccl-logbot joined #sbcl 2017-02-06T23:38:01Z 2017-02-06T23:38:01Z names: ccl-logbot Bike fiddlerwoaroof malm abbe_ |3b|` nicdev` quadresce` nimiux sjl scymtym DeadTrickster mateuszb oleo stassats nzambe dustinm` myrkraverk shaftoe jibanes leo_song eschatologist gko Xach Shinmera edgar-rft Intensity angular_mike_ carvite White_Flame Cthulhux Lord_Nightmare foom jrm alandipert dougk_ adlai fe[nl]ix Blkt DGASAU jdz sigjuice christoph_debian pkhuong hzp akkad ym minion irsol jsnell salva Xof xristos joshe brucem sebboh flip214 2017-02-06T23:38:01Z names: jcloud Reinisch Quadrescence arjenve les libreman Posterdati pchrist mood swflint specbot luis fjl payphone jackdaniel Ober drmeister p_l PuercoPop mjl solene jackc 2017-02-06T23:40:54Z knobo joined #sbcl 2017-02-06T23:42:37Z leah2 joined #sbcl 2017-02-06T23:55:58Z nicdev` is now known as nicdev 2017-02-06T23:59:40Z sjl quit (Ping timeout: 240 seconds) 2017-02-07T00:04:39Z cromachina joined #sbcl 2017-02-07T00:05:05Z dtornabene joined #sbcl 2017-02-07T00:08:36Z whiteline joined #sbcl 2017-02-07T00:08:40Z rpg joined #sbcl 2017-02-07T00:10:35Z quadresce` quit (Quit: This computer has gone to sleep) 2017-02-07T00:14:15Z quadresce joined #sbcl 2017-02-07T00:19:41Z quadresce quit (Quit: This computer has gone to sleep) 2017-02-07T00:40:29Z rszeno joined #sbcl 2017-02-07T00:46:20Z rszeno left #sbcl 2017-02-07T01:00:21Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-02-07T01:30:12Z dtornabene quit (Quit: Leaving) 2017-02-07T01:47:53Z whiteline quit (Ping timeout: 240 seconds) 2017-02-07T01:49:46Z whiteline joined #sbcl 2017-02-07T01:50:29Z |3b|` is now known as |3b| 2017-02-07T01:52:50Z dougk__ joined #sbcl 2017-02-07T02:10:47Z quadresce joined #sbcl 2017-02-07T02:20:45Z dougk___ joined #sbcl 2017-02-07T02:22:01Z rumbler31 joined #sbcl 2017-02-07T02:22:05Z dougk__ quit (Ping timeout: 240 seconds) 2017-02-07T02:51:47Z nyef` joined #sbcl 2017-02-07T02:52:40Z stassats quit (Ping timeout: 240 seconds) 2017-02-07T03:21:39Z attila_lendvai joined #sbcl 2017-02-07T03:21:39Z attila_lendvai quit (Changing host) 2017-02-07T03:21:39Z attila_lendvai joined #sbcl 2017-02-07T03:34:34Z whiteline quit (Ping timeout: 240 seconds) 2017-02-07T03:36:12Z whiteline joined #sbcl 2017-02-07T04:23:26Z quadresce quit (Quit: This computer has gone to sleep) 2017-02-07T04:59:20Z rumbler31 quit (Remote host closed the connection) 2017-02-07T05:29:11Z abbe_ is now known as abbe 2017-02-07T06:11:55Z sirkmatija joined #sbcl 2017-02-07T06:21:40Z igajsin joined #sbcl 2017-02-07T06:22:16Z dougk___: stassats: i messed with make-dummy-fdefn more that you'd like, no doubt. but I tested the examples in your log messages for restartable fdefns and they work 2017-02-07T06:35:37Z dougk___ quit (Ping timeout: 255 seconds) 2017-02-07T06:36:42Z sirkmatija quit (Quit: sirkmatija) 2017-02-07T06:44:26Z oleo quit (Quit: Leaving) 2017-02-07T07:08:48Z scymtym quit (Ping timeout: 248 seconds) 2017-02-07T07:33:19Z faiz joined #sbcl 2017-02-07T07:33:46Z faiz left #sbcl 2017-02-07T07:42:39Z sepisoad_ joined #sbcl 2017-02-07T07:43:00Z sepisoad_: how to run a lisp scripr from command line in windows? 2017-02-07T07:57:54Z faiz joined #sbcl 2017-02-07T08:02:56Z faiz left #sbcl 2017-02-07T08:18:31Z scymtym joined #sbcl 2017-02-07T08:58:18Z attila_lendvai quit (Disconnected by services) 2017-02-07T08:58:18Z attila_lendvai1 joined #sbcl 2017-02-07T08:58:18Z attila_lendvai1 quit (Changing host) 2017-02-07T08:58:18Z attila_lendvai1 joined #sbcl 2017-02-07T09:02:35Z attila_lendvai1 quit (Ping timeout: 252 seconds) 2017-02-07T09:16:29Z shka joined #sbcl 2017-02-07T09:25:49Z Bike quit (Quit: leaving) 2017-02-07T10:12:07Z edgar-rft quit (Quit: edgar-rft) 2017-02-07T10:40:53Z m00natic joined #sbcl 2017-02-07T10:59:32Z sjl joined #sbcl 2017-02-07T11:14:53Z scymtym: did we always print FUNCALLABLE-STANDARD-OBJECT instances as # in case there is no PRINT-OBJECT method? i have the impressions this has changed 2017-02-07T11:18:15Z scymtym: yeah, 1.3.1 prints such an instance as # 2017-02-07T11:38:22Z scymtym: fe7dfe22 seems to have changed that 2017-02-07T11:42:24Z scymtym: i will try to add a PRINT-OBJECT method for FUNCALLABLE-STANDARD-OBJECT that behaves like the one for STANDARD-OBJECT 2017-02-07T11:42:27Z scymtym: does that sound ok? 2017-02-07T11:47:00Z Xof: yes 2017-02-07T11:48:09Z scymtym: Xof: ok, will test and push. thanks 2017-02-07T11:59:48Z MetaHertz joined #sbcl 2017-02-07T12:01:59Z mateuszb_ joined #sbcl 2017-02-07T12:03:08Z mateuszb quit (Ping timeout: 240 seconds) 2017-02-07T12:09:32Z knobo` joined #sbcl 2017-02-07T12:10:12Z knobo`: for the sbcl news page I would love to have date for each news item. 2017-02-07T12:14:31Z scymtym: knobo: running git blame on the NEWS file will produce almost that 2017-02-07T12:16:54Z knobo`: But I don't have git in my web browser :P 2017-02-07T12:19:40Z knobo`: I just thought it would be nice with dates on the posts in the web page. 2017-02-07T12:22:19Z knobo` quit (Remote host closed the connection) 2017-02-07T12:31:09Z knobo` joined #sbcl 2017-02-07T12:32:33Z dougk__ joined #sbcl 2017-02-07T12:59:36Z angavrilov joined #sbcl 2017-02-07T13:00:41Z rpg joined #sbcl 2017-02-07T13:00:45Z rpg quit (Client Quit) 2017-02-07T13:05:30Z scymtym quit (Ping timeout: 240 seconds) 2017-02-07T13:06:53Z scymtym joined #sbcl 2017-02-07T13:08:55Z rpg joined #sbcl 2017-02-07T13:12:54Z rpg quit (Client Quit) 2017-02-07T13:15:34Z rumbler31 joined #sbcl 2017-02-07T13:23:05Z stassats joined #sbcl 2017-02-07T13:25:40Z stassats: dougk_: to answer "; FIXME: what's wrong with just MAKE-FDEFN ?", there's no make-fdefn on immobile-space 2017-02-07T13:32:48Z sjl quit (Ping timeout: 248 seconds) 2017-02-07T13:34:12Z rumbler31 quit (Remote host closed the connection) 2017-02-07T13:41:43Z dougk__ quit (Read error: Connection reset by peer) 2017-02-07T13:42:00Z dougk__ joined #sbcl 2017-02-07T13:42:54Z rumbler31 joined #sbcl 2017-02-07T13:43:39Z stassats: i think (inst and rsp-tn -16) in sb!vm::alloc-immobile-fdefn may cause problems 2017-02-07T13:45:31Z dougk__: but my point is that if whatever it's already doing to make an fdefn is wrong, shouldn't that be fixed, and then use it ? 2017-02-07T13:45:48Z dougk__: it seems to be working 2017-02-07T13:46:22Z stassats: dougk_: well, the immobile space make-fdefn allocates temporary fdefns into immoble space 2017-02-07T13:46:41Z stassats: and i just pushed tests for the restarts 2017-02-07T13:51:42Z stassats: ok, (inst and rsp-tn -16) doesn't cause problems because make-fdefn is never inlined 2017-02-07T13:52:16Z rumbler31 quit (Remote host closed the connection) 2017-02-07T13:53:12Z stassats: dougk__: and just so that you're aware, we can't align the control stack: https://github.com/sbcl/sbcl/commit/bfcfd35061afa2709fee47c4e09c3dcc40b2147d 2017-02-07T13:53:35Z stassats: notinlined functions are, obviously, fine with that 2017-02-07T13:56:05Z dougk__: ok. well anyway it might be fine to have some fdefns in dynamic-space, but i didn't see how to make it work, because the raw_addr_slot actually has to hold a JMP instruction, so if both caller (the fdefn itself) and callee can move, there's no way for the moving GC to understand this 2017-02-07T13:56:25Z stassats: dougk_: also, you have a hard-coded 9 in undefined-tramp, is it not the same 9 as (- (* fdefn-raw-addr-slot n-word-bytes) other-pointer-lowtag)? 2017-02-07T13:56:50Z dougk__: yah, should be that 2017-02-07T13:58:19Z sirkmatija joined #sbcl 2017-02-07T13:59:32Z stassats: and the 5 is unclear as well 2017-02-07T13:59:55Z dougk__: add a constant for length-of-jmp-instruction ? 2017-02-07T14:02:13Z stassats: i'd prefer something that automatically changed whenever the instructions changed 2017-02-07T14:02:26Z stassats: otherwise it's no better than a comment describing what the 5 is 2017-02-07T14:03:35Z stassats: and i think i had some code lying somewhere around with which you could assemble code snippets, instead of doing bit fiddling 2017-02-07T14:05:40Z stassats: but i probably lost it 2017-02-07T14:06:33Z sjl joined #sbcl 2017-02-07T14:10:04Z stassats: or alien-callback-assembler-wrapper does it already 2017-02-07T14:10:26Z stassats: (let ((segment (make-segment :type :regular))) (assemble (segment) (inst mov rax-tn 10)) (sb-assem::segment-buffer segment)) 2017-02-07T14:11:07Z stassats: for fun-immobilize 2017-02-07T14:21:35Z dougk__ quit (Ping timeout: 240 seconds) 2017-02-07T14:30:38Z sirkmatija quit (Quit: sirkmatija) 2017-02-07T14:45:28Z cromachina quit (Read error: Connection reset by peer) 2017-02-07T14:47:26Z attila_lendvai joined #sbcl 2017-02-07T14:47:26Z attila_lendvai quit (Changing host) 2017-02-07T14:47:26Z attila_lendvai joined #sbcl 2017-02-07T14:48:36Z scymtym_ joined #sbcl 2017-02-07T14:49:36Z scymtym quit (Ping timeout: 248 seconds) 2017-02-07T14:51:01Z stassats: i think i'll just dispense with fdefns from these restarts 2017-02-07T15:01:02Z whiteline quit (Remote host closed the connection) 2017-02-07T15:01:36Z whiteline joined #sbcl 2017-02-07T15:04:11Z oleo joined #sbcl 2017-02-07T15:04:20Z dougk__ joined #sbcl 2017-02-07T15:05:35Z hydan joined #sbcl 2017-02-07T15:05:50Z knobo` quit (Ping timeout: 240 seconds) 2017-02-07T15:14:31Z DGASAU quit (Read error: Connection reset by peer) 2017-02-07T15:14:57Z DGASAU joined #sbcl 2017-02-07T15:19:34Z jdz quit (Ping timeout: 255 seconds) 2017-02-07T15:25:02Z jdz joined #sbcl 2017-02-07T15:31:43Z dougk__ quit (Ping timeout: 255 seconds) 2017-02-07T15:47:44Z stassats: and yeah, no more dummy fdefn, using functions instead 2017-02-07T15:48:19Z stassats: also no longer overwriting inputs to safe-fdefn-fun, both the offset and the tn can be encoded into a fixnum, so, no space increase either 2017-02-07T15:49:33Z dougk__ joined #sbcl 2017-02-07T15:50:02Z whiteline quit (Remote host closed the connection) 2017-02-07T15:50:38Z whiteline joined #sbcl 2017-02-07T15:53:27Z stassats: better prepared for restarting type errors 2017-02-07T15:56:39Z stassats: speaking of errors, now that debug info can encode basically any information, we can avoid debug traps for calling errors, just calling a static function 2017-02-07T15:57:16Z stassats: not important now, but important if we want to go the completely signalless road, like for sbcl.so 2017-02-07T16:04:43Z schjetne joined #sbcl 2017-02-07T16:35:56Z Bike joined #sbcl 2017-02-07T16:40:20Z Xof: is there a way of getting a store-value restart for undefined functions? 2017-02-07T16:41:07Z stassats: Xof: what will it do? setf fdefinition? 2017-02-07T16:41:15Z stassats: doesn't seem that useful 2017-02-07T16:41:23Z Xof: for programmatic use 2017-02-07T16:41:41Z stassats: a restart can easily do (setf fdefinition) on its own 2017-02-07T16:41:48Z stassats: a handler-bind, that is 2017-02-07T16:44:45Z jsnell: isn't the tricky bit to continue execution at that point, after defining the function? 2017-02-07T16:45:27Z stassats: jsnell: USE-VALUE continues execution of a new function, or CONTINUE of the old fdefn 2017-02-07T16:46:53Z rpg joined #sbcl 2017-02-07T16:47:23Z Xof: but this is exactly what store-value is for 2017-02-07T16:49:25Z nyef`: I'd imagine that, if you have the USE-VALUE and/or "retry" restarts, a STORE-VALUE becomes trivial to implement. 2017-02-07T16:49:43Z jsnell: nyef`: didn't you implement a hack for this back in the day? 2017-02-07T16:50:11Z nyef`: Twice that I know of, though I only managed to find an example for unbound-variable. 2017-02-07T16:50:53Z Xof: I'm trying to find my comp.lang.lisp message from about 2000 about this 2017-02-07T16:50:54Z nyef`: And I don't believe that I implemented a store-value restart, because I considered it to be unnecessary because you can just store a damned value using SETF at the debugger REPL. 2017-02-07T16:51:00Z stassats: Xof: it's just you can do without store-value, while use-value is necessary 2017-02-07T16:51:09Z Xof: utterly failing 2017-02-07T16:51:31Z Xof: yes you can do without it, but it seems bizarre to me to offer use-value and not store-value 2017-02-07T16:51:34Z hydan quit (Ping timeout: 245 seconds) 2017-02-07T16:52:56Z stassats: type errors will offer USE-VALUE too, can't imagine a STORE-VALUE for it 2017-02-07T16:54:14Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-02-07T16:54:56Z Xof: https://groups.google.com/d/msg/comp.lang.lisp/Rrrm5vQ_188/X4oQKG4FU7QJ 2017-02-07T16:54:56Z stassats: there's already four restarts from undefined functions 2017-02-07T16:55:30Z stassats: plus all the abort ones, making it seven in slime 2017-02-07T16:55:34Z Xof: that is surprising to me 2017-02-07T16:56:26Z Xof: if you're arguing for parsimony, can't you implement all the various ones you have in terms of use-value? using (lambda (&rest args) nil) or similar? 2017-02-07T16:56:29Z stassats: maybe 3: [RETURN-NOTHING] Return zero values. is not that necessary, how often do you run into wanting to ignore functions that you can't type nil or (values) for RETURN-VALUE 2017-02-07T16:57:30Z stassats: Xof: but i don't want to patch slime to provide those 2017-02-07T16:57:58Z Xof: still no sane way to do interactive restarts with slime? 2017-02-07T16:58:19Z Xof: I had a sort-of presentation-types hack for that once upon a time 2017-02-07T16:58:38Z Xof: you specify types in your restart description, and slime prompts you for the arguments as best it can 2017-02-07T16:58:55Z Xof: interactive restarts with arguments, that is 2017-02-07T16:59:30Z stassats: i don't feel that emacs can provide a good UI for this to even bother 2017-02-07T16:59:57Z Xof: if we knew how many arguments a restart function needed we could at least prompt in the minibuffer 2017-02-07T17:00:12Z stassats: interactive restarts just read stuff 2017-02-07T17:00:14Z Xof: this would be better than "break my slime session", which is what happened the last time I tried to use it 2017-02-07T17:00:18Z stassats: you can prompt that in the minibuffer 2017-02-07T17:01:17Z Xof: but anyway, I am still interested in programmatic use of standardized restarts 2017-02-07T17:01:20Z stassats: but right now it just reads from the repl, and it doesn't really break the slime session 2017-02-07T17:06:28Z rpg joined #sbcl 2017-02-07T17:09:52Z rpg quit (Client Quit) 2017-02-07T17:10:26Z sjl: I'm trying to call some C code that expects floating point inexact to not be trapped, much like in this: https://bugs.launchpad.net/sbcl/+bug/1519630 2017-02-07T17:10:39Z sjl: If I do (sb-int:set-floating-point-modes :traps nil) beforehand, it works fine 2017-02-07T17:10:54Z stassats: don't do (sb-int:set-floating-point-modes :traps nil) 2017-02-07T17:10:59Z sjl: but I'd like to not just globally set the traps, so I've trying to do (sb-int:with-float-traps-masked (:inexact) ...) 2017-02-07T17:11:11Z sjl: yes, I would rather not set it globally 2017-02-07T17:11:17Z stassats: yes, use with-float-traps-masked 2017-02-07T17:11:29Z sjl: (like sb-cga does, which is why it worked in one project and not another...) 2017-02-07T17:12:29Z sjl: but for some reason with-float-traps-masked doesn't seem to be helping me -- I still get arithmetic error FLOATING-POINT-INEXACT signalled 2017-02-07T17:14:45Z sjl: I'm doing (sb-int:with-float-traps-masked (:inexact) (some-cffi-defined-function))... is this not the correct way? 2017-02-07T17:15:55Z stassats: it only sets the float masks, the code can still signal fpe 2017-02-07T17:16:09Z stassats: moreover, inexact is not trapped by default at all 2017-02-07T17:16:22Z nyef`: I forget, does W-F-T-M clear masked traps before re-enabling them? 2017-02-07T17:17:00Z sjl: so, what is the correct way to call a C function that doesn't expect inexact floating point arithmetic to cause explosions? 2017-02-07T17:17:19Z stassats: but it's not an inexact exception 2017-02-07T17:18:47Z sjl: I'm confused then. I call a C function, and it dies with: arithmetic error FLOATING-POINT-INEXACT signalled 2017-02-07T17:18:55Z stassats: it lies 2017-02-07T17:21:22Z sjl: hm, yes it does seem to be one of the others, when I mask them all it works 2017-02-07T17:21:34Z sjl becomes a human binary search to determine what it actually is 2017-02-07T17:21:52Z stassats: just mask them all 2017-02-07T17:22:41Z sjl: turns out it was :invalid 2017-02-07T17:22:50Z sjl: but masking them all is probably a better solution overall 2017-02-07T17:23:11Z stassats: though with-float-traps-masked is kinda expensive 2017-02-07T17:24:17Z stassats: hoist it as far away as possible 2017-02-07T17:25:26Z stassats: sjl: is that on macos? 2017-02-07T17:25:42Z stassats: it's indeed misreporting invalid as inexact 2017-02-07T17:25:45Z stassats: (/ 0d0 0d0) 2017-02-07T17:26:56Z sjl: yes macos 2017-02-07T17:27:30Z sjl: so far this is only for an init function, hopefully I can get away with just masking there 2017-02-07T17:28:35Z stassats: and it's a reason as to why it's not always done around foreign calls 2017-02-07T17:28:38Z stassats: it's not free 2017-02-07T17:29:11Z sjl: yeah 2017-02-07T17:33:09Z rpg joined #sbcl 2017-02-07T17:47:17Z m00natic quit (Remote host closed the connection) 2017-02-07T17:49:40Z stassats: i see what happens 2017-02-07T17:50:06Z stassats: inexact is accrued 2017-02-07T17:50:25Z stassats: but the kernel tests for for inexact before invalid 2017-02-07T17:50:30Z stassats: so invalid is never signalled 2017-02-07T17:52:19Z karswell` joined #sbcl 2017-02-07T17:52:26Z stassats: (progn (sb-vm::set-floating-point-modes :current-exceptions nil) (/ 0d0 0d0)) => invalid operation 2017-02-07T17:52:35Z stassats: so, macos, as always, is just buggy 2017-02-07T17:58:25Z karswell` is now known as karswell 2017-02-07T17:58:49Z stassats: can't even trust it to handle sigfpe 2017-02-07T17:59:38Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-02-07T17:59:44Z nyef`: I'm almost at the point of "don't trust any kernel to handle a hardware exception correctly until you've written test cases *and* desk-checked the signal-handling path." 2017-02-07T17:59:50Z sjl quit (Ping timeout: 240 seconds) 2017-02-07T18:00:01Z nyef` glares at Linux/MIPS and Linux/HPPA. 2017-02-07T18:00:02Z stassats: i can fix it using mach exceptions 2017-02-07T18:00:20Z stassats: i guess i need to mask off all the masked interrupts to get to the real exception 2017-02-07T18:00:41Z nyef`: "Every so often a programmer faced with a macos problem says 'I know, I'll use mach exceptions!'. They now have two problems." 2017-02-07T18:01:26Z stassats: well, can't break a broken thing 2017-02-07T18:02:11Z nyef`: Don't you believe it! 2017-02-07T18:03:32Z stassats: so, the modes bits i get from a mach exceptions 2017-02-07T18:03:37Z stassats: (:TRAPS (:UNDERFLOW :INEXACT) :ROUNDING-MODE :NEAREST :CURRENT-EXCEPTIONS (:INEXACT :INVALID) :ACCRUED-EXCEPTIONS (:INEXACT :INVALID) :FAST-MODE NIL) 2017-02-07T18:03:40Z stassats: vs (:TRAPS (:UNDERFLOW :INEXACT) :ROUNDING-MODE :NEAREST :CURRENT-EXCEPTIONS (:INEXACT :DIVIDE-BY-ZERO) :ACCRUED-EXCEPTIONS (:INEXACT :DIVIDE-BY-ZERO) 2017-02-07T18:03:40Z stassats: :FAST-MODE NIL) 2017-02-07T18:03:55Z stassats: both trap on :inexact, how am i going to mask it then? 2017-02-07T18:04:13Z stassats: get the mask from the context? 2017-02-07T18:04:13Z stassats: sigh 2017-02-07T18:06:59Z nyef`: Just hope that the context is correct! (-: 2017-02-07T18:07:29Z stassats: it is 2017-02-07T18:07:44Z stassats: well, the mask in the context, that's another question 2017-02-07T18:12:43Z sirkmatija joined #sbcl 2017-02-07T18:29:05Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-07T18:37:32Z pkhuong quit (Ping timeout: 240 seconds) 2017-02-07T18:39:40Z pkhuong joined #sbcl 2017-02-07T18:40:02Z pkhuong is now known as Guest6985 2017-02-07T18:43:05Z stassats: a simpler fix 2017-02-07T18:43:45Z stassats: sigfpe_handler already conditionally does mxcsr_to_code 2017-02-07T18:43:55Z stassats: darwin just needs it to be unconditional 2017-02-07T18:44:55Z stassats: that didn't work as i expected 2017-02-07T18:47:05Z stassats: need to #define X86_64_SIGFPE_FIXUP 2017-02-07T18:53:03Z stassats: but that doesn't fix it on x86 2017-02-07T18:53:14Z stassats: well, i don't have the energy or motivation 2017-02-07T18:55:52Z stassats: will stash in a bug ticket 2017-02-07T18:55:58Z stassats: let future me bother with that 2017-02-07T18:56:55Z stassats: (and i hate magsafe) 2017-02-07T19:05:25Z fiveop joined #sbcl 2017-02-07T19:05:31Z sirkmatija quit (Quit: sirkmatija) 2017-02-07T19:15:25Z sirkmatija joined #sbcl 2017-02-07T19:17:24Z rumbler3_ joined #sbcl 2017-02-07T19:31:51Z foom: Well, we've just disabled the fp traps entirely, because the C compiler doesn't support generating code that runs properly with traps enabled. 2017-02-07T19:32:17Z rumbler3_ quit 2017-02-07T19:32:47Z stassats: some platforms don't have trapping hardware 2017-02-07T19:32:52Z stassats: e.g. arm64 2017-02-07T19:32:54Z stassats: or arm 2017-02-07T19:33:32Z nyef`: Besides, coming up with a wrong solution to your problem is a whole lot faster if you don't have to worry about fp traps! 2017-02-07T19:33:39Z foom: arm64 has it as an optional feature. 2017-02-07T19:33:49Z stassats: yes, but nobody seems to implement it 2017-02-07T19:34:44Z foom: nyef`: I mean, the compiler will do things like move instructions out of conditionals, which is perfectly fine without fp traps. 2017-02-07T19:35:26Z stassats: i'd like to come up with a solution to this foreign trap business 2017-02-07T19:36:52Z foom: Well, could stop using fp traps for lisp code. 2017-02-07T19:37:16Z stassats: that doesn't sound like a solution 2017-02-07T19:39:02Z foom: *shrug*, works for me. 2017-02-07T19:39:04Z quadresce joined #sbcl 2017-02-07T19:39:45Z foom: I believe clhs says it's undefined behavior, so, it's probably not even a spec violation! 2017-02-07T19:42:45Z stassats: need to figure out how expensive ldmxcsr and stmxcsr are 2017-02-07T19:50:30Z angavrilov quit (Remote host closed the connection) 2017-02-07T19:53:06Z edgar-rft joined #sbcl 2017-02-07T19:55:56Z rpg joined #sbcl 2017-02-07T19:59:40Z sjl joined #sbcl 2017-02-07T20:05:32Z Guest6985: stassats: looks like agner fog says ~10 cycles 2017-02-07T20:05:33Z Guest6985 is now known as pkhuong 2017-02-07T20:07:46Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-02-07T20:10:28Z pkhuong: foom: pretty sure you can tell gcc that trappy instructions can generate exceptions. 2017-02-07T20:13:25Z foom: pkhuong: gcc yes (-ftrapping-math is even on by default I believe), clang no. 2017-02-07T20:13:31Z stassats: (let ((x (%primitive load-fp))) (%primitive store-fp 8064) (bar) (%primitive store-fp x) 1) vs (bar) x 100000000 => 2.6 vs 0.6 seconds 2017-02-07T20:14:09Z stassats: load-fp and store-fp load store from into registers, could be optimized to only go through the stack 2017-02-07T20:15:43Z stassats: well, it then also spills that register 2017-02-07T20:15:52Z stassats: so, not really great 2017-02-07T20:16:14Z stassats: and you can have a wop with unsigned-stack result, but then it moves loads it into a register 2017-02-07T20:18:18Z stassats: i should try it around call-out, with no silly spilling 2017-02-07T20:20:26Z rpg joined #sbcl 2017-02-07T20:25:53Z nyef`: Random float architecture tidbit: HPPA cannot move directly between integer and float registers, you have to move the data to memory and reload it instead. 2017-02-07T20:26:31Z pkhuong: if you cared about performance, that was also true for intel's SSE for a while. 2017-02-07T20:26:46Z stassats: so, on Broadwell, clearing mxcsr is about 3x slower 2017-02-07T20:26:46Z sjl quit (Ping timeout: 255 seconds) 2017-02-07T20:30:57Z stassats: ok, strange, it's fast if i just preserve mxcsr around the call 2017-02-07T20:31:35Z foom: nyef`: sparc, too. 2017-02-07T20:32:04Z scymtym__ joined #sbcl 2017-02-07T20:32:13Z foom: nyef`: which is extra hilarious, because the sparcv8 calling convention requires that you pass float/double in integer registers for function calls. 2017-02-07T20:32:56Z foom: I dunno if the ABI designers neglected to talk to the chip designers before coming up with that, or what... 2017-02-07T20:32:58Z stassats: so, changing the FP modes is actually slow 2017-02-07T20:33:14Z stassats: if you stmxcsr ldmxcsr the same thing, it's barely noticeable 2017-02-07T20:33:23Z stassats: a different mask => 3x slower 2017-02-07T20:33:30Z stassats: which kinda makes sense 2017-02-07T20:33:30Z scymtym_ quit (Ping timeout: 240 seconds) 2017-02-07T20:33:38Z foom: I wouldn't be surprised if it just flushed the entire pipeline. 2017-02-07T20:33:57Z foom: I mean, who changes fp modes frequently? 2017-02-07T20:34:06Z pkhuong: the register is small enough that the OOO engine can probably forward the store/restore without hitting memory or even changing microarchitectural state. 2017-02-07T20:34:34Z pkhuong: foom: interval arithmetic libs... which is why intel added instructions that encode the rounding mode. 2017-02-07T20:35:11Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-02-07T20:35:29Z stassats: but with-float-traps-masked is 22 times slower 2017-02-07T20:36:19Z foom: pkhuong: I'm pretty sure there's no sparcv8s that do OoO execution. 2017-02-07T20:36:30Z scymtym__ quit (Ping timeout: 240 seconds) 2017-02-07T20:36:32Z stassats: well, that's just how bad with-float-traps-masked is 2017-02-07T20:36:33Z Baggers joined #sbcl 2017-02-07T20:36:46Z foom: pkhuong: yes rounding mode, but nobody uses traps. 2017-02-07T20:37:41Z prxq joined #sbcl 2017-02-07T20:45:26Z pkhuong: foom: the OOO thing was re stmxcsr -> ldmxcsr being surprisingly fast. 2017-02-07T20:45:49Z foom: pkhuong: ahh, right. :) 2017-02-07T20:46:09Z Baggers left #sbcl 2017-02-07T20:47:07Z stassats: (inst cld) also slows down foreign calls by 10% 2017-02-07T20:48:14Z stassats: clc/stc are, apparently, faster 2017-02-07T20:48:29Z stassats: or so Agner's tables say 2017-02-07T20:50:21Z stassats: yeah, clc is faster 2017-02-07T20:50:38Z stassats: ah wait 2017-02-07T20:51:05Z stassats: i thought cld was done due to multiple values, but yet we use the carry flag for multiple values already 2017-02-07T20:51:57Z stassats: and anywhere std is used cld is done as well, so, why cld in call-out? 2017-02-07T20:52:49Z pkhuong: there was the signal bug in linux a long time ago. 2017-02-07T20:53:19Z shka quit (Ping timeout: 255 seconds) 2017-02-07T20:53:34Z nyef`: cld in call-out because we didn't always do cld after the multiple-values thing. 2017-02-07T20:53:57Z nyef`: Which actually delayed the win32 port for a year to a year and a half, IIRC. 2017-02-07T20:54:02Z stassats: well, i'm, of course, not confident in taking it out 2017-02-07T20:54:52Z stassats: "1.0.15.15: reset DF on x86 and x86-64 after every STD instead of when calling out" 2017-02-07T20:55:36Z stassats: and the commig removed cld from call_into_c 2017-02-07T20:55:46Z stassats: of course we don't use call_into_c on x86-64 2017-02-07T20:57:06Z stassats: i'll reaudit std/cld paring and will remove it cld from call-out 2017-02-07T20:57:58Z stassats: was hurrying to remove call_into_c as well, but i already did that a year ago 2017-02-07T21:09:15Z stassats: got to remove three CLDs and one STD 2017-02-07T21:12:28Z stassats: so, a conclusion to my float trap experiment: do nothing, but make with-float-traps-masked faster 2017-02-07T21:19:10Z dougk__ quit (Ping timeout: 258 seconds) 2017-02-07T21:37:09Z dougk__ joined #sbcl 2017-02-07T21:37:56Z fiveop quit 2017-02-07T21:45:58Z igajsin quit (Ping timeout: 256 seconds) 2017-02-07T21:52:02Z scymtym joined #sbcl 2017-02-07T22:03:39Z karswell` joined #sbcl 2017-02-07T22:04:05Z karswell quit (Read error: Connection reset by peer) 2017-02-07T22:25:38Z dougk__ quit (Ping timeout: 256 seconds) 2017-02-07T22:29:10Z dougk__ joined #sbcl 2017-02-07T22:34:51Z dougk__ quit (Ping timeout: 240 seconds) 2017-02-07T22:35:53Z fiddlerwoaroof quit (Read error: Connection reset by peer) 2017-02-07T22:37:07Z fiddlerwoaroof joined #sbcl 2017-02-07T22:37:25Z dougk__ joined #sbcl 2017-02-07T22:38:39Z scymtym: dougk_: i think "x86-64: New call convention for #!+immobile-code" broke the stepping tests on x86: https://ci.cor-lab.org/job/sbcl-master/2001/ 2017-02-07T22:42:05Z dougk__ quit (Ping timeout: 252 seconds) 2017-02-07T22:45:11Z jamtho joined #sbcl 2017-02-07T22:59:19Z prxq quit (Remote host closed the connection) 2017-02-07T23:40:05Z jamtho quit (Ping timeout: 240 seconds) 2017-02-07T23:48:19Z dougk__ joined #sbcl 2017-02-08T00:01:42Z stassats: if #!+sb-doc is not needed anymore, maybe we can have an optimize quality to avoid storing any docstrings 2017-02-08T00:01:48Z stassats: for the user code as well 2017-02-08T00:03:14Z eschatologist quit (Ping timeout: 258 seconds) 2017-02-08T00:03:28Z |3b|: would it be hard to remove them after definition? seems like that could be a useful option on core dump as well 2017-02-08T00:03:55Z stassats: i think the new #!+sb-doc-less #-sb-doc removes them 2017-02-08T00:04:28Z stassats: in make-target-2-load 2017-02-08T00:06:04Z |3b| was talking about the user code case if that wasn't clear 2017-02-08T00:06:21Z stassats: it works on any code 2017-02-08T00:07:18Z |3b|: though probably not too many cases where having them for a while then dropping them is more useful than just never having them 2017-02-08T00:07:33Z stassats: running it on my application saves 3MB 2017-02-08T00:07:38Z stassats: from 94MB to 91MB 2017-02-08T00:07:55Z cromachina joined #sbcl 2017-02-08T00:08:27Z eschatologist joined #sbcl 2017-02-08T00:08:30Z stassats: i actually never read saved docstrings 2017-02-08T00:09:19Z |3b| probably doesn't either, though i expect others do 2017-02-08T00:09:21Z stassats: but some jokers like to do (setf (documentation ...)) in some far away place these days 2017-02-08T00:10:43Z |3b|: add (setf (documentation ...)) to the list of locations on M-. ? :) 2017-02-08T00:11:04Z stassats: i think i wanted to do that at some point 2017-02-08T00:12:35Z stassats: i'm just going over the heap trying to figure out what are these 94MB about 2017-02-08T00:13:18Z stassats: SB-C::COMPILED-DEBUG-FUN: 3,411,840 bytes, 35,540 objects. dominates 2017-02-08T00:14:41Z |3b| suspects you could save a few hundred K off the unicode tables, not that it would make much difference to 94MB :) 2017-02-08T00:15:09Z stassats: and slime M-. crashes again 2017-02-08T00:15:17Z stassats: hate when that happens 2017-02-08T00:19:31Z stassats: but instances account for 14MB total 2017-02-08T00:19:46Z stassats: debug funs have a lot of vectors in them, though 2017-02-08T00:21:52Z stassats: 48MB of arrays 2017-02-08T00:23:57Z |3b|: hmm, C-c I #'cons, click # => welcome to LDB no scavenge function for object 0000000000000431 (widetag 0x31) 2017-02-08T00:24:46Z |3b|: "1.3.14.80-0771790" 2017-02-08T00:25:06Z stassats: unlikely to be triggered by the inspector 2017-02-08T00:25:15Z stassats: since it could just be initiating a gc 2017-02-08T00:25:28Z |3b|: seems repeatable 2017-02-08T00:25:39Z stassats: i also have a deja vu 2017-02-08T00:26:19Z stassats: slime? 2017-02-08T00:26:24Z stassats: version, that is 2017-02-08T00:26:39Z stassats: older than 786c032a95cc78d3e294abe1b12e09880381efe2? 2017-02-08T00:26:49Z |3b|: ; SLIME 2016-04-19 ? 2017-02-08T00:26:57Z stassats: => yes 2017-02-08T00:27:39Z stassats: half a year without a release? 2017-02-08T00:29:10Z stassats: penning a 2.19 right now 2017-02-08T00:33:54Z stassats: |3b|: use 2.19 2017-02-08T00:34:32Z |3b| will probably wait for quicklisp to get it unless i run into it again 2017-02-08T00:35:09Z stassats: i inspect code objects very frequently 2017-02-08T00:35:20Z stassats: i even have a shortcut for inspecting a defun 2017-02-08T00:35:49Z stassats: but i guess that's more due to SBCL related work 2017-02-08T00:39:23Z |3b| gets a bunch of unexpected-failure from :STEP-* tests on 64bit windows on 1.3.14.194 2017-02-08T00:40:01Z stassats: that's due to the immobile-code-something change earlier today 2017-02-08T00:40:13Z sirkmatija quit (Quit: sirkmatija) 2017-02-08T00:42:59Z stassats: there's a 100K of #() 2017-02-08T00:43:16Z stassats: good luck figuring out where they come from 2017-02-08T00:43:29Z stassats: 100KB 2017-02-08T00:44:11Z |3b|: also odd backtrace from the error about failed read in signals.impure.lisp http://paste.lisp.org/+797G 2017-02-08T00:44:22Z rumbler31 joined #sbcl 2017-02-08T00:44:26Z |3b|: empty vectors specifically you mean? 2017-02-08T00:44:31Z stassats: yes 2017-02-08T00:44:47Z stassats: probably all the structure initforms 2017-02-08T00:45:27Z stassats: i think it can be solved in the fasloader 2017-02-08T00:47:19Z MetaHertz quit (Ping timeout: 258 seconds) 2017-02-08T00:58:15Z stassats: coalescing #() on loading fasls saves 32KB in the core 2017-02-08T00:58:38Z stassats: the vanilla core, that is 2017-02-08T00:59:53Z stassats: is it allied for (read-from-string "#()") to return the same vector? 2017-02-08T00:59:56Z stassats: allowed 2017-02-08T01:01:11Z stassats: well, there isn't many #() after loading the fasls change anyway 2017-02-08T01:29:05Z jibanes quit (Ping timeout: 240 seconds) 2017-02-08T01:30:55Z jibanes joined #sbcl 2017-02-08T01:38:05Z rumbler31 quit (Remote host closed the connection) 2017-02-08T01:40:42Z |3b| remembers to check the test run started earlier, doesn't see anything else notable 2017-02-08T01:52:07Z quadresce quit (Quit: This computer has gone to sleep) 2017-02-08T02:26:54Z stassats: hm, something's broken with dumped cores 2017-02-08T02:30:27Z stassats: and the backtrace is broken 2017-02-08T02:30:38Z stassats: lovely 2017-02-08T03:13:49Z stassats: ok, fdefns are somehow broken after slad 2017-02-08T03:19:08Z stassats: (eval-when (:compile-toplevel :execute) (require :alexandria)) (defun f () (declare (optimize debug)) (gensym)) (sb-ext:save-lisp-and-die "foo" :executable t) 2017-02-08T03:19:19Z stassats: and then calling (f) => sigill at the gensym address 2017-02-08T03:19:49Z stassats: compile-file needed 2017-02-08T03:20:13Z stassats: Unhandled SIGILL at 0x20335358. and MOV EAX, #x20335358 ; # 2017-02-08T03:22:35Z attila_lendvai joined #sbcl 2017-02-08T03:22:35Z attila_lendvai quit (Changing host) 2017-02-08T03:22:35Z attila_lendvai joined #sbcl 2017-02-08T03:22:53Z stassats: that's disassembling before slad 2017-02-08T03:23:03Z stassats: after starting it's L0: B858533320 MOV EAX, 540234584 2017-02-08T03:23:19Z stassats: which is the same thing, but it can't find the fdefn 2017-02-08T03:34:26Z stassats: dougk_: yeah, stepping doesn't jump or call so mark-and-sweep can't handle it 2017-02-08T03:35:17Z |3b|: that (f) works on 64bit win, 1.3.14.194, for whatever that is worth 2017-02-08T03:35:34Z stassats: windows doesn't have immobile thingies 2017-02-08T03:35:40Z |3b|: ah 2017-02-08T03:35:48Z |3b|: so not worth much then :) 2017-02-08T03:39:43Z dougk__: MOV eax,#x... goes into the %code-fixups, doesn't it? 2017-02-08T03:40:13Z stassats: i think so, but the mark-and-sweep thingy only claims to handle JMP and CALL 2017-02-08T03:41:00Z stassats: or is the MOV handled by the else leg 2017-02-08T03:41:47Z dougk__: I have ((lambda (x) (sb-vm::%code-fixups (sb-kernel:fun-code-header x))) #'f) => 103 which is an offset to adjust in fixup_immobile_refs() 2017-02-08T03:41:51Z stassats: mov is B8 2017-02-08T03:43:12Z dougk__: so compile-file on your code above and it should fail when you restart the 'foo' executable ? 2017-02-08T03:43:38Z stassats: yeah, but it needs to load alexandria for the GENSYM fdefn to move 2017-02-08T03:43:44Z stassats: so, not entirely determenistic 2017-02-08T03:45:40Z stassats: ((lambda (x) (sb-vm::%code-fixups (sb-kernel:fun-code-header x))) #'f) returns 0 2017-02-08T03:45:54Z dougk__: oh, that's wrong. wonder how that happened 2017-02-08T03:47:06Z shaftoe: if you build sbcl on an interesting/rare platform, is there anywhere to send build reports? any interest in that? 2017-02-08T03:47:33Z stassats: shaftoe: just building isn't really interesting 2017-02-08T03:47:36Z dougk__: if I trace sb-vm:fixup-code-object when compiling to memory, I see that F gets a named-call fixup: 2017-02-08T03:47:45Z stassats: shaftoe: not building is far more interesting 2017-02-08T03:47:45Z dougk__: (SB-VM:FIXUP-CODE-OBJECT # 103 540197720 :ABSOLUTE :NAMED-CALL) 2017-02-08T03:47:53Z shaftoe: stassats: got it 2017-02-08T03:48:12Z dougk__: and those are among the ones that should be saved in %code-fixups. wonder if compile-file isn't getting that 2017-02-08T03:48:16Z stassats: shaftoe: or failing tests 2017-02-08T03:48:58Z stassats: (SB-VM:FIXUP-CODE-OBJECT # 87 540234584 :ABSOLUTE :NAMED-CALL) 2017-02-08T03:49:17Z stassats: taht's from the repl 2017-02-08T03:49:23Z stassats: (let () (sb-vm::%code-fixups (sb-kernel:fun-code-header #'f))) => 87 2017-02-08T03:49:45Z stassats: (SB-VM:FIXUP-CODE-OBJECT # 87 540234584 :RELATIVE :NAMED-CALL) with c-f, but 0 from code-fixups 2017-02-08T03:49:56Z stassats: :relative vs :absolute 2017-02-08T03:51:01Z dougk__: so compilation into memory prefers the 'mov rax, #x ; jmp rax' variant, but into file prefers call. that's because compile-file always uses immobile-space 2017-02-08T03:51:59Z dougk__: but stepping should disable that. it was change 7501ab0c... that made that work 2017-02-08T03:52:15Z dougk__: so stepping will always want the 'mov rax ; call rax' sequence 2017-02-08T03:52:36Z stassats: but the address which is moved to RAX is not updated 2017-02-08T03:53:16Z dougk__: but it should be, that's what the %code-fixups are storing 2017-02-08T03:53:49Z stassats: but it doesn't store anything 2017-02-08T03:54:11Z stassats: (or (and (eq flavor :named-call) (not (sb!kernel::immobile-space-obj-p code))) (eq flavor :immobile-object)) is NIL 2017-02-08T03:55:21Z dougk__: ok, i see how. Named-call from immobile space but using the two-instruction sequence is not understood by the fixup saver. 2017-02-08T03:56:23Z dougk__: i need two flavors of :named-call. one that's actually going to use call rel32 and one that's not. 2017-02-08T03:56:57Z dougk__: how soon do you need this? i was going to call it quits for tonight 2017-02-08T03:57:11Z stassats: i don't really need it 2017-02-08T03:57:28Z dougk__: ok thanks for finding that 2017-02-08T03:58:22Z dougk__: actually i don't need to flavors. I can distinguish :named-call :relative and :named-call :absolute. it's that easy 2017-02-08T03:58:26Z dougk__: s/to/two/ 2017-02-08T03:59:14Z stassats: i think i need to extend sb-ext:restrict-compiler-policy to avoid third party code getting compiled with DEBUG 3, now that DEBUG 1 is sane 2017-02-08T03:59:41Z stassats: restrict-compiler-policy (&optional quality (min 0) _(max 3)_) 2017-02-08T04:03:17Z stassats: shaftoe: did you build it on a top500 supercomputer or something? 2017-02-08T04:03:26Z shaftoe: no 2017-02-08T04:03:32Z shaftoe: i wish 2017-02-08T04:04:57Z shaftoe: odroid-c2, 64bit arm linux 2017-02-08T04:05:49Z stassats: yeah, not really interesting 2017-02-08T04:16:16Z stassats quit (Ping timeout: 255 seconds) 2017-02-08T04:57:54Z nyef`: Now, an HPPA build report would be interesting. 2017-02-08T04:58:10Z nyef`: (Because it would mean that someone other than me is interested in SBCL on HPPA.) 2017-02-08T05:01:54Z nyef`: shaftoe: One of the reasons that 64bit arm linux isn't particularly interesting to stassats is that he did the port to that platform in the first place. Sort of like how a 32bit arm linux or a win32 build report isn't particularly interesting to me. 2017-02-08T05:08:11Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-08T05:12:00Z shaftoe: understood 2017-02-08T05:13:07Z nyef`: We also know that certain backends or platforms have problems, either due to code rot or improved tests since there's been any serious maintenance on them, and so on. 2017-02-08T05:13:52Z nyef`: And HPPA has literally *never* worked right. 2017-02-08T05:17:44Z dougk__ quit (Ping timeout: 260 seconds) 2017-02-08T05:20:28Z nyef`: Hrm... Actually, I might push another go-round on some of the HPPA damage to my list for after sorting out the DX damage and revising my nouveau patch series. 2017-02-08T05:53:25Z igajsin joined #sbcl 2017-02-08T06:08:46Z DGASAU quit (Read error: Connection reset by peer) 2017-02-08T06:14:09Z dougk__ joined #sbcl 2017-02-08T06:18:31Z dougk__ quit (Ping timeout: 258 seconds) 2017-02-08T06:19:30Z DGASAU joined #sbcl 2017-02-08T06:29:56Z dougk__ joined #sbcl 2017-02-08T06:30:10Z shka joined #sbcl 2017-02-08T06:34:14Z dougk__ quit (Ping timeout: 258 seconds) 2017-02-08T06:35:20Z dougk__ joined #sbcl 2017-02-08T06:44:22Z dougk__ quit (Read error: Connection reset by peer) 2017-02-08T06:45:23Z dougk__ joined #sbcl 2017-02-08T06:47:50Z fiveop joined #sbcl 2017-02-08T07:00:48Z scymtym quit (Ping timeout: 240 seconds) 2017-02-08T07:03:08Z dougk__ quit (Ping timeout: 252 seconds) 2017-02-08T07:09:23Z oleo quit (Quit: Leaving) 2017-02-08T07:11:20Z angavrilov joined #sbcl 2017-02-08T07:33:49Z dougk__ joined #sbcl 2017-02-08T07:42:28Z sirkmatija joined #sbcl 2017-02-08T07:47:55Z edgar-rft quit (Quit: edgar-rft) 2017-02-08T07:51:48Z dougk__ quit (Ping timeout: 240 seconds) 2017-02-08T07:58:53Z dougk__ joined #sbcl 2017-02-08T08:12:42Z mateuszb joined #sbcl 2017-02-08T08:15:58Z mateuszb_ quit (Ping timeout: 255 seconds) 2017-02-08T08:20:05Z nzambe quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2017-02-08T08:39:26Z scymtym joined #sbcl 2017-02-08T08:47:28Z Bike quit (Quit: slep) 2017-02-08T08:54:39Z attila_lendvai joined #sbcl 2017-02-08T09:25:08Z jamtho joined #sbcl 2017-02-08T09:49:26Z ccl-logbot joined #sbcl 2017-02-08T09:49:26Z 2017-02-08T09:49:26Z names: ccl-logbot alandipert_ swflint jrm Xach_ sebboh` jackc_ specbot scymtym mateuszb sirkmatija angavrilov fiveop shka DGASAU jibanes eschatologist cromachina fiddlerwoaroof karswell` pkhuong schjetne whiteline jdz sepisoad_ nyef` leah2 malm abbe |3b| nicdev nimiux DeadTrickster dustinm` myrkraverk shaftoe leo_song gko Shinmera Intensity angular_mike_ carvite White_Flame Cthulhux Lord_Nightmare foom dougk_ adlai fe[nl]ix Blkt sigjuice christoph_debian hzp akkad 2017-02-08T09:49:26Z names: ym minion irsol jsnell salva Xof xristos joshe brucem flip214 jcloud Reinisch Quadrescence arjenve les mjl PuercoPop p_l drmeister Ober jackdaniel payphone fjl luis mood pchrist Posterdati libreman 2017-02-08T09:52:58Z knobo joined #sbcl 2017-02-08T09:53:57Z igajsin joined #sbcl 2017-02-08T10:03:21Z dougk__ joined #sbcl 2017-02-08T10:14:31Z sjl joined #sbcl 2017-02-08T10:25:39Z shka quit (Remote host closed the connection) 2017-02-08T10:25:59Z shka joined #sbcl 2017-02-08T10:44:44Z sirkmatija quit (Quit: sirkmatija) 2017-02-08T10:45:06Z sirkmatija joined #sbcl 2017-02-08T10:46:38Z sirkmatija quit (Client Quit) 2017-02-08T10:47:03Z sirkmatija joined #sbcl 2017-02-08T10:47:38Z sirkmatija quit (Client Quit) 2017-02-08T10:47:49Z sirkmatija joined #sbcl 2017-02-08T10:51:45Z sirkmatija quit (Client Quit) 2017-02-08T10:52:34Z dougk__ quit (Ping timeout: 264 seconds) 2017-02-08T10:56:42Z dougk__ joined #sbcl 2017-02-08T11:00:51Z dougk__ quit (Ping timeout: 240 seconds) 2017-02-08T11:05:49Z dougk__ joined #sbcl 2017-02-08T11:13:31Z dougk__ quit (Ping timeout: 240 seconds) 2017-02-08T11:15:01Z m00natic joined #sbcl 2017-02-08T11:15:37Z dougk__ joined #sbcl 2017-02-08T11:25:51Z dougk__ quit (Ping timeout: 240 seconds) 2017-02-08T11:29:14Z dougk__ joined #sbcl 2017-02-08T11:39:11Z dougk__ quit (Ping timeout: 240 seconds) 2017-02-08T11:41:34Z dougk__ joined #sbcl 2017-02-08T11:44:19Z stassats joined #sbcl 2017-02-08T11:45:31Z dougk__ quit (Ping timeout: 240 seconds) 2017-02-08T12:00:06Z mateuszb_ joined #sbcl 2017-02-08T12:01:59Z mateuszb quit (Ping timeout: 258 seconds) 2017-02-08T12:06:40Z sjl quit (Ping timeout: 240 seconds) 2017-02-08T12:07:43Z dougk__ joined #sbcl 2017-02-08T12:13:12Z sjl joined #sbcl 2017-02-08T12:17:44Z dougk__ quit (Ping timeout: 260 seconds) 2017-02-08T12:19:06Z edgar-rft joined #sbcl 2017-02-08T12:19:34Z mateuszb_ quit (Ping timeout: 264 seconds) 2017-02-08T12:20:19Z sjl quit (Ping timeout: 255 seconds) 2017-02-08T12:22:07Z mateuszb joined #sbcl 2017-02-08T12:28:11Z MetaHert` joined #sbcl 2017-02-08T12:31:06Z dougk__ joined #sbcl 2017-02-08T12:34:52Z karswell` quit (Ping timeout: 255 seconds) 2017-02-08T12:41:23Z dougk__ quit (Ping timeout: 252 seconds) 2017-02-08T12:49:23Z dougk__ joined #sbcl 2017-02-08T13:00:19Z dougk__ quit (Ping timeout: 260 seconds) 2017-02-08T13:00:34Z rpg joined #sbcl 2017-02-08T13:00:42Z rpg quit (Client Quit) 2017-02-08T13:02:18Z sjl joined #sbcl 2017-02-08T13:15:50Z rumbler31 joined #sbcl 2017-02-08T13:22:50Z rumbler31 quit (Remote host closed the connection) 2017-02-08T13:31:12Z edgar-rft quit (Quit: edgar-rft) 2017-02-08T13:44:08Z DeadTrickster quit (Ping timeout: 276 seconds) 2017-02-08T14:29:10Z drl joined #sbcl 2017-02-08T14:37:14Z milanj joined #sbcl 2017-02-08T14:41:36Z oleo joined #sbcl 2017-02-08T14:48:44Z cromachina quit (Read error: Connection reset by peer) 2017-02-08T15:18:29Z stassats: let conversion gives variable names of the parent lambda? 2017-02-08T15:19:29Z stassats: (defun foo (b) (let ((a b)) (break) (values a))) => B = 1 2017-02-08T15:19:57Z nyef`: That sounds about right. 2017-02-08T15:20:06Z nyef`: Substitute-lvar-uses, isn't it? 2017-02-08T15:20:26Z nyef`: Or maybe substitute-single-use-lvar. 2017-02-08T15:20:29Z nyef`: Something like that. 2017-02-08T15:20:55Z stassats: results in especial silliness around &keyword processing 2017-02-08T15:21:06Z rpg joined #sbcl 2017-02-08T15:21:06Z rpg quit (Client Quit) 2017-02-08T15:21:33Z stassats: (F :ABC 10 :ABD 23) Locals: #:.DEFAULTING-TEMP. = 10 #:.DEFAULTING-TEMP.#1 = 23 #:N-SUPPLIED-0 = NIL 2017-02-08T15:22:39Z nyef`: Heh. Typical. It's what happens when a compiler is built for speed first, and debuggability of target code as an afterthought. 2017-02-08T15:22:40Z stassats: first "why": why not bind directly? 2017-02-08T15:23:39Z nyef`: Why bind at all? 2017-02-08T15:24:03Z stassats: set? sbcl doesn't handle sets well 2017-02-08T15:24:16Z nyef`: What you have is two different names for what amounts to the same variable. 2017-02-08T15:27:15Z stassats: it could bind some variables directly 2017-02-08T15:27:17Z DeadTrickster joined #sbcl 2017-02-08T15:27:32Z stassats: but then there are default processing etc. 2017-02-08T15:28:54Z stassats: it's basically a function (lambda (garbage garbage-supplied) (let ((abc (if garbage-supplied (print 23) garbage))) body)) 2017-02-08T15:30:03Z stassats: i just need to figure out how to distinguish these in the debugger 2017-02-08T15:30:33Z nyef`: Supply both names, somehow? 2017-02-08T15:30:46Z stassats: i originally made it use the actual variable names for the intermediates, but that only fixes it for keyword processing 2017-02-08T15:31:00Z stassats: i'd prefer (defun foo (b) (let ((a b)) (break) (values a))) to get fixed as well 2017-02-08T15:32:17Z nyef`: If you set B from within the LET, it suppresses the whole mess, doesn't it? 2017-02-08T15:32:40Z stassats: sure, set breaks them apart 2017-02-08T15:32:51Z stassats: i think i can fetch it from lexenv 2017-02-08T15:33:22Z stassats: i just need to specify which variable has replaced the original one 2017-02-08T15:38:11Z scymtym quit (Ping timeout: 240 seconds) 2017-02-08T15:50:56Z stassats: i may have stumbled on a solution to failed AVER: (SINGLETON-P SB-C::SUCC) 2017-02-08T15:51:06Z stassats: accidentally 2017-02-08T15:53:41Z stassats: i discovered that lambda-lets holds all let converted lambdas 2017-02-08T15:53:54Z stassats: delete-lambda deletes lambda-children, but not lambda-lets 2017-02-08T15:54:07Z stassats: deleting lambda-lets the same way as lambda-children solves the AVER 2017-02-08T15:57:05Z DeadTrickster quit (Ping timeout: 240 seconds) 2017-02-08T15:58:14Z sirkmatija joined #sbcl 2017-02-08T15:58:29Z stassats: though i feel like it can still can cause problems with a particular combination of combinations 2017-02-08T16:11:11Z Xach_ quit (Changing host) 2017-02-08T16:11:11Z Xach_ joined #sbcl 2017-02-08T16:20:37Z nyef`: I suspect that we'll only be happy with a solution to the failed AVER (SINGLETON-P SUCC) thing if we've managed to convince ourselves that the overall handling of IR1 structure changes is right. 2017-02-08T16:28:47Z stassats: ok, i'm saving the original variable, but now i need somehow dump only the used one 2017-02-08T16:31:45Z stassats: or both, but only when both are used 2017-02-08T16:43:37Z stassats: but what if some code does (let ((a b)) (break) (values a b)) 2017-02-08T16:44:29Z nyef`: The debugger needs to know that the two names are associated with the same value, doesn't it? 2017-02-08T16:45:05Z stassats: i instrumented it to know that 2017-02-08T16:45:15Z stassats: but now how to know whether B is ever used in that block 2017-02-08T16:45:30Z stassats: to avoid saving and displaying unnecessary variables 2017-02-08T16:47:10Z stassats: maybe some kind of direct-reference flag 2017-02-08T16:48:22Z Bike joined #sbcl 2017-02-08T16:57:35Z sirkmatija quit (Quit: sirkmatija) 2017-02-08T16:58:01Z sirkmatija joined #sbcl 2017-02-08T17:07:01Z stassats: i can do A = B = 10 2017-02-08T17:07:43Z stassats: but if B is not used directly, it shouldn't be included 2017-02-08T17:11:44Z nyef`: Scope/lifetime information, maybe? 2017-02-08T17:12:01Z stassats: it's all about the actual variable 2017-02-08T17:12:03Z stassats: not the original 2017-02-08T17:12:14Z nyef`: Yeah, I know. /-: 2017-02-08T17:12:52Z stassats: right now i only know that A was also alive in this lexenv and that it's equal to B 2017-02-08T17:13:17Z stassats: which may be ok for (let ((a b)) (break) (values a b)), but not for keyword parsing 2017-02-08T17:14:53Z nyef`: And it's not even a question of "is there a REF to this LAMBDA-VAR from a lambda that's not myself". 2017-02-08T17:16:31Z nyef`: Umm... Maybe a flow-sensitive analysis, killing the "binding" once there are no further references along each execution path? 2017-02-08T17:16:59Z nyef`: But still bounded by lexical scopes, somehow? 2017-02-08T17:19:29Z stassats: there's actually preserve-single-use-debug-var-p, but it's not used for this case in propagate-let-args 2017-02-08T17:21:40Z stassats: so, at least fixing that would be a first step 2017-02-08T17:22:18Z scymtym joined #sbcl 2017-02-08T17:29:55Z MetaHert` quit (Ping timeout: 255 seconds) 2017-02-08T17:30:38Z joshe quit (Remote host closed the connection) 2017-02-08T17:33:34Z sjl quit (Ping timeout: 258 seconds) 2017-02-08T17:34:24Z gingerale joined #sbcl 2017-02-08T17:34:39Z stassats: i'll do this now and will think about a solution for lower debugging levels 2017-02-08T17:37:45Z stassats: and for the higher ones, avoiding unused noise 2017-02-08T17:38:55Z dougk_ quit (Ping timeout: 255 seconds) 2017-02-08T17:50:50Z sirkmatija quit (Quit: sirkmatija) 2017-02-08T17:51:00Z dougk_ joined #sbcl 2017-02-08T17:55:40Z m00natic quit (Remote host closed the connection) 2017-02-08T17:56:38Z rpg joined #sbcl 2017-02-08T18:08:19Z sjl joined #sbcl 2017-02-08T18:35:29Z p_l quit (Remote host closed the connection) 2017-02-08T18:37:40Z milanj quit (Quit: This computer has gone to sleep) 2017-02-08T18:41:48Z DeadTrickster joined #sbcl 2017-02-08T18:42:42Z drl quit (Quit: Ex-Chat) 2017-02-08T18:45:08Z mjl quit (Remote host closed the connection) 2017-02-08T19:05:41Z sirkmatija joined #sbcl 2017-02-08T19:12:05Z sebboh` quit (Changing host) 2017-02-08T19:12:06Z sebboh` joined #sbcl 2017-02-08T19:12:12Z sebboh` is now known as sebboh 2017-02-08T19:21:45Z mjl joined #sbcl 2017-02-08T19:24:32Z sjl quit (Ping timeout: 252 seconds) 2017-02-08T19:33:18Z phoe joined #sbcl 2017-02-08T19:43:21Z p_l joined #sbcl 2017-02-08T19:46:09Z edgar-rft joined #sbcl 2017-02-08T19:52:17Z sirkmatija quit (Read error: Connection reset by peer) 2017-02-08T19:52:48Z sirkmatija joined #sbcl 2017-02-08T19:55:11Z angavrilov quit (Remote host closed the connection) 2017-02-08T20:07:20Z Xach_ is now known as Xach 2017-02-08T20:07:59Z igajsin quit (Ping timeout: 252 seconds) 2017-02-08T20:10:24Z fiveop quit 2017-02-08T20:13:25Z rpg quit (Ping timeout: 255 seconds) 2017-02-08T20:18:10Z rpg joined #sbcl 2017-02-08T20:28:34Z sirkmatija quit (Quit: sirkmatija) 2017-02-08T20:48:48Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-02-08T20:49:41Z edgar-rft quit (Quit: edgar-rft) 2017-02-08T20:52:28Z libreman left #sbcl 2017-02-08T20:56:53Z myrkraverk_ joined #sbcl 2017-02-08T20:57:07Z myrkraverk quit (Ping timeout: 258 seconds) 2017-02-08T20:57:19Z myrkraverk_ is now known as myrkraverk 2017-02-08T21:04:29Z rpg joined #sbcl 2017-02-08T21:12:33Z stassats: (handler-bind ((error #'continue)) (funcall (eval '(lambda (&key abc) abc)) :bogus 30 :abc 20)) => 20 2017-02-08T21:14:30Z quadresce joined #sbcl 2017-02-08T21:20:49Z nyef`: stassats: Okay, is that good or bad? 2017-02-08T21:20:58Z stassats: that's a new feature 2017-02-08T21:21:15Z nyef`: Ah. Sounds good, then. (-: 2017-02-08T21:21:17Z stassats: (f :bogus 10 :abc 20) => unknown &KEY argument: :BOGUS 0: [CONTINUE] Ignore it. 2017-02-08T21:21:44Z stassats: in a backend independent fashion 2017-02-08T21:21:55Z stassats: one step closer to restartable type errors 2017-02-08T21:21:59Z nyef`: Nice. 2017-02-08T21:22:21Z |3b| wonders if an option to use a different keyword would be useful there 2017-02-08T21:22:40Z stassats: |3b|: i was about to type about use-value 2017-02-08T21:22:49Z stassats: but i don't see an easy way 2017-02-08T21:23:34Z stassats: the frame can be restarted 2017-02-08T21:24:14Z |3b|: does it handle keywords better when restarting frames now? 2017-02-08T21:24:23Z stassats: not really 2017-02-08T21:25:37Z stassats: yeah, use-value would have to encode a lot of information 2017-02-08T21:26:18Z stassats: basically locations of all the keyword parameters 2017-02-08T21:26:46Z stassats: hm 2017-02-08T21:26:54Z stassats: overwriting the &more location 2017-02-08T21:27:35Z stassats: ok, doable, just have to encode the index tn 2017-02-08T21:30:15Z stassats: right now it's just saving the block label via ir2 transform, i need to feed a value through it to enable type error restarts 2017-02-08T21:30:52Z stassats: right now it's `(if ,x (%unknown-key-arg-error ,x ,location) (restart-point ,location)) 2017-02-08T21:31:09Z stassats: needs to be `(if ,x (%unknown-key-arg-error ,x ,location) (restart-point ,location ,value)) 2017-02-08T21:32:05Z stassats: ; Objects of type SB!C::RESTART-LOCATION can't be dumped into fasl files. 2017-02-08T21:32:31Z stassats: xc doesn't want to listen (!set-load-form-method restart-location (:host :xc :target) :ignore-it) 2017-02-08T21:37:01Z stassats: is it too early or someting 2017-02-08T21:39:13Z dougk_: as may have been noticed already, I pushed the static linking patch with no real obvious way to turn it off. We think there's no reason to, but I'm open to opinions. 2017-02-08T21:39:21Z dougk_: Runtime speedup is around 3% 2017-02-08T21:43:25Z stassats: and make-load-form shows (MAKE-LOAD-FORM (SB!C::RESTART-LOCATION)) so what does it want 2017-02-08T21:43:33Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-02-08T21:50:03Z stassats: it wanted def!struct 2017-02-08T21:53:07Z stassats: now it doesn't want to be "dumped" in make-target-2 2017-02-08T21:53:10Z stassats: can't win 2017-02-08T21:56:09Z milanj joined #sbcl 2017-02-08T21:59:25Z stassats: it doesn't work on structure without predicates 2017-02-08T21:59:26Z stassats: doh 2017-02-08T22:07:51Z gingerale quit (Read error: Connection reset by peer) 2017-02-08T22:12:15Z quadresce quit (Quit: This computer has gone to sleep) 2017-02-08T22:27:42Z prxq joined #sbcl 2017-02-08T22:45:30Z stassats: #restartallthethings 2017-02-08T22:52:25Z stassats: i'll try USE-VALUE for keyword problems tomorrow, that'll get me even closer to type-check restarts 2017-02-08T22:52:43Z stassats: but i'll probably leave type check restarts till the next release or the NEWS will be too long 2017-02-08T22:55:52Z jamtho joined #sbcl 2017-02-08T23:38:32Z rumbler3_ joined #sbcl 2017-02-08T23:46:10Z shka quit (Ping timeout: 240 seconds) 2017-02-08T23:48:21Z prxq quit (Remote host closed the connection) 2017-02-08T23:51:27Z rumbler3_ quit (Remote host closed the connection) 2017-02-09T00:05:21Z rumbler31 joined #sbcl 2017-02-09T00:49:38Z cromachina joined #sbcl 2017-02-09T01:07:51Z whiteline quit (Ping timeout: 240 seconds) 2017-02-09T01:16:32Z whiteline joined #sbcl 2017-02-09T01:23:05Z jamtho quit (Ping timeout: 240 seconds) 2017-02-09T01:23:41Z edgar-rft joined #sbcl 2017-02-09T01:25:42Z rumbler31 quit (Remote host closed the connection) 2017-02-09T01:45:55Z quadresce joined #sbcl 2017-02-09T02:01:01Z stassats quit (Ping timeout: 240 seconds) 2017-02-09T02:06:32Z quadresce quit (Quit: This computer has gone to sleep) 2017-02-09T02:26:33Z quadresce joined #sbcl 2017-02-09T02:29:06Z quadresce quit (Client Quit) 2017-02-09T02:38:57Z quadresce joined #sbcl 2017-02-09T02:46:33Z quadresce quit (Quit: This computer has gone to sleep) 2017-02-09T02:50:45Z rpg joined #sbcl 2017-02-09T02:58:31Z nyef`` joined #sbcl 2017-02-09T02:59:56Z nyef` quit (Ping timeout: 252 seconds) 2017-02-09T03:09:35Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-02-09T03:22:50Z rpg joined #sbcl 2017-02-09T03:28:35Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-02-09T03:59:01Z DGASAU quit (Ping timeout: 240 seconds) 2017-02-09T04:01:58Z DGASAU joined #sbcl 2017-02-09T04:07:14Z DGASAU quit (Read error: Connection reset by peer) 2017-02-09T04:12:45Z DGASAU joined #sbcl 2017-02-09T04:13:15Z milanj quit (Quit: This computer has gone to sleep) 2017-02-09T05:11:36Z igajsin joined #sbcl 2017-02-09T05:50:10Z carvite quit (Ping timeout: 264 seconds) 2017-02-09T06:01:08Z carvite joined #sbcl 2017-02-09T06:29:16Z nyef``` joined #sbcl 2017-02-09T06:32:14Z whiteline_ joined #sbcl 2017-02-09T06:32:17Z whiteline quit (Disconnected by services) 2017-02-09T06:32:27Z whiteline_ is now known as whiteline 2017-02-09T06:33:08Z nyef`` quit (Ping timeout: 240 seconds) 2017-02-09T06:33:08Z edgar-rft quit (Ping timeout: 240 seconds) 2017-02-09T06:33:08Z DeadTrickster quit (Ping timeout: 240 seconds) 2017-02-09T06:33:08Z oleo quit (Ping timeout: 240 seconds) 2017-02-09T06:33:40Z DeadTrickster joined #sbcl 2017-02-09T06:33:57Z oleo joined #sbcl 2017-02-09T06:34:30Z edgar-rft joined #sbcl 2017-02-09T06:53:52Z angavrilov joined #sbcl 2017-02-09T07:03:58Z scymtym quit (Ping timeout: 264 seconds) 2017-02-09T07:13:17Z myrkraverk_ joined #sbcl 2017-02-09T07:14:01Z oleo quit (Quit: Leaving) 2017-02-09T07:14:10Z myrkraverk quit (Ping timeout: 264 seconds) 2017-02-09T07:14:12Z myrkraverk_ is now known as myrkraverk 2017-02-09T07:19:29Z myrkraverk_ joined #sbcl 2017-02-09T07:20:19Z myrkraverk quit (Ping timeout: 255 seconds) 2017-02-09T07:20:36Z myrkraverk_ is now known as myrkraverk 2017-02-09T07:29:24Z milanj joined #sbcl 2017-02-09T07:30:03Z milanj quit (Client Quit) 2017-02-09T07:39:03Z slyrus joined #sbcl 2017-02-09T08:11:22Z shaftoe left #sbcl 2017-02-09T08:33:34Z scymtym joined #sbcl 2017-02-09T08:43:50Z shka joined #sbcl 2017-02-09T09:50:11Z Bike quit (Quit: assault) 2017-02-09T10:09:58Z jibanes quit (Ping timeout: 255 seconds) 2017-02-09T10:11:36Z jibanes joined #sbcl 2017-02-09T10:39:12Z DGASAU quit (Read error: Connection reset by peer) 2017-02-09T10:41:10Z sjl joined #sbcl 2017-02-09T10:42:43Z DGASAU joined #sbcl 2017-02-09T10:56:20Z DGASAU quit (Read error: Connection reset by peer) 2017-02-09T11:08:36Z stassats joined #sbcl 2017-02-09T11:12:11Z stassats: continuing on unknown-key-arg-error makes it ignore all bad keyword args 2017-02-09T11:13:37Z stassats: i see 2017-02-09T11:14:32Z stassats: it waits for :allow-other-keys 2017-02-09T11:15:02Z stassats: so, the wording of the restart should say "ignore all unknown keyword arguments" 2017-02-09T11:15:13Z stassats: and it can't have a use-value restart 2017-02-09T11:18:51Z stassats: ok, use-value could be accomplished, but at a higher cost 2017-02-09T11:45:54Z m00natic joined #sbcl 2017-02-09T11:58:41Z mateuszb_ joined #sbcl 2017-02-09T12:01:01Z mateuszb quit (Ping timeout: 258 seconds) 2017-02-09T12:37:52Z sirkmatija joined #sbcl 2017-02-09T12:50:39Z sirkmatija quit (Quit: sirkmatija) 2017-02-09T12:51:24Z DeadTrickster quit (Ping timeout: 256 seconds) 2017-02-09T12:51:59Z sirkmatija joined #sbcl 2017-02-09T13:00:28Z rpg joined #sbcl 2017-02-09T13:00:37Z rpg quit (Client Quit) 2017-02-09T13:03:44Z sirkmatija_ joined #sbcl 2017-02-09T13:04:32Z sirkmatija quit (Remote host closed the connection) 2017-02-09T13:09:08Z MetaHert` joined #sbcl 2017-02-09T13:31:55Z stassats: bloody slime uses the same fasl for all functions on macos? 2017-02-09T13:32:02Z stassats: for C-c C-c 2017-02-09T13:32:39Z stassats: (swank/sbcl::temp-file-name ) => "/var/tmp/tmp.7WzKga" 2017-02-09T13:32:40Z sirkmatija_ quit (Quit: sirkmatija_) 2017-02-09T13:32:47Z stassats: of course adding .fasl makes it tmp.fasl 2017-02-09T13:33:22Z sjl quit (Ping timeout: 264 seconds) 2017-02-09T13:39:09Z rpg joined #sbcl 2017-02-09T13:42:01Z rpg quit (Client Quit) 2017-02-09T13:44:16Z stassats: (sb-posix:mkstemp "/tmp/abcXXXXX") returns 22 "/tmp/abc9S3PM" 2017-02-09T13:44:29Z stassats: how stupid is that? not the first value 2017-02-09T13:51:28Z jdz: Why does it even return the path? 2017-02-09T13:51:31Z stassats: well, there isn't really a good way to use fd streams in sbcl, maybe with-open-temp-file or something 2017-02-09T13:51:57Z stassats: jdz: that's how it's supposed to work 2017-02-09T13:52:30Z jdz: It seems to me the primary purpose is to open a file with read/write mode, no? 2017-02-09T13:52:40Z jdz: Fresh file. 2017-02-09T13:52:56Z stassats: yes, but mkstemp replaces the Xes 2017-02-09T13:53:01Z stassats: so you get both 2017-02-09T13:53:35Z stassats: ok, maybe the order is not that stupid, but inconsistent 2017-02-09T13:54:10Z stassats: sb-posix:mktemp returns "file", sb-posix:mkstemp returns fd "file" 2017-02-09T13:54:57Z jdz: Yes, but mktemp does not open the file, just generates a file name, right? 2017-02-09T13:55:07Z stassats: and sb-posix:mkstemp isn't really usable 2017-02-09T13:55:13Z sirkmatija_ joined #sbcl 2017-02-09T13:55:19Z stassats: on the lisp level 2017-02-09T13:55:29Z stassats: you only can do sb-posix:write and so on 2017-02-09T13:55:48Z stassats: and i'm shaving yaks 2017-02-09T13:56:17Z jdz: Yes, not sure what the conventions of sb-posix are, but getting a bivalent bi-directional file stream would be more useful. 2017-02-09T13:56:38Z stassats: you can do it, but not without getting into the internals 2017-02-09T13:56:51Z stassats: sb-sys:make-fd-stream 2017-02-09T13:57:05Z stassats: so, sb-posix should probably wrap something around that 2017-02-09T13:59:14Z stassats: and turns out, (tempnam null null) on macos uses "tmp." as a prefix 2017-02-09T13:59:29Z stassats: so, just using (tempnam null "slime") will avoid the dot 2017-02-09T14:00:43Z jdz: All mkstemp still is the right function to use. 2017-02-09T14:00:56Z stassats: except that it's unusable 2017-02-09T14:01:07Z jdz: Yes, in its current state. 2017-02-09T14:01:20Z jdz: I'm not volunteering, so I'll just shut up. 2017-02-09T14:01:22Z stassats: well, i can't make slime depend on its future state 2017-02-09T14:01:48Z stassats: and i don't wnat to use sb-sys:make-fd-stream in slime 2017-02-09T14:01:59Z jdz: Why is that? 2017-02-09T14:02:18Z stassats: it's internal and not permanent 2017-02-09T14:02:30Z stassats: though, slime already uses it 2017-02-09T14:02:41Z stassats: well, slime is deep into sbcl internals 2017-02-09T14:03:00Z jdz: Yes, I bet the SBCL back-end is. 2017-02-09T14:05:31Z stassats: and using the "slime" prefix will reduce the possibility of races even further 2017-02-09T14:05:41Z stassats: so mkstemp is largely academic here 2017-02-09T14:19:52Z MetaHert` quit (Ping timeout: 240 seconds) 2017-02-09T14:25:09Z sirkmatija_ quit (Quit: sirkmatija_) 2017-02-09T14:37:29Z oleo joined #sbcl 2017-02-09T14:43:04Z cromachina quit (Read error: Connection reset by peer) 2017-02-09T15:04:02Z MetaHert` joined #sbcl 2017-02-09T16:02:35Z jibanes quit (Ping timeout: 240 seconds) 2017-02-09T16:02:49Z shka quit (Quit: Konversation terminated!) 2017-02-09T16:04:43Z jibanes joined #sbcl 2017-02-09T16:13:48Z shka joined #sbcl 2017-02-09T16:16:17Z shka quit (Client Quit) 2017-02-09T16:19:53Z Cthulhux quit (Ping timeout: 276 seconds) 2017-02-09T16:23:47Z Cthulhux joined #sbcl 2017-02-09T16:27:51Z Cthulhux quit (Changing host) 2017-02-09T16:27:51Z Cthulhux joined #sbcl 2017-02-09T16:30:15Z m00natic quit (Remote host closed the connection) 2017-02-09T16:32:29Z shka joined #sbcl 2017-02-09T16:33:28Z shka quit (Client Quit) 2017-02-09T16:38:26Z m00natic joined #sbcl 2017-02-09T16:49:50Z prxq joined #sbcl 2017-02-09T16:56:03Z gingerale joined #sbcl 2017-02-09T17:14:53Z MetaHert` quit (Ping timeout: 260 seconds) 2017-02-09T17:23:47Z Bike joined #sbcl 2017-02-09T17:43:33Z m00natic quit (Remote host closed the connection) 2017-02-09T17:56:46Z rpg joined #sbcl 2017-02-09T17:57:57Z sirkmatija_ joined #sbcl 2017-02-09T17:58:00Z shka joined #sbcl 2017-02-09T17:59:19Z DeadTrickster joined #sbcl 2017-02-09T18:08:46Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-02-09T18:15:41Z shka quit (Quit: Konversation terminated!) 2017-02-09T18:19:45Z rpg joined #sbcl 2017-02-09T18:23:30Z DeadTrickster quit (Ping timeout: 240 seconds) 2017-02-09T18:30:44Z sirkmatija_ quit (Quit: sirkmatija_) 2017-02-09T18:35:31Z angavrilov quit (Remote host closed the connection) 2017-02-09T18:43:37Z DeadTrickster joined #sbcl 2017-02-09T18:50:33Z DeadTrickster quit (Ping timeout: 260 seconds) 2017-02-09T18:54:34Z sirkmatija_ joined #sbcl 2017-02-09T18:57:14Z stassats: :gc-deadlock experiences memory faults 2017-02-09T18:57:16Z stassats: but does not fail 2017-02-09T18:57:24Z stassats: error creating thread 2809: Unhandled memory fault at #x7FFFEBB68028. -- backing off for retry 2017-02-09T19:00:17Z stassats: faults withing pthread_create 2017-02-09T19:02:17Z nyef```: ... Looks like a native stack space, maybe? 2017-02-09T19:03:53Z stassats: normally creating a lot of threads fails with An mprotect call failed with ENOMEM. This probably means that the maximum amount 2017-02-09T19:04:10Z stassats: which is not a great way to fail, incidentally 2017-02-09T19:05:34Z stassats: but it can handle the three thousand threads of the test 2017-02-09T19:06:04Z stassats: dying threads? 2017-02-09T19:06:07Z nyef```: ... Three *thousand*? My god, the stop-the-world cost on that alone! 2017-02-09T19:06:39Z Redlook joined #sbcl 2017-02-09T19:07:49Z stassats: only on linux, so far 2017-02-09T19:13:19Z stassats: so, make-thread is probably not interrupt safe or something like that 2017-02-09T19:17:01Z nyef``` tries to build a 32-bit x86 SBCL. 2017-02-09T19:18:43Z shka joined #sbcl 2017-02-09T19:19:17Z stassats: weird 2017-02-09T19:19:38Z nyef```: Hrm. That worked. 2017-02-09T19:19:57Z stassats: nyef```: that's not weird 2017-02-09T19:20:21Z nyef```: It's not? 2017-02-09T19:21:08Z stassats: now i get a fault somewhere not in pthread_create 2017-02-09T19:22:55Z stassats: in CONTEXT-PC-ADDR? 2017-02-09T19:23:29Z stassats: a faster way to get it to fail run it, then C-c it, and it lands in ldb 2017-02-09T19:23:41Z stassats: but, it gets CONTEXT-PC-ADDR, so, the interrupt context is hosed 2017-02-09T19:23:51Z stassats: weird^2 2017-02-09T19:24:13Z dougk__ joined #sbcl 2017-02-09T19:24:43Z stassats: that's after interrupt_handle_pending => SIGINT-HANDLER 2017-02-09T19:24:48Z stassats: huh huh 2017-02-09T19:25:05Z stassats: does not make any sense 2017-02-09T19:25:22Z stassats: (which i say it all the time i encounter an sbcl bug) 2017-02-09T19:27:42Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-02-09T19:27:59Z stassats: (sb-sys:without-interrupts (sleep 3)) C-c works ok 2017-02-09T19:28:01Z nyef```: Okay, doesn't work if I build on multilib, does work if I chroot to a pure 32-bit environment. Remaining possibilities are three: host-target leakage, multilib userland damage, and multilib C compiler damage. 2017-02-09T19:29:01Z nyef```: ... Wha? "hard link not allowed for directory"? 2017-02-09T19:29:17Z stassats: i'm also bombarding it with sigprof 2017-02-09T19:29:19Z nyef```: Lovely. 2017-02-09T19:30:16Z stassats: yeah, sigprof seems to be necessary to mess interrupt contexts 2017-02-09T19:30:59Z stassats: but also lots of threads with sb-ext:gc 2017-02-09T19:31:03Z stassats: what on earth 2017-02-09T19:31:48Z Redlook quit (Ping timeout: 240 seconds) 2017-02-09T19:31:53Z nyef```: One "cold WARN" for "defining a setf macro for ~S when ~S is also defined", seven leftover cold-init symbols... 2017-02-09T19:32:42Z nyef```: ... I'm about to be kicking myself for missing the obvious, aren't I? 2017-02-09T19:34:37Z quadresce joined #sbcl 2017-02-09T19:45:10Z stassats: can't reproduce reliably 2017-02-09T19:45:43Z nyef```: ... Isn't 64-bit-host vs. 32-bit-target XC issues... 2017-02-09T19:46:22Z nyef```: ... stuff-grovelled-from-headers is sane. 2017-02-09T19:48:14Z nyef```: ... Something goes wrong during target-1 if done from the 64-bit environment. 2017-02-09T19:49:18Z quadresce quit (Quit: This computer has gone to sleep) 2017-02-09T19:50:45Z quadresce joined #sbcl 2017-02-09T19:51:22Z stassats: bombarding with sigint doesn't seem to bother it 2017-02-09T19:51:35Z stassats: though i'm not invoking the full debugger 2017-02-09T19:53:15Z stassats: "How do we know that the SIGINT's context structure from the other thread is still alive and meaningful?" 2017-02-09T19:53:32Z stassats: so much badness at the same time 2017-02-09T19:58:45Z scymtym_ joined #sbcl 2017-02-09T20:00:49Z quadresce quit (Quit: This computer has gone to sleep) 2017-02-09T20:01:41Z nyef```: ... Looks like the SETF-macro thing is for GETHASH? 2017-02-09T20:02:32Z scymtym quit (Ping timeout: 240 seconds) 2017-02-09T20:02:59Z stassats: ok 2017-02-09T20:03:13Z stassats: it's that "How do we know that the SIGINT's context structure from the other thread is still alive and meaningful?" 2017-02-09T20:03:22Z stassats: for the sigint part, for the original failure, no idea 2017-02-09T20:03:47Z nyef```: ... sbcl.nm is different, but some bits are the same, possibly a different effective link order between the two systems? 2017-02-09T20:04:52Z scymtym_ quit (Ping timeout: 240 seconds) 2017-02-09T20:05:18Z stassats: but when do we ever examine the context from interactive-interrupt? 2017-02-09T20:05:35Z stassats: it's, the pc 2017-02-09T20:05:53Z nyef```: The .nm files are the same size, at least. 2017-02-09T20:06:41Z stassats: i think it never caused much problems because we delay killing of threads 2017-02-09T20:07:09Z stassats: but here with lots of threads dying their stack die too, hence this incredible badness from sigint-handler 2017-02-09T20:07:25Z stassats: it was noted before, i wondered about it before, but yet it's still there 2017-02-09T20:07:27Z stassats: sigh 2017-02-09T20:19:33Z milanj joined #sbcl 2017-02-09T20:21:49Z foom quit (Ping timeout: 255 seconds) 2017-02-09T20:33:57Z foom joined #sbcl 2017-02-09T20:42:56Z stassats: ok, that solved, back to the original problem 2017-02-09T20:47:31Z sjl joined #sbcl 2017-02-09T20:50:32Z stassats: i need to be building clasp for the original problem to surface 2017-02-09T20:50:38Z quadresce joined #sbcl 2017-02-09T20:51:58Z stassats: so, when cpu is somewhat loaded pthread_create crashes somewhere 2017-02-09T20:52:02Z stassats: "what?" 2017-02-09T21:01:09Z igajsin quit (Ping timeout: 245 seconds) 2017-02-09T21:04:00Z shka quit (Ping timeout: 240 seconds) 2017-02-09T21:12:43Z stassats: running 8 (defun burn () (loop (sleep 0.001) (loop repeat 30000 do (setf *x* (logand #xFFFFFFF (1+ *x*)))))) on another sbcl does the trick 2017-02-09T21:14:24Z scymtym joined #sbcl 2017-02-09T21:23:59Z stassats: pretty reliable and fast triggering 2017-02-09T21:33:37Z stassats: it's saying that th->os_attr is bogus 2017-02-09T21:33:44Z stassats: in the call to pthread_create 2017-02-09T21:34:47Z stassats: but pthread_attr_init before it succeeded 2017-02-09T21:38:25Z stassats: don't tell me this is a libc/linux problem 2017-02-09T21:50:02Z stassats: gdb shows th=0x7fffef730000, which isn't mapped 2017-02-09T21:50:49Z sirkmatija_ quit (Quit: sirkmatija_) 2017-02-09T21:51:17Z stassats: does not make any sense whatsoever 2017-02-09T21:55:15Z stassats: ok 2017-02-09T21:55:25Z stassats: it's the same 88a92a8129b6559c140e16e8d0e01bb7bba56f6a but on linux 2017-02-09T21:58:05Z stassats: yep 2017-02-09T22:01:06Z DeadTrickster joined #sbcl 2017-02-09T22:05:27Z stassats: got bitten by the same thing twice 2017-02-09T22:25:33Z rpg joined #sbcl 2017-02-09T22:50:32Z trinque joined #sbcl 2017-02-09T22:51:26Z prxq quit (Remote host closed the connection) 2017-02-09T23:03:06Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-02-09T23:09:21Z abruanese joined #sbcl 2017-02-09T23:15:13Z rpg joined #sbcl 2017-02-09T23:19:34Z rpg quit (Client Quit) 2017-02-10T00:02:19Z milanj quit (Quit: Leaving) 2017-02-10T00:45:25Z gingerale quit (Read error: Connection reset by peer) 2017-02-10T00:46:54Z cromachina joined #sbcl 2017-02-10T00:54:40Z jibanes quit (Ping timeout: 240 seconds) 2017-02-10T00:56:29Z jibanes joined #sbcl 2017-02-10T01:08:26Z cromachina quit (Read error: Connection reset by peer) 2017-02-10T01:08:55Z cromachina joined #sbcl 2017-02-10T01:27:20Z dougk__ quit (Ping timeout: 256 seconds) 2017-02-10T01:54:05Z quadresce: I think I brought this up over a year ago. Has anyone thought about what a specialized array-of-struct might look like in Lisp? 2017-02-10T01:54:39Z quadresce: What's the biggest difficulty in making that a language feature? Keeping track of references to the array? 2017-02-10T01:54:54Z stassats: i though about now: simple-vector 2017-02-10T01:55:03Z stassats: thought .. it 2017-02-10T01:55:18Z quadresce: That's (internally) an array of pointers to structures, no? 2017-02-10T01:55:36Z stassats: yes 2017-02-10T01:56:14Z quadresce: That's pretty bad for when you have e.g. a 3D mesh data structure with 10s of millions of points 2017-02-10T01:56:20Z quadresce: s/points/mesh elements/ 2017-02-10T01:56:41Z stassats: tough luck then 2017-02-10T01:56:58Z nyef```: If it's an actual (lisp) struct, then it needs to have a header for various raisins. 2017-02-10T01:56:59Z quadresce: stassats, Sometimes you're brilliant, and sometimes you're utterly unhelpful. ;) 2017-02-10T01:57:11Z stassats: quadresce: i was aiming for the latter right now 2017-02-10T01:58:12Z quadresce: I was curious about how this might be supported in special cases, like e.g. DX is for structures (IIRC), or slot ordering for FFI compat w/slots of some sort of primitive types 2017-02-10T01:58:39Z nyef```: On the other paw, as long as the structs don't contain heap pointers, and you can pin down the LAYOUT object, you could carve out a chunk of non-heap space and put the objects there. 2017-02-10T01:58:56Z nyef```: Note that DX structs aren't allowed to have unboxed slots on non-x86oids. 2017-02-10T01:59:26Z nyef```: (That DX itself is a horriffic kludge in implementation is a separate matter.) 2017-02-10T02:00:26Z nyef```: If you're looking to directly interface alien code anyway, your constraints are vastly different. 2017-02-10T02:01:00Z quadresce: For the application a couple years ago, it wasn't interfacing with alien code, it was just an effort to make the code not look like shit while also being reasonably efficient 2017-02-10T02:01:04Z stassats: let's not call it an array of structs 2017-02-10T02:01:08Z quadresce: (indeed, it was mesh manipulation) 2017-02-10T02:01:12Z stassats: but an array with variable specialization 2017-02-10T02:01:51Z quadresce: when I said structs, I meant specifically structure objects, which maybe is more specific than what you're saying 2017-02-10T02:02:21Z nyef```: So, you had a "bunch" of objects, all the same type, that you wished to access by index, yet still be reasonably efficient? 2017-02-10T02:02:26Z stassats: well, structure objects, you've already got simple-vector 2017-02-10T02:02:42Z stassats: otherwise it's not making sense to have an array of structs 2017-02-10T02:02:46Z stassats: if they are not compacted 2017-02-10T02:03:16Z quadresce: nyef```, yes, objects that were typically filled with floats and pointers 2017-02-10T02:03:43Z nyef```: ... So, they need to be at least scanned by the GC, and possibly deallocated by the GC? 2017-02-10T02:04:37Z quadresce: For the purpose of this discussion I wouldn't be opposed to just thinking about structures with immediate or unboxed objects. 2017-02-10T02:05:14Z quadresce: i could (back then) separate out the pointers, and keep e.g. position data or color data (single floats and fixnums respectively) in special places 2017-02-10T02:05:30Z stassats: if you want to call AREF and for it to spit out an object, then it's not a good idea 2017-02-10T02:05:35Z quadresce: the slowdown was when iterating over these huge vectors of structures of the immediate objects 2017-02-10T02:06:06Z nyef```: Poor cache effects, plus the extra indirection? 2017-02-10T02:06:11Z stassats: it wouldn't give you anything but save on a pointer dereferenc 2017-02-10T02:06:12Z stassats: e 2017-02-10T02:06:43Z stassats: i.e. not worth it 2017-02-10T02:06:44Z quadresce: stassats, it's not just a pointer dereference, it's also a fetch to main memory every time 2017-02-10T02:07:01Z stassats: for what? 2017-02-10T02:07:22Z nyef```: So, I'm still thinking the non-heap-space approach, except that there's a bit of a problem with the structure-object LAYOUT. On non-x86oid gencgc, you can have your primary thread mutate *PINNED-OBJECTS* to hold the LAYOUT in place, at least, but that doesn't help on cheneygc or x86oids. 2017-02-10T02:07:37Z quadresce: you have a spaghetti of pointers 2017-02-10T02:08:05Z nyef```: Right, you have the extra indirection, plus nasty cache effects because the GC can move the structs all over the place. 2017-02-10T02:08:39Z quadresce: and when you're trying to compute 100 million curvature tensors on these triangles, it's just slow and super consy 2017-02-10T02:08:42Z stassats: if the vector is the only reference, they ought to be laid out linearly 2017-02-10T02:09:08Z nyef```: The vector won't be the only reference if the processing is consy. 2017-02-10T02:09:38Z quadresce: even if it was initially allocated linearly, won't GC possibly copy things around without regard to any of the initial ordering? 2017-02-10T02:10:19Z nyef```: Yes-and-no. It'll copy things around in the order that it finds the references. 2017-02-10T02:10:22Z stassats: the gc is linear as long as the references are linear, but that's not always the fact 2017-02-10T02:10:49Z nyef```: So if the only reference is the vector, it'll be linear, but if you have live references from your stack, register set, or elsewhere on the heap it can be less linear. 2017-02-10T02:11:10Z nyef```: And then we turn around and point out that all of these objects are live, so why the hell are we evacuating the page in the first place? 2017-02-10T02:11:13Z stassats: in the former cases, it'll just get pinned down 2017-02-10T02:11:25Z stassats: (on platforms where people actually use sbcl) 2017-02-10T02:11:39Z nyef```: Only a page worth at a time, so if there's more references than just that it can still fragment. 2017-02-10T02:11:40Z quadresce: yes, so a typical computation will unpack some data from the struct, do some manipulation, perhaps deposit new data or deposit data elsewhere in memory 2017-02-10T02:12:05Z quadresce: the point is that the vector payload is being computed with, not just sitting around looking pretty 2017-02-10T02:12:18Z nyef```: Have you considered using fortran instead? (-; 2017-02-10T02:13:10Z quadresce: haha ;) Like I said, my workaround was to make a (define-struct-of-array X ...) which looks like defstruct but a MAKE-X took a num-elements argument 2017-02-10T02:13:17Z quadresce: and it just made NUM-SLOTS specialized arrays 2017-02-10T02:13:45Z quadresce: but as you can imagine that's not a totally transparent abstraction 2017-02-10T02:14:19Z stassats: but you would like a variable specialization array, wouldn't you? 2017-02-10T02:14:24Z nyef```: Hrm. And there's also a question of how much (if at all!) you want to get into patching SBCL to make this whole thing work for your project.. 2017-02-10T02:15:14Z stassats: having a variable specialization array will save on headers, alignment, whatnot 2017-02-10T02:16:00Z stassats: and behave just a like an array of structs, just you can't get to objects 2017-02-10T02:16:06Z nyef```: You know, there's a simple way to scare up some extra immediate lowtags on 64-bit targets, but I don't know if the code support for it has rotted or not. 2017-02-10T02:16:25Z quadresce: nyef```, It's been on my mind the past couple of years. It ended up being too slow to work with > 10 million triangles on one of those beefy Mac Pros 2017-02-10T02:16:39Z stassats: nyef```: lowtags for what? 2017-02-10T02:16:53Z quadresce: basically I guess I have a larger goal of thinking about things that would make sbcl better at scientific computing, and this was just one such work-related issue 2017-02-10T02:17:00Z nyef```: We could have a word-aligned heap pointer, maybe? 2017-02-10T02:17:08Z nyef```: (Oh, look: Locatives!) 2017-02-10T02:18:29Z stassats: i'd just sb-alien:make-alien 2017-02-10T02:19:19Z stassats: (no gc, complete freedom) 2017-02-10T02:19:48Z nyef```: No GC, complete freedom, but building abstractions over that sucks. 2017-02-10T02:19:56Z quadresce: I have a tenuous relationship with FFI. It's hard to debug, it's hard to manage memory, it's not integrated with Lisp's standard library (e.g., any algorithm written using AREF), etc. 2017-02-10T02:20:45Z stassats: it's not FFI 2017-02-10T02:20:51Z stassats: no foreign functions involved 2017-02-10T02:21:00Z nyef```: ... except for malloc() and free(). 2017-02-10T02:21:28Z nyef```: But, yeah, you've basically given up on GC at that point. 2017-02-10T02:21:39Z quadresce: stassats, I guess I don't know how to do what you're suggesting. I don't know how to use AREF or complex multiplication on objects I allocated with malloc. 2017-02-10T02:22:55Z stassats: and there's basically no simd in SBCL 2017-02-10T02:23:17Z stassats: so you've chosen a completely wrong tool 2017-02-10T02:23:33Z nyef```: Not building with sb-simd-pack ? 2017-02-10T02:23:54Z quadresce: stassats, I wouldn't say "wrong tool", but maybe not optimal for this sub-problem of a much larger software project. 2017-02-10T02:24:01Z stassats: nyef```: well, quadresce wants to use AREF, i assume sb-simd-pack is out of the question too 2017-02-10T02:24:30Z nyef```: Mmm. And at this point I'd also be looking towards good GPU offloading. 2017-02-10T02:25:01Z |3b|: SOA tends to be nicer there too :) 2017-02-10T02:25:18Z stassats: quadresce: well, there's no point in making SBCL a part of a sub-problem of some large project 2017-02-10T02:25:34Z quadresce: What if the larger project uses SBCL? 2017-02-10T02:25:58Z quadresce: That's the point, is that SBCL came along for the ride, and I tried to push it as far as it'd go, so I didn't have to have this awful computationally heterogeneous project. 2017-02-10T02:26:28Z |3b|: quadresce: did you compare array of structs with fully typed data to the struct of typed arrays? 2017-02-10T02:26:45Z nyef```: ... Down this path lies the SBCL equivalent of SCL, I'm sure. 2017-02-10T02:27:10Z quadresce: Yes, the fully typed struct of arrays was significantly enough better 2017-02-10T02:27:11Z stassats: no, the point is, your sub-problem is not representative of common SBCL usage, so nobody is interested in making SBCL good at that one problem 2017-02-10T02:27:36Z |3b| thinks the variable specialization array sounds useful though (assuming i understood it) 2017-02-10T02:27:54Z nyef```: I'm curious enough to want to look more deeply into it, at least. 2017-02-10T02:28:27Z quadresce: stassats, I'm not pushing anyone to do work, I just wanted to know if people thought about how some of these things might be accomplished. I hope you didn't take it any other way. 2017-02-10T02:28:39Z nyef```: I still haven't written "Nyef's Implementation of Lisp" yet, with :NIL on *FEATURES*, and it's definitely on my list of things to do before I die. d-: 2017-02-10T02:28:46Z quadresce: hahaha 2017-02-10T02:29:13Z quadresce: joke's on you, I always vehemently use #+#:foo 2017-02-10T02:29:20Z quadresce: even tho slime breaks 2017-02-10T02:29:32Z nyef```: And I use #+(or). 2017-02-10T02:29:46Z stassats: and i don't write code that's not used 2017-02-10T02:29:53Z quadresce: #+#:documentation #+#:slower-version #+#:readable-version 2017-02-10T02:30:04Z quadresce: #+#:example-usage 2017-02-10T02:30:37Z quadresce: #+#:|if array of structs were efficiently supported the code would look like this ;)| 2017-02-10T02:31:02Z |3b| just uses #++, so still risky but might work on lisps named NIL :) 2017-02-10T02:31:50Z nyef```: ... It occurs to me that the real "requirement" here is that AREF be able to be hooked for certain arrays to do... some sort of magic. 2017-02-10T02:32:21Z stassats: hairy magic? 2017-02-10T02:32:58Z quadresce: (setf aref) and (setf (slot (aref ))) are probably very hairy 2017-02-10T02:33:12Z nyef```: Yes. Yes, they are. 2017-02-10T02:34:09Z stassats: what else would be of more general interest: separate gcable heaps 2017-02-10T02:34:26Z stassats: like SB-INT:MAKE-STATIC-VECTOR, but that can be gced, but on command 2017-02-10T02:35:09Z nyef```: stassats: I don't quite know what to make of that, but if you can define the semantics for me, I might be able to make it happen. 2017-02-10T02:35:15Z stassats: we already have a mark and sweep collector 2017-02-10T02:35:50Z nyef```: ... oohhhhh... Thank you for reminding me. I need to take a look at that. 2017-02-10T02:36:01Z stassats: nyef```: a static heap which is not scanned 2017-02-10T02:36:22Z stassats: but which can be optionally cleared if nothing from the normal heap points to it 2017-02-10T02:36:42Z nyef```: Not scanned, so any references from the static heap to the main heap will break instantly? 2017-02-10T02:36:56Z stassats: all specialized 2017-02-10T02:36:58Z stassats: like MAKE-STATIC-VECTOR 2017-02-10T02:36:58Z nyef```: (Or, well, upon GC?) 2017-02-10T02:37:22Z nyef```: Okay, so it's all unboxed storage, thus basically all specialized vectors? 2017-02-10T02:37:33Z nyef```: No structure-objects at all. 2017-02-10T02:37:38Z stassats: right 2017-02-10T02:39:23Z stassats: without it being static and ignored by gc no amount of fancy struct-vectors will help 2017-02-10T02:40:01Z nyef```: But you still want to GC it if there are no references from the normal heap to it? 2017-02-10T02:40:12Z nyef```: Or would it be sufficient to have an explicit deallocation function? 2017-02-10T02:40:22Z stassats: more of a manual (static-gc), not auto-triggering 2017-02-10T02:40:56Z stassats: (for development) 2017-02-10T02:41:05Z nyef```: Hrm. So... you'd have to do a main-heap scan to GC the "static" heap? 2017-02-10T02:41:24Z stassats: yeah 2017-02-10T02:42:06Z nyef```: Would you believe me if I said that I could do that from stock SBCL? 2017-02-10T02:42:21Z stassats: from lisp? 2017-02-10T02:42:31Z stassats: map-allocated-objects? 2017-02-10T02:42:36Z nyef```: Spot on. 2017-02-10T02:43:25Z nyef```: And I have a couple of tricks for being able to outfox the gencgc allocators so that you can use the normal MAKE-ARRAY logic. 2017-02-10T02:44:31Z stassats: maybe gcing is not neccesary, but right now you can't deallocate a MAKE-STATIC-VECTOR 2017-02-10T02:44:34Z nyef```: Anyway, I think that better support for scientific computing in SBCL would be a *good* thing, provided that we can figure out what "better support" actually involves and that it doesn't screw up the more general cases. 2017-02-10T02:44:55Z nyef```: Isn't half the point of MAKE-STATIC-VECTOR that it survives SLAD? 2017-02-10T02:45:35Z nyef```: Because, hello? If you don't need it to survive SLAD, just mmap() some space, write in the array header, and %MAKE-LISP-OBJ a pointer. 2017-02-10T02:46:06Z nyef```: (You can't MAKE-LISP-OBJ the pointer, because it's not heap space, and thus you'll get an error to the face if you try.) 2017-02-10T02:48:17Z stassats: http://paste.lisp.org/display/142849#4 2017-02-10T02:48:40Z stassats: rememberd this thing 2017-02-10T02:49:04Z nyef```: Yeah, basically that sort of trick. 2017-02-10T02:52:02Z nyef```: So, an "extensible" array type, for which the "stride" is specified, and unoptimized AREF returns an object similar to a HEAP-ALIEN ? 2017-02-10T02:52:34Z stassats: dealing with heap aliens is a nightmare 2017-02-10T02:53:23Z nyef```: Well, possibly not a HEAP-ALIEN, but the explicit ALIEN-VALUE wrapper thing that has a parsed alien type and a SAP as its two slots. 2017-02-10T02:53:42Z nyef```: And which the compiler tries to optimize away as much as it can. 2017-02-10T02:54:03Z stassats: it can't do much, thoguh 2017-02-10T02:54:10Z stassats: right, it can't even see through a let 2017-02-10T02:54:25Z nyef```: Weren't we looking at "sliceable" arrays at one point, and "hairy" arrays in which we could specify the relative layout of the dimensions in memory, so we could have it be row-major or column-major as an allocation option? 2017-02-10T02:54:45Z stassats: (defun foo () (let ((z (sap-alien (sb-sys:int-sap 0) (* unsigned)))) (deref z))) hello heap llocation 2017-02-10T02:55:12Z nyef``` sighs. 2017-02-10T02:55:56Z nyef```: Clearly, I'm going to need to add SB-ALIEN to my list of things to look at the compiler magic for, somewhere after "DX allocation", "constriant", and "all of IR1". /-: 2017-02-10T02:56:32Z rumbler31 joined #sbcl 2017-02-10T02:56:56Z stassats: it tries to do this from a transform 2017-02-10T02:57:13Z stassats: it needs the same treatment as double-floats or word integers 2017-02-10T02:57:19Z stassats: (which is poor as well) 2017-02-10T02:57:23Z stassats: but not as poor 2017-02-10T02:57:43Z stassats: and our representation selection is lacking in general 2017-02-10T02:59:16Z nyef```: The impression that I get is that we have very few maintainers, and even fewer maintainers who can handle deep compiler magic. 2017-02-10T03:00:01Z stassats: an example of poor boxing: (defun foo (m) (let ((x 10d0)) (if m (setf x m)) x)) 2017-02-10T03:00:09Z stassats: 10d0 is runtime consed 2017-02-10T03:00:22Z nyef```: Eek. 2017-02-10T03:00:27Z stassats has a list of many such annoyances 2017-02-10T03:01:13Z stassats: i made boxed-ref-p more complicated than it was, but it still doesn't handle all the things 2017-02-10T03:01:24Z stassats: when i realized a better approach is need 2017-02-10T03:01:57Z stassats: boxed-combination-ref-p is pretty bad 2017-02-10T03:02:46Z nyef```: There was a suggestion at one point (by pkhuong?) that we do the linear-programming thing with the representation selection cost effects, and use the viterbi algorithm to do the actual repsel. 2017-02-10T03:03:57Z nyef```: Half in jest, I think, but only half. 2017-02-10T03:04:09Z stassats: and i gave up on making fixnum/unsigned optimized VOPs some time ago as well, because what's the point if it's going to select whatever it pleases 2017-02-10T03:04:30Z stassats: i don't think it takes conversion costs correctly into account 2017-02-10T03:04:47Z nyef```: Exactly why linear programming becomes attractive. 2017-02-10T03:05:12Z nyef```: Plot out the costs for all of the repsel choices, and pick the best one. 2017-02-10T03:05:58Z stassats: can it handle something like loops? one conversion in a loop will cost more than two outside 2017-02-10T03:06:31Z stassats: but that's getting into "making SBCL smart" territory, as apposed to patching bits and pieces 2017-02-10T03:06:46Z nyef```: And what's wrong with making SBCL smart? 2017-02-10T03:06:58Z stassats: i haven't do that before 2017-02-10T03:07:00Z stassats: done 2017-02-10T03:07:25Z nyef```: I have. And I've screwed it up on occasion, but I've done it. 2017-02-10T03:07:37Z stassats: outside of some iterative improvements, that is 2017-02-10T03:08:55Z stassats: from the list of annoyances, the register allocator is annoying me as well 2017-02-10T03:09:16Z nyef```: Heh. And the register allocator has already been rebuilt once. 2017-02-10T03:09:40Z stassats: i haven't touched it once, too bad there isn't any outright bugs 2017-02-10T03:10:39Z stassats: ironclad takes about an eternity to compile 2017-02-10T03:10:48Z stassats: because of regalloc 2017-02-10T03:13:45Z stassats: sometimes i wonder how SBCL manages to succeed at all, but then i remember that there's no funding of other CL implementations either, and all the money go to Javascript engines 2017-02-10T03:15:21Z nyef```: Yeah, basically. There are, what, two "commerical" implementations, and those plus CCL are largely vectors for the consulting businesses of their host companies. 2017-02-10T03:15:23Z quadresce: SBCL could be funded, but there's no open avenue to do it. 2017-02-10T03:15:47Z quadresce: There's evidently no coherent team, no entry point for payment or invoicing, etc. 2017-02-10T03:16:01Z stassats: nyef```: and they don't want all the bugs associated with making the compiler smarter 2017-02-10T03:16:41Z nyef```: Nikodemus tried to make a go of paid SBCL support for a while, I took on a contract at one point to do some SBCL maintenance... 2017-02-10T03:16:59Z nyef```: But, yeah, there isn't really an "SBCL foundation" or anything like that that I'm aware of. 2017-02-10T03:17:14Z quadresce: Actually advertising services that isn't just a PayPal button is 80% of the work 2017-02-10T03:18:10Z stassats: Google once sent me $250 2017-02-10T03:18:12Z stassats: and a blanket 2017-02-10T03:18:46Z stassats: (for being involved in SBCL) 2017-02-10T03:18:52Z quadresce: Are any SBCL hackers (incl. you guys) even open to contract work? 2017-02-10T03:19:08Z stassats: part of the fun is in not having a contract 2017-02-10T03:19:22Z quadresce: understandable 2017-02-10T03:20:09Z stassats: and being able to say "yeah, this is not going to work out, better move onto something else" 2017-02-10T03:20:21Z nyef```: That. Precisely that. 2017-02-10T03:20:54Z nyef```: The ability to say "okay, I've looked at this, and I don't have a good angle on it, and it's time for me to set it aside." 2017-02-10T03:21:09Z nyef```: Or even "yeah, no. I don't even want to look at that." 2017-02-10T03:21:24Z quadresce: Ideally that analysis is done on the front-end before committing. 2017-02-10T03:21:43Z nyef```: Sometimes that analysis is more than half the work. 2017-02-10T03:22:23Z quadresce: I suppose. 2017-02-10T03:22:33Z nyef```: If I'm getting paid for that, even if I end up saying "I can't help you with this", that's fine, but it's a *lousy* business model. 2017-02-10T03:22:49Z stassats: the other day i spent a day just to write a bug ticket 2017-02-10T03:22:57Z stassats: with something more than "here's a test case" 2017-02-10T03:23:34Z nyef```: I've literally *taken out* and done right things that nikodemus has put in because he didn't have a good angle, and so ran with his bad angle. 2017-02-10T03:23:48Z quadresce: nyef```, I don't think anyone can and will make a business out of SBCL, but it doesn't mean features couldn't be supported financially. 2017-02-10T03:24:02Z stassats: well, maybe patreon or something? 2017-02-10T03:24:10Z nyef```: And what he did was very probably right at the time, but it was still broken. 2017-02-10T03:24:32Z stassats: i think the only thing i'd be able to do for money is to do a port 2017-02-10T03:24:37Z quadresce: stassats, businesses want to be invoiced, not to chip in to some random bucket 2017-02-10T03:25:26Z nyef```: A bounty system might work, except that you'd need some serious cash behind the bounties to make them worth looking at. 2017-02-10T03:25:48Z rumbler31 quit (Remote host closed the connection) 2017-02-10T03:26:03Z stassats: porting is a straightforward affair, just involves a lot of headbanging against a wall 2017-02-10T03:26:27Z nyef```: (There's a heck of a risk premium there: Aside from the possibility of other bounty hunters, there's also the question of being able to do the job in the first place, and that analysis requires a time investment.) 2017-02-10T03:27:02Z quadresce: Like, something I think we might be willing to pay for is a first pass on a tree shaking API. Does it need to be perfect? No. Does it need to cover all cases? No. 2017-02-10T03:27:25Z quadresce: Another is a clean and documented way to deal with memory exhaustion and post-exhaustion clean-up. 2017-02-10T03:27:30Z nyef```: Amen on the porting. I've done two and a half of the five cases listed on the website. It's typically straightforward, but a lot o fwork. 2017-02-10T03:28:29Z nyef```: Tree-shaking API: I have no good angle, and am philosophically opposed in the first place (I'd rather have an *additive* system than a *subtractive* one). 2017-02-10T03:28:29Z quadresce: (For "tree shaking", I took nyef's hack and expanded upon it incrementally. Seems to not break anything...) 2017-02-10T03:28:40Z nyef```: Memory-exhaustion handling: I have no good angle. 2017-02-10T03:29:02Z stassats: well, one angle is to grow the dynamic space 2017-02-10T03:29:18Z stassats: which seems like a SMOP 2017-02-10T03:29:53Z nyef```: ... my hack? Was that the one which absolutely *gutted* the globaldb? 2017-02-10T03:30:03Z quadresce: Yes! I love it. 2017-02-10T03:30:04Z nyef```: And then went on to slash the package system to ribbons? 2017-02-10T03:30:57Z quadresce: M-A-O deleting debug/inline info, gut most of the documentation slots, gut the globaldb 2017-02-10T03:31:32Z nyef```: Yeah, this is ringing a bell. 2017-02-10T03:31:39Z quadresce: i forgot how much space that saved, let me see... 2017-02-10T03:31:56Z nyef```: I thought half the point of that one was to make it harder to RE, not to save space? 2017-02-10T03:32:03Z quadresce: that too, yes 2017-02-10T03:32:17Z stassats: removing documentation and debug info is not really tree shaking, though 2017-02-10T03:32:19Z quadresce: but saving space is nice when you're deploying to lots of machines 2017-02-10T03:32:27Z quadresce: stassats, maybe I'm overloading the term too much 2017-02-10T03:34:02Z quadresce: saved a few megs 2017-02-10T03:35:49Z nyef```: So, business models: 1. Taking a retainer to do support work. 2. Some sort of a "maintenance foundation" that disburses donated funds... somehow? 3. Taking a contract to make specific improvements to the system. 4. A bounty system. 2017-02-10T03:36:42Z stassats: how much for "Remove SB-ASSEM:*ASSEM-INSTRUCTIONS*, unused."? 2017-02-10T03:37:00Z stassats: (i'll take bitcoins) 2017-02-10T03:40:33Z nyef```: 1. "Support work" is more on the level of "bugfixing" than "major improvements". 2. Underspecified, and probably amounts to being a client for the other three models. 3. A lot of the work needs to be done up front as part of determining if a specific improvement is even possible, before taking the contract. 4. Huge risk premiums required. 2017-02-10T03:41:54Z nyef```: And then you get things like "how much is ``better DX support'' worth, anyway?" 2017-02-10T03:47:53Z |3b| at least might be more motivated to try to learn sbcl hacking if there were bounties... no idea if that would translate into actual useful code though :p 2017-02-10T03:54:28Z sepisoad__ joined #sbcl 2017-02-10T03:55:46Z quadresce: nyef```, bounty is probably best for open source, contracts/invoices are best for companies 2017-02-10T03:55:57Z quadresce: maybe retainers for huge companies that depend on SBCL 2017-02-10T03:57:23Z nyef```: If I were a small company that depended on SBCL, and most of my engineering time and talent were locked up in my own products, I'd still consider paying a retainer for implementation issues. 2017-02-10T03:57:42Z stassats: huge companies can employ sbcl developers, like Google does 2017-02-10T03:57:59Z sepisoad_ quit (Ping timeout: 276 seconds) 2017-02-10T03:58:12Z quadresce: nyef```, I guess it depends on who is in charge of the checkbook, and how much they fear Lisp. :) 2017-02-10T03:58:27Z nyef```: Right, huge companies that depend on SBCL can outright pay for a fulltime maintainer, not a retainer. 2017-02-10T04:01:19Z nyef```: But, at the same time, what a fulltime maintainer for a large company works on is largely dictated by that company, and reveals their priorities, which will leave other opportunities to other maintainers to deal with. 2017-02-10T04:01:32Z quadresce: Yeah. 2017-02-10T04:02:40Z quadresce: Anyway, like I said, even we would likely be interested in paying for certain things, but I don't want to shout at the clouds when discussing such things. 2017-02-10T04:04:29Z stassats: run ads on sbcl.org 2017-02-10T04:04:35Z nyef```: I'd need to think about it quite a bit before I took another contract to do specific SBCL hacking, and I might well turn it down. 2017-02-10T04:05:10Z stassats: adware in sbcl binaries 2017-02-10T04:05:20Z stassats: there's so many ways to sell out 2017-02-10T04:05:27Z stassats: nsa backdoors? 2017-02-10T04:05:48Z nyef```: So many ways to sell out, so few ways to keep your integrity instead. But which is worth more to you? 2017-02-10T04:06:11Z stassats: "doesn't matter, sipping cocktails on a beach" 2017-02-10T04:06:42Z quadresce: I'd even support some library development with SBCL with knowledge of SBCL internals. 2017-02-10T04:07:16Z quadresce: Like a goddam linear algebra library, which sadly Lisp lacks in any sane fashion right now, mostly because of moving GCs, which is why Python can get away with numpy. 2017-02-10T04:07:20Z nyef```: I could sip cocktails on a beach tomorrow. It'd *suck*, because it's the middle of bloody February in Boston, but I could find a local beach, head out there with some booze, and... 2017-02-10T04:07:57Z quadresce: I wrote a pretty extensive one for work, but left that job, and they decided to not open it up. Also it'd be an asymptotic nightmare to maintain a bunch of wacky numerical algorithms hand-written in Lisp. 2017-02-10T04:08:26Z nyef```: ... What is it that numpy does, then? 2017-02-10T04:08:43Z quadresce: Numpy uses a bunch of stuff in C, and Python holds the pointers. 2017-02-10T04:08:49Z nyef```: Ah. 2017-02-10T04:08:59Z nyef```: And W-P-O doesn't really avail here? 2017-02-10T04:09:04Z pkhuong: just pin the array's base vector 2017-02-10T04:09:06Z pkhuong: works fine 2017-02-10T04:09:27Z pkhuong: I do all my LA with raw calls to fortran 2017-02-10T04:09:29Z nyef```: Or does it also involve stuff like needing column-major layouts for arrays and whatnot? 2017-02-10T04:09:37Z quadresce: pkhuong, for everything, including access? 2017-02-10T04:09:43Z pkhuong: "the array is transposed" 2017-02-10T04:10:00Z pkhuong: normal 2D lisp array for access 2017-02-10T04:10:14Z pkhuong: foreign heap w/ tag if it's too big 2017-02-10T04:11:00Z quadresce: I guess I need to learn more and try hacking something out again. Last time I tried to get a (COMPLEX DOUBLE-FLOAT) matrix factorization thing to work with stock lapack, it didn't work out so well. 2017-02-10T04:11:20Z pkhuong: lapack might expect parallel arrays 2017-02-10T04:11:26Z pkhuong: and not interleaved 2017-02-10T04:11:53Z pkhuong: you can either permute in place or use the strides to hack it 2017-02-10T04:13:09Z quadresce: I think my issue was using complex double floats as arguments, which didn't have a nice representation in FFI, IIRC 2017-02-10T04:13:13Z pkhuong: matlisp's pretty good 2017-02-10T04:13:32Z pkhuong: not an issue with fortran ;) 2017-02-10T04:13:59Z quadresce: the old matlisp or the new one? 2017-02-10T04:14:04Z quadresce: the new matlisp is a nightmare. 2017-02-10T04:14:24Z pkhuong: I have a hacked up fork of the old one 2017-02-10T04:16:02Z quadresce: This is one such function I tried to get working with FFI: http://www.netlib.org/lapack/explore-html/d0/da6/group__complex16_o_t_h_e_rcomputational_ga6c456c8f5615f0cc513fa939498e5e79.html#ga6c456c8f5615f0cc513fa939498e5e79 2017-02-10T04:16:41Z pkhuong: start with real double to get rid of one variable ;) 2017-02-10T04:17:27Z pkhuong: also symmetric matrices at first 2017-02-10T04:18:49Z quadresce: Is there even a simple answer as to how to pass a complex double float to a C function? 2017-02-10T04:19:17Z nyef```: Does C even define a complex double float type? 2017-02-10T04:19:36Z csziacobus joined #sbcl 2017-02-10T04:19:53Z nyef```: It wouldn't surprise me in the least if you had to pass the real and imaginary parts separately. 2017-02-10T04:19:56Z quadresce: Yes, there's a complex.h 2017-02-10T04:19:58Z pkhuong: one conplex double float? two doubles 2017-02-10T04:20:00Z csziacobus: mgl-mat is pretty good 2017-02-10T04:20:11Z pkhuong: or just use the raw fortran 2017-02-10T04:20:17Z pkhuong: pointers are easy 2017-02-10T04:20:32Z nyef```: So... We could reasonably define :ARG-TN methods for complex floats? 2017-02-10T04:20:56Z pkhuong: it might depend on the argument index 2017-02-10T04:21:12Z quadresce: csziacobus, When I looked at that, I think it didn't even have the important bits of BLAS. 2017-02-10T04:21:19Z pkhuong: I think you either get both in registers or neither 2017-02-10T04:21:33Z pkhuong: but, again, fortran just passes everything by ref 2017-02-10T04:23:16Z csziacobus: quadresce: I found the idea of having a transparent interface to different backing containers nice with cuda and so forth 2017-02-10T04:23:56Z quadresce: Yeah it has interesting stuff, but the library definitely reads like a standard "scratch an itch" Lisp library. 2017-02-10T04:24:16Z quadresce: I vaguely recall there being #.(format ...)s in the code. 2017-02-10T04:26:57Z csziacobus: as far as i can tell it was written just for the authors neural network library 2017-02-10T04:27:26Z pkhuong: that is what gabor would use it for 2017-02-10T04:30:46Z quadresce: Maybe I'll attempt to revive old-MATLISP, which doesn't seem too insane. 2017-02-10T04:37:10Z csziacobus: in the news it looks like some parts of immobile space are on by default, but the source says otherwise? 2017-02-10T04:37:26Z stassats: which source? 2017-02-10T04:37:33Z csziacobus: the source code 2017-02-10T04:37:38Z csziacobus: as in target features 2017-02-10T04:37:55Z csziacobus: whereas the news entry for 1.3.12 doesnt seem to line up 2017-02-10T04:38:14Z csziacobus: it says that on x86-64 compied functions cant be moved by default 2017-02-10T04:38:28Z stassats: what is "target features"? 2017-02-10T04:38:49Z nyef```: ... base-target-features.lisp-expr, maybe? 2017-02-10T04:38:49Z csziacobus: base-target-features.lisp-expr 2017-02-10T04:38:53Z csziacobus: yes 2017-02-10T04:38:58Z nyef```: csziacobus: Have a look at make-config.sh. 2017-02-10T04:39:00Z stassats: that's "base" not for nothing 2017-02-10T04:39:37Z nyef```: csziacobus: Among its responsibilities is writing out local-target-features.lisp-expr. 2017-02-10T04:40:26Z csziacobus: ah okay 2017-02-10T04:40:27Z csziacobus: got it 2017-02-10T04:40:38Z csziacobus: so those features are enabled by default 2017-02-10T04:40:59Z nyef```: Right, enabled by default, under certain circumstances determined by the configuration script. 2017-02-10T04:41:01Z csziacobus: was confusing it with customize-target-features 2017-02-10T04:41:37Z nyef```: ... Does anyone still even use customize-target-features instead of --with- and --without- options to make.sh/make-config.sh? 2017-02-10T04:42:10Z stassats: of course 2017-02-10T04:42:39Z quadresce: thanks for the chat guys, heading out 2017-02-10T04:43:54Z quadresce quit (Quit: This computer has gone to sleep) 2017-02-10T04:50:43Z nyef```: stassats: Here's a thought for you: TIME doesn't report "small" allocations within its body on gencgc. There are two ways to enable it to do so. The first is to close the current allocation regions (boxed and unboxed) at appropriate points during the execution of TIME. The second is to record how much of the open regions are in use before running the test form(s) and compare with the amount in use after the fact. 2017-02-10T04:51:07Z nyef```: ... I may look through the bug tracker and possibly open a bug for this tomorrow. 2017-02-10T04:51:11Z stassats: i thought about it recently 2017-02-10T04:51:20Z stassats: would be nice to have 2017-02-10T05:01:04Z myrkraverk quit (Remote host closed the connection) 2017-02-10T05:03:29Z abruanese quit (Quit: All your IRC are belong to ZNC) 2017-02-10T05:06:28Z abruanese joined #sbcl 2017-02-10T05:09:31Z schjetne_ joined #sbcl 2017-02-10T05:11:50Z schjetne quit (Ping timeout: 252 seconds) 2017-02-10T05:12:05Z stassats quit (Ping timeout: 276 seconds) 2017-02-10T05:13:19Z dougk__ joined #sbcl 2017-02-10T05:17:28Z dougk__ quit (Ping timeout: 240 seconds) 2017-02-10T05:47:35Z csziacobus quit (Ping timeout: 240 seconds) 2017-02-10T06:11:27Z sirkmatija_ joined #sbcl 2017-02-10T06:11:58Z sirkmatija_ quit (Client Quit) 2017-02-10T06:22:01Z csziacobus joined #sbcl 2017-02-10T06:32:06Z sirkmatija_ joined #sbcl 2017-02-10T06:36:17Z sirkmatija_ quit (Client Quit) 2017-02-10T06:48:55Z igajsin joined #sbcl 2017-02-10T07:03:05Z angavrilov joined #sbcl 2017-02-10T07:05:41Z scymtym quit (Ping timeout: 252 seconds) 2017-02-10T07:26:36Z dougk__ joined #sbcl 2017-02-10T07:30:40Z dougk__ quit (Ping timeout: 240 seconds) 2017-02-10T07:31:43Z shka joined #sbcl 2017-02-10T07:34:05Z oleo quit (Quit: Leaving) 2017-02-10T07:48:18Z dougk__ joined #sbcl 2017-02-10T07:51:31Z attila_lendvai joined #sbcl 2017-02-10T07:53:10Z dougk__ quit (Ping timeout: 264 seconds) 2017-02-10T08:28:09Z Bike quit (Quit: leaving) 2017-02-10T08:39:13Z scymtym joined #sbcl 2017-02-10T08:40:06Z gingerale joined #sbcl 2017-02-10T08:40:27Z shka quit (Remote host closed the connection) 2017-02-10T08:50:50Z scymtym_ joined #sbcl 2017-02-10T08:51:42Z shka joined #sbcl 2017-02-10T08:54:52Z scymtym quit (Ping timeout: 240 seconds) 2017-02-10T09:02:57Z shka quit (Remote host closed the connection) 2017-02-10T09:09:00Z shka joined #sbcl 2017-02-10T11:02:22Z sjl quit (Quit: WeeChat 1.3) 2017-02-10T11:07:42Z shka quit (Quit: Konversation terminated!) 2017-02-10T11:17:07Z sjl joined #sbcl 2017-02-10T11:19:02Z m00natic joined #sbcl 2017-02-10T11:29:26Z shka joined #sbcl 2017-02-10T11:57:03Z mateuszb joined #sbcl 2017-02-10T11:59:44Z mateuszb_ quit (Ping timeout: 256 seconds) 2017-02-10T12:07:01Z MetaHertz joined #sbcl 2017-02-10T12:08:34Z sirkmatija_ joined #sbcl 2017-02-10T12:12:11Z stassats joined #sbcl 2017-02-10T12:27:10Z sjl quit (Ping timeout: 240 seconds) 2017-02-10T12:47:39Z salv0 joined #sbcl 2017-02-10T13:05:13Z sirkmatija_ quit (Quit: sirkmatija_) 2017-02-10T13:12:24Z dougk__ joined #sbcl 2017-02-10T13:16:21Z stassats: oh my, a threaded ppc build fails with an aver 2017-02-10T13:18:44Z dougk__ quit (Read error: Connection reset by peer) 2017-02-10T13:19:01Z dougk__ joined #sbcl 2017-02-10T13:19:57Z stassats: (EQL (SB!C::LAMBDA-COMPONENT SB!C::FUNCTIONAL) SB!C::*CURRENT-COMPONENT*) 2017-02-10T13:21:50Z stassats: arm64 too 2017-02-10T13:25:49Z stassats: why not on x86ois? 2017-02-10T13:28:06Z stassats: a regression, that helps 2017-02-10T13:37:49Z jamtho joined #sbcl 2017-02-10T13:41:53Z sirkmatija_ joined #sbcl 2017-02-10T13:42:40Z jamtho quit (Ping timeout: 240 seconds) 2017-02-10T13:44:04Z dougk__ quit (Ping timeout: 245 seconds) 2017-02-10T13:56:30Z sirkmatija_ quit (Quit: sirkmatija_) 2017-02-10T13:58:45Z cromachina quit (Read error: Connection reset by peer) 2017-02-10T14:01:30Z sirkmatija_ joined #sbcl 2017-02-10T14:11:16Z oleo joined #sbcl 2017-02-10T14:12:54Z stassats: why not x86ois: stack growth direction, it fails when compiling decf=>xsubtract, but x86oids use incf 2017-02-10T14:12:56Z stassats: at least that's clear 2017-02-10T14:22:38Z csziacobus quit (Ping timeout: 276 seconds) 2017-02-10T14:29:05Z sirkmatija_ quit (Quit: sirkmatija_) 2017-02-10T14:54:31Z stassats: hell, it's not a real regression, my change just uncovered 2017-02-10T14:54:36Z stassats: it 2017-02-10T14:55:14Z stassats: and as usual, it doesn't make any sense 2017-02-10T14:57:35Z stassats: replaced incf x 2 in convert-more-entry in x86-64 with (decf x -2) and i can reproduce it too 2017-02-10T14:57:47Z stassats: now to make it not depend on convert-more-entry modification 2017-02-10T15:01:13Z stassats: ok 2017-02-10T15:01:27Z attila_lendvai1 joined #sbcl 2017-02-10T15:01:27Z attila_lendvai quit (Disconnected by services) 2017-02-10T15:01:27Z attila_lendvai1 quit (Changing host) 2017-02-10T15:01:27Z attila_lendvai1 joined #sbcl 2017-02-10T15:04:32Z stassats: oold 2017-02-10T15:05:34Z stassats: http://paste.lisp.org/display/338748 2017-02-10T15:06:45Z stassats: transform-call augments the policy with (sb-c::preserve-single-use-debug-variables 0), but when the policy is the same as the initial policy, somehow the inlined XSUB ends up in a different component 2017-02-10T15:06:57Z stassats: doesn't matter which policy 2017-02-10T15:08:35Z sjl joined #sbcl 2017-02-10T15:10:51Z stassats: fails as far as 1.1.7 2017-02-10T15:12:31Z stassats: they kinda are in different components, so, what's the fuss 2017-02-10T15:18:26Z dougk__ joined #sbcl 2017-02-10T15:24:54Z stassats: defined-fun-functional compares policies 2017-02-10T15:25:02Z stassats: but doesn't care for components 2017-02-10T15:25:24Z Xach left #sbcl 2017-02-10T15:38:16Z dim joined #sbcl 2017-02-10T15:38:17Z dim: Hi 2017-02-10T15:38:20Z dim: https://github.com/dimitri/pgloader/issues/511 2017-02-10T15:38:25Z dim: WARNING: Couldn't re-execute SBCL with proper personality flags (/proc isn't mounted? setuid?) Trying to continue anyway. 2017-02-10T15:38:29Z dim: I guess that's an SBCL issue? 2017-02-10T15:39:27Z nyef```: That's... to disable randomized address mappings, IIRC. 2017-02-10T15:40:17Z stassats: tracked down to https://github.com/sbcl/sbcl/commit/b2b5fc7797 2017-02-10T15:40:42Z dim: oh wow, that's fast 2017-02-10T15:40:46Z stassats: the " Also provides a more elegant fix for MISC.320." what's making it crash, but putting it back, it produces some strange code, the second xsub is slow 2017-02-10T15:40:54Z dim: does that mean next version of SBCL is free of that problem? is it a bug? 2017-02-10T15:40:56Z stassats: dim: that wasn't for you 2017-02-10T15:41:02Z dim: ahah, makes sense then 2017-02-10T15:42:13Z stassats: nyef```: should we disable that personality business? it can't randomize mappings for PIE-less executables 2017-02-10T15:42:31Z stassats: maybe libc mapped somewhere inappropriate 2017-02-10T15:42:52Z scymtym_ quit (Ping timeout: 240 seconds) 2017-02-10T15:42:56Z nyef```: It's a save vs. odd initial DSO mappings, yes. 2017-02-10T15:43:35Z stassats: maybe not issue a warning? 2017-02-10T15:44:19Z stassats: well, if the dynamic space is mapped and everything fits, then the mappings do not matter 2017-02-10T15:44:39Z stassats: so, try the personality fuss only if the dynamic spaces fails to get mapped? 2017-02-10T15:44:57Z stassats: well, i'm getting distracted from that inlining confusion 2017-02-10T15:45:33Z nyef```: Too bad we can't do something clever with a linker script, like on alpha, to reserve the space even in the face of randomization. 2017-02-10T15:45:54Z nyef```: Or just plain have a fully-relocatable core that supports split dynamic spaces. 2017-02-10T15:46:17Z stassats: if the policy is different, it gets inlined without any questions, but here if i decline to accept defined-fun-functional because it's in a different component it fails to inline 2017-02-10T15:46:46Z stassats: nyef```: yeah, without split spaces relocatable cores are not worth much 2017-02-10T15:47:27Z stassats: where do you relocate on 32 bits, with just 4GB of address space 2017-02-10T15:49:04Z stassats: stuffing (eq (lambda-component functional) *current-component*) into defined-fun-functional solves both problems 2017-02-10T15:49:16Z stassats: so much for "a more elegant fix" 2017-02-10T15:51:03Z stassats: i also don't quite get the way it tries to ascertain the right lexenv 2017-02-10T15:52:33Z stassats: so why isn't checking the lexenv enough? 2017-02-10T15:53:51Z nyef```: Yet more "nobody actually understands IR1 handling"? 2017-02-10T15:54:14Z stassats: maybe because i don't see how defined-fun-functional actually checks for the right lexenv 2017-02-10T15:54:30Z stassats: as in, i don't think it's correct 2017-02-10T15:56:43Z stassats: yeah, it doesn't make much sense 2017-02-10T15:57:25Z stassats: will try the original test case 2017-02-10T16:11:56Z stassats: how can *current-component* be unbound? 2017-02-10T16:15:48Z nyef```: Before the components get split up / assigned in the first place, maybe? 2017-02-10T16:16:08Z schjetne_ is now known as schjetne 2017-02-10T16:16:56Z stassats: no there's a component, it's *current-component* just never gets bound 2017-02-10T16:17:14Z stassats: i'm still trying to figure out the original intention of defined-fun-functional 2017-02-10T16:17:26Z stassats: it only checks the first functional? 2017-02-10T16:17:46Z stassats: clearly, i need to break it in another way 2017-02-10T16:18:36Z nyef```: I'm... not seeing it in cmucl. 2017-02-10T16:19:09Z stassats: the failure i'm seeing is caused by https://github.com/sbcl/sbcl/commit/b2b5fc7797 2017-02-10T16:19:15Z stassats: which fixed some other failure 2017-02-10T16:19:45Z nyef```: Looks like the current version was introduced in 7c406887c08477181e869b1b98142d99b52990ac 2017-02-10T16:20:18Z stassats: that's the previous one 2017-02-10T16:20:47Z nyef```: Introduced *as a concept*, that is. 2017-02-10T16:20:49Z stassats: the problem of b2b5fc7797 is not in defined-fun-functional, but that it removed the component check in reference-leaf 2017-02-10T16:21:25Z stassats: and clearly, checking lexnevs (but of the first functional?) is not enough 2017-02-10T16:21:47Z nyef```: I'm suddenly getting the distinct impression that inlining is *even more of a pile of hacks and kludges* than DX ever was. 2017-02-10T16:21:58Z stassats: sure is 2017-02-10T16:22:07Z stassats: and broken too, besides this one 2017-02-10T16:22:20Z stassats: but that's for another time 2017-02-10T16:36:37Z stassats: actually, all the original badness is caused by named-lambda 2017-02-10T16:36:46Z stassats: named-lambda infects everything 2017-02-10T16:36:58Z nyef```: Ah, the original sin, huh? (-: 2017-02-10T16:37:24Z stassats: normally, you can't let-convert a function from a different lexenv 2017-02-10T16:37:28Z stassats: but with named-lambda you can 2017-02-10T16:39:19Z stassats: and inlined functions do not care about different lexenvs, since they are processed in the null lexenv 2017-02-10T16:41:38Z nyef```: ... This is a relic of block compilation that we've come to depend on, isn't it? 2017-02-10T16:41:53Z stassats: to dread on 2017-02-10T16:41:57Z nyef```: That too. 2017-02-10T16:42:23Z nyef```: But, I mean, if we took it out, something *else* would go wrong, like it killing some important performance optimization or type checking or something. 2017-02-10T16:42:28Z stassats: ok, i understand the original original problem, but still not convinced that defined-fun-functional is right 2017-02-10T16:42:41Z stassats: why does it check the environment only of the first functional? 2017-02-10T16:43:12Z nyef```: What goes on the list of functionals? 2017-02-10T16:43:27Z nyef```: Is it just the CLAMBDA and its OPTIONAL-DISPATCH? 2017-02-10T16:43:35Z stassats: clambdas made from conversion 2017-02-10T16:43:50Z stassats: or, i dunno actually what creates them 2017-02-10T16:44:39Z nyef```: It may be that the set of things that winds up there is very short, and the bit where it checks for optional-dispatch-main-entry is to pick the "right one". 2017-02-10T16:45:50Z nyef```: Oh! It doesn't matter which one gets picked: They're all from the same establishing lexenv, beause they all represent the same function! 2017-02-10T16:46:25Z stassats: yes, that's my conclusion, but i'm not convinced that you can't redefine it 2017-02-10T16:46:57Z stassats: i have a hunch that i can break it 2017-02-10T16:49:28Z scymtym joined #sbcl 2017-02-10T16:59:31Z flip214: this command says "real 0.015sec": time sbcl --no-userinit --eval "(sb-ext::quit)" 2017-02-10T16:59:57Z flip214: but if I add --no-sysinit (before or after --no-userinit), ~/.sbclrc is read again and so startup takes a few seconds 2017-02-10T17:00:08Z flip214: is the option broken? --no-sysinit Inhibit processing of any system-wide init-file. 2017-02-10T17:00:17Z flip214: SBCL 1.3.14.debian 2017-02-10T17:02:14Z stassats: flip214: nothing's broken 2017-02-10T17:02:49Z flip214: well, why is "--no-userinit" ignored just because I add another option? 2017-02-10T17:02:58Z stassats: but it's not ignored 2017-02-10T17:03:35Z flip214: ah yeah, right. please disregard. 2017-02-10T17:03:54Z stassats: but i can't speak for .debian 2017-02-10T17:04:08Z flip214: the --no-sysinit had "-no-userinit" (one dash missing), and as I got no error I didn't see that. 2017-02-10T17:04:17Z flip214: retyping the whole command makes it work as expected. 2017-02-10T17:04:23Z flip214: thanks a lot. 2017-02-10T17:04:42Z stassats: you get no errors because *posix-argv* is used by the user 2017-02-10T17:05:23Z flip214: yeah, I'm thinking about some criteria that might warrant a warning for such typos 2017-02-10T17:05:25Z stassats: you can do sbcl --no-userinit -no-sysinit --eval '(exit)' --end-toplevel-options 2017-02-10T17:05:34Z stassats: provided that you make no typos in --end-toplevel-options 2017-02-10T17:05:35Z flip214: ha, same typo as me! 2017-02-10T17:05:44Z stassats: that was the point 2017-02-10T17:05:48Z Bike joined #sbcl 2017-02-10T17:05:56Z flip214: yeah, saw that upon testing. 2017-02-10T17:06:19Z flip214: thanks again 2017-02-10T17:22:03Z stassats: but misc.320 doesn't seem to have any lambda-parent either 2017-02-10T17:22:22Z stassats: so how is it related to the lexenv fix 2017-02-10T17:31:03Z sjl quit (Read error: Connection reset by peer) 2017-02-10T17:31:18Z stassats: ok, suppose defined-fun-functional is ok to use only the first functional 2017-02-10T17:33:01Z rpg joined #sbcl 2017-02-10T17:33:02Z rpg quit (Client Quit) 2017-02-10T17:33:11Z sjl joined #sbcl 2017-02-10T17:33:22Z rpg joined #sbcl 2017-02-10T17:34:00Z rumbler3_ joined #sbcl 2017-02-10T17:36:25Z m00natic quit (Remote host closed the connection) 2017-02-10T17:48:33Z stassats: "is that function needed" "let's disable it and check the test case that it fixed" "the test case succeeds without that function" 2017-02-10T17:49:13Z nyef```: ... which doesn't say that it's not needed, just that it's not needed *for that*. 2017-02-10T17:49:35Z stassats: right, but i expected the original test to fail 2017-02-10T17:49:42Z nyef```: But whatever it would be needed for will eventually be reported as a bug, and bisected to that commit. 2017-02-10T17:49:57Z nyef```: Perhaps it would have, but that we now do something else which masks it? 2017-02-10T17:50:13Z stassats: i needed a test case to figure out what it actually does 2017-02-10T17:52:00Z stassats: and the commit has two fixes for the price of one 2017-02-10T17:54:55Z stassats: note-local-functional deletes from *free-funs* if defined-fun-functional is equal to something 2017-02-10T17:55:21Z stassats: but when it was created defined-fun-functional always returned the same thing, now it can return something else based on policy or lexenv 2017-02-10T17:55:28Z stassats: so, should check all defined-fun-functionals 2017-02-10T17:55:44Z stassats: i am frustrated 2017-02-10T18:00:21Z sirkmatija_ joined #sbcl 2017-02-10T18:01:51Z stassats: so it's done from locall-analyze-fun-1, when it makes a local call 2017-02-10T18:02:29Z stassats: but if the same defined-fun can have multiple functionals, not all are local? 2017-02-10T18:02:59Z stassats: ok, i'll try rebuilding with note-local-functional disabled 2017-02-10T18:03:09Z stassats: maybe it'll give something to work with 2017-02-10T18:05:08Z stassats: ok, the build fails 2017-02-10T18:10:37Z DGASAU joined #sbcl 2017-02-10T18:10:49Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-02-10T18:12:14Z rpg joined #sbcl 2017-02-10T18:14:34Z stassats: managed to make it fail without removing note-local-functional 2017-02-10T18:14:43Z stassats: when will this end? 2017-02-10T18:17:32Z nyef```: Wrong question. The question is "what will it take to end this?" 2017-02-10T18:20:51Z stassats: that failure is actually triggered by my transform-call optimization 2017-02-10T18:21:08Z stassats: well, fair enough, i guess 2017-02-10T18:23:51Z rumbler3_ quit (Remote host closed the connection) 2017-02-10T18:47:49Z stassats: well, i'm not a 100% convinced the fix is right, but it's no worse than it was before 2017-02-10T18:58:41Z stassats: and lambda-component sometimes fails 2017-02-10T18:58:52Z stassats: when the lambda has no bind node 2017-02-10T19:15:59Z nyef```: When does a lambda not have a bind? 2017-02-10T19:19:01Z stassats: ok, i think i have a set of robust fixes 2017-02-10T19:19:30Z stassats: i check that all lambdas are localized in note-local-functional, not just whatever defined-fun-functional returns 2017-02-10T19:22:03Z stassats: and sprinkled some more with-ir1-environment-from-node in recognize-known-call 2017-02-10T19:26:14Z stassats: and i wanted to debug the windows threading problems today 2017-02-10T19:26:17Z stassats: not deal with that 2017-02-10T19:35:51Z stassats: and it fixes the arm64 build problems 2017-02-10T19:39:35Z sirkmatija_ quit (Quit: sirkmatija_) 2017-02-10T19:43:44Z sirkmatija_ joined #sbcl 2017-02-10T19:45:15Z quadresce joined #sbcl 2017-02-10T20:02:14Z dougk___ joined #sbcl 2017-02-10T20:03:49Z dougk__ quit (Ping timeout: 255 seconds) 2017-02-10T20:24:20Z rumbler3_ joined #sbcl 2017-02-10T20:28:41Z rumbler3_ quit (Ping timeout: 252 seconds) 2017-02-10T20:46:14Z nyef```: What's the difference between LISP_FEATURE_64_BIT, checking to see if N_WORD_BITS == 64, and checking to see if N_WORD_BYTES == 8? 2017-02-10T20:46:42Z stassats: alpha? 2017-02-10T20:47:29Z nyef```: Shouldn't be. 2017-02-10T20:47:40Z nyef```: There's separate N_WORD_BITS and N_MACHINE_WORD_BITS for a reason. 2017-02-10T20:50:52Z nyef```: I'm more asking "why do we use at least three different ways to check what amounts to the same property in the runtime?" 2017-02-10T20:53:51Z stassats: i think it's safe to disable personality randomization disabling 2017-02-10T20:54:07Z stassats: it always maps libc up high 2017-02-10T20:54:15Z stassats: not any worse than what happens statically 2017-02-10T20:55:07Z stassats: heap location is also randomized 2017-02-10T20:55:24Z stassats: but located in the same vicinity 2017-02-10T21:00:18Z stassats: let's jut do relocatable sparse cores 2017-02-10T21:00:34Z stassats: (that means no mmap on load?) 2017-02-10T21:01:41Z nyef```: No, we can still mmap() the load, but we'll start invalidating the mappings fairly quickly for the boxed pages. 2017-02-10T21:02:17Z nyef```: The unboxed pages, lacking any boxed references, wouldn't need any relocation fixups, so their maps wouldn't get invalidated. 2017-02-10T21:03:17Z stassats: wanted to get into the safepoint deadlock earlier today 2017-02-10T21:04:00Z stassats: it locks up when consing inside without-gcing 2017-02-10T21:04:16Z stassats: i wouldn't care about safepoints much, but windows doesn't work without them 2017-02-10T21:04:54Z stassats: but i don't understand safepoint.c 2017-02-10T21:06:20Z stassats: frlock.1 fails on windows 2017-02-10T21:06:27Z stassats: hangs on windows 2017-02-10T21:06:40Z stassats: it also fails on memory reordering platforms 2017-02-10T21:06:52Z stassats: but windows doesn't reorder memory, so it's something else 2017-02-10T21:12:09Z rumbler3_ joined #sbcl 2017-02-10T21:33:52Z stassats: frlock fails on Windows because of sleep resolution 2017-02-10T21:33:58Z stassats: it just takes too much time to complete 2017-02-10T21:44:08Z stassats: ok, replaced all the sleeps with (sleep 0) on windows 2017-02-10T21:44:21Z stassats: i guess all the locks and stuff are equally broken when the sleep 2017-02-10T21:56:30Z attila_lendvai1 quit (Read error: Connection reset by peer) 2017-02-10T22:05:29Z jamtho joined #sbcl 2017-02-10T22:07:13Z rumbler3_ quit 2017-02-10T22:10:34Z sirkmatija_ quit (Ping timeout: 264 seconds) 2017-02-10T22:21:21Z tzedektzedek joined #sbcl 2017-02-10T22:24:13Z dougk___ quit (Ping timeout: 255 seconds) 2017-02-10T22:33:58Z rumbler3_ joined #sbcl 2017-02-10T22:34:34Z angavrilov quit (Remote host closed the connection) 2017-02-10T22:45:59Z rumbler3_ quit (Remote host closed the connection) 2017-02-10T22:48:11Z eschatologist quit (Ping timeout: 260 seconds) 2017-02-10T22:53:07Z eschatologist joined #sbcl 2017-02-10T23:08:08Z shka quit (Ping timeout: 240 seconds) 2017-02-10T23:42:10Z jamtho quit (Ping timeout: 240 seconds) 2017-02-10T23:45:32Z quadresce quit (Ping timeout: 260 seconds) 2017-02-10T23:46:52Z rumbler3_ joined #sbcl 2017-02-11T00:15:13Z stassats: interrupt-thread seems to be broken on windows 2017-02-11T00:18:40Z stassats: and i think i may have gotten the intention of note-local-functional wrong 2017-02-11T00:19:12Z quadresce joined #sbcl 2017-02-11T00:25:26Z stassats: yeah, a i have a better fix 2017-02-11T00:26:35Z rumbler3_ quit (Remote host closed the connection) 2017-02-11T00:29:21Z dougk__ joined #sbcl 2017-02-11T00:31:21Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-02-11T00:33:18Z cromachina joined #sbcl 2017-02-11T00:34:20Z rpg joined #sbcl 2017-02-11T00:35:23Z stassats: yeah, much better fix and cleaner and i know what actually happens 2017-02-11T00:43:31Z stassats: argh, but a test fails 2017-02-11T00:43:32Z stassats: damn it 2017-02-11T00:46:13Z stassats: the test is wrong, phew 2017-02-11T00:46:25Z stassats: i think 2017-02-11T00:50:44Z rpg quit (Quit: Textual IRC Client: www.textualapp.com) 2017-02-11T00:55:28Z stassats: ok, this time it's right 2017-02-11T01:06:13Z sjl quit (Ping timeout: 255 seconds) 2017-02-11T01:07:38Z dougk__ quit (Read error: Connection reset by peer) 2017-02-11T01:07:54Z dougk__ joined #sbcl 2017-02-11T01:26:54Z DGASAU quit (Read error: Connection reset by peer) 2017-02-11T01:28:04Z DGASAU joined #sbcl 2017-02-11T01:32:09Z rumbler31 joined #sbcl 2017-02-11T01:33:45Z DGASAU quit (Read error: Connection reset by peer) 2017-02-11T01:34:37Z DGASAU joined #sbcl 2017-02-11T01:39:22Z DGASAU quit (Ping timeout: 264 seconds) 2017-02-11T01:40:31Z gingerale quit (Remote host closed the connection) 2017-02-11T01:41:37Z stassats: windows threads need radical surgery 2017-02-11T01:41:54Z DGASAU joined #sbcl 2017-02-11T01:51:01Z hel-io joined #sbcl 2017-02-11T01:56:05Z sepisoad_ joined #sbcl 2017-02-11T01:58:35Z stassats quit (Ping timeout: 240 seconds) 2017-02-11T01:58:47Z sepisoad__ quit (Ping timeout: 258 seconds) 2017-02-11T02:19:45Z rumbler31 quit (Remote host closed the connection) 2017-02-11T02:22:38Z tzedektzedek quit (Quit: Leaving) 2017-02-11T02:47:59Z quadresce quit (Quit: This computer has gone to sleep) 2017-02-11T03:07:21Z rumbler31 joined #sbcl 2017-02-11T03:41:56Z hel-io quit (Remote host closed the connection) 2017-02-11T05:08:14Z rumbler31 quit (Remote host closed the connection) 2017-02-11T05:09:08Z fiddlerwoaroof quit (Ping timeout: 240 seconds) 2017-02-11T05:12:39Z slyrus quit (Remote host closed the connection) 2017-02-11T05:13:01Z fiddlerwoaroof joined #sbcl 2017-02-11T06:07:53Z sirkmatija_ joined #sbcl 2017-02-11T07:11:48Z angavrilov joined #sbcl 2017-02-11T07:16:55Z sirkmatija_ quit (Quit: sirkmatija_) 2017-02-11T07:54:58Z DeadTrickster quit (Ping timeout: 255 seconds) 2017-02-11T08:55:11Z shka joined #sbcl 2017-02-11T09:16:46Z Bike quit (Quit: leaving) 2017-02-11T09:19:42Z DeadTrickster joined #sbcl 2017-02-11T09:44:07Z gingerale joined #sbcl 2017-02-11T09:57:15Z jamtho joined #sbcl 2017-02-11T10:33:51Z sjl joined #sbcl 2017-02-11T10:58:11Z attila_lendvai joined #sbcl 2017-02-11T11:00:45Z Quadrescence is now known as XXXXXYYYY 2017-02-11T11:01:04Z XXXXXYYYY is now known as Quadrescence 2017-02-11T11:03:53Z jamtho quit (Ping timeout: 240 seconds) 2017-02-11T11:23:25Z irsol quit (Remote host closed the connection) 2017-02-11T11:26:39Z scymtym quit (Remote host closed the connection) 2017-02-11T11:29:11Z irsol joined #sbcl 2017-02-11T11:33:58Z jamtho joined #sbcl 2017-02-11T11:37:12Z myrkraverk joined #sbcl 2017-02-11T11:38:10Z jamtho quit (Ping timeout: 240 seconds) 2017-02-11T11:47:32Z hel-io joined #sbcl 2017-02-11T11:56:37Z mateuszb_ joined #sbcl 2017-02-11T11:56:49Z scymtym joined #sbcl 2017-02-11T11:58:34Z mateuszb quit (Ping timeout: 264 seconds) 2017-02-11T12:02:28Z scymtym quit (Ping timeout: 240 seconds) 2017-02-11T12:04:41Z stassats joined #sbcl 2017-02-11T12:23:33Z scymtym joined #sbcl 2017-02-11T12:25:16Z hel-io quit (Remote host closed the connection) 2017-02-11T12:41:12Z scymtym_ joined #sbcl 2017-02-11T12:45:13Z scymtym quit (Ping timeout: 240 seconds) 2017-02-11T12:48:07Z hel-io joined #sbcl 2017-02-11T13:03:17Z rtmpdavid joined #sbcl 2017-02-11T13:08:08Z rtmpdavid quit (Ping timeout: 240 seconds) 2017-02-11T13:10:45Z sirkmatija_ joined #sbcl 2017-02-11T13:39:29Z sjl quit (Ping timeout: 276 seconds) 2017-02-11T13:44:39Z hel-io quit 2017-02-11T14:00:04Z MetaHertz quit (Remote host closed the connection) 2017-02-11T14:00:31Z MetaHertz joined #sbcl 2017-02-11T14:15:38Z DeadTrickster quit (Ping timeout: 256 seconds) 2017-02-11T14:24:02Z jrx joined #sbcl 2017-02-11T14:29:24Z sjl joined #sbcl 2017-02-11T14:47:59Z MetaHert` joined #sbcl 2017-02-11T14:50:39Z DeadTrickster joined #sbcl 2017-02-11T14:51:08Z jrx quit (Remote host closed the connection) 2017-02-11T14:51:22Z MetaHert` quit (Remote host closed the connection) 2017-02-11T14:51:26Z MetaHertz quit (Ping timeout: 252 seconds) 2017-02-11T14:52:27Z MetaHert` joined #sbcl 2017-02-11T14:53:15Z MetaHert` quit (Client Quit) 2017-02-11T14:53:54Z MetaHertz joined #sbcl 2017-02-11T14:58:02Z sirkmatija_ quit (Ping timeout: 252 seconds) 2017-02-11T14:59:41Z MetaHertz quit (Remote host closed the connection) 2017-02-11T15:00:07Z MetaHertz joined #sbcl 2017-02-11T15:13:17Z sirkmatija_ joined #sbcl 2017-02-11T15:18:56Z DeadTrickster quit (Ping timeout: 276 seconds) 2017-02-11T15:39:32Z MetaHertz quit (Quit: ERC (IRC client for Emacs 25.1.7)) 2017-02-11T15:59:30Z stassats quit (Ping timeout: 260 seconds) 2017-02-11T16:00:06Z stassats joined #sbcl 2017-02-11T16:03:36Z DeadTrickster joined #sbcl 2017-02-11T16:12:50Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-11T16:30:39Z MetaHertz joined #sbcl 2017-02-11T16:35:53Z sirkmatija_ quit (Quit: sirkmatija_) 2017-02-11T16:36:10Z sirkmatija_ joined #sbcl 2017-02-11T16:44:49Z sirkmatija_ quit (Quit: sirkmatija_) 2017-02-11T16:47:28Z sirkmatija_ joined #sbcl 2017-02-11T17:02:07Z DeadTrickster_ joined #sbcl 2017-02-11T17:13:15Z DeadTrickster_ quit (Ping timeout: 245 seconds) 2017-02-11T17:20:17Z Bike joined #sbcl 2017-02-11T17:50:45Z phoe is now known as cl-phoe 2017-02-11T17:51:48Z scymtym__ joined #sbcl 2017-02-11T17:53:13Z scymtym_ quit (Ping timeout: 240 seconds) 2017-02-11T18:05:55Z scymtym joined #sbcl 2017-02-11T18:07:53Z scymtym__ quit (Ping timeout: 240 seconds) 2017-02-11T18:16:23Z MetaHertz quit (Ping timeout: 276 seconds) 2017-02-11T18:17:41Z sirkmatija_ quit (Ping timeout: 252 seconds) 2017-02-11T18:18:43Z stassats: somehow sockets get fd-type of :directory 2017-02-11T18:19:01Z stassats: because fstat returns both bits set 2017-02-11T18:21:07Z gingerale quit (Remote host closed the connection) 2017-02-11T18:31:33Z scymtym quit (Ping timeout: 240 seconds) 2017-02-11T18:50:02Z scymtym joined #sbcl 2017-02-11T18:50:04Z jackc_ quit (Remote host closed the connection) 2017-02-11T19:20:04Z angavrilov quit (Remote host closed the connection) 2017-02-11T20:24:33Z DeadTrickster quit (Read error: Connection reset by peer) 2017-02-11T20:35:43Z stassats: constructed a c program that calls socket(), fstat indeed says it's both a directory and a socket 2017-02-11T20:35:56Z stassats: both on darwin and linux 2017-02-11T20:43:49Z stassats: yet fdopendir() says "Not a directory (20)" 2017-02-11T20:46:24Z stassats: S_ISDIR says 0 2017-02-11T20:47:14Z stassats: oh i see 2017-02-11T20:47:24Z stassats: sbcl uses the masks wrong 2017-02-11T20:48:23Z eschatologist quit (Ping timeout: 252 seconds) 2017-02-11T20:51:56Z eschatologist joined #sbcl 2017-02-11T21:27:20Z igajsin quit (Ping timeout: 260 seconds) 2017-02-11T21:32:34Z DGASAU quit (Read error: Connection reset by peer) 2017-02-11T21:37:15Z DGASAU joined #sbcl 2017-02-11T21:43:39Z cl-phoe is now known as phoe 2017-02-11T21:48:03Z DeadTrickster joined #sbcl 2017-02-11T21:55:07Z eschatologist quit (Ping timeout: 255 seconds) 2017-02-11T21:59:56Z eschatologist joined #sbcl 2017-02-11T22:02:19Z attila_lendvai joined #sbcl 2017-02-11T22:02:19Z attila_lendvai quit (Changing host) 2017-02-11T22:02:19Z attila_lendvai joined #sbcl 2017-02-11T22:11:11Z cromachina quit (Read error: Connection reset by peer) 2017-02-11T22:12:28Z cromachina joined #sbcl 2017-02-11T22:19:34Z salv0 quit (Ping timeout: 264 seconds) 2017-02-11T22:21:50Z stassats: stream routines on windows are broken as well 2017-02-11T22:22:36Z stassats: there's some code that's supposed to work, but it does the opposite thing 2017-02-11T22:23:57Z stassats: what was the point of creating all that code then? 2017-02-11T22:35:13Z stassats: looks like the whole OS interface on windows is in dire straits 2017-02-11T22:35:35Z stassats: LISTEN lies or hangs, clear-input hangs 2017-02-11T22:35:46Z stassats: threads do whatever, nothing can be interrupted 2017-02-11T22:49:34Z DeadTrickster quit (Ping timeout: 264 seconds) 2017-02-11T23:12:28Z eschatologist quit (Ping timeout: 240 seconds) 2017-02-11T23:15:38Z eschatologist joined #sbcl 2017-02-11T23:27:25Z stassats is ready to declare the whole windows os layer as a write off 2017-02-11T23:33:59Z jamtho joined #sbcl 2017-02-11T23:43:21Z phoe: (declare (write-off windows-os-layer)) 2017-02-11T23:43:33Z phoe: is it really that bad? 2017-02-11T23:43:50Z stassats: yes, i/o and threads in particular 2017-02-11T23:43:53Z stassats: and their combination 2017-02-11T23:46:05Z stassats: well, that's usually all there is for OS integration, so... 2017-02-11T23:46:26Z phoe: stassats: there's also sockets methinks 2017-02-11T23:46:32Z stassats: that's i/o 2017-02-11T23:47:57Z phoe: oh right 2017-02-11T23:49:13Z stassats: or at least i/o is equally broken on files, sockets and pipes 2017-02-12T00:11:53Z jibanes quit (Ping timeout: 240 seconds) 2017-02-12T00:14:04Z jibanes joined #sbcl 2017-02-12T00:21:58Z shka quit (Ping timeout: 256 seconds) 2017-02-12T00:28:39Z mateuszb_ is now known as mateuszb 2017-02-12T01:21:50Z sjl quit (Ping timeout: 260 seconds) 2017-02-12T01:26:45Z nyef```: I... vaguely remember writing an ad-hoc version of select(3) for the win32 backend. 2017-02-12T01:27:00Z FiveBroDeepBook joined #sbcl 2017-02-12T01:27:01Z FiveBroDeepBook left #sbcl 2017-02-12T01:27:34Z nyef```: ... this would probably have been before the buggiest SBCL release ever. 2017-02-12T01:28:07Z nyef```: (The 1.0 release still hasn't been surpassed in terms of bugginess, has it?) 2017-02-12T01:28:58Z stassats: i'm contemplating what to do with windows 2017-02-12T01:29:09Z stassats: on one hand, i'm not using windows, so i can just ignore it 2017-02-12T01:29:30Z stassats: on the other hand, i might want to use it in the future or create applications based on sbcl for windows 2017-02-12T01:29:59Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-12T01:30:08Z stassats: there's a comment saying Unofficial but widely used property of console handles: they have #b11 in two minor bits, opposed to other handles, that are machine-word-aligned. Properly emulated even on wine.' 2017-02-12T01:30:21Z stassats: well, i'm not seeing any #b11 2017-02-12T01:31:19Z stassats: there's also some lengthy comment explaining how console i/o is handled on another thread, but i'm not getting it 2017-02-12T01:31:32Z stassats: i don't think any other implementation does that 2017-02-12T01:32:04Z stassats: so it's full of "let's do this great fancy thing" which in the end is "oops, it doesn't work" 2017-02-12T01:32:11Z stassats: including safepoints 2017-02-12T01:34:16Z stassats: i'm strongly inclined towards #ifdefing away all that merged win32 changes and starting anew 2017-02-12T01:34:19Z nyef```: Yeah, the windows backend is... I dunno. I mean, I did the original work to get it going, but that was back in the WinXP days. And AFAIK it *shouldn't* run on wine, because wine *still* has a known bug to do with exception handling, but someone worked around it. 2017-02-12T01:34:43Z stassats: incomplete work done by somebody else is worse than no work at all 2017-02-12T01:34:55Z stassats: i don't know, maybe not all of it got merged, or got mismerged 2017-02-12T01:35:10Z jamtho quit (Ping timeout: 240 seconds) 2017-02-12T01:35:15Z stassats: or was in fact incomplete, or untested, or windows has changed in the meantime 2017-02-12T01:35:24Z nyef```: Yes and no. Sometimes incomplete work by someone else is a good driver for fixing stuff. 2017-02-12T01:36:40Z stassats: i think i can try sorting out I/O 2017-02-12T01:37:05Z stassats: threads and the safepoint mess are not as pressing 2017-02-12T01:37:18Z nyef```: I... actually have a windows machine that I can test with, but I don't have a C compiler installed on it. 2017-02-12T01:37:31Z stassats: msys2 works well 2017-02-12T01:37:46Z stassats: well, right now there's nothing to test 2017-02-12T01:38:00Z stassats: you can't even finish tests 2017-02-12T01:38:05Z nyef```: ... And the only reason that I have it is to try and get the nVidia 3D Vision stuff working in Linux. 2017-02-12T01:38:10Z stassats: any test involving interrupt-thread will eventually hang 2017-02-12T01:38:59Z stassats: yesterday i made sb-concurrency tests to finish, but not sleeping for 150 seconds 2017-02-12T01:39:12Z stassats: by 2017-02-12T01:39:14Z |3b| has windows 8.1, x8664 and C compiler if more testing is needed 2017-02-12T01:39:44Z |3b|: last time i ran tests, only had to kill the child sbcl once :p 2017-02-12T01:39:54Z stassats: i think the highest priority will be fixing CLEAR-INPUT on the console 2017-02-12T01:40:34Z stassats: i'm poring over ccl code for i/o 2017-02-12T01:41:01Z stassats: and i think i want to make threads on windows work without safepoints 2017-02-12T01:41:18Z stassats: just your normal crazy unsafe interruptions 2017-02-12T01:41:41Z stassats: and also make it build without threads again 2017-02-12T01:42:26Z stassats: i think that should be the first order of business: make threadless sbcl buildable, then fix i/o 2017-02-12T01:42:35Z stassats: at least one configuration will be usable 2017-02-12T01:42:55Z |3b| finds it usable even in the buggy form :) 2017-02-12T01:43:31Z stassats: |3b|: do you use windows full time? 2017-02-12T01:43:42Z |3b|: yeah 2017-02-12T01:43:55Z stassats: i know most of the thread issues are academic 2017-02-12T01:44:05Z stassats: but academic issues are the ones that bite the most 2017-02-12T01:44:13Z |3b| still hasn't gotten around to setting up linux on new box, and probably would still stay in win for games and VR drivers :/ 2017-02-12T01:45:04Z stassats: oh, and CRLF, yeah, it's high time to put this to bed 2017-02-12T01:45:11Z stassats: can't get proper i/o without it 2017-02-12T01:46:07Z stassats: can't even properly test (listen) or (clear-input) without CRLF handling 2017-02-12T01:48:10Z stassats: i like the spirit of the windows fork: let's do the proper thing 2017-02-12T01:48:25Z stassats: but the proper thing is often more complicated and buggy in the end... 2017-02-12T01:50:28Z stassats: and whatever happened to the people who made it? did they just stop or something? i feel like all my issues could be solved by someone who knows the code 2017-02-12T01:51:04Z nyef``` notes that the spirit of the original windows port was "what the heck are you guys on about, memory management isn't the hard part on windows!" 2017-02-12T01:54:00Z stassats: the hardest part is getting a c compiler 2017-02-12T01:54:30Z |3b|: at least that doesn't require picking from a bunch of configurations any more :) 2017-02-12T01:54:44Z |3b|: "whatever is in msys2" is good enough 2017-02-12T01:55:15Z |3b|: (probably still a hassle if you don't want msys2 though) 2017-02-12T01:55:18Z nyef```: I think that I used to use something from mingw, back in the day. 2017-02-12T01:55:30Z stassats: some people still manage to have problems with msys2 2017-02-12T01:55:43Z |3b|: yeah, i guess it is actually mingw compiler not msys 2017-02-12T01:56:15Z nyef```: Oh, wait, not quite mingw. I was using the cygwin environment, and the mingw cross-build from that. 2017-02-12T01:56:34Z nyef```: I'm a week away from having access to my windows box (win64 box?), and it's slated for a substantial teardown and rebuild when I do. 2017-02-12T01:57:03Z stassats: i don't have a windows box, i have a windows vm 2017-02-12T01:57:13Z nyef```: (How substantial? It's a laptop. The top-case, the keyboard, the bottom-case, and the video card are on the replacement list.) 2017-02-12T01:57:54Z nyef```: Oh, and I might swap the CPU out as well. 2017-02-12T01:58:36Z stassats: socketed cpu, that's an old laptop 2017-02-12T01:59:17Z stassats: theseus laptop 2017-02-12T01:59:21Z nyef```: About five years. 2017-02-12T01:59:53Z nyef```: Honestly, the *video card* being replacable should have been more of a surprise. d-: 2017-02-12T02:01:53Z jibanes quit (Ping timeout: 252 seconds) 2017-02-12T02:03:54Z jibanes joined #sbcl 2017-02-12T02:42:07Z nyef```: "From the department of Linguistic Purity: The construct formerly known as a ``callback'' will henceforth be known as a ``hollaback''. Your cooperation is appreciated." 2017-02-12T02:54:39Z stassats: ok, got through make-target-1 with threads disabled 2017-02-12T03:31:35Z stassats: and target-2 2017-02-12T03:32:36Z stassats: some contrib failures 2017-02-12T03:38:15Z dougk__ quit (Ping timeout: 258 seconds) 2017-02-12T03:40:43Z stassats: i actually starting to understand things more while i'm trying to disable them 2017-02-12T03:45:51Z nyef```: Something like a full percentage or more of the bugs in launchpad amount to "external formats don't support alternate line endings". 2017-02-12T03:47:04Z stassats: i think i'll tackle that after i get reasonable handling of i/o on windows 2017-02-12T03:47:54Z nyef```: I was thinking of tackling it purely in terms of Linux. 2017-02-12T03:48:29Z nyef```: Since once the underlying machinery works "right", it should be easy enough to set the default on WinAPI. 2017-02-12T03:48:30Z stassats: well, i don't care about it on linux, but on windows it's embarrassing 2017-02-12T03:49:21Z nyef```: Exactly. But if it works on Linux for WinAPI line endings, it'll work on WinAPI. 2017-02-12T03:49:26Z stassats: and i was going to work on it not on windows or linux 2017-02-12T03:49:32Z stassats: but on macos 2017-02-12T03:49:52Z nyef```: Heh! I was just about to suggest that you should also cover the CR-only line-ending case. 2017-02-12T03:50:02Z nyef```: Since that's the classic MacOS text format. 2017-02-12T03:50:03Z stassats: CR is trivial 2017-02-12T03:50:10Z stassats: since it's just one byte 2017-02-12T03:50:21Z nyef```: The real trick would be to handle VMS text files. 2017-02-12T03:50:58Z stassats: do we have a EBCDIC external format? 2017-02-12T03:51:04Z nyef```: Should do. 2017-02-12T03:51:12Z nyef```: Didn't Xof implement it ages back? 2017-02-12T03:51:50Z nyef```: The trick with VMS is that it's actually a structured file type, 16-bits of line-length followed by that many octets, and then a pad-to-even. 2017-02-12T03:51:51Z stassats: oh my, just scrolled to the description of what vms does 2017-02-12T03:52:04Z nyef```: Where? 2017-02-12T03:52:09Z stassats: wikipedia 2017-02-12T03:52:21Z stassats: https://en.wikipedia.org/wiki/Newline#Representations 2017-02-12T03:52:43Z stassats: alright, threaded windows builds, threadless builds, ship it and call it a day 2017-02-12T03:53:35Z nyef```: 32-bit or 64-bit? (-: 2017-02-12T03:53:46Z stassats: 64, of course 2017-02-12T03:54:08Z nyef```: Right, clearly I need to dig out one of my old 32-bit WinXP boxes. /-: 2017-02-12T03:54:34Z stassats: but i can build both, i just don't need two threadless sbcls 2017-02-12T03:55:00Z stassats: i just want to sort out i/o but sorting both i/o and threading problems at the same time isn't a good idea 2017-02-12T03:55:15Z nyef```: True enough. One problem set at a time. 2017-02-12T03:55:24Z stassats: besides, being able to build without threads even when they work is a good idea 2017-02-12T03:55:48Z stassats: i also may bolt on a different threading support, without involving safepoints 2017-02-12T03:55:52Z nyef```: I'm still somewhat at a loss with respect to the building-x86-from-x86-64-linux thing. 2017-02-12T03:55:55Z stassats: but using interrupts 2017-02-12T03:56:09Z nyef```: I've determined that it's something to do with the C compiler, and that it isn't the linker. 2017-02-12T03:56:11Z stassats: i build x86 from x86-64-anything all the time 2017-02-12T03:56:20Z stassats: windows, mac, linux, bsds 2017-02-12T03:56:24Z stassats: arm32 on arm64 2017-02-12T03:56:56Z nyef```: For whatever reason, I get a segfault + corruption + LDB if I build --arch=x86. 2017-02-12T03:57:20Z stassats: PIE problems? 2017-02-12T03:57:40Z nyef```: Thought we were doing global -no-pie these days? 2017-02-12T03:57:45Z stassats: yes 2017-02-12T03:57:46Z stassats: but 2017-02-12T03:58:20Z nyef```: Would I be able to tell if it were PIE by looking at "objdump -x" on the executable? 2017-02-12T03:59:05Z nyef```: Or "file" on the executable, for that matter? 2017-02-12T03:59:38Z nyef```: Okay, can't be "file". 2017-02-12T04:00:04Z nyef```: Identical output between a good (from a 32-bit chroot) build and a bad build. 2017-02-12T04:00:51Z nyef```: And thus far the only things I've been able to see in objdump is different addresses for certain things, and different... what are probably lengths. 2017-02-12T04:01:20Z |3b|: testing both in same env? 2017-02-12T04:01:23Z stassats: you can try adding sb-dynamic-core to the features 2017-02-12T04:01:30Z stassats: it works pie or no pie 2017-02-12T04:01:49Z stassats: or any other problems with nm 2017-02-12T04:01:51Z nyef```: Hrm. --with-sb-dynamic-core? 2017-02-12T04:01:56Z stassats: i guess 2017-02-12T04:01:58Z |3b|: (as in not only testing them where they were built) 2017-02-12T04:02:06Z stassats: i still use customize-target-features 2017-02-12T04:03:28Z stassats: ok, i feel a little bit better about the state of windows support, even though i didn't do anything 2017-02-12T04:03:45Z nyef```: |3b|: My 32-bit environment is a chroot, so I can cross-check against my 64-bit environment quite easily. If the 64-bit environment builds the runtime, it dies during make-target-2. If the 32-bit environment builds the runtime, it works fine, even if target-2 is run in the 64-bit environment. 2017-02-12T04:03:54Z stassats: just not hopeless 2017-02-12T04:04:14Z stassats: i don't even use a chroot 2017-02-12T04:04:17Z nyef```: ... sb-dynamic-core requires sb-thread? What? 2017-02-12T04:04:31Z stassats: nyef```: ha, i just disabled that bit 2017-02-12T04:04:44Z stassats: didn't test on x86, thoguh 2017-02-12T04:05:23Z nyef```: Why do the feature-compatibility tests require that? 2017-02-12T04:05:41Z stassats: laziness 2017-02-12T04:05:52Z nyef```: Ah, "subtle memory corruption". Yes, laziness. 2017-02-12T04:06:23Z nyef```: I was going to file a bug today, wasn't I? 2017-02-12T04:06:31Z nyef```: Guess it'll be tomorrow. 2017-02-12T04:07:33Z stassats: building with no threads and with sb-dynamic-core on linux-x86 2017-02-12T04:07:38Z stassats: awaiting subtle corruptions 2017-02-12T04:08:02Z stassats: are there non subtle memory corruptions? 2017-02-12T04:08:23Z nyef```: Non-subtle ones show up no later than the first GC after the damage occurs. 2017-02-12T04:08:49Z stassats: GC invariant lost, file "gencgc.c", line 4341 2017-02-12T04:08:53Z stassats: that's not subtle at all 2017-02-12T04:12:19Z nyef```: Yeah, sb-dynamic-core didn't help. 2017-02-12T04:13:48Z nyef```: Still dies, !COLD-INIT -> STREAM-COLD-INIT-OR-RESET -> STREAM-REINIT -> MAKE-FD-STREAM -> FD-?TYU 2017-02-12T04:13:54Z nyef```: FD-TYPE -> *boom*. 2017-02-12T04:14:08Z stassats: in other news, ccl is now on github 2017-02-12T04:14:54Z nyef```: Well, FD-TYPE -> fstat_wrapper() -> post_signal_tramp() -> call_into_lisp() -> MEMORY-FAULT-ERROR -> ERROR -> INFINITE-ERROR-PROTECTOR -> %HALT. 2017-02-12T04:15:20Z stassats: i didn't break fd-type did i? 2017-02-12T04:15:45Z stassats: nyef```: fstat64 vs fstat? 2017-02-12T04:16:15Z nyef```: Would that get screwed up by building -m32 on a 32-bit multilib host, but not by building -m32 on a 32-bit host? 2017-02-12T04:16:21Z nyef```: Err... 64-bit multilib host. 2017-02-12T04:16:45Z nyef```: Good call, though, I'll try to work out how to check. 2017-02-12T04:16:57Z stassats: what's grovelled? 2017-02-12T04:17:44Z nyef```: Looks like both versions use fstat64? 2017-02-12T04:18:16Z nyef```: The stuff-grovelled-from-headers.lisp file is identical between environments. 2017-02-12T04:19:25Z stassats: and features? 2017-02-12T04:19:38Z stassats: that'd be inode64 2017-02-12T04:20:11Z nyef```: Identical. 2017-02-12T04:20:55Z nyef```: (Okay, they currently differ with respect to sb-thread and sb-dynamic-core, but the *rest* is identical.) 2017-02-12T04:21:39Z nyef```: Again, it's something to do with building the runtime. And not with linking it. 2017-02-12T04:22:08Z nyef```: I've already gone over the sets of predefined stuff known to the preprocessor, and that's not looking likely. 2017-02-12T04:22:46Z nyef```: I'd be happier if both versions were closer in terms of generated code, but I have yet to dig into how to control the calling convention or optimization levels used. 2017-02-12T04:36:08Z stassats quit (Ping timeout: 258 seconds) 2017-02-12T05:49:54Z sirkmatija_ joined #sbcl 2017-02-12T06:03:57Z sepisoad_: how to not show startup message 2017-02-12T06:04:27Z Bike: --noinform 2017-02-12T06:07:01Z sepisoad_: Bike, nope 2017-02-12T06:07:14Z sepisoad_: Bike, does not work 2017-02-12T06:07:30Z Bike: what prints? 2017-02-12T06:08:06Z |3b|: make sure to put it in the right place if using other options, order matters 2017-02-12T06:09:32Z nyef```: If memory serves, the "kitten of death" message got removed or made optional at some point. 2017-02-12T06:09:55Z |3b|: made more professional i think (and possibly more optional) 2017-02-12T06:10:04Z nyef```: (Alas, poor Deathkitten. I knew thee well.) 2017-02-12T06:10:30Z sepisoad_: Actually i want to hide the startup message every time I run sbcl, either REPL or scrip mode 2017-02-12T06:10:31Z |3b|: "WARNING: the Windows port is fragile, particularly for multithreaded code. Unfortunately, the development team currently lacks the time and resources this platform demands. 2017-02-12T06:10:40Z sepisoad_: using noiform does not help doing this 2017-02-12T06:10:41Z |3b|: --noinform gets rid of that too though 2017-02-12T06:10:53Z sepisoad_: I'm using windows 2017-02-12T06:11:10Z sepisoad_: does it work differently on windows console./ 2017-02-12T06:11:11Z sepisoad_: ? 2017-02-12T06:11:17Z |3b|: sepisoad_: it works here, try putting it before --load 2017-02-12T06:11:54Z |3b|: works in cmd.exe console too 2017-02-12T06:12:05Z |3b| usually uses msys2 terminal w/bash 2017-02-12T06:13:32Z sepisoad_: sbcl --load myprog.l --noinform ---> does not work 2017-02-12T06:13:47Z sepisoad_: sbcl --noinform --load myprog.l ---> does not work 2017-02-12T06:13:59Z sepisoad_: sbcl --noinform --script myprog.l ---> does not work 2017-02-12T06:14:06Z sepisoad_: sbcl --script myprog.l --noinform ---> does not work 2017-02-12T06:14:22Z |3b|: ones with --noinform first should work, what version are you using? 2017-02-12T06:14:33Z FiveBroDeepBook joined #sbcl 2017-02-12T06:15:06Z |3b| checked manual, and it is runtime option so needs to be before toplevel options like load/script 2017-02-12T06:15:16Z FiveBroDeepBook quit (Excess Flood) 2017-02-12T06:15:58Z |3b|: and the message you get is "This is SBCL ...", stuff about license, and that warning i pasted earlier? 2017-02-12T06:16:49Z |3b|: actually, looks like --script includes --noinform if in runtime options, so last one should have worked too 2017-02-12T06:23:01Z sepisoad_: |3b|, version 1.3.10 2017-02-12T06:23:43Z |3b|: hmm, that sounds reasonably recent,so that shouldn't be the problem 2017-02-12T06:25:35Z nyef``` sighs. 2017-02-12T06:26:28Z nyef```: "if (!lisp_startup_options.noinform && embedded_core_offset == 0) {". I seem to have trouble remembering C operator precedence order these days. Which binds closer, == or &&? 2017-02-12T06:28:47Z nyef```: But, yeah, this should work. 2017-02-12T06:30:25Z nyef```: About the only plausibility that comes to mind is that argv might not be getting passed to the runtime properly, but if --load or --script work then that won't be the issue. 2017-02-12T06:37:08Z |3b|: sepisoad_: is this the sbcl normal executable/core and not one you made separately with save-lisp-and-die? 2017-02-12T06:37:24Z |3b|: (and the actual executable and not a batch file or shell script or anything?) 2017-02-12T06:38:42Z sepisoad_: |3b|, it is a batch file 2017-02-12T06:39:45Z |3b|: might check that then, though if --script by itself runs the script it should have made it quiet too 2017-02-12T06:40:51Z |3b|: possibly paste the contents of the batch file to http://paste.lisp.org/new so we could look at/try it if you aren't sure 2017-02-12T06:47:07Z sepisoad_: |3b|, http://paste.lisp.org/+79IH 2017-02-12T06:48:32Z |3b|: sepisoad_: yeah, --noinform (and the --script that includes it) won't work after --no-sysinit 2017-02-12T06:50:55Z |3b|: if you add --noinform as first argument to sbcl in the batch file, it should be quiet 2017-02-12T06:51:17Z |3b|: (possibly making a separate batch file for that if you only want it quiet sometimes) 2017-02-12T06:51:31Z sepisoad_: yup 2017-02-12T06:51:33Z sepisoad_: thanks 2017-02-12T06:51:41Z sepisoad_: |3b|, 2017-02-12T06:51:42Z |3b|: otherwise, would have to parse the options manually and rearrange them, which sounds hard to do well in a batch file 2017-02-12T07:23:10Z Cthulhux quit (Ping timeout: 264 seconds) 2017-02-12T07:33:14Z Cthulhux joined #sbcl 2017-02-12T07:39:33Z angavrilov joined #sbcl 2017-02-12T07:45:19Z gingerale joined #sbcl 2017-02-12T07:50:38Z igajsin joined #sbcl 2017-02-12T08:01:05Z attila_lendvai joined #sbcl 2017-02-12T08:01:05Z attila_lendvai quit (Changing host) 2017-02-12T08:01:05Z attila_lendvai joined #sbcl 2017-02-12T08:04:10Z dougk__ joined #sbcl 2017-02-12T08:47:34Z shka joined #sbcl 2017-02-12T08:51:27Z salv0 joined #sbcl 2017-02-12T09:33:33Z Bike quit (Quit: leaving) 2017-02-12T09:35:51Z jamtho joined #sbcl 2017-02-12T09:43:23Z dougk__ quit (Read error: Connection reset by peer) 2017-02-12T09:43:39Z dougk__ joined #sbcl 2017-02-12T10:00:56Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-12T10:20:59Z attila_lendvai joined #sbcl 2017-02-12T10:20:59Z attila_lendvai quit (Changing host) 2017-02-12T10:20:59Z attila_lendvai joined #sbcl 2017-02-12T10:21:21Z attila_lendvai quit (Client Quit) 2017-02-12T10:21:30Z attila_lendvai joined #sbcl 2017-02-12T10:21:30Z attila_lendvai quit (Changing host) 2017-02-12T10:21:30Z attila_lendvai joined #sbcl 2017-02-12T10:23:28Z jamtho quit (Ping timeout: 240 seconds) 2017-02-12T10:23:33Z sjl joined #sbcl 2017-02-12T10:25:34Z dougk__ quit (Ping timeout: 264 seconds) 2017-02-12T10:50:26Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-12T10:58:42Z attila_lendvai joined #sbcl 2017-02-12T10:58:42Z attila_lendvai quit (Changing host) 2017-02-12T10:58:42Z attila_lendvai joined #sbcl 2017-02-12T11:29:32Z sjl quit (Read error: Connection reset by peer) 2017-02-12T11:46:04Z stassats joined #sbcl 2017-02-12T11:51:36Z scymtym quit (Ping timeout: 258 seconds) 2017-02-12T12:00:50Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-12T12:01:34Z sirkmatija_ quit (Ping timeout: 264 seconds) 2017-02-12T12:05:54Z sjl joined #sbcl 2017-02-12T12:09:40Z scymtym joined #sbcl 2017-02-12T12:12:19Z attila_lendvai joined #sbcl 2017-02-12T12:12:19Z attila_lendvai quit (Client Quit) 2017-02-12T12:12:42Z attila_lendvai joined #sbcl 2017-02-12T12:20:00Z scymtym: any suggestions for a better name than CONDITION-DESIGNATOR in http://paste.lisp.org/display/338593 ? 2017-02-12T12:23:59Z Shinmera: Isn't it called a "datum" in the CLHS? 2017-02-12T12:24:26Z Shinmera: Though I can't say I've ever been a fan of that name. 2017-02-12T12:29:42Z phoe: scymtym: I think CONDITION-DESIGNATOR is a good one. 2017-02-12T12:29:44Z sepisoad_ quit (Ping timeout: 260 seconds) 2017-02-12T12:31:05Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-12T12:45:34Z dougk__ joined #sbcl 2017-02-12T12:50:24Z dougk__ quit (Read error: Connection reset by peer) 2017-02-12T12:50:39Z dougk__ joined #sbcl 2017-02-12T12:51:06Z schjetne quit (Ping timeout: 256 seconds) 2017-02-12T12:52:58Z Posterdati: hi 2017-02-12T12:54:12Z Posterdati: I'm building the latest sbcl git on linux amd64, but it hang on SB-CONCURRENCY-TEST::MAILBOX.MULTIPLE-PRODUCERS-SINGLE-CONSUMER 2017-02-12T13:08:08Z scymtym: Shinmera: datum is the name of the first parameter. the datum and arguments parameters /together/ are called "condition designator". that's the problem i'm having 2017-02-12T13:08:22Z Shinmera: scymtym: Ah, I see. 2017-02-12T13:08:36Z scymtym: so i'm thinking about something like condition-designator-head, but that would probably do more harm than good 2017-02-12T13:11:04Z stassats: do classes designate conditions? 2017-02-12T13:12:09Z scymtym: i think that's implementation dependent 2017-02-12T13:12:50Z scymtym: oh, you mean classes vs. class names 2017-02-12T13:14:46Z scymtym: 9.1.2.1 only lists names of condition types 2017-02-12T13:15:48Z scymtym: classes are type designators, right? 2017-02-12T13:16:39Z scymtym: type specifiers, sorry 2017-02-12T13:25:57Z stassats: got a hold of a windows 7 machine, there the *stdin* fd is 3, which is what sbcl tests for 2017-02-12T13:26:11Z stassats: but on windows 8 it no longer has the lower bits set 2017-02-12T13:26:25Z stassats: so much for undocumented featuresa 2017-02-12T13:26:36Z stassats: and for windows famed backwards compatibility 2017-02-12T13:27:21Z Shinmera: The backwards compat stuff stopped with Vista, I'm pretty sure. 2017-02-12T13:27:38Z stassats: even read-char works on windows 7 2017-02-12T13:27:40Z stassats: huh 2017-02-12T13:27:53Z stassats: as in, doesn't return #\Newline immediately 2017-02-12T13:28:06Z stassats: ah, probably because the test succeeds 2017-02-12T13:28:51Z sirkmatija_ joined #sbcl 2017-02-12T13:28:53Z myrkraverk quit (Remote host closed the connection) 2017-02-12T13:35:30Z attila_lendvai joined #sbcl 2017-02-12T13:35:57Z Posterdati: I'm building the latest sbcl git on linux amd64, but it hangs on SB-CONCURRENCY-TEST::MAILBOX.MULTIPLE-PRODUCERS-SINGLE-CONSUMER 2017-02-12T13:37:55Z stassats: sb-concurrency tests tend to do that 2017-02-12T13:42:07Z Posterdati: why? 2017-02-12T13:42:19Z Posterdati: too slow machine? 2017-02-12T13:42:45Z stassats: the tests are that way 2017-02-12T13:42:55Z Posterdati: ok 2017-02-12T13:43:04Z stassats: and sometimes sb-concurrency itself 2017-02-12T13:43:28Z Posterdati: anyway second try didn't hang (no tests at all) 2017-02-12T13:43:37Z stassats: sure, that's how it goes 2017-02-12T13:43:51Z Posterdati: ah ok 2017-02-12T13:46:26Z dougk__ quit (Read error: Connection reset by peer) 2017-02-12T13:46:43Z dougk__ joined #sbcl 2017-02-12T13:49:22Z scymtym: stassats: i think you are right. the type should include SB-PCL::CONDITION-CLASS 2017-02-12T13:50:53Z scymtym: clisp and ccl don't allow (error ) even though (typep (make-condition 'type-error) (find-class 'type-error)) => true 2017-02-12T13:52:52Z stassats: and functions? 2017-02-12T13:56:22Z scymtym: oh, right 2017-02-12T13:57:34Z stassats: just use format-control? 2017-02-12T13:58:25Z scymtym: sure, i was going to check whether we have that as a type. just checking the spec first. but it says "format control", so all is well 2017-02-12T13:58:58Z stassats: format-control is even in your diff 2017-02-12T13:59:35Z scymtym: haha, right above my DEFTYPE. but as i said, i checked the spec before even looking at the code again 2017-02-12T14:00:45Z stassats: could check the function arg-number too, but i think the CALLABLE thing doesn't handle "at least 1 argument" 2017-02-12T14:01:39Z stassats: but (format function 1 2 3) calls it with 4 arguments, but can't handle 1+ either 2017-02-12T14:01:54Z stassats writes that into his sbcl notes file 2017-02-12T14:02:11Z stassats: (if what the notes app saves into is a file) 2017-02-12T14:02:37Z stassats: but almost nobody calls format with functions 2017-02-12T14:02:43Z stassats: so, probably a wasted effort 2017-02-12T14:02:51Z stassats: with functions with know arguments, at that 2017-02-12T14:09:47Z dougk__ quit (Ping timeout: 276 seconds) 2017-02-12T14:12:04Z scymtym: for me, this is about making the types as tight as possible to catch as many cases as possible of /accidentally/ passing random stuff to ERROR or FORMAT 2017-02-12T14:15:35Z stassats: so, win32_write_unicode_console is asked to write one character, it goes on and promptly does count >> 1 2017-02-12T14:15:52Z stassats: zero chars written, very nice 2017-02-12T14:16:22Z stassats: i presume then that my console is not a unicode one or something? 2017-02-12T14:16:35Z stassats: i mean, what the hell 2017-02-12T14:22:10Z sjl quit (Read error: Connection reset by peer) 2017-02-12T14:22:18Z sjl__ joined #sbcl 2017-02-12T14:23:22Z stassats: ok, on that windows 7 machine stream-external-format is :UCS2-2LE 2017-02-12T14:23:31Z stassats: and here it's :CP437 2017-02-12T14:54:05Z sjl__ quit (Ping timeout: 240 seconds) 2017-02-12T14:55:31Z dougk__ joined #sbcl 2017-02-12T15:33:42Z sjl__ joined #sbcl 2017-02-12T15:38:22Z Cthulhux quit (Changing host) 2017-02-12T15:38:22Z Cthulhux joined #sbcl 2017-02-12T15:43:46Z stassats: ok, i think i see what needs to be done in that regard 2017-02-12T15:56:02Z DeadTrickster joined #sbcl 2017-02-12T16:13:57Z csziacobus joined #sbcl 2017-02-12T16:15:34Z jibanes quit (Ping timeout: 240 seconds) 2017-02-12T16:17:48Z jibanes joined #sbcl 2017-02-12T16:25:35Z dougk__ quit (Read error: Connection reset by peer) 2017-02-12T16:25:51Z dougk__ joined #sbcl 2017-02-12T16:42:54Z csziacobus quit (Ping timeout: 260 seconds) 2017-02-12T16:45:48Z csziacobus joined #sbcl 2017-02-12T16:47:30Z schjetne joined #sbcl 2017-02-12T17:00:33Z DGASAU quit (Read error: Connection reset by peer) 2017-02-12T17:01:00Z DGASAU joined #sbcl 2017-02-12T17:06:06Z rumbler31 joined #sbcl 2017-02-12T17:13:32Z stassats: ok, looks like i have a working console now 2017-02-12T17:25:57Z Bike joined #sbcl 2017-02-12T17:31:26Z karswell` joined #sbcl 2017-02-12T17:33:19Z stassats: except that it thinks that "nul" is a console 2017-02-12T17:33:26Z stassats: sbcl < nul doesn't EOF 2017-02-12T17:36:02Z stassats: while sbcl < file isn't a console 2017-02-12T17:45:02Z karswell` is now known as karswell 2017-02-12T17:49:14Z scymtym quit (Ping timeout: 240 seconds) 2017-02-12T17:52:48Z dougk__ quit (Read error: Connection reset by peer) 2017-02-12T17:53:03Z dougk__ joined #sbcl 2017-02-12T17:55:40Z shka quit (Ping timeout: 240 seconds) 2017-02-12T18:06:52Z scymtym joined #sbcl 2017-02-12T18:23:28Z eschatologist quit (Ping timeout: 255 seconds) 2017-02-12T18:29:06Z shka joined #sbcl 2017-02-12T18:34:30Z csziacobus quit (Ping timeout: 256 seconds) 2017-02-12T18:39:30Z eschatologist joined #sbcl 2017-02-12T18:44:32Z eschatologist quit (Ping timeout: 252 seconds) 2017-02-12T18:47:39Z eschatologist joined #sbcl 2017-02-12T19:10:23Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-12T19:58:52Z csziacobus joined #sbcl 2017-02-12T20:11:28Z eschatologist quit (Ping timeout: 255 seconds) 2017-02-12T20:20:07Z eschatologist joined #sbcl 2017-02-12T20:21:50Z rpg joined #sbcl 2017-02-12T20:36:49Z shka quit (Ping timeout: 255 seconds) 2017-02-12T20:54:04Z shka joined #sbcl 2017-02-12T21:08:01Z quadresce joined #sbcl 2017-02-12T21:17:26Z eschatologist quit (Ping timeout: 252 seconds) 2017-02-12T21:20:28Z eschatologist joined #sbcl 2017-02-12T21:20:50Z attila_lendvai joined #sbcl 2017-02-12T21:20:50Z attila_lendvai quit (Changing host) 2017-02-12T21:20:50Z attila_lendvai joined #sbcl 2017-02-12T21:21:14Z csziacobus quit (Remote host closed the connection) 2017-02-12T21:21:50Z attila_lendvai quit (Client Quit) 2017-02-12T21:22:01Z attila_lendvai joined #sbcl 2017-02-12T21:22:01Z attila_lendvai quit (Changing host) 2017-02-12T21:22:01Z attila_lendvai joined #sbcl 2017-02-12T21:34:34Z eschatologist quit (Ping timeout: 260 seconds) 2017-02-12T21:36:32Z eschatologist joined #sbcl 2017-02-12T21:40:12Z angavrilov quit (Remote host closed the connection) 2017-02-12T21:46:55Z eschatologist quit (Ping timeout: 258 seconds) 2017-02-12T21:51:56Z eschatologist joined #sbcl 2017-02-12T22:01:49Z sirkmatija_ quit (Quit: sirkmatija_) 2017-02-12T22:12:40Z eschatologist quit (Ping timeout: 240 seconds) 2017-02-12T22:18:50Z gingerale quit (Read error: Connection reset by peer) 2017-02-12T22:30:54Z salv0 quit (Remote host closed the connection) 2017-02-12T22:34:33Z eschatologist joined #sbcl 2017-02-12T22:40:08Z stassats: interrupting on console_read is still broken 2017-02-12T22:40:20Z stassats: i tried all the combinations 2017-02-12T22:44:28Z eschatologist quit (Ping timeout: 240 seconds) 2017-02-12T22:58:08Z quadresce quit (Quit: This computer has gone to sleep) 2017-02-12T22:58:39Z eschatologist joined #sbcl 2017-02-12T22:59:04Z quadresce joined #sbcl 2017-02-12T23:02:39Z shka quit (Ping timeout: 260 seconds) 2017-02-12T23:05:36Z jamtho joined #sbcl 2017-02-12T23:09:43Z stassats: ok, looks like i figured it 2017-02-12T23:09:47Z stassats: after five hours 2017-02-12T23:10:44Z stassats: so, console i/o seems to be reasonable and interruptable 2017-02-12T23:11:14Z stassats: to check if pipes, sockets and files are reasonable 2017-02-12T23:13:59Z karswell` joined #sbcl 2017-02-12T23:14:31Z karswell quit (Remote host closed the connection) 2017-02-12T23:15:21Z stassats: and i think that's enough windows attention for the release 2017-02-12T23:15:57Z stassats: lest people think it's totally abandoned 2017-02-12T23:24:13Z quadresce quit (Quit: This computer has gone to sleep) 2017-02-12T23:28:49Z dougk__ quit (Read error: Connection reset by peer) 2017-02-12T23:29:07Z dougk__ joined #sbcl 2017-02-12T23:38:40Z eschatologist quit (Ping timeout: 245 seconds) 2017-02-12T23:41:43Z eschatologist joined #sbcl 2017-02-12T23:46:10Z igajsin quit (Ping timeout: 256 seconds) 2017-02-12T23:50:40Z irsol quit (Ping timeout: 240 seconds) 2017-02-12T23:51:58Z irsol joined #sbcl 2017-02-13T00:12:28Z dougk__ quit (Read error: Connection reset by peer) 2017-02-13T00:12:49Z dougk__ joined #sbcl 2017-02-13T00:50:23Z cromachina quit (Write error: Connection reset by peer) 2017-02-13T00:50:52Z cromachina joined #sbcl 2017-02-13T00:53:24Z jamtho quit (Quit: Leaving) 2017-02-13T01:18:56Z akkad quit (Ping timeout: 240 seconds) 2017-02-13T01:19:16Z sjl__ quit (Ping timeout: 255 seconds) 2017-02-13T01:19:43Z nyef```: ... We have three different implementations of WITH-PINNED-OBJECT. There's the cheneygc-only version, used on ALPHA, HPPA, and MIPS. There's the gencgc-or-cheneygc version, used on ARM64, ARM, PPC, and SPARC. And there's the x86oid version, used on x86-64 and x86. 2017-02-13T01:20:08Z nyef```: The cheneygc-only version is equivalent to the gencgc-or-cheneygc version on cheneygc targets. 2017-02-13T01:20:25Z stassats: how about a fourth? 2017-02-13T01:20:38Z stassats: leaving a bit in the header for pinning 2017-02-13T01:20:59Z stassats: conses, what to do with conses 2017-02-13T01:21:13Z stassats: who pins conses anyway 2017-02-13T01:21:14Z nyef```: Great idea^W^WNot where I was going with this. 2017-02-13T01:21:58Z stassats: some oses allow most significant bits to have tags 2017-02-13T01:22:02Z stassats: put the bit there 2017-02-13T01:22:08Z stassats: fifth way 2017-02-13T01:22:52Z nyef```: Basically, the cheneygc-only version is a special-case of the gencgc-or-cheneygc version, so we effectively really only have two versions, distributed over three concrete forms, over *nine* backends. 2017-02-13T01:24:05Z stassats: but maybe this bit saving is not worth it, are we looking at "is this object pinned" or "iterate over all pinned objects"? 2017-02-13T01:25:08Z nyef```: Is there a good place in compiler/generic/ to consolidate the mess, or should I create a new file there? 2017-02-13T01:25:36Z stassats: i'd prefer a new file, i think 2017-02-13T01:25:50Z nyef```: compiler/generic/macros.lisp, or something else? 2017-02-13T01:26:20Z akkad joined #sbcl 2017-02-13T01:26:35Z stassats: can it be pinned-objects.lisp? 2017-02-13T01:27:05Z stassats: "macros" is just about as good as a blank name 2017-02-13T01:27:34Z stassats: slightly better than "functions.lisp", i'll concede that 2017-02-13T01:28:04Z nyef```: True, it doesn't say much, but it's coming *from* nine files called macros.lisp, and naming it the same gives us a new semi-generic place to put stuff if necessary. 2017-02-13T01:30:46Z nyef```: ... compiler/generic/pinned-objects.lisp it is, unless someone can come up with a compelling argument otherwise in the next, say, twelve hours? 2017-02-13T01:32:53Z stassats: are there any performance problems with using pinned lists? 2017-02-13T01:33:02Z stassats: do they ever grow large enough to cause problems? 2017-02-13T01:33:39Z karswell` quit (Remote host closed the connection) 2017-02-13T01:35:03Z stassats: ok, while creating dx lists is not zero cost, gengc only iterates over them doing preserve_pointer 2017-02-13T01:36:50Z stassats: and about tagged pointers https://www.kernel.org/doc/Documentation/arm64/tagged-pointers.txt 2017-02-13T01:41:14Z stassats: can we use dx conses instead of the binding stack? 2017-02-13T01:41:36Z nyef```: You want to get rid of the bindstack? 2017-02-13T01:42:33Z stassats: yes, to either get smaller threads or more space for the control stack 2017-02-13T01:42:53Z nyef```: ... It'd need to be a double-cons per binding, I think, unless you push the metadata to the debug-fun and complicate UNWIND. 2017-02-13T01:43:27Z nyef```: (One CONS for the symbol and the old-value, one CONS to add it to the list.) 2017-02-13T01:44:03Z nyef```: ... And there may be a bit of complication with stack pointer management, not quite sure on that offhand. 2017-02-13T01:44:25Z stassats: tls number instead of symbols with threads 2017-02-13T01:44:31Z stassats: which is usually small 2017-02-13T01:46:05Z nyef```: That's fine, but doesn't reduce your overhead. It's still a minimum of three words, and four if you want to stick to using actual CONSes. 2017-02-13T01:46:47Z nyef```: Now, pushing the information to the DEBUG-FUN would let you bring that down to one word at runtime for the old value. 2017-02-13T01:47:07Z nyef```: ... Probably two in the case of PROGV. 2017-02-13T01:48:11Z stassats: if we have precise unwind, we can only have it on -c-stack-is-control-stack 2017-02-13T01:48:41Z nyef```: Not going to rely on eh_frame information, huh? 2017-02-13T01:48:57Z stassats: i don't trust C frames 2017-02-13T01:50:07Z stassats: but as usual, depending on the ability to precisely to reconstruct frames is too smart 2017-02-13T01:50:29Z stassats: which means it'd be a pain to create in the first place, validate and resolve any subsequent problems 2017-02-13T01:50:38Z stassats: usually during porting 2017-02-13T01:51:13Z stassats: but maybe when we run out of dumb things to do 2017-02-13T01:51:30Z stassats: but there seems to be no end to dumb things 2017-02-13T01:51:34Z nyef```: It'll be a while before we run out of things to work on, yes. 2017-02-13T02:02:36Z csziacobus joined #sbcl 2017-02-13T02:06:41Z quadresce joined #sbcl 2017-02-13T02:29:50Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-13T02:33:14Z akkad quit (Ping timeout: 260 seconds) 2017-02-13T02:34:50Z akkad joined #sbcl 2017-02-13T02:37:33Z dougk__ quit (Read error: Connection reset by peer) 2017-02-13T02:37:50Z dougk__ joined #sbcl 2017-02-13T02:38:48Z csziacob` joined #sbcl 2017-02-13T02:39:33Z csziacobus quit (Remote host closed the connection) 2017-02-13T02:42:57Z karswell` joined #sbcl 2017-02-13T02:57:56Z quadresce quit (Quit: This computer has gone to sleep) 2017-02-13T03:00:42Z csziacob` left #sbcl 2017-02-13T03:01:18Z csziacobus joined #sbcl 2017-02-13T03:06:11Z mateuszb_ joined #sbcl 2017-02-13T03:09:59Z mateuszb quit (Ping timeout: 252 seconds) 2017-02-13T03:15:12Z quadresce joined #sbcl 2017-02-13T03:18:23Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-02-13T03:21:28Z quadresce quit (Quit: This computer has gone to sleep) 2017-02-13T03:25:24Z quadresce joined #sbcl 2017-02-13T03:31:28Z quadresce quit (Quit: This computer has gone to sleep) 2017-02-13T03:34:53Z quadresce joined #sbcl 2017-02-13T03:40:24Z quadresce quit (Quit: This computer has gone to sleep) 2017-02-13T03:43:37Z quadresce joined #sbcl 2017-02-13T04:08:17Z stassats quit (Ping timeout: 252 seconds) 2017-02-13T04:56:52Z rumbler31 quit (Remote host closed the connection) 2017-02-13T05:21:36Z quadresce quit (Quit: This computer has gone to sleep) 2017-02-13T05:21:59Z csziacobus quit (Ping timeout: 252 seconds) 2017-02-13T06:07:42Z quadresce joined #sbcl 2017-02-13T06:35:58Z oleo quit (Quit: Leaving) 2017-02-13T06:37:41Z sirkmatija_ joined #sbcl 2017-02-13T06:42:41Z igajsin joined #sbcl 2017-02-13T07:08:17Z quadresce quit (Quit: This computer has gone to sleep) 2017-02-13T07:27:00Z scymtym quit (Ping timeout: 245 seconds) 2017-02-13T07:27:48Z sirkmatija_ quit (Quit: sirkmatija_) 2017-02-13T07:51:29Z dougk__ quit (Read error: Connection reset by peer) 2017-02-13T07:51:46Z dougk__ joined #sbcl 2017-02-13T07:59:30Z dougk__ quit (Read error: Connection reset by peer) 2017-02-13T07:59:49Z dougk__ joined #sbcl 2017-02-13T08:03:08Z angavrilov joined #sbcl 2017-02-13T08:15:05Z DeadTrickster quit (Ping timeout: 240 seconds) 2017-02-13T08:21:55Z solene joined #sbcl 2017-02-13T08:29:06Z dougk__ quit (Read error: Connection reset by peer) 2017-02-13T08:29:24Z dougk__ joined #sbcl 2017-02-13T08:35:33Z Bike quit (Quit: leaving) 2017-02-13T08:36:10Z dougk__ quit (Read error: Connection reset by peer) 2017-02-13T08:36:29Z dougk__ joined #sbcl 2017-02-13T08:37:50Z scymtym joined #sbcl 2017-02-13T08:48:57Z scymtym_ joined #sbcl 2017-02-13T08:52:54Z scymtym quit (Ping timeout: 240 seconds) 2017-02-13T09:04:29Z attila_lendvai joined #sbcl 2017-02-13T09:21:51Z shka joined #sbcl 2017-02-13T09:54:51Z dougk__ quit (Read error: Connection reset by peer) 2017-02-13T09:55:09Z dougk__ joined #sbcl 2017-02-13T09:55:13Z DeadTrickster joined #sbcl 2017-02-13T10:21:06Z dougk__ quit (Read error: Connection reset by peer) 2017-02-13T10:21:22Z dougk__ joined #sbcl 2017-02-13T11:01:20Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-13T11:11:48Z schjetne quit (Ping timeout: 260 seconds) 2017-02-13T11:15:28Z m00natic joined #sbcl 2017-02-13T11:39:16Z schjetne joined #sbcl 2017-02-13T11:48:53Z dougk__ quit (Read error: Connection reset by peer) 2017-02-13T11:49:13Z dougk__ joined #sbcl 2017-02-13T11:55:24Z schjetne quit (Read error: Connection reset by peer) 2017-02-13T12:03:40Z dougk__ quit (Ping timeout: 245 seconds) 2017-02-13T12:05:46Z sjl__ joined #sbcl 2017-02-13T12:06:08Z sjl__ is now known as sjl 2017-02-13T12:23:11Z schjetne joined #sbcl 2017-02-13T12:30:35Z sjl quit (Ping timeout: 240 seconds) 2017-02-13T13:00:15Z rpg joined #sbcl 2017-02-13T13:03:03Z sjl joined #sbcl 2017-02-13T13:26:18Z specbot quit (Disconnected by services) 2017-02-13T13:26:22Z specbot joined #sbcl 2017-02-13T13:30:38Z nimiux_ joined #sbcl 2017-02-13T13:30:55Z pkhuong_ joined #sbcl 2017-02-13T13:36:26Z pkhuong quit (Ping timeout: 258 seconds) 2017-02-13T13:36:26Z nimiux quit (Ping timeout: 258 seconds) 2017-02-13T13:43:08Z sirkmatija_ joined #sbcl 2017-02-13T13:52:02Z edgar-rft quit (Quit: edgar-rft) 2017-02-13T13:54:08Z DougNYC joined #sbcl 2017-02-13T14:00:13Z sjl quit (Ping timeout: 255 seconds) 2017-02-13T14:01:00Z sjl joined #sbcl 2017-02-13T14:05:40Z stassats joined #sbcl 2017-02-13T14:17:11Z DougNYC quit (Remote host closed the connection) 2017-02-13T14:24:53Z attila_lendvai joined #sbcl 2017-02-13T14:27:03Z sirkmatija_ quit (Quit: sirkmatija_) 2017-02-13T14:29:00Z cromachina quit (Read error: Connection reset by peer) 2017-02-13T14:32:56Z carvite quit (Remote host closed the connection) 2017-02-13T14:37:15Z DougNYC joined #sbcl 2017-02-13T14:40:52Z myrkraverk joined #sbcl 2017-02-13T14:44:14Z karswell` quit (Ping timeout: 240 seconds) 2017-02-13T14:45:41Z DGASAU` joined #sbcl 2017-02-13T14:45:56Z DGASAU quit (Remote host closed the connection) 2017-02-13T14:55:14Z carvite joined #sbcl 2017-02-13T15:40:16Z schjetne quit (Ping timeout: 255 seconds) 2017-02-13T16:19:35Z sjl quit (Ping timeout: 240 seconds) 2017-02-13T16:21:43Z dougk__ joined #sbcl 2017-02-13T16:42:09Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-02-13T16:44:00Z rpg joined #sbcl 2017-02-13T17:10:53Z oleo joined #sbcl 2017-02-13T17:14:05Z Bike joined #sbcl 2017-02-13T17:36:48Z eschatologist quit (Ping timeout: 240 seconds) 2017-02-13T17:38:58Z eschatologist joined #sbcl 2017-02-13T17:39:33Z rumbler31 joined #sbcl 2017-02-13T17:41:54Z schjetne joined #sbcl 2017-02-13T17:45:49Z rumbler31 quit (Remote host closed the connection) 2017-02-13T18:01:54Z m00natic quit (Remote host closed the connection) 2017-02-13T18:05:47Z sjl joined #sbcl 2017-02-13T18:06:26Z sirkmatija_ joined #sbcl 2017-02-13T18:21:37Z stassats: i think i see why interrupt thread on safepoints is broken 2017-02-13T18:21:59Z stassats: it unlocks the exit-from-foreign safepoint between it can get triggered 2017-02-13T18:23:26Z stassats: ha, i have no idea how that would work in general 2017-02-13T18:23:45Z stassats: the exit-from-foreign safepoint is per there, i can see that working 2017-02-13T18:23:46Z DougNYC quit (Remote host closed the connection) 2017-02-13T18:24:36Z stassats: but the lisp safepint is global, so how can i know that it will get triggered during wake_thread 2017-02-13T18:27:44Z drmeister: I'm using sbcl for a project and when I'm compiling a source file with C-c C-k I get a bunch of warnings in the *slime-compilation* buffer but no errors, yet it says Compilation failed. Load fasl file anyway? and in the *slime-repl sbcl* buffer there are no errors. 2017-02-13T18:28:06Z stassats: clhs compile-file 2017-02-13T18:28:07Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_cmp_fi.htm 2017-02-13T18:28:11Z drmeister: There is one Undefined function - is that what might be causing the problem? 2017-02-13T18:28:16Z stassats: see when the third value is set to T 2017-02-13T18:28:19Z Bike: that should be a style warning 2017-02-13T18:28:30Z Bike: full warnings mean something is pretty wrong though 2017-02-13T18:29:57Z drmeister: Oh - I didn't realize warnings were really warnings 2017-02-13T18:31:15Z gingerale joined #sbcl 2017-02-13T18:31:47Z stassats: ok, clearly, interrupt thread is broken on safepoints 2017-02-13T18:31:58Z Bike: warnings are signaled when the code is undefined or will signal an error at runtime, so, to be avioded 2017-02-13T18:32:07Z stassats: or thruption, or whatever you call it 2017-02-13T18:32:10Z stassats: it just can't work 2017-02-13T18:32:13Z drmeister: Well, I learn something every day. 2017-02-13T18:33:08Z stassats: and it is obvious that line was never going to work, why was it written that way? did it ever work? 2017-02-13T18:34:28Z drmeister: We should have clasp do these "style-warnings" 2017-02-13T18:35:11Z stassats: one solution, make interrupt-thread synchronous, wait for a global safepoint, if the thread is actually in foreign code it can set its local safepoint and exit 2017-02-13T18:35:22Z stassats: shouldn't hold for long for a lisp safepoint in lisp code 2017-02-13T18:35:33Z stassats: sounds like the solution 2017-02-13T18:36:34Z stassats: drmeister: yes, warnings on undefined variables and functions are severely missing 2017-02-13T18:36:37Z stassats: or unused variables 2017-02-13T18:36:47Z nyef```: Or unused local functions? 2017-02-13T18:37:26Z stassats: that's rare 2017-02-13T18:37:39Z nyef```: Doesn't mean we shouldn't cover it. 2017-02-13T18:39:38Z stassats: maybe after i bang my head on safepoint interrupts problem enough i will know more about safepoint (than i want to) and be able to solve the without-gcing deadlock 2017-02-13T18:39:54Z stassats: it's starting to get clearer 2017-02-13T18:42:09Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-02-13T18:44:14Z quadresce joined #sbcl 2017-02-13T18:47:09Z angavrilov quit (Remote host closed the connection) 2017-02-13T18:57:42Z rumbler3_ joined #sbcl 2017-02-13T19:02:02Z quadresce quit (Quit: This computer has gone to sleep) 2017-02-13T19:02:03Z sjl quit (Read error: Connection reset by peer) 2017-02-13T19:07:37Z DougNYC joined #sbcl 2017-02-13T19:14:36Z DougNYC quit (Remote host closed the connection) 2017-02-13T19:18:02Z jibanes quit (Ping timeout: 256 seconds) 2017-02-13T19:19:39Z jibanes joined #sbcl 2017-02-13T19:23:52Z oleo quit (Quit: Leaving) 2017-02-13T19:25:04Z rumbler3_ quit (Remote host closed the connection) 2017-02-13T19:26:34Z oleo joined #sbcl 2017-02-13T19:29:42Z quadresce joined #sbcl 2017-02-13T19:30:39Z rumbler3_ joined #sbcl 2017-02-13T19:31:48Z rumbler3_ quit (Remote host closed the connection) 2017-02-13T19:35:11Z quadresce quit (Quit: This computer has gone to sleep) 2017-02-13T19:57:25Z rumbler3_ joined #sbcl 2017-02-13T20:02:15Z dougk___ joined #sbcl 2017-02-13T20:03:49Z dougk__ quit (Ping timeout: 255 seconds) 2017-02-13T20:04:39Z rumbler3_ quit (Remote host closed the connection) 2017-02-13T20:15:55Z quadresce joined #sbcl 2017-02-13T20:24:30Z nyef```: I finally mostly understand x86oid WITH-PINNED-OBJECTS... It's still a hideous hack. 2017-02-13T20:28:44Z rumbler3_ joined #sbcl 2017-02-13T20:29:39Z stassats: exchanged the inability to interrupt foreign calls to some cryptic assertion failures 2017-02-13T20:33:31Z rumbler3_ quit (Ping timeout: 255 seconds) 2017-02-13T20:35:54Z scymtym_ quit (Ping timeout: 240 seconds) 2017-02-13T20:37:20Z nyef```: Two weeks tomorrow since the last change to the vesitigial exit deletion logic, and Eric still hasn't found a failure case. (-: 2017-02-13T20:39:38Z igajsin quit (Ping timeout: 256 seconds) 2017-02-13T20:44:35Z quadresce quit (Quit: This computer has gone to sleep) 2017-02-13T20:48:56Z rumbler3_ joined #sbcl 2017-02-13T20:53:41Z rumbler3_ quit (Ping timeout: 252 seconds) 2017-02-13T20:54:11Z dougk__ joined #sbcl 2017-02-13T20:54:13Z dougk___ quit (Ping timeout: 255 seconds) 2017-02-13T20:55:00Z quadresce joined #sbcl 2017-02-13T20:58:23Z edgar-rft joined #sbcl 2017-02-13T21:00:30Z stassats: somehow it has trouble handling a fault 2017-02-13T21:00:36Z stassats: it thinks it's in dynamic space 2017-02-13T21:01:02Z quadresce quit (Quit: This computer has gone to sleep) 2017-02-13T21:01:39Z stassats: or something else, but not a safepoint page 2017-02-13T21:05:43Z quadresce joined #sbcl 2017-02-13T21:08:17Z quadresce quit (Client Quit) 2017-02-13T21:10:12Z quadresce joined #sbcl 2017-02-13T21:37:29Z scymtym joined #sbcl 2017-02-13T21:40:02Z sjl joined #sbcl 2017-02-13T21:49:41Z rumbler3_ joined #sbcl 2017-02-13T21:49:48Z sirkmatija_ quit (Ping timeout: 240 seconds) 2017-02-13T21:55:25Z rumbler3_ quit (Ping timeout: 240 seconds) 2017-02-13T21:56:53Z phoe is now known as eohp 2017-02-13T22:00:51Z eohp is now known as phoe 2017-02-13T22:09:30Z jibanes quit (Ping timeout: 245 seconds) 2017-02-13T22:11:31Z jibanes joined #sbcl 2017-02-13T22:27:22Z dougk__ quit (Ping timeout: 255 seconds) 2017-02-13T22:36:22Z rpg joined #sbcl 2017-02-13T22:41:55Z rpg_ joined #sbcl 2017-02-13T22:42:58Z rpg quit (Ping timeout: 264 seconds) 2017-02-13T22:59:05Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-13T23:04:40Z shka quit (Ping timeout: 240 seconds) 2017-02-13T23:05:20Z leah2 quit (Ping timeout: 245 seconds) 2017-02-13T23:23:57Z gingerale quit (Remote host closed the connection) 2017-02-13T23:48:48Z rpg_ quit (Ping timeout: 240 seconds) 2017-02-13T23:58:13Z dougk__ joined #sbcl 2017-02-14T00:06:15Z `_^gk`_^1wm`_^ joined #sbcl 2017-02-14T00:06:17Z `_^gk`_^1wm`_^ quit (K-Lined) 2017-02-14T00:09:39Z `_^gk`_^1wm`_^ joined #sbcl 2017-02-14T00:09:40Z `_^gk`_^1wm`_^ left #sbcl 2017-02-14T00:24:02Z cromachina joined #sbcl 2017-02-14T00:30:29Z nyef```: dougk__: Thank you for fixing that docstring. I completely missed it. /-: 2017-02-14T00:40:02Z rpg joined #sbcl 2017-02-14T01:28:40Z rpg quit (Ping timeout: 258 seconds) 2017-02-14T02:00:46Z stassats: fixing the windows problems is just as painful as porting, you spend hours figuring out one thing for another to hit you back immediately 2017-02-14T02:24:22Z DGASAU` quit (Ping timeout: 264 seconds) 2017-02-14T02:31:10Z rpg joined #sbcl 2017-02-14T02:41:56Z sjl quit (Read error: Connection reset by peer) 2017-02-14T03:06:35Z leah2 joined #sbcl 2017-02-14T03:14:50Z jibanes quit (Ping timeout: 252 seconds) 2017-02-14T03:16:37Z jibanes joined #sbcl 2017-02-14T03:20:08Z nyef```: Sounds about right. 2017-02-14T03:20:31Z nyef```: Same with trying to bring any long-unmaintained port back into shape. 2017-02-14T03:21:12Z quadresce: /rename_channel #sbcl_caretakers 2017-02-14T03:21:26Z nyef```: Heh. 2017-02-14T03:21:29Z nyef```: Hello quadresce. 2017-02-14T03:21:39Z quadresce: aloha nyef``` 2017-02-14T03:22:06Z quadresce: nyef "three comma programmer" b. 2017-02-14T03:22:41Z nyef```: Heh. In C, I made it to about four stars. (-: 2017-02-14T03:23:37Z stassats: had it been wartime you might have reached five stars 2017-02-14T03:24:01Z nyef```: "That's the trouble with the brass, they always think with their stars." 2017-02-14T03:26:23Z quadresce: among the many other things i want to eventually but probably never do with SBCL: making it a compiler-as-a-library moreso than it already is 2017-02-14T03:26:44Z stassats: as opposed to runtime-as-a-library? 2017-02-14T03:27:10Z quadresce: i mean i want a "programmable compiler", whatever that means 2017-02-14T03:27:48Z quadresce: for instance, what if i want hooks at the end of every compilation unit? that sounds like a potentially great/awful feature 2017-02-14T03:28:28Z stassats: we can't figure out how to program the damn compiler, and you want the user to be able to 2017-02-14T03:29:26Z Bike: cleavir is supposed to be more like that! sbcl is just much better at compiling, even if it is arcane 2017-02-14T03:29:46Z quadresce: Bike, yeah, recognized 2017-02-14T03:30:12Z quadresce: SBCL is arcane but at the same time I might hazard to say that it really does have a traditional compiler structure 2017-02-14T03:30:24Z quadresce: straight outta the 70s' textbooks 2017-02-14T03:31:44Z nyef```: ... Yes-and-no, because the '70's textbooks that I remember only had one internal representation, not two. 2017-02-14T03:32:06Z stassats: it's not that the structure is arcane, it's all the optimization algorithms on top of them that are not proven to be correct 2017-02-14T03:32:19Z nyef```: It was basically "syntax-directed-translate to internal representation", "do things with internal representation", "emit code based on internal representation". 2017-02-14T03:32:59Z nyef```: It's not even the optimizations that are not proven to be correct that are at issue right now, it's the optimizations that are proven to not be correct! /-: 2017-02-14T03:33:14Z nyef``` GLARES at dynamic-extent. 2017-02-14T03:33:35Z Bike: what was going on with that? didn't you say it was a giant hack or something the other day 2017-02-14T03:33:51Z nyef```: It's not a giant hack. It's at least three layers of giant hack. 2017-02-14T03:34:10Z Bike: a gianter hack. 2017-02-14T03:34:18Z nyef```: A *compound* hack. 2017-02-14T03:35:30Z nyef```: I've been trying to work up the energy to sort out exactly what's going on at the IR1 level, but I already know that parts of the IR2 level are broken. 2017-02-14T03:35:33Z quadresce: A non-zero monoid of hacks 2017-02-14T03:36:40Z stassats: i consider sbcl to be a lesson on how not to write a compiler or a runtime 2017-02-14T03:36:52Z stassats: so that one day when i want to write a proper one i'll avoid the mistakes 2017-02-14T03:36:58Z quadresce: worse is better etc 2017-02-14T03:37:14Z nyef```: I dug back as far as the commit that enabled D-X on non-&REST-list variables, and that was based on a hack by Gerd Moellman(sp?) for CMUCL. And it was obviously a hack. 2017-02-14T03:37:50Z stassats: is there an IR that's more suitable to dynamic extent? 2017-02-14T03:38:03Z nyef```: And since then it was largely extended and maintained by nikodemus, who did some amazing work (in both senses of the term), but very clearly didn't understand the STACK phase of the compiler. 2017-02-14T03:38:34Z stassats: what's the state of the art? 2017-02-14T03:38:36Z Bike: i must say that from the outside all the programming-archaeology seems fascinating. you know, academically 2017-02-14T03:39:24Z stassats: (probably some javascript compiler) 2017-02-14T03:39:33Z nyef```: I don't know what would be more suitable. I mean, we track DX allocation by LVAR, which makes a certain amount of sense, except that it occurs by NODE, and we can have multiple NODEs outputting to the same LVAR with some of them normally being allowed to stack-allocate but others not. 2017-02-14T03:40:41Z nyef```: The closest I've managed to come up with is that during IR1 we need to be tracking the semantics of DX, and then during PHYSENVANAL and related conversion-to-IR2 we need to be switchign to tracking the pragmatics. 2017-02-14T03:41:27Z stassats: i'd love to improve the compiler by removing code from it 2017-02-14T03:41:56Z stassats: while doing the same thing 2017-02-14T03:42:42Z stassats: like, why do we have so many kinds of functionals 2017-02-14T03:42:44Z nyef```: I'd love to improve the compiler by adding some level of verification or other computationally-checkable proof that various parts are actually right. 2017-02-14T03:42:53Z stassats: :deleted an :zombie? 2017-02-14T03:43:57Z quadresce: actually one question i never figured out, does SBCL do any generic high-order function inference 2017-02-14T03:44:31Z quadresce: by "generic" i don't mean the CL notion of a "generic function" 2017-02-14T03:44:44Z stassats: can you provide an example of what it will do? 2017-02-14T03:46:42Z stassats: here's the commit that introduced zombies https://github.com/sbcl/sbcl/commit/0c25cf1e8e49095969378ab356a5516f29d4c139 2017-02-14T03:48:50Z quadresce: totally made up: (defun 2nd (x y z) (lambda (f) (funcall f y))) (declare (ftype (function (fixnum) fixnum)) foo) (defun foo (x) (1+ x)) #| derive the type of this expression to be FIXNUM |# (funcall (2nd 1 2 3) #'foo) 2017-02-14T03:49:44Z nyef```: ... Wha? How do we know that DO-NODES-BACKWARDS is correct after that change? 2017-02-14T03:51:59Z nyef```: quadresce: I wouldn't bet on that deriving types appropriately... Or against it. I know that the type derivation and constraint propagation is junk, but I don't know *how* much junk. 2017-02-14T03:52:24Z quadresce: Or, like, does CONSTANTLY confuse the compiler? 2017-02-14T03:52:45Z stassats: quadresce: only recently i made it understand about number of arguments of functional arguments 2017-02-14T03:52:51Z stassats: nothing about their types 2017-02-14T03:52:55Z quadresce: Does it know the type of CONSTANTLY is, in pseudo-lisp, (forall a (FUNCTION (a) a)) ? 2017-02-14T03:53:11Z stassats: and only for builtin functions 2017-02-14T03:53:20Z stassats: so, it's ways off 2017-02-14T03:53:30Z quadresce: if there's anywhere I'd sink time into helping write something for SBCL, it'd probably be this 2017-02-14T03:54:16Z nyef```: What, not porting to RISC-V? (-: 2017-02-14T03:54:18Z Bike: (forall a (function (a) (function (&rest t) a))), yeah? 2017-02-14T03:54:52Z stassats: i think i also made something for determining if a function that calls another function can be folded away if the argument function can be folded as well 2017-02-14T03:55:10Z stassats: so, i guess i can see an angle on how to extend all that to actual types 2017-02-14T03:56:12Z quadresce: Bike, oops, yeah, i wasn't thinking 2017-02-14T03:56:18Z quadresce: but i hope i communicated the idea (: 2017-02-14T03:56:23Z Bike: yeah 2017-02-14T03:56:30Z stassats: but there's a problem that we don't type check functions 2017-02-14T03:56:55Z quadresce: (I think I meant IDENTITY there ;)) 2017-02-14T03:56:57Z Bike: is that even possible? 2017-02-14T03:57:25Z Bike: well, ok i guess without fancy quantifying things yeah 2017-02-14T03:57:54Z Bike: though it might not make sense because of the weird way function types are defined... 2017-02-14T03:58:15Z quadresce: I don't see why the compiler internally couldn't maintain a richer type representation 2017-02-14T03:59:30Z stassats: functions do have types attached to them 2017-02-14T03:59:39Z stassats: function objects, not just named functions 2017-02-14T03:59:56Z quadresce: CL types? 2017-02-14T04:00:20Z stassats: as apposed to what types? 2017-02-14T04:00:27Z dougk___ joined #sbcl 2017-02-14T04:00:36Z nyef```: Isn't an implementation expressly forbidden to check detailed function types? 2017-02-14T04:00:36Z quadresce: something richer or inexpressible as CL types 2017-02-14T04:00:57Z Bike: nyef```: typep has to fail, but the compiler can do whatever if it doesn't tell you about it, ofc 2017-02-14T04:01:14Z stassats: quadresce: named functions have richer types 2017-02-14T04:03:24Z quadresce: stassats, does this have to do with the type derivers with (?) defknown 2017-02-14T04:03:48Z dougk__ quit (Ping timeout: 240 seconds) 2017-02-14T04:03:50Z stassats: defknown specifies both types and attributes 2017-02-14T04:04:17Z stassats: also some canned custom type derivers 2017-02-14T04:04:47Z stassats: e.g. MAP has a type of (type-specifier (callable &rest) sequence &rest sequence) 2017-02-14T04:05:11Z stassats: (callable &rest) means that the function argument will be called with the remaining number of arguments 2017-02-14T04:05:45Z stassats: so for (map nil #'cons a b c) you get "warning: The function CONS is called by MAP with three arguments, but wants exactly two." 2017-02-14T04:06:23Z stassats: i wanted to extend that further to (callable sequence-element-from-arg-z sequence-element-from-arg-d) 2017-02-14T04:06:45Z stassats: so that (find-if #'evenp string) could be detected as unreachable 2017-02-14T04:07:21Z stassats: all of which could be further extended to using user supplied types, and so on 2017-02-14T04:09:00Z quadresce: sounds like good thinking 2017-02-14T04:09:05Z quadresce: would be nice to implement generally 2017-02-14T04:09:10Z stassats: i also wanted to make (find 1d0 simple-double-float-vector) to not cons 2017-02-14T04:09:28Z stassats: for all sequence functions, not just find, naturally 2017-02-14T04:10:31Z quadresce: find double-float should signal a style warning, saying "why are you doing this?" 2017-02-14T04:11:00Z stassats: so it would transform it to something like (%find-if (lambda (array index) (eql (aref array index) 1d0)) simple-double-float-vector) 2017-02-14T04:11:42Z nyef```: I'd like to have any lambda passed as an argument to a standard function that doesn't capture it be DX by default. 2017-02-14T04:11:56Z nyef```: But that can't happen until DX works properly. 2017-02-14T04:12:10Z stassats: yeah, that can be encoded in the fndb easily 2017-02-14T04:12:24Z nyef```: Or, well, it *could*, but it'd be another layer of hack over the existing DX implementation. 2017-02-14T04:13:57Z stassats: so many things could be done, yet i spent hours today starint at printf statements in safepoint.c in cmd.exe 2017-02-14T04:14:46Z stassats: quadresce: why should that be a warning? 2017-02-14T04:14:48Z nyef```: I'd regret the win32 port, except that it's what taught me a whole bunch of lot about how SBCL works. 2017-02-14T04:15:15Z quadresce: stassats, I was being a little facetious, but usually it's a Bad Idea to be searching a sequence for floats based off of equality 2017-02-14T04:15:56Z nyef```: At least it's not EQ. (-: 2017-02-14T04:19:00Z stassats: the other day when fixing defined-fun-functionals i only documented the final solution, i think it'd been more interesting to document the five different solutions i tried before that and why they didn't work 2017-02-14T04:21:26Z stassats: i think i should start doing more rationale write ups, not how things work and other descriptive stuff, but just all the considerations and corrections that went into it 2017-02-14T04:21:57Z stassats: or in five years somebody will be thinking the same thoughts about my changes as i do now about the safepoint code 2017-02-14T04:22:24Z stassats: (high changes that would be me) 2017-02-14T04:22:27Z stassats: chance 2017-02-14T04:24:39Z stassats: incidentally, sbcl surpassed 11,000 commits this month 2017-02-14T04:25:26Z stassats: according to github, that is 2017-02-14T04:25:40Z stassats: but % git rev-list --all --count => 11489 2017-02-14T04:25:42Z stassats: go figure 2017-02-14T04:26:00Z nyef```: stassats: I think you're right as far as rationale writeups go. 2017-02-14T04:26:46Z stassats: i usually try to include some rationale in the commit logs, but those are not editable 2017-02-14T04:28:16Z nyef```: Right, and external documentation just tends to get lost. /-: 2017-02-14T04:28:22Z stassats: the other python has 98,671 commits 2017-02-14T04:30:14Z quadresce: stassats, do you have any opinions on eliminating global dynamic vars by way of making them explicit arguments, even when it doesn't fix anything? 2017-02-14T04:30:44Z stassats: if it doesn't fix anything i'd rather avoid doing it 2017-02-14T04:30:55Z dougk___ quit (Ping timeout: 240 seconds) 2017-02-14T04:30:59Z stassats: because it may break something 2017-02-14T04:33:32Z quadresce: (i was thinking e.g. *derive-function-types*) 2017-02-14T04:34:03Z stassats: to which function would that be an option? 2017-02-14T04:34:28Z quadresce: the only one it's used: find-global-fun 2017-02-14T04:34:57Z stassats: how would that work? 2017-02-14T04:38:01Z quadresce: stassats, maybe providing an option to force derivation, and then if we truly want this configuration, make a defglobal configuration variable somewhere else 2017-02-14T04:38:29Z stassats: i don't quite follow 2017-02-14T04:39:29Z quadresce: I guess it's odd to me to have a global dynamic variable for controlling behavior that may be unbeknownst to someone hacking elsewhere in SBCL 2017-02-14T04:40:02Z quadresce: but maybe it's the most sensible option to configure how a small bit of the compiler works 2017-02-14T04:40:11Z stassats: it's a user option 2017-02-14T04:40:39Z stassats: it's documented and all 2017-02-14T04:42:30Z quadresce: Yes I see. It's a user option that touches somewhere sort of deep in the compiler. Why not have the user option flow to the depths of the compiler? Too complicated and too much clutter? 2017-02-14T04:42:43Z quadresce: Or just a "non-problem not worth putting effort into"? 2017-02-14T04:43:05Z nyef```: ... Why isn't it a policy option via DECLARE ? 2017-02-14T04:43:08Z stassats: well, i don't know how else to do user options 2017-02-14T04:44:16Z quadresce: stassats, there's the user option interface (global vars, optional arguments, declarations), and its implementation (toplevel getting passed down to the depths of SBCL, direct frobbing of SBCL internals, ...) 2017-02-14T04:44:17Z Bike: oh, yeah, actually someone in #lisp was having a similar problem with the inline limit, since special bindings are kind of awkward to use for only a particular file or whatever 2017-02-14T04:45:27Z stassats: hitting the inline limit usually means something shouldn't be inlined 2017-02-14T04:50:21Z |3b|: i think that case might have involved some functions that were not doing much of anything aside from putting nicer names on things 2017-02-14T04:50:28Z eschatologist quit (Ping timeout: 255 seconds) 2017-02-14T04:50:40Z eschatologist joined #sbcl 2017-02-14T04:50:47Z |3b|: so the expanded thing wasn't actually that complicated but the inline count was artificially expanded 2017-02-14T04:50:57Z Bike: yeah basically. 2017-02-14T04:53:24Z quadresce: SBCL just has an unusually large number of global things that constantly get updated (DBs, caches, defglobals, ...) or can be privately/publicly mutated to change behavior (the above, *stack-allocate-dynamic-extent*, *object-id-counter*, *???-nonce*, ...) 2017-02-14T04:54:16Z stassats: unusually? 2017-02-14T04:54:48Z quadresce: s/an unusually/a/ 2017-02-14T04:56:37Z rpg quit (Ping timeout: 255 seconds) 2017-02-14T05:00:39Z quadresce: What's the point of these LABELS in these three functions: https://sourceforge.net/p/sbcl/sbcl/ci/master/tree/src/compiler/ir1util.lisp#l75 2017-02-14T05:02:10Z stassats: to compute stuff 2017-02-14T05:03:14Z quadresce: why not just beta reduce it? 2017-02-14T05:03:40Z stassats: so, that's what holding sbcl back? 2017-02-14T05:04:27Z quadresce: Of course not. But I would *not* be surprised if there was some wacky reason that made it that way in SBCL, that some fresh pair of eyes wouldn't understand. 2017-02-14T05:04:49Z quadresce: And unfortunately that deep uncertainty makes SBCL somewhat hard to understand and hack on. 2017-02-14T05:04:56Z stassats: it's a common idiom for recursive functions 2017-02-14T05:05:45Z quadresce: it's a common idiom for tail recursive functions that add extra arguments or close over the outer function, I thought 2017-02-14T05:07:47Z quadresce: i wish there was a way to comment the code without introducing comments to the code (: 2017-02-14T05:21:55Z stassats quit (Ping timeout: 240 seconds) 2017-02-14T05:25:40Z quadresce: ansify.lisp is a charming file 2017-02-14T05:51:42Z quadresce: wtf is up with the encoding of this file, at least as displayed in the browser? https://sourceforge.net/p/sbcl/sbcl/ci/master/tree/src/code/defpackage.lisp 2017-02-14T05:52:26Z quadresce quit (Quit: This computer has gone to sleep) 2017-02-14T06:21:50Z sirkmatija_ joined #sbcl 2017-02-14T06:38:51Z sirkmatija_ quit (Quit: sirkmatija_) 2017-02-14T07:06:10Z scymtym quit (Ping timeout: 240 seconds) 2017-02-14T07:09:59Z angavrilov joined #sbcl 2017-02-14T07:10:24Z igajsin joined #sbcl 2017-02-14T08:00:04Z gingerale joined #sbcl 2017-02-14T08:09:48Z shka joined #sbcl 2017-02-14T08:38:16Z scymtym joined #sbcl 2017-02-14T09:24:31Z nimiux_ is now known as nimiux 2017-02-14T09:45:38Z Bike quit (Quit: sleep) 2017-02-14T09:46:25Z rumbler31 joined #sbcl 2017-02-14T09:50:55Z rumbler31 quit (Ping timeout: 255 seconds) 2017-02-14T10:09:33Z sepisoad_ joined #sbcl 2017-02-14T10:26:38Z sepisoad_ quit (Quit: Leaving) 2017-02-14T10:45:23Z DGASAU joined #sbcl 2017-02-14T10:51:46Z attila_lendvai joined #sbcl 2017-02-14T10:51:46Z attila_lendvai quit (Changing host) 2017-02-14T10:51:46Z attila_lendvai joined #sbcl 2017-02-14T11:14:41Z m00natic joined #sbcl 2017-02-14T11:37:10Z sjl joined #sbcl 2017-02-14T12:07:13Z dougk__ joined #sbcl 2017-02-14T12:18:22Z DeadTrickster quit (Ping timeout: 264 seconds) 2017-02-14T12:21:03Z DeadTrickster joined #sbcl 2017-02-14T12:30:31Z dougk__ quit (Read error: Connection reset by peer) 2017-02-14T12:30:50Z dougk__ joined #sbcl 2017-02-14T12:36:32Z stassats joined #sbcl 2017-02-14T13:02:01Z rpg joined #sbcl 2017-02-14T13:06:55Z scymtym quit (Ping timeout: 240 seconds) 2017-02-14T13:30:52Z oleo quit (Ping timeout: 258 seconds) 2017-02-14T13:31:32Z oleo joined #sbcl 2017-02-14T13:46:36Z sirkmatija_ joined #sbcl 2017-02-14T13:46:37Z sirkmatija_ quit (Remote host closed the connection) 2017-02-14T13:46:51Z sirkmatija_ joined #sbcl 2017-02-14T13:54:29Z rpg quit (Ping timeout: 252 seconds) 2017-02-14T13:58:10Z stassats quit (Ping timeout: 240 seconds) 2017-02-14T14:00:23Z sjl quit (Ping timeout: 258 seconds) 2017-02-14T14:02:18Z oleo quit (Ping timeout: 256 seconds) 2017-02-14T14:03:07Z stassats joined #sbcl 2017-02-14T14:08:55Z jdz quit (Ping timeout: 255 seconds) 2017-02-14T14:12:59Z cromachina quit (Read error: Connection reset by peer) 2017-02-14T14:14:43Z jdz joined #sbcl 2017-02-14T14:27:13Z oleo joined #sbcl 2017-02-14T14:43:19Z mjl quit (Ping timeout: 258 seconds) 2017-02-14T14:48:06Z mjl joined #sbcl 2017-02-14T14:48:13Z brucem quit (Quit: ZNC - http://znc.sourceforge.net) 2017-02-14T14:50:23Z brucem joined #sbcl 2017-02-14T14:50:32Z scymtym joined #sbcl 2017-02-14T14:56:05Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-14T14:57:17Z rumbler3_ joined #sbcl 2017-02-14T15:15:20Z oleo quit (Ping timeout: 245 seconds) 2017-02-14T15:17:10Z sirkmatija_ quit (Ping timeout: 264 seconds) 2017-02-14T15:20:40Z rumbler3_ quit (Remote host closed the connection) 2017-02-14T15:21:34Z DGASAU quit (Read error: Connection reset by peer) 2017-02-14T15:22:44Z DGASAU joined #sbcl 2017-02-14T15:25:52Z oleo joined #sbcl 2017-02-14T15:28:07Z dougk__ quit (Ping timeout: 255 seconds) 2017-02-14T15:39:35Z scymtym quit (Ping timeout: 240 seconds) 2017-02-14T15:58:53Z sirkmatija_ joined #sbcl 2017-02-14T16:01:24Z schjetne quit (Ping timeout: 240 seconds) 2017-02-14T16:05:06Z quadresce joined #sbcl 2017-02-14T16:12:20Z Bike joined #sbcl 2017-02-14T16:13:57Z dougk__ joined #sbcl 2017-02-14T16:25:12Z edgar-rft quit (Quit: edgar-rft) 2017-02-14T16:27:22Z dougk__ quit (Ping timeout: 256 seconds) 2017-02-14T16:33:42Z dougk__ joined #sbcl 2017-02-14T16:42:01Z attila_lendvai joined #sbcl 2017-02-14T16:42:01Z attila_lendvai quit (Changing host) 2017-02-14T16:42:01Z attila_lendvai joined #sbcl 2017-02-14T16:42:02Z schjetne joined #sbcl 2017-02-14T16:47:21Z sjl joined #sbcl 2017-02-14T16:49:06Z foom: hah, nice 2017-02-14T16:50:14Z foom: Maybe sourceforge is interpreting ~{ as a template escape character, and then printing random garbage? 2017-02-14T16:50:37Z stassats: why would you browse code on sourceforge? github is much better 2017-02-14T16:50:51Z stassats: sourceforge web stuff is beyond bad 2017-02-14T16:51:18Z flip214: curl returns the "bad" characters as 0xfffd 2017-02-14T16:51:47Z flip214: 0x8f67, 7abf, 7946, ... 2017-02-14T16:51:48Z stassats: well, it's what the char is 2017-02-14T16:52:02Z flip214: don't think that these bytes are in the source file 2017-02-14T16:52:14Z stassats: https://en.wikipedia.org/wiki/Specials_(Unicode_block) 2017-02-14T16:52:26Z foom: every instance of the ~ character followed by something else seems to get mangled 2017-02-14T16:52:32Z stassats: https://en.wikipedia.org/wiki/Specials_(Unicode_block)#Replacement_character 2017-02-14T16:52:34Z stassats: even 2017-02-14T16:53:42Z foom: I don't know what it could possibly be thinking with that... 2017-02-14T17:06:07Z dougk__ quit (Read error: Connection reset by peer) 2017-02-14T17:21:11Z rumbler3_ joined #sbcl 2017-02-14T17:25:30Z quadresce quit (Quit: This computer has gone to sleep) 2017-02-14T17:25:35Z rumbler3_ quit (Ping timeout: 240 seconds) 2017-02-14T17:31:57Z scymtym joined #sbcl 2017-02-14T18:00:09Z rpg joined #sbcl 2017-02-14T18:20:35Z m00natic quit (Read error: Connection reset by peer) 2017-02-14T18:30:53Z rumbler3_ joined #sbcl 2017-02-14T18:34:06Z rumbler3_ quit (Remote host closed the connection) 2017-02-14T19:04:45Z jibanes quit (Ping timeout: 258 seconds) 2017-02-14T19:06:23Z jibanes joined #sbcl 2017-02-14T19:15:29Z NANDgate joined #sbcl 2017-02-14T19:16:58Z NANDgate: hello is there a beginner CL channel? 2017-02-14T19:17:09Z stassats: ask in #lisp 2017-02-14T19:18:08Z stassats: unless you are a beginner who have found a bug in sbcl 2017-02-14T19:18:53Z nyef```: Finding bugs in SBCL as a beginner isn't the real trick. The real trick is knowing enough to know that it's a bug in SBCL rather than your own understanding. 2017-02-14T19:19:43Z stassats: or it's actually in the OS 2017-02-14T19:21:50Z nyef```: Reminds me of an old Linux FAQ entry: "Q: I've discovered a huge security hole in ``rm''!" "A: No, you haven't." 2017-02-14T19:22:39Z stassats: my only contribution to an os was tracking down a bug uncovered by sbcl (in netbsd) 2017-02-14T19:51:05Z dougk__ joined #sbcl 2017-02-14T20:03:02Z lacedaemon joined #sbcl 2017-02-14T20:03:06Z Blkt_ joined #sbcl 2017-02-14T20:05:44Z fe[nl]ix quit (Ping timeout: 252 seconds) 2017-02-14T20:05:44Z Blkt quit (Ping timeout: 252 seconds) 2017-02-14T20:06:04Z dougk__ quit (Ping timeout: 255 seconds) 2017-02-14T20:11:47Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-14T20:41:37Z rumbler3_ joined #sbcl 2017-02-14T20:52:24Z angavrilov quit (Remote host closed the connection) 2017-02-14T21:33:38Z |3b|: ~{ ~} are escape sequence for HZ encoding (and old chinese encoding), so CL format strings confuse encoding detection. browsers used to do that with CLHS too, but that seems to be sourceforge getting confused, probably during syntax highlighting 2017-02-14T21:33:57Z |3b|: *an old... 2017-02-14T21:34:31Z stassats: it's confused about ~s 2017-02-14T21:35:05Z sirkmatija_ quit (Quit: sirkmatija_) 2017-02-14T21:35:50Z dougk__ joined #sbcl 2017-02-14T21:48:03Z igajsin quit (Ping timeout: 258 seconds) 2017-02-14T21:58:58Z nyef```: ... HZ encoding doesn't show up very frequently, does it? (-: 2017-02-14T22:05:47Z rumbler3_ quit (Remote host closed the connection) 2017-02-14T22:07:44Z attila_lendvai joined #sbcl 2017-02-14T22:07:48Z gingerale quit (Remote host closed the connection) 2017-02-14T22:08:46Z Blkt_ quit (Remote host closed the connection) 2017-02-14T22:08:47Z lacedaemon quit (Read error: Connection reset by peer) 2017-02-14T22:10:11Z Blkt joined #sbcl 2017-02-14T22:10:52Z fe[nl]ix joined #sbcl 2017-02-14T22:23:39Z |3b|: nyef```: no idea, i've only seen it in CL code :p (and wikipedia suggests it was mostly an 80s-90s thing, when people cared about only being able to send 7bit ascii) 2017-02-14T22:34:37Z dougk___ joined #sbcl 2017-02-14T22:37:49Z |3b|` joined #sbcl 2017-02-14T22:41:30Z trinque_ joined #sbcl 2017-02-14T22:42:49Z dougk__ quit (*.net *.split) 2017-02-14T22:42:49Z brucem quit (*.net *.split) 2017-02-14T22:42:49Z leah2 quit (*.net *.split) 2017-02-14T22:42:50Z foom quit (*.net *.split) 2017-02-14T22:42:50Z trinque quit (*.net *.split) 2017-02-14T22:42:50Z dougk_ quit (*.net *.split) 2017-02-14T22:42:50Z |3b| quit (*.net *.split) 2017-02-14T22:42:50Z nicdev quit (*.net *.split) 2017-02-14T22:42:50Z leo_song quit (*.net *.split) 2017-02-14T22:42:50Z gko quit (*.net *.split) 2017-02-14T22:42:51Z salva quit (*.net *.split) 2017-02-14T22:43:53Z trinque_ is now known as trinque 2017-02-14T22:44:01Z trinque quit (Client Quit) 2017-02-14T22:44:23Z trinque joined #sbcl 2017-02-14T22:46:35Z jibanes quit (*.net *.split) 2017-02-14T22:46:35Z schjetne quit (*.net *.split) 2017-02-14T22:46:35Z Cthulhux quit (*.net *.split) 2017-02-14T22:46:35Z sebboh quit (*.net *.split) 2017-02-14T22:46:35Z malm quit (*.net *.split) 2017-02-14T22:46:35Z Intensity quit (*.net *.split) 2017-02-14T22:46:36Z adlai quit (*.net *.split) 2017-02-14T22:46:36Z ym quit (*.net *.split) 2017-02-14T22:46:36Z minion quit (*.net *.split) 2017-02-14T22:46:36Z fjl quit (*.net *.split) 2017-02-14T22:46:36Z payphone quit (*.net *.split) 2017-02-14T22:46:36Z drmeister quit (*.net *.split) 2017-02-14T22:46:53Z ym joined #sbcl 2017-02-14T22:46:57Z fjl joined #sbcl 2017-02-14T22:46:57Z payphone joined #sbcl 2017-02-14T22:47:12Z adlai joined #sbcl 2017-02-14T22:48:31Z salva joined #sbcl 2017-02-14T22:48:58Z sebboh joined #sbcl 2017-02-14T22:49:14Z |3b|` is now known as |3b| 2017-02-14T22:49:17Z foom joined #sbcl 2017-02-14T22:49:40Z shka quit (Ping timeout: 255 seconds) 2017-02-14T22:51:14Z angular_mike_ quit (Ping timeout: 276 seconds) 2017-02-14T22:51:35Z leah2 joined #sbcl 2017-02-14T22:52:13Z dougk_ joined #sbcl 2017-02-14T22:52:13Z Intensity joined #sbcl 2017-02-14T22:52:13Z jibanes joined #sbcl 2017-02-14T22:52:13Z schjetne joined #sbcl 2017-02-14T22:52:13Z Cthulhux joined #sbcl 2017-02-14T22:52:13Z malm joined #sbcl 2017-02-14T22:52:14Z minion joined #sbcl 2017-02-14T22:53:59Z drmeister joined #sbcl 2017-02-14T23:01:34Z angular_mike_ joined #sbcl 2017-02-14T23:08:12Z nimiux_ joined #sbcl 2017-02-14T23:09:12Z nimiux_ quit (Client Quit) 2017-02-14T23:55:39Z leo_song joined #sbcl 2017-02-14T23:57:12Z brucem joined #sbcl 2017-02-14T23:59:13Z gko joined #sbcl 2017-02-15T00:25:46Z brucem quit (Changing host) 2017-02-15T00:25:46Z brucem joined #sbcl 2017-02-15T00:30:45Z DeadTrickster quit (Ping timeout: 245 seconds) 2017-02-15T00:36:46Z sjl quit (Read error: Connection reset by peer) 2017-02-15T00:39:18Z DeadTrickster joined #sbcl 2017-02-15T00:41:22Z cromachina joined #sbcl 2017-02-15T00:59:55Z dougk___ quit (Ping timeout: 245 seconds) 2017-02-15T01:02:07Z nicdev joined #sbcl 2017-02-15T01:23:55Z karswell joined #sbcl 2017-02-15T01:26:56Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-15T01:42:16Z stassats quit (Ping timeout: 258 seconds) 2017-02-15T01:56:36Z rszeno joined #sbcl 2017-02-15T01:57:41Z rszeno quit (Remote host closed the connection) 2017-02-15T02:35:59Z dougk__ joined #sbcl 2017-02-15T02:51:53Z edgar-rft joined #sbcl 2017-02-15T03:03:43Z sebboh` joined #sbcl 2017-02-15T03:04:15Z dougk__ quit (Ping timeout: 240 seconds) 2017-02-15T03:05:32Z rpg_ joined #sbcl 2017-02-15T03:05:46Z liead joined #sbcl 2017-02-15T03:06:28Z sigjuice_ joined #sbcl 2017-02-15T03:06:33Z pkhuong joined #sbcl 2017-02-15T03:06:52Z flip214_ joined #sbcl 2017-02-15T03:06:56Z pkhuong is now known as Guest49325 2017-02-15T03:07:27Z angular_mike_ quit (Ping timeout: 255 seconds) 2017-02-15T03:07:27Z sigjuice quit (Ping timeout: 255 seconds) 2017-02-15T03:07:27Z Xof quit (Ping timeout: 255 seconds) 2017-02-15T03:07:27Z jdz quit (Ping timeout: 255 seconds) 2017-02-15T03:07:27Z pkhuong_ quit (Ping timeout: 255 seconds) 2017-02-15T03:07:28Z adlai quit (Ping timeout: 255 seconds) 2017-02-15T03:07:28Z rpg quit (Ping timeout: 255 seconds) 2017-02-15T03:07:28Z flip214 quit (Ping timeout: 255 seconds) 2017-02-15T03:07:28Z sebboh quit (Ping timeout: 255 seconds) 2017-02-15T03:07:28Z xristos quit (Ping timeout: 255 seconds) 2017-02-15T03:07:29Z xristos joined #sbcl 2017-02-15T03:07:29Z jdz joined #sbcl 2017-02-15T03:08:01Z xristos is now known as Guest16171 2017-02-15T03:58:13Z nyef``` is now known as nyef 2017-02-15T05:02:27Z angular_mike_ joined #sbcl 2017-02-15T05:49:00Z sirkmatija_ joined #sbcl 2017-02-15T06:14:15Z rpg_ quit (Ping timeout: 240 seconds) 2017-02-15T06:15:53Z igajsin joined #sbcl 2017-02-15T06:39:40Z sirkmatija_ quit (Quit: sirkmatija_) 2017-02-15T06:44:47Z angavrilov joined #sbcl 2017-02-15T06:57:07Z gingerale joined #sbcl 2017-02-15T07:12:24Z Xof joined #sbcl 2017-02-15T07:17:25Z scymtym quit (Ping timeout: 245 seconds) 2017-02-15T08:36:48Z scymtym joined #sbcl 2017-02-15T09:09:01Z shka joined #sbcl 2017-02-15T09:21:31Z Bike quit (Quit: sleep) 2017-02-15T09:22:47Z attila_lendvai joined #sbcl 2017-02-15T09:22:47Z attila_lendvai quit (Changing host) 2017-02-15T09:22:47Z attila_lendvai joined #sbcl 2017-02-15T09:37:59Z eschatologist quit (Ping timeout: 258 seconds) 2017-02-15T10:18:55Z sjl joined #sbcl 2017-02-15T11:15:53Z m00natic joined #sbcl 2017-02-15T11:50:38Z Shinmera quit (Remote host closed the connection) 2017-02-15T12:04:53Z sjl quit (Ping timeout: 240 seconds) 2017-02-15T12:13:02Z stassats joined #sbcl 2017-02-15T12:14:54Z dougk__ joined #sbcl 2017-02-15T12:19:15Z Shinmera joined #sbcl 2017-02-15T12:21:08Z dougk__ quit (Ping timeout: 276 seconds) 2017-02-15T12:26:07Z scymtym: new test failure in sb-safepoint on linux builds: https://ci.cor-lab.org/job/sbcl-master/featureset=5,label=ubuntu_trusty_64bit/2025/consoleFull search for "UNEXPECTED-FAILURE". introduced sometime between "Remove reader conditionals for #!+sb-doc, part 3 of 3." and "Enable immobile space on OpenBSD." 2017-02-15T12:30:47Z dougk__ joined #sbcl 2017-02-15T12:33:57Z stassats: scymtym: why is there documentation building output in the end 2017-02-15T12:41:07Z stassats: safepoints hang on ::: Running (:RUN-PROGRAM :STRESS) 2017-02-15T12:41:29Z stassats: well, i don't expect safepoints to work at all 2017-02-15T12:44:42Z scymtym: stassats: i build the documentation to detect breakage in that area 2017-02-15T12:45:11Z stassats: i didn't expect that to happen after tests 2017-02-15T12:45:23Z stassats: i can't really see which tests fail in the above 2017-02-15T12:45:40Z scymtym: hang on 2017-02-15T12:45:42Z stassats: but there's nothing new about safepoints being broken 2017-02-15T12:46:37Z scymtym: i'm confused then 2017-02-15T12:47:00Z scymtym: did you see ::: UNEXPECTED-FAILURE (:DEBUGGER-NO-HANG-ON-SESSION-LOCK-IF-INTERRUPTED) ? 2017-02-15T12:47:06Z scymtym: that's supposed to be new 2017-02-15T12:47:31Z scymtym: caveat: compared to 2017-02-01 2017-02-15T12:47:48Z stassats: all i see 2017-02-15T12:47:52Z stassats: test undefined-classoid-bug ok 2017-02-15T12:47:52Z stassats: test failed, expected 104 return code, got 1 2017-02-15T12:47:53Z stassats: + true 2017-02-15T12:47:55Z stassats: 2017-02-15T12:48:00Z stassats: and then there's documentation building 2017-02-15T12:49:15Z scymtym: searching backwards for "UNEXPECTED-FAILURE" yields nothing? 2017-02-15T12:49:36Z stassats: well, that's not how i read tests 2017-02-15T12:50:09Z scymtym: sorry for the clunky interface 2017-02-15T12:50:24Z stassats: but why not just the vanilla output? 2017-02-15T12:50:52Z scymtym: the vanilla output is there 2017-02-15T12:51:10Z stassats: is it cut off? 2017-02-15T12:51:17Z scymtym: maybe the "full console" thing got lost somehow 2017-02-15T12:51:43Z scymtym: if you visit https://ci.cor-lab.org/job/sbcl-master/featureset=5,label=ubuntu_trusty_64bit/2025/console there is a Full log link at the top 2017-02-15T12:52:00Z scymtym: the link i pasted, https://ci.cor-lab.org/job/sbcl-master/featureset=5,label=ubuntu_trusty_64bit/2025/consoleFull, should have done that directly 2017-02-15T12:52:13Z scymtym: either of those should everything without cutoff 2017-02-15T12:52:49Z stassats: same thing, test failed, expected 104 return code, got 1 is the only thing before building documentation 2017-02-15T12:53:20Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-15T12:55:15Z scymtym: ok, i may have messed up the test harness but i'm pretty sure there still is failing test 2017-02-15T12:56:14Z dougk__ quit (Ping timeout: 276 seconds) 2017-02-15T12:56:59Z scymtym: there is "UNEXPECTED-FAILURE (:DEBUGGER-NO-HANG-ON-SESSION-LOCK-IF-INTERRUPTED) ... "The value # is not of type SB-DI::COMPILED-DEBUG-FUN"" in the output and the report (which i hacked into the test harness) has a failure record 2017-02-15T12:57:10Z scymtym leaves for a meeting 2017-02-15T12:57:14Z stassats: it looks like it's in the backtrace, so it maybe not because safepoints are badly designed, insufficiently tested and poorly documented and have known problems 2017-02-15T12:57:25Z stassats: (i had the last bit about safepoints saved up) 2017-02-15T12:59:05Z stassats: i couldn't connect slime to safepoint-sbcl 2017-02-15T12:59:10Z stassats: GC invariant lost, file "safepoint.c", line 205 2017-02-15T12:59:11Z stassats: oops 2017-02-15T12:59:50Z stassats: incompatible fasls, looks like 2017-02-15T13:01:43Z rpg joined #sbcl 2017-02-15T13:02:56Z scymtym quit (Ping timeout: 240 seconds) 2017-02-15T13:04:10Z flip214_ is now known as flip214 2017-02-15T13:08:56Z schjetne quit (Ping timeout: 256 seconds) 2017-02-15T13:14:45Z cromachina_ joined #sbcl 2017-02-15T13:14:58Z attila_lendvai joined #sbcl 2017-02-15T13:14:58Z attila_lendvai quit (Changing host) 2017-02-15T13:14:58Z attila_lendvai joined #sbcl 2017-02-15T13:16:26Z sjl joined #sbcl 2017-02-15T13:18:53Z cromachina quit (Ping timeout: 268 seconds) 2017-02-15T13:26:59Z Guest16171 is now known as xristos 2017-02-15T13:27:05Z xristos quit (Changing host) 2017-02-15T13:27:05Z xristos joined #sbcl 2017-02-15T13:29:16Z rpg quit (Ping timeout: 240 seconds) 2017-02-15T13:38:51Z schjetne joined #sbcl 2017-02-15T13:58:19Z schjetne quit (Read error: No route to host) 2017-02-15T14:13:24Z oleo quit (Read error: Connection reset by peer) 2017-02-15T14:14:27Z jrm quit (Quit: ciao) 2017-02-15T14:15:14Z jibanes quit (Ping timeout: 256 seconds) 2017-02-15T14:15:55Z jrm joined #sbcl 2017-02-15T14:17:02Z jibanes joined #sbcl 2017-02-15T14:25:03Z schjetne joined #sbcl 2017-02-15T14:27:26Z scymtym joined #sbcl 2017-02-15T14:29:28Z cromachina_ quit (Read error: Connection reset by peer) 2017-02-15T14:30:36Z irsol quit (Ping timeout: 260 seconds) 2017-02-15T14:32:02Z jrm quit (Quit: ciao) 2017-02-15T14:33:26Z jrm joined #sbcl 2017-02-15T14:35:17Z dougk__ joined #sbcl 2017-02-15T14:56:16Z sjl quit (Ping timeout: 240 seconds) 2017-02-15T14:58:29Z edgar-rft quit (Quit: edgar-rft) 2017-02-15T15:03:26Z oleo joined #sbcl 2017-02-15T15:05:20Z MetaHertz joined #sbcl 2017-02-15T15:09:01Z rumbler3_ joined #sbcl 2017-02-15T15:10:22Z dougk__ quit (Read error: Connection reset by peer) 2017-02-15T15:10:40Z dougk__ joined #sbcl 2017-02-15T15:15:56Z rpg joined #sbcl 2017-02-15T15:26:29Z rumbler3_ quit 2017-02-15T15:32:57Z karswell` joined #sbcl 2017-02-15T15:34:50Z karswell quit (Ping timeout: 276 seconds) 2017-02-15T15:41:55Z edgar-rft joined #sbcl 2017-02-15T15:44:06Z rpg quit (Ping timeout: 260 seconds) 2017-02-15T15:45:31Z dougk__ quit (Read error: Connection reset by peer) 2017-02-15T15:45:47Z dougk__ joined #sbcl 2017-02-15T16:04:22Z dougk__ quit (Read error: Connection reset by peer) 2017-02-15T16:04:38Z dougk__ joined #sbcl 2017-02-15T16:20:53Z schjetne quit (Ping timeout: 240 seconds) 2017-02-15T16:21:14Z rpg joined #sbcl 2017-02-15T16:24:36Z dougk__ quit (Read error: Connection reset by peer) 2017-02-15T16:24:52Z dougk__ joined #sbcl 2017-02-15T16:28:17Z Bike joined #sbcl 2017-02-15T16:28:22Z edgar-rft quit (Quit: edgar-rft) 2017-02-15T16:35:52Z sirkmatija_ joined #sbcl 2017-02-15T16:49:05Z rpg quit (Ping timeout: 240 seconds) 2017-02-15T17:09:52Z rpg joined #sbcl 2017-02-15T17:12:43Z Guest49325 is now known as pkhuong 2017-02-15T17:16:59Z rumbler3_ joined #sbcl 2017-02-15T17:20:47Z sirkmatija_ quit (Ping timeout: 276 seconds) 2017-02-15T17:22:31Z irsol joined #sbcl 2017-02-15T17:33:40Z dougk__ quit (Ping timeout: 240 seconds) 2017-02-15T17:44:43Z sirkmatija_ joined #sbcl 2017-02-15T17:47:19Z karswell` quit (Read error: Connection reset by peer) 2017-02-15T17:47:28Z sirkmatija_ quit (Client Quit) 2017-02-15T17:51:04Z MetaHertz quit (Ping timeout: 260 seconds) 2017-02-15T17:57:35Z m00natic quit (Remote host closed the connection) 2017-02-15T18:01:06Z sirkmatija_ joined #sbcl 2017-02-15T18:06:08Z dougk__ joined #sbcl 2017-02-15T18:10:34Z dougk__ quit (Ping timeout: 255 seconds) 2017-02-15T18:14:21Z slyrus joined #sbcl 2017-02-15T18:29:58Z slyrus quit (Remote host closed the connection) 2017-02-15T18:32:09Z karswell` joined #sbcl 2017-02-15T18:40:06Z karswell` is now known as karswell 2017-02-15T18:43:39Z rumbler3_ quit (Remote host closed the connection) 2017-02-15T19:01:45Z edgar-rft joined #sbcl 2017-02-15T19:04:56Z quadresce joined #sbcl 2017-02-15T19:08:40Z rumbler3_ joined #sbcl 2017-02-15T19:14:34Z NANDgate quit (Quit: Remembered something) 2017-02-15T19:16:28Z rumbler3_ quit 2017-02-15T19:29:24Z dougk__ joined #sbcl 2017-02-15T19:32:16Z igajsin quit (Ping timeout: 240 seconds) 2017-02-15T19:35:23Z leo_song quit (Quit: ZNC - http://znc.in) 2017-02-15T19:40:02Z leo_song joined #sbcl 2017-02-15T20:29:51Z scymtym_ joined #sbcl 2017-02-15T20:31:36Z scymtym quit (Ping timeout: 240 seconds) 2017-02-15T20:34:56Z scymtym_ quit (Ping timeout: 240 seconds) 2017-02-15T20:36:37Z edgar-rft quit (Quit: edgar-rft) 2017-02-15T21:00:08Z NANDgate joined #sbcl 2017-02-15T21:00:48Z angavrilov quit (Remote host closed the connection) 2017-02-15T21:14:23Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-15T21:15:42Z dougk__ quit (Ping timeout: 256 seconds) 2017-02-15T21:17:23Z NANDgate quit (Quit: ...signals decoupling.) 2017-02-15T21:17:39Z NANDgate joined #sbcl 2017-02-15T21:23:25Z NANDgate quit (Quit: ...signals decoupling.) 2017-02-15T21:23:56Z scymtym joined #sbcl 2017-02-15T21:28:57Z gingerale quit (Remote host closed the connection) 2017-02-15T21:31:06Z NANDgate joined #sbcl 2017-02-15T21:32:36Z schjetne joined #sbcl 2017-02-15T21:50:51Z sirkmatija_ quit (Quit: sirkmatija_) 2017-02-15T22:00:04Z attila_lendvai joined #sbcl 2017-02-15T22:00:04Z attila_lendvai quit (Changing host) 2017-02-15T22:00:04Z attila_lendvai joined #sbcl 2017-02-15T22:01:35Z irsol quit (Ping timeout: 240 seconds) 2017-02-15T22:04:26Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-15T22:20:13Z karswell quit (Read error: Connection reset by peer) 2017-02-15T22:20:26Z karswell joined #sbcl 2017-02-15T22:54:50Z irsol joined #sbcl 2017-02-15T23:39:31Z liead is now known as adai 2017-02-15T23:39:33Z adai is now known as adlai 2017-02-15T23:54:19Z sjl joined #sbcl 2017-02-15T23:56:05Z shka quit (Ping timeout: 240 seconds) 2017-02-16T00:09:56Z karswell` joined #sbcl 2017-02-16T00:12:20Z karswell quit (Ping timeout: 260 seconds) 2017-02-16T00:23:26Z sjl quit (Read error: Connection reset by peer) 2017-02-16T00:34:02Z cromachina joined #sbcl 2017-02-16T00:45:32Z irsol quit (Quit: leaving) 2017-02-16T00:46:51Z irsol joined #sbcl 2017-02-16T01:01:17Z quadresce quit (Quit: This computer has gone to sleep) 2017-02-16T01:01:34Z quadresce joined #sbcl 2017-02-16T01:01:40Z quadresce quit (Remote host closed the connection) 2017-02-16T01:12:41Z karswell` quit (Read error: Connection reset by peer) 2017-02-16T02:35:01Z edgar-rft joined #sbcl 2017-02-16T02:35:07Z rumbler31 joined #sbcl 2017-02-16T03:30:08Z dougk__ joined #sbcl 2017-02-16T03:46:31Z rumbler31 quit (Remote host closed the connection) 2017-02-16T04:00:36Z dougk___ joined #sbcl 2017-02-16T04:00:46Z rumbler31 joined #sbcl 2017-02-16T04:00:49Z rumbler31 quit (Remote host closed the connection) 2017-02-16T04:03:13Z dougk__ quit (Ping timeout: 255 seconds) 2017-02-16T04:50:55Z stassats quit (Ping timeout: 255 seconds) 2017-02-16T04:54:19Z eschatologist joined #sbcl 2017-02-16T05:42:40Z igajsin joined #sbcl 2017-02-16T05:48:51Z sirkmatija_ joined #sbcl 2017-02-16T05:59:40Z schjetne quit (Ping timeout: 240 seconds) 2017-02-16T06:01:21Z rumbler31 joined #sbcl 2017-02-16T06:06:29Z rumbler31 quit (Ping timeout: 276 seconds) 2017-02-16T06:14:37Z rpg quit (Ping timeout: 258 seconds) 2017-02-16T06:35:50Z sirkmatija_ quit (Quit: sirkmatija_) 2017-02-16T07:01:24Z scymtym quit (Ping timeout: 268 seconds) 2017-02-16T07:07:41Z schjetne joined #sbcl 2017-02-16T07:29:24Z angavrilov joined #sbcl 2017-02-16T07:40:15Z schjetne quit (Ping timeout: 268 seconds) 2017-02-16T07:49:05Z sirkmatija_ joined #sbcl 2017-02-16T08:07:16Z sirkmatija_ quit (Ping timeout: 240 seconds) 2017-02-16T08:44:39Z scymtym joined #sbcl 2017-02-16T08:48:36Z shka joined #sbcl 2017-02-16T08:52:23Z sirkmatija_ joined #sbcl 2017-02-16T08:55:35Z gingerale joined #sbcl 2017-02-16T09:01:52Z schjetne joined #sbcl 2017-02-16T09:10:34Z Bike quit (Quit: slep) 2017-02-16T09:17:26Z sebboh`` joined #sbcl 2017-02-16T09:18:48Z sebboh` quit (Ping timeout: 260 seconds) 2017-02-16T09:28:56Z schjetne quit (Ping timeout: 240 seconds) 2017-02-16T09:29:21Z scymtym: stassats: i restored the usual summary at the end of test runs for https://ci.cor-lab.org/job/sbcl-master/ 2017-02-16T09:31:09Z scymtym: unfortunately, 2/3 of all configurations currently fail to build 2017-02-16T09:33:40Z schjetne joined #sbcl 2017-02-16T09:53:11Z oleo quit (Remote host closed the connection) 2017-02-16T09:57:22Z attila_lendvai joined #sbcl 2017-02-16T10:01:51Z sirkmatija_ quit (Quit: sirkmatija_) 2017-02-16T10:10:44Z schjetne quit (Read error: Connection reset by peer) 2017-02-16T10:12:47Z schjetne joined #sbcl 2017-02-16T10:18:12Z sirkmatija_ joined #sbcl 2017-02-16T10:20:57Z schjetne quit (Ping timeout: 240 seconds) 2017-02-16T10:23:11Z oleo joined #sbcl 2017-02-16T10:46:34Z schjetne joined #sbcl 2017-02-16T10:55:26Z sjl joined #sbcl 2017-02-16T10:59:35Z stassats joined #sbcl 2017-02-16T11:06:30Z sirkmatija_ quit (Quit: sirkmatija_) 2017-02-16T11:19:50Z sirkmatija_ joined #sbcl 2017-02-16T11:20:15Z sirkmatija_ quit (Client Quit) 2017-02-16T11:21:14Z MetaHert` joined #sbcl 2017-02-16T11:26:19Z m00natic joined #sbcl 2017-02-16T11:50:04Z myrkraverk: I am unhappy about all the OS X failures ;c 2017-02-16T12:07:56Z DeadTrickster quit (Ping timeout: 240 seconds) 2017-02-16T12:32:15Z scymtym: the failures are likely not representative for newer macos/clang versions 2017-02-16T12:56:10Z DeadTrickster joined #sbcl 2017-02-16T13:01:09Z sirkmatija_ joined #sbcl 2017-02-16T13:01:46Z rpg joined #sbcl 2017-02-16T13:06:04Z sirkmatija_ quit (Ping timeout: 260 seconds) 2017-02-16T13:29:05Z rpg quit (Ping timeout: 240 seconds) 2017-02-16T13:42:28Z DeadTrickster quit (Ping timeout: 260 seconds) 2017-02-16T14:11:23Z DeadTrickster joined #sbcl 2017-02-16T14:18:58Z edgar-rft quit (Quit: edgar-rft) 2017-02-16T14:20:10Z NANDgate quit (Ping timeout: 240 seconds) 2017-02-16T14:23:47Z NANDgate joined #sbcl 2017-02-16T14:29:36Z cromachina quit (Read error: Connection reset by peer) 2017-02-16T14:38:47Z blackwolf joined #sbcl 2017-02-16T15:12:13Z oleo quit (Quit: Leaving) 2017-02-16T15:29:03Z sjl quit (Read error: Connection reset by peer) 2017-02-16T15:37:36Z scymtym quit (Ping timeout: 240 seconds) 2017-02-16T16:02:10Z rumbler3_ joined #sbcl 2017-02-16T16:06:40Z rumbler3_ quit (Ping timeout: 260 seconds) 2017-02-16T16:07:02Z rpg_ joined #sbcl 2017-02-16T16:13:26Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-16T16:43:06Z sjl joined #sbcl 2017-02-16T17:13:54Z Bike joined #sbcl 2017-02-16T17:25:32Z scymtym joined #sbcl 2017-02-16T17:26:14Z oleo joined #sbcl 2017-02-16T17:26:40Z Bike quit (Quit: leaving) 2017-02-16T17:28:16Z myrkraverk_ joined #sbcl 2017-02-16T17:28:35Z myrkraverk quit (Ping timeout: 240 seconds) 2017-02-16T17:28:39Z myrkraverk_ is now known as myrkraverk 2017-02-16T17:37:41Z Bike joined #sbcl 2017-02-16T17:44:05Z dougk___ quit (Ping timeout: 240 seconds) 2017-02-16T17:51:08Z m00natic quit (Remote host closed the connection) 2017-02-16T18:17:05Z MetaHert` quit (Quit: Всем пока! // Goodbye everyone!) 2017-02-16T18:19:23Z rpg_ quit (Ping timeout: 252 seconds) 2017-02-16T18:40:27Z stassats: unthreaded build fails script.test.sh 2017-02-16T18:46:56Z stassats: on macos 2017-02-16T18:48:15Z stassats: broken pipes result in interrupt-already-pending on exit 2017-02-16T18:48:44Z rpg joined #sbcl 2017-02-16T18:52:56Z rpg quit (Ping timeout: 252 seconds) 2017-02-16T18:52:57Z sjl quit (Ping timeout: 240 seconds) 2017-02-16T18:54:46Z sirkmatija_ joined #sbcl 2017-02-16T18:55:52Z rumbler3_ joined #sbcl 2017-02-16T18:59:32Z rpg joined #sbcl 2017-02-16T19:02:52Z myrkraverk quit (Ping timeout: 240 seconds) 2017-02-16T19:09:45Z myrkraverk joined #sbcl 2017-02-16T19:20:48Z rpg quit (Ping timeout: 260 seconds) 2017-02-16T20:26:48Z igajsin quit (Ping timeout: 240 seconds) 2017-02-16T20:42:58Z quadresce joined #sbcl 2017-02-16T21:01:35Z ccl-logbot joined #sbcl 2017-02-16T21:01:35Z 2017-02-16T21:01:35Z names: ccl-logbot jibanes myrkraverk rumbler3_ sirkmatija_ Bike oleo scymtym blackwolf NANDgate DeadTrickster stassats schjetne sebboh`` gingerale shka angavrilov eschatologist irsol leo_song jrm Shinmera Xof angular_mike_ jdz xristos flip214 pkhuong sigjuice_ adlai nicdev gko brucem drmeister minion malm Cthulhux Intensity dougk_ leah2 foom salva payphone fjl ym trinque |3b| fe[nl]ix Blkt DGASAU mjl carvite nimiux specbot solene mateuszb_ akkad fiddlerwoaroof 2017-02-16T21:01:35Z names: dim abruanese whiteline nyef p_l phoe knobo alandipert_ swflint abbe dustinm` White_Flame Lord_Nightmare christoph_debian hzp jsnell jcloud Reinisch Quadrescence arjenve les Posterdati pchrist mood luis jackdaniel Ober PuercoPop 2017-02-16T21:05:40Z sjl joined #sbcl 2017-02-16T21:31:03Z quadresce joined #sbcl 2017-02-16T21:33:16Z rumbler3_ quit (Ping timeout: 245 seconds) 2017-02-16T21:36:13Z angavrilov quit (Remote host closed the connection) 2017-02-16T21:37:12Z rumbler31 joined #sbcl 2017-02-16T21:51:13Z NANDgate quit (Quit: ...signals decoupling.) 2017-02-16T22:05:53Z leah2 quit (Ping timeout: 276 seconds) 2017-02-16T22:06:34Z quadresce quit (Quit: This computer has gone to sleep) 2017-02-16T22:16:31Z rpg_ joined #sbcl 2017-02-16T22:32:52Z rumbler31 quit (Remote host closed the connection) 2017-02-16T22:46:33Z sirkmatija_ quit (Quit: sirkmatija_) 2017-02-16T22:55:46Z blackwolf quit (Remote host closed the connection) 2017-02-16T23:05:42Z edgar-rft joined #sbcl 2017-02-16T23:20:57Z rpg_ quit (Ping timeout: 240 seconds) 2017-02-16T23:32:38Z gingerale quit (Remote host closed the connection) 2017-02-16T23:34:53Z leah2 joined #sbcl 2017-02-16T23:53:14Z rumbler31 joined #sbcl 2017-02-16T23:57:17Z rumbler31 quit (Ping timeout: 240 seconds) 2017-02-17T00:09:10Z veckon joined #sbcl 2017-02-17T00:10:24Z veckon left #sbcl 2017-02-17T00:20:01Z sjl quit (Ping timeout: 255 seconds) 2017-02-17T00:22:39Z DGASAU quit (Read error: Connection reset by peer) 2017-02-17T00:23:14Z DGASAU joined #sbcl 2017-02-17T00:35:59Z nxtr joined #sbcl 2017-02-17T00:58:31Z cromachina joined #sbcl 2017-02-17T01:02:42Z rumbler3_ joined #sbcl 2017-02-17T01:06:40Z rumbler3_ quit (Ping timeout: 240 seconds) 2017-02-17T01:19:11Z rumbler31 joined #sbcl 2017-02-17T01:27:30Z rpg joined #sbcl 2017-02-17T01:35:10Z nxtr quit (Ping timeout: 240 seconds) 2017-02-17T01:46:23Z Bike quit (Read error: Connection reset by peer) 2017-02-17T01:46:28Z Bike_ joined #sbcl 2017-02-17T01:56:11Z Bike_ is now known as Bike 2017-02-17T01:57:00Z rpg quit (Ping timeout: 260 seconds) 2017-02-17T02:15:08Z shka quit (Ping timeout: 252 seconds) 2017-02-17T02:28:22Z stassats quit (Ping timeout: 240 seconds) 2017-02-17T03:46:52Z rumbler31 quit (Remote host closed the connection) 2017-02-17T03:47:03Z attila_lendvai joined #sbcl 2017-02-17T03:47:03Z attila_lendvai quit (Changing host) 2017-02-17T03:47:03Z attila_lendvai joined #sbcl 2017-02-17T03:47:23Z deepbook5broo joined #sbcl 2017-02-17T03:47:24Z deepbook5broo left #sbcl 2017-02-17T04:04:43Z karswell` joined #sbcl 2017-02-17T05:25:15Z Bike quit (Read error: No route to host) 2017-02-17T05:25:20Z Bike_ joined #sbcl 2017-02-17T05:27:49Z Bike_ is now known as Bike 2017-02-17T05:44:20Z Bike quit (Read error: No route to host) 2017-02-17T05:44:34Z Bike joined #sbcl 2017-02-17T05:49:36Z sirkmatija_ joined #sbcl 2017-02-17T06:05:36Z trinque quit (Ping timeout: 258 seconds) 2017-02-17T06:33:27Z igajsin joined #sbcl 2017-02-17T06:36:42Z sirkmatija_ quit (Quit: sirkmatija_) 2017-02-17T07:15:46Z nxtr joined #sbcl 2017-02-17T07:46:28Z dim quit (Ping timeout: 240 seconds) 2017-02-17T07:46:51Z scymtym quit (Ping timeout: 240 seconds) 2017-02-17T07:50:10Z gingerale joined #sbcl 2017-02-17T08:15:11Z DeadTrickster quit (Read error: Connection reset by peer) 2017-02-17T08:16:49Z DeadTrickster joined #sbcl 2017-02-17T08:45:01Z scymtym joined #sbcl 2017-02-17T08:46:41Z Bike quit (Quit: ls) 2017-02-17T08:48:31Z ym quit (Ping timeout: 258 seconds) 2017-02-17T08:48:48Z ym joined #sbcl 2017-02-17T08:51:22Z schjetne quit (Ping timeout: 264 seconds) 2017-02-17T08:53:40Z trinque joined #sbcl 2017-02-17T09:05:45Z sirkmatija_ joined #sbcl 2017-02-17T09:08:12Z schjetne joined #sbcl 2017-02-17T09:20:07Z angavrilov joined #sbcl 2017-02-17T09:24:25Z schjetne quit (Read error: No route to host) 2017-02-17T09:26:52Z myrkraverk: I published the OS X sleep bug I found. 2017-02-17T09:26:54Z myrkraverk: http://www.myrkraverk.com/blog/2017/02/sbcl-testsuites-cannot-prevent-all-possible-bugs/ 2017-02-17T09:32:17Z myrkraverk: The point of the blog post is that testsuites cannot prevent all possible bugs. 2017-02-17T09:47:05Z jdz: myrkraverk: that's a very unfriendly way to report a bug. 2017-02-17T09:47:21Z jdz: It looks like bitching, not bug reporting. 2017-02-17T09:47:37Z myrkraverk: It's aimed at testsuite lovers; not SBCL devs. 2017-02-17T09:49:38Z jdz: myrkraverk: this is how you complain about testing: http://rbcs-us.com/documents/Why-Most-Unit-Testing-is-Waste.pdf and http://rbcs-us.com/documents/Segue.pdf. 2017-02-17T09:51:17Z shka joined #sbcl 2017-02-17T09:51:50Z myrkraverk: jdz: that's more text than I'm ready to invest in right now. 2017-02-17T09:52:02Z myrkraverk: *reading* 2017-02-17T09:53:37Z myrkraverk: Some code is almost impossible to test properly; such as Posix error handling. 2017-02-17T10:00:56Z myrkraverk: jdz: that documents about unit tests being a waste of time is good; fortunately I wasn't brainwashed too much when I read the XP book. 2017-02-17T10:10:46Z schjetne joined #sbcl 2017-02-17T10:12:39Z sirkmatija_ quit (Quit: sirkmatija_) 2017-02-17T10:16:18Z dim joined #sbcl 2017-02-17T10:27:38Z sjl joined #sbcl 2017-02-17T10:52:21Z sirkmatija_ joined #sbcl 2017-02-17T11:07:50Z m00natic joined #sbcl 2017-02-17T11:08:58Z sirkmatija_ quit (Quit: sirkmatija_) 2017-02-17T11:16:19Z sjl quit (Quit: WeeChat 1.3) 2017-02-17T11:18:28Z sjl joined #sbcl 2017-02-17T11:42:43Z stassats joined #sbcl 2017-02-17T11:42:57Z stassats: myrkraverk: the sleep problem was fixed more than two weeks ago 2017-02-17T11:44:26Z stassats: and i don't know how to react to that blog post 2017-02-17T11:45:14Z myrkraverk: Then don't. I did not know it was fixed, and 1.3.15 isn't out yet. 2017-02-17T11:47:42Z stassats: what even was the point? 2017-02-17T11:48:18Z myrkraverk: I said so at the bottom, this is about testsuites, more than SBCL. 2017-02-17T11:48:23Z stassats: to publish a truism at the expense of sbcl and its developers without fact checking? 2017-02-17T11:51:31Z sirkmatija_ joined #sbcl 2017-02-17T12:01:01Z sjl quit (Ping timeout: 268 seconds) 2017-02-17T12:05:37Z dim quit (Ping timeout: 240 seconds) 2017-02-17T12:05:57Z nxtr quit (Ping timeout: 268 seconds) 2017-02-17T12:06:45Z dim joined #sbcl 2017-02-17T12:13:43Z schjetne quit (Ping timeout: 255 seconds) 2017-02-17T12:15:58Z schjetne joined #sbcl 2017-02-17T12:29:10Z schjetne quit (Ping timeout: 240 seconds) 2017-02-17T12:37:45Z stassats: great, running with SBCL_DYNDEBUG makes the problem disappear 2017-02-17T12:39:28Z sjl joined #sbcl 2017-02-17T12:43:05Z sirkmatija_ quit (Quit: sirkmatija_) 2017-02-17T12:45:18Z stassats: because qshow grabs a lock when printing 2017-02-17T12:45:30Z stassats: which does something to the thread sigmask 2017-02-17T12:46:06Z stassats: oh, it's not even a lock, it actually does modify the sigmask 2017-02-17T12:49:57Z stassats: which looks like without modifying the thread sigmask and then resetting it back the sigmask from the context is not applied 2017-02-17T12:49:58Z stassats: huh 2017-02-17T12:52:09Z stassats: but all the blockables are already blocked in the signal handler 2017-02-17T12:52:18Z stassats: darwin and signals... 2017-02-17T12:54:46Z stassats: but darwin has two threads, one for mach exceptions, the signal is probably delivered there 2017-02-17T13:02:29Z rpg_ joined #sbcl 2017-02-17T13:05:30Z schjetne joined #sbcl 2017-02-17T13:07:16Z stassats: correct, and because this is a single threaded build both threads share variables 2017-02-17T13:30:00Z rpg_ quit (Ping timeout: 260 seconds) 2017-02-17T13:30:23Z MetaHert` joined #sbcl 2017-02-17T13:30:56Z MetaHert` quit (Client Quit) 2017-02-17T13:31:13Z MetaHertz joined #sbcl 2017-02-17T13:44:49Z stassats: but on threaded builds the exception thread doesn't get interrupted 2017-02-17T13:53:56Z dougk__ joined #sbcl 2017-02-17T13:56:29Z edgar-rft quit (Quit: edgar-rft) 2017-02-17T13:59:56Z cromachina quit (Read error: Connection reset by peer) 2017-02-17T14:06:40Z sjl quit (Ping timeout: 240 seconds) 2017-02-17T14:06:50Z sjl_ joined #sbcl 2017-02-17T14:07:12Z sjl_ is now known as sjl 2017-02-17T14:09:57Z schjetne quit (Ping timeout: 240 seconds) 2017-02-17T14:31:03Z stassats: can reproduce outside of darwin, darwin just already has a foreign thread 2017-02-17T14:36:43Z schjetne joined #sbcl 2017-02-17T14:51:27Z schjetne quit (Read error: Connection reset by peer) 2017-02-17T15:10:07Z schjetne joined #sbcl 2017-02-17T15:15:24Z myrkraverk quit (Ping timeout: 260 seconds) 2017-02-17T15:17:02Z rumbler31 joined #sbcl 2017-02-17T15:20:06Z myrkraverk_ joined #sbcl 2017-02-17T15:20:34Z fe[nl]ix: any Mailman admin here : 2017-02-17T15:20:35Z fe[nl]ix: ? 2017-02-17T15:20:58Z stassats: i don't think i can admin it 2017-02-17T15:21:42Z myrkraverk_ is now known as myrkraverk 2017-02-17T15:21:59Z fe[nl]ix: patch 1/5 is too big for mailman 2017-02-17T15:22:03Z fe[nl]ix: > 512k 2017-02-17T15:23:00Z stassats: well, you can send it outside of mailman, if you wnat 2017-02-17T15:26:57Z stassats: wrote a lengthy comment on why problem with signals coming from foreign threads should be ignored, but now i'm not convinced 2017-02-17T15:27:41Z stassats: maybe there should be a feature like HAVE_THREADS_BUT_NO_SB_THREAD 2017-02-17T15:27:43Z rumbler31 quit (Remote host closed the connection) 2017-02-17T15:30:25Z stassats: or is there a way to tell two threads apart without pthreads? 2017-02-17T15:31:08Z fe[nl]ix: gettid syscall 2017-02-17T15:31:26Z fe[nl]ix: but it's Linux-only 2017-02-17T15:31:30Z stassats: yeah, not any better than pthreads 2017-02-17T15:32:05Z stassats: i can just say "just don't have foreign threads in -sb-thread sbcl" 2017-02-17T15:32:18Z stassats: but darwin sbcl creates its own foreign thread 2017-02-17T15:49:26Z nxtr joined #sbcl 2017-02-17T15:57:56Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-17T16:38:21Z pkhuong: stassats: you could look at SP. 2017-02-17T16:41:02Z hydan joined #sbcl 2017-02-17T16:51:10Z dougk__ quit (Ping timeout: 240 seconds) 2017-02-17T16:54:08Z rpg joined #sbcl 2017-02-17T17:17:59Z hydan quit (Ping timeout: 268 seconds) 2017-02-17T17:20:27Z stassats: pkhuong: we do save both start and end of the initial thread stack, so, yeah, sounds good 2017-02-17T17:30:24Z stassats: and callbacks from foreign threads on threadless sbcl are dangerous 2017-02-17T17:30:57Z stassats: the gc wouldn't know how to deal with it 2017-02-17T17:31:05Z stassats: should they be disallowed then? 2017-02-17T17:31:16Z pkhuong: yeah, that is guaranteed to end in tears 2017-02-17T17:31:29Z fe[nl]ix: yes, non-threaded ports should be disabled/removed 2017-02-17T17:33:44Z Bike joined #sbcl 2017-02-17T17:38:43Z edgar-rft joined #sbcl 2017-02-17T17:39:58Z rpg quit (Ping timeout: 255 seconds) 2017-02-17T17:45:59Z m00natic quit (Remote host closed the connection) 2017-02-17T17:48:41Z stassats: hm, how to nicely deal with foreign callbacks 2017-02-17T17:48:44Z stassats: lose() is not nice 2017-02-17T17:51:01Z stassats: ok, it can run lisp code just can't pin stuff on gc 2017-02-17T17:55:01Z pkhuong: or allocate memory? 2017-02-17T17:55:38Z stassats: at least not normally 2017-02-17T17:58:03Z pkhuong: (or use memory that the lisp thread might move during gc) 2017-02-17T17:59:35Z stassats: ok, signalling to the main thread, if the main thread is in without-interrupts nothing will happen 2017-02-17T17:59:45Z stassats: seems like there's no solution except for lose() 2017-02-17T18:01:06Z quadresce joined #sbcl 2017-02-17T18:13:49Z stassats: struct thread only has alien-stack-start 2017-02-17T18:13:50Z stassats: no end 2017-02-17T18:15:25Z nyef: ... it's aliens all the way down? (-: 2017-02-17T18:15:27Z stassats: there's alien stack guard stuff 2017-02-17T18:15:35Z stassats: could hitch on it 2017-02-17T18:17:23Z stassats: but does control-stack-end include guards 2017-02-17T18:17:35Z stassats: or at least the "soft" guard 2017-02-17T18:18:43Z stassats: th->control_stack_end = th->binding_stack_start; 2017-02-17T18:18:56Z stassats: so, i guess that's a "yes" 2017-02-17T18:20:31Z stassats: and guards are direction dependent 2017-02-17T18:21:35Z stassats: there's ALIEN_STACK_SIZE 2017-02-17T18:21:37Z stassats: ok then 2017-02-17T18:21:49Z stassats: #define ALIEN_STACK_SIZE (1024*1024) /* chosen at random */ 2017-02-17T18:21:51Z stassats: that's reassuring 2017-02-17T18:25:17Z nyef: #define ALIEN_STACK_SIZE (1024*640) /* should be enough for anybody */ 2017-02-17T18:29:38Z stassats: the way i test for a pointer being in the stack space, i have to use different exclusive bounds based on the growth direction 2017-02-17T18:29:44Z stassats: but i don't want to bother 2017-02-17T18:31:22Z nyef: If your stack pointer is at one of the bounds, and the stack isn't empty, you have more problems than a possibly-overgenerous stack bounds test. 2017-02-17T18:34:00Z stassats: but maybe i'm overthinking it, we store start-end from low to high addresses 2017-02-17T18:34:15Z stassats: but it never hurts to overthink things 2017-02-17T18:34:44Z MetaHertz quit (Ping timeout: 260 seconds) 2017-02-17T18:49:08Z stassats: and in which units is ALIEN_STACK_SIZE 2017-02-17T18:49:48Z stassats: when i add it o all_threads->alien_stack_start, which is (lispobj *), what will i get 2017-02-17T18:51:18Z stassats: create_thread_struct does ((void *)th->alien_stack_start + ALIEN_STACK_SIZE-N_WORD_BYTES) 2017-02-17T18:51:22Z stassats: so i guess that's alright then 2017-02-17T18:54:24Z stassats: oh wait, void has byte arithmetic 2017-02-17T18:57:26Z stassats: and it's a gcc extension 2017-02-17T19:15:07Z edgar-rft quit (Quit: edgar-rft) 2017-02-17T19:20:54Z stassats: ok, that approach works for resignalling 2017-02-17T19:21:13Z stassats: but why on threaded builds signals do not actually get to the mach thread 2017-02-17T19:21:23Z stassats: on unthreaded they do 2017-02-17T19:31:51Z nxtr quit (Ping timeout: 240 seconds) 2017-02-17T19:31:53Z shka quit (Quit: Konversation terminated!) 2017-02-17T19:32:15Z shka joined #sbcl 2017-02-17T19:45:09Z dougk__ joined #sbcl 2017-02-17T20:08:01Z angavrilov quit (Remote host closed the connection) 2017-02-17T20:10:48Z nxtr joined #sbcl 2017-02-17T20:16:07Z dougk__ quit (Ping timeout: 255 seconds) 2017-02-17T20:17:37Z scymtym quit (Ping timeout: 240 seconds) 2017-02-17T20:20:00Z stassats: but signal handlers can have a different stack 2017-02-17T20:22:22Z stassats: sigstack.ss_sp=((void *) thread)+dynamic_values_bytes; 2017-02-17T20:22:23Z stassats: hm 2017-02-17T20:30:50Z stassats: so, need to use the stack pointer from the context 2017-02-17T20:34:42Z sjl quit (Ping timeout: 268 seconds) 2017-02-17T20:40:15Z stassats: sigh, there's no SP register defined 2017-02-17T20:41:54Z stassats: os_context_sp_addr and os_context_register_addr(reg_NSP) should probably do 2017-02-17T21:09:37Z DeadTrickster quit (Ping timeout: 240 seconds) 2017-02-17T21:11:37Z shka quit (Ping timeout: 240 seconds) 2017-02-17T21:14:33Z scymtym joined #sbcl 2017-02-17T21:16:47Z sjl joined #sbcl 2017-02-17T21:28:58Z quadresce quit (Quit: This computer has gone to sleep) 2017-02-17T21:34:58Z mateuszb_ quit (Read error: Connection reset by peer) 2017-02-17T21:36:06Z mateuszb joined #sbcl 2017-02-17T21:38:24Z stassats: and it doesn't work on nonx86oids 2017-02-17T21:38:31Z stassats: how such a simple thing can be so difficult to implement 2017-02-17T21:43:33Z stassats: they do not move the c stack into the number stack? 2017-02-17T21:50:37Z stassats: and attach_os_thread seems to be wrong for nonx86oids 2017-02-17T21:57:50Z igajsin quit (Ping timeout: 240 seconds) 2017-02-17T22:13:03Z rumbler3_ joined #sbcl 2017-02-17T22:13:43Z stassats: and to find out where the number stack is i'll have to pthreads 2017-02-17T22:17:36Z stassats: and link with pthreads there 2017-02-17T22:20:13Z stassats: so is this no better than pthread_getspecific(lisp_thread) 2017-02-17T22:20:19Z gingerale quit (Remote host closed the connection) 2017-02-17T22:25:13Z rumbler3_ quit (Remote host closed the connection) 2017-02-17T22:25:50Z stassats: i guess i can only solve this for C_STACK_IS_CONTROL_STACK 2017-02-17T22:34:13Z fe[nl]ix: could anybody review the patches I posted ? 2017-02-17T22:35:03Z stassats: fe[nl]ix: no cycles left 2017-02-17T22:35:21Z fe[nl]ix: ok 2017-02-17T22:35:48Z stassats: and it might take some time, since there's a lot off stuff 2017-02-17T22:37:57Z nxtr quit (Ping timeout: 240 seconds) 2017-02-17T22:47:49Z fe[nl]ix: in the meanwhile I'll apply the patches to our SBCL and run the QPX test suite with it 2017-02-17T22:58:17Z dim quit (Ping timeout: 240 seconds) 2017-02-17T23:01:51Z nxtr joined #sbcl 2017-02-17T23:12:55Z stassats: and i overtook Xof by the number of commits 2017-02-17T23:13:07Z stassats: according to git shortlog -sn, 1493 vs 1492 2017-02-17T23:13:12Z stassats: now to catch nikodemus 2017-02-17T23:41:46Z nyef: There's... a definite long tail on that data, isn't there? 2017-02-18T00:25:15Z stassats: hm, getting stack boundaries from &x and getrlimit? 2017-02-18T00:25:29Z stassats: how true is getrlimit 2017-02-18T00:29:35Z fe[nl]ix: I wouldn't trust it too much 2017-02-18T01:12:34Z NANDgate joined #sbcl 2017-02-18T01:20:14Z cromachina joined #sbcl 2017-02-18T02:22:57Z sjl quit (Read error: Connection reset by peer) 2017-02-18T02:40:28Z dtornabene joined #sbcl 2017-02-18T02:42:17Z nxtr quit (Ping timeout: 240 seconds) 2017-02-18T02:44:10Z stassats quit (Ping timeout: 240 seconds) 2017-02-18T03:15:47Z dim joined #sbcl 2017-02-18T03:27:01Z fiddlerwoaroof quit (Quit: Gone.) 2017-02-18T04:12:35Z edgar-rft joined #sbcl 2017-02-18T05:23:35Z karswell` quit (Read error: Connection reset by peer) 2017-02-18T05:23:58Z karswell` joined #sbcl 2017-02-18T06:34:56Z foom quit (Ping timeout: 245 seconds) 2017-02-18T06:35:22Z dougk_ quit (Ping timeout: 256 seconds) 2017-02-18T06:41:24Z MetaHertz joined #sbcl 2017-02-18T06:49:41Z foom joined #sbcl 2017-02-18T06:49:41Z dougk_ joined #sbcl 2017-02-18T06:49:54Z Quadrescence quit (Quit: Leaving) 2017-02-18T07:26:50Z igajsin joined #sbcl 2017-02-18T07:48:12Z Quadrescence joined #sbcl 2017-02-18T08:01:42Z cromachina_ joined #sbcl 2017-02-18T08:05:17Z cromachina quit (Ping timeout: 240 seconds) 2017-02-18T08:23:25Z gingerale joined #sbcl 2017-02-18T08:37:44Z attila_lendvai joined #sbcl 2017-02-18T08:37:49Z dtornabene quit (Quit: Leaving) 2017-02-18T08:41:05Z Xof: oh no! 2017-02-18T08:41:08Z Xof: I must do some more work 2017-02-18T08:41:16Z Xof: (haha I slay me) 2017-02-18T08:41:58Z Xof: of course I get the commit-count credit for some of dan_b's early architecture ports, nyef's win32 work, etc... so you overtook me for real some time ago 2017-02-18T08:52:16Z Bike quit (Quit: sleep) 2017-02-18T08:56:36Z angavrilov joined #sbcl 2017-02-18T09:15:37Z nxtr joined #sbcl 2017-02-18T09:34:29Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-18T09:38:44Z attila_lendvai joined #sbcl 2017-02-18T09:38:44Z attila_lendvai quit (Changing host) 2017-02-18T09:38:44Z attila_lendvai joined #sbcl 2017-02-18T09:53:08Z trinque quit (Ping timeout: 260 seconds) 2017-02-18T10:24:24Z nxtr quit (Ping timeout: 260 seconds) 2017-02-18T10:33:55Z shka joined #sbcl 2017-02-18T11:47:42Z fiveop joined #sbcl 2017-02-18T11:55:37Z scymtym quit (Ping timeout: 240 seconds) 2017-02-18T12:11:01Z scymtym joined #sbcl 2017-02-18T13:01:48Z rpg joined #sbcl 2017-02-18T13:02:20Z cro__ joined #sbcl 2017-02-18T13:03:13Z cromachina_ quit (Ping timeout: 268 seconds) 2017-02-18T13:29:27Z rpg quit (Ping timeout: 260 seconds) 2017-02-18T14:13:17Z karswell` quit (Remote host closed the connection) 2017-02-18T14:13:59Z karswell` joined #sbcl 2017-02-18T14:21:00Z MetaHertz quit (Ping timeout: 260 seconds) 2017-02-18T14:24:01Z MetaHertz joined #sbcl 2017-02-18T15:32:05Z stassats joined #sbcl 2017-02-18T15:42:45Z Bike joined #sbcl 2017-02-18T15:49:37Z nxtr joined #sbcl 2017-02-18T16:02:41Z stassats quit (Quit: ZNC 1.6.2+deb1 - http://znc.in) 2017-02-18T16:33:59Z sjl joined #sbcl 2017-02-18T17:17:15Z karswell` quit (Remote host closed the connection) 2017-02-18T17:17:58Z karswell` joined #sbcl 2017-02-18T17:47:10Z nxtr quit (Ping timeout: 240 seconds) 2017-02-18T17:52:58Z scymtym quit (Ping timeout: 240 seconds) 2017-02-18T17:57:18Z fiveop quit 2017-02-18T17:58:27Z stassats joined #sbcl 2017-02-18T18:42:15Z scymtym joined #sbcl 2017-02-18T18:51:13Z mateuszb quit (Quit: Textual IRC Client: www.textualapp.com) 2017-02-18T18:51:38Z mateuszb joined #sbcl 2017-02-18T19:31:45Z NANDgate quit (Quit: ...signals decoupling.) 2017-02-18T19:32:20Z sjl quit (Ping timeout: 268 seconds) 2017-02-18T19:33:55Z sjl joined #sbcl 2017-02-18T19:52:18Z MetaHertz quit (Ping timeout: 240 seconds) 2017-02-18T20:36:43Z dougk__ joined #sbcl 2017-02-18T21:26:49Z dougk__ quit (Ping timeout: 240 seconds) 2017-02-18T21:56:14Z dougk__ joined #sbcl 2017-02-18T22:05:16Z dougk__ quit (Ping timeout: 268 seconds) 2017-02-18T23:08:22Z cro__ quit (Quit: Leaving) 2017-02-18T23:08:25Z nxtr joined #sbcl 2017-02-18T23:08:45Z cromachina joined #sbcl 2017-02-18T23:49:28Z rpg_ joined #sbcl 2017-02-18T23:49:39Z macdavid joined #sbcl 2017-02-18T23:51:37Z gingerale quit (Read error: Connection reset by peer) 2017-02-18T23:54:00Z macdavid quit (Remote host closed the connection) 2017-02-18T23:54:23Z macdavid joined #sbcl 2017-02-19T00:02:56Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-19T00:05:17Z dougk__ joined #sbcl 2017-02-19T00:09:34Z macdavid quit (Remote host closed the connection) 2017-02-19T00:09:48Z macdavid joined #sbcl 2017-02-19T00:17:52Z rpg_ quit (Ping timeout: 260 seconds) 2017-02-19T00:23:37Z macdavid quit (Ping timeout: 255 seconds) 2017-02-19T00:29:19Z nxtr quit (Ping timeout: 240 seconds) 2017-02-19T00:32:20Z sjl quit (Ping timeout: 260 seconds) 2017-02-19T00:36:06Z fe[nl]ix quit (Remote host closed the connection) 2017-02-19T00:36:06Z Blkt quit (Read error: Connection reset by peer) 2017-02-19T00:37:22Z Blkt joined #sbcl 2017-02-19T00:37:38Z fe[nl]ix joined #sbcl 2017-02-19T01:39:52Z dougk__ quit (Ping timeout: 268 seconds) 2017-02-19T01:42:18Z stassats quit (Ping timeout: 240 seconds) 2017-02-19T02:16:24Z shka quit (Ping timeout: 260 seconds) 2017-02-19T04:03:00Z fiddlerwoaroof joined #sbcl 2017-02-19T04:29:40Z igajsin quit (Ping timeout: 240 seconds) 2017-02-19T04:38:29Z igajsin joined #sbcl 2017-02-19T04:45:44Z IRCFrEAK joined #sbcl 2017-02-19T04:45:46Z IRCFrEAK left #sbcl 2017-02-19T05:25:27Z igajsin quit (Ping timeout: 240 seconds) 2017-02-19T06:25:23Z kini joined #sbcl 2017-02-19T07:21:57Z macdavid joined #sbcl 2017-02-19T07:26:31Z MetaHertz joined #sbcl 2017-02-19T07:36:39Z MetaHertz quit (Read error: Connection reset by peer) 2017-02-19T08:01:03Z macdavid quit (Remote host closed the connection) 2017-02-19T08:01:39Z macdavid joined #sbcl 2017-02-19T08:47:36Z Bike quit (Quit: slep) 2017-02-19T09:22:40Z DeadTrickster joined #sbcl 2017-02-19T09:52:57Z shka joined #sbcl 2017-02-19T09:54:26Z DeadTrickster quit (Ping timeout: 268 seconds) 2017-02-19T10:04:05Z gingerale joined #sbcl 2017-02-19T10:11:18Z attila_lendvai joined #sbcl 2017-02-19T10:24:09Z MetaHertz joined #sbcl 2017-02-19T10:31:49Z mateuszb quit (Ping timeout: 240 seconds) 2017-02-19T10:31:51Z mateuszb_ joined #sbcl 2017-02-19T10:36:47Z stassats joined #sbcl 2017-02-19T10:39:01Z nxtr joined #sbcl 2017-02-19T10:51:49Z MetaHertz quit (Ping timeout: 255 seconds) 2017-02-19T11:01:09Z cromachina_ joined #sbcl 2017-02-19T11:02:23Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-19T11:03:38Z cromachina quit (Ping timeout: 240 seconds) 2017-02-19T11:05:46Z macdavid quit (Ping timeout: 255 seconds) 2017-02-19T11:32:36Z sjl joined #sbcl 2017-02-19T11:36:28Z Jacobawin joined #sbcl 2017-02-19T11:51:49Z Jacobawin quit (Quit: Lost terminal) 2017-02-19T12:20:41Z macdavid joined #sbcl 2017-02-19T12:24:38Z schjetne quit (Ping timeout: 240 seconds) 2017-02-19T12:57:18Z sjl quit (Ping timeout: 240 seconds) 2017-02-19T13:01:29Z rpg joined #sbcl 2017-02-19T13:20:18Z sjl joined #sbcl 2017-02-19T13:29:20Z rpg quit (Ping timeout: 260 seconds) 2017-02-19T13:44:44Z macdavid quit (Ping timeout: 260 seconds) 2017-02-19T13:52:08Z DeadTrickster joined #sbcl 2017-02-19T14:12:24Z schjetne joined #sbcl 2017-02-19T14:16:56Z schjetne quit (Ping timeout: 260 seconds) 2017-02-19T14:24:33Z schjetne joined #sbcl 2017-02-19T14:29:00Z schjetne quit (Remote host closed the connection) 2017-02-19T14:47:16Z nxtr quit (Ping timeout: 260 seconds) 2017-02-19T14:55:49Z jrm: Is there something up with the repository? git pull / fatal: unable to connect to git.code.sf.net: / git.code.sf.net[0: 216.34.181.155]: errno=Connection refused. 2017-02-19T14:56:07Z stassats: you'd have to ask sourceforge 2017-02-19T14:56:35Z jrm: Ok, is the git repository hosted elsewhere? 2017-02-19T14:56:55Z stassats: hosted? no 2017-02-19T14:56:58Z stassats: there are mirrors 2017-02-19T15:09:18Z cro__ joined #sbcl 2017-02-19T15:09:29Z macdavid joined #sbcl 2017-02-19T15:12:21Z cromachina_ quit (Ping timeout: 260 seconds) 2017-02-19T15:38:32Z nyef: ... Looks like SF did a new-feature announcement on Friday, saying "Woo, we support HTTPS access to git! More secure!" 2017-02-19T15:39:02Z stassats: if you can't access it, it can't be insecure 2017-02-19T15:39:15Z nyef: And there's no indication of an "outage" in terms of their support pages or twitter accounts. 2017-02-19T15:39:44Z nyef: Exactly. To secure a unix machine, turn it off, unplug it, and bury it in reinforced concrete. 2017-02-19T15:42:09Z stassats: incidentally, Top Searches says "bank hacking tool" 2017-02-19T15:42:20Z stassats: then clisp, then ada 2017-02-19T15:42:23Z stassats: why ada? 2017-02-19T15:42:50Z nyef: Hrm. SF Git documentation still says that ssh should be supported. 2017-02-19T15:42:56Z nyef: With https as a fallback. 2017-02-19T15:57:41Z nxtr joined #sbcl 2017-02-19T15:59:55Z attila_lendvai joined #sbcl 2017-02-19T15:59:55Z attila_lendvai quit (Changing host) 2017-02-19T15:59:55Z attila_lendvai joined #sbcl 2017-02-19T16:35:48Z myrkraverk: What was sb-vm:code-trace-table-offset-slot? 2017-02-19T16:36:08Z myrkraverk: This is from an old swank. And afaict, it's no longer in SBCL. 2017-02-19T16:36:33Z stassats: it's something that's no longer neither in sbcl, nor in swank 2017-02-19T16:37:12Z myrkraverk: Yes, I noticed. 2017-02-19T16:37:28Z myrkraverk: I'm trying to use an old slime (because my editor is old) but that fails with a new sbcl. 2017-02-19T16:37:33Z stassats: well then, you shouldn't use old stuff with new stuff 2017-02-19T16:38:33Z myrkraverk: shouldn't is not in my dictionary, when it comes to mixing and matching software. 2017-02-19T16:39:13Z fe[nl]ix: you need a new dictionary 2017-02-19T16:40:29Z stassats: then you're on your own, naturally 2017-02-19T16:41:04Z myrkraverk: Yes. 2017-02-19T16:41:13Z myrkraverk: I commented out the offending line, and slime "works" now. 2017-02-19T16:41:25Z myrkraverk: Of course, I don't know where or when it'll explode. 2017-02-19T16:47:14Z fe[nl]ix: livin' on the edge... 2017-02-19T17:18:38Z sirkmatija_ joined #sbcl 2017-02-19T17:23:36Z PuercoPop: Hi, I recently updated SBCL and StumpWM now fails to compile, the problematic code is in the following snippet. http://paste.lisp.org/+79YG I'm sure the fault is on StumpWM's side (as SBCL clearly states to not use execv), but I want to understand what the issue is so I can fix it 2017-02-19T17:24:24Z stassats: why does it use execv? 2017-02-19T17:25:03Z Bike joined #sbcl 2017-02-19T17:25:07Z PuercoPop: stassats: to restart itself https://github.com/stumpwm/stumpwm/blob/master/stumpwm.lisp#L403 2017-02-19T17:25:13Z stassats: ok 2017-02-19T17:26:47Z stassats: PuercoPop: can you bisect? 2017-02-19T17:27:44Z PuercoPop: stassats: on SBCL commits? sure. It will take sometime, I'll do it after lunch 2017-02-19T17:27:52Z sindan joined #sbcl 2017-02-19T17:28:05Z stassats: PuercoPop: it works in 1.3.14 2017-02-19T17:28:13Z stassats: so if you start there it shouldn't take much time 2017-02-19T17:29:14Z PuercoPop: btw I compiled with immobile-space and immobile-code 2017-02-19T17:29:27Z stassats: that doesn't really matter 2017-02-19T17:29:51Z stassats: here's a reduced test (defun test (x z) (declare (optimize (debug 2))) (sb-alien:with-alien ((y sb-alien:c-string z)) (sb-alien:alien-funcall x y))) 2017-02-19T17:30:31Z PuercoPop: stassats: thanks 2017-02-19T17:32:32Z sindan: can a place be stored in a variable and then pass the variable to setf so that setf modifies the place in the variable? 2017-02-19T17:32:54Z stassats: sindan: ask in #lisp 2017-02-19T17:33:53Z stassats: further reduced to (defun test (x y) (declare (optimize (debug 2))) (sb-alien:with-alien ((x sb-alien:c-string y)) x)) 2017-02-19T17:38:31Z stassats: maybe the changes to with-pinned-objects have caused this 2017-02-19T17:48:49Z nyef: I'm just stepping out now, but I can take a look at this tonight/tomorrow if necessary. 2017-02-19T17:48:58Z stassats: no, it's not with-pinned-objects 2017-02-19T17:52:07Z nxtr quit (Ping timeout: 255 seconds) 2017-02-19T17:54:53Z nyef quit (Ping timeout: 252 seconds) 2017-02-19T18:09:02Z stassats: i transformed the case enough to trigger it on 1.3.14 2017-02-19T18:09:10Z stassats: and 1.1.7 2017-02-19T18:09:51Z attila_lendvai quit (Quit: Leaving.) 2017-02-19T18:09:59Z attila_lendvai1 joined #sbcl 2017-02-19T18:09:59Z attila_lendvai1 is now known as attila_lendvai 2017-02-19T18:10:00Z attila_lendvai quit (Changing host) 2017-02-19T18:10:00Z attila_lendvai joined #sbcl 2017-02-19T18:12:07Z stassats: PuercoPop: don't bisect, that is 2017-02-19T18:14:08Z attila_lendvai quit (Client Quit) 2017-02-19T18:14:19Z attila_lendvai joined #sbcl 2017-02-19T18:14:19Z attila_lendvai quit (Changing host) 2017-02-19T18:14:19Z attila_lendvai joined #sbcl 2017-02-19T18:16:37Z stassats: and it's uncovered by more thorough PRESERVE-SINGLE-USE-DEBUG-VAR-P, as i suspected 2017-02-19T18:27:17Z stassats: the problem is note-local-alien-type, which calls propagate-to-refs 2017-02-19T18:28:03Z stassats: but then a set can conflict with that type 2017-02-19T18:34:55Z stassats: i'll stick (constant-reference-p var-node) 2017-02-19T18:39:23Z stassats: except that i can't push the fix 2017-02-19T18:43:12Z stassats: pushed to https://github.com/stassats/sbcl 2017-02-19T18:43:37Z nxtr joined #sbcl 2017-02-19T19:10:52Z sjl quit (Ping timeout: 255 seconds) 2017-02-19T19:15:58Z DeadTrickster quit (Ping timeout: 240 seconds) 2017-02-19T19:17:40Z DeadTrickster joined #sbcl 2017-02-19T19:36:47Z sjl joined #sbcl 2017-02-19T19:56:15Z DeadTrickster_ joined #sbcl 2017-02-19T19:57:57Z DeadTrickster quit (Ping timeout: 240 seconds) 2017-02-19T20:00:41Z sirkmatija_ quit (Quit: sirkmatija_) 2017-02-19T20:14:51Z sirkmatija_ joined #sbcl 2017-02-19T20:18:13Z PuercoPop: stassats: thanks 2017-02-19T20:23:24Z shka quit (Quit: Konversation terminated!) 2017-02-19T20:31:10Z shka joined #sbcl 2017-02-19T20:37:12Z sindan quit (Quit: Leaving) 2017-02-19T21:11:32Z shka quit (Ping timeout: 268 seconds) 2017-02-19T21:18:09Z rpg joined #sbcl 2017-02-19T21:25:14Z rpg_ joined #sbcl 2017-02-19T21:26:27Z rpg quit (Ping timeout: 240 seconds) 2017-02-19T21:29:02Z rumbler31 joined #sbcl 2017-02-19T21:35:45Z angavrilov quit (Remote host closed the connection) 2017-02-19T21:53:42Z rpg_ quit (Read error: Connection reset by peer) 2017-02-19T21:54:25Z rpg joined #sbcl 2017-02-19T22:07:08Z macdavid quit (Remote host closed the connection) 2017-02-19T22:11:12Z gingerale quit (Remote host closed the connection) 2017-02-19T22:18:23Z sirkmatija_ quit (Quit: sirkmatija_) 2017-02-19T22:20:18Z nxtr quit (Ping timeout: 240 seconds) 2017-02-19T22:29:29Z nxtr joined #sbcl 2017-02-19T22:53:53Z dtornabene joined #sbcl 2017-02-19T23:18:57Z quadresce joined #sbcl 2017-02-19T23:31:29Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-19T23:32:31Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-02-19T23:37:44Z rpg joined #sbcl 2017-02-19T23:51:26Z quadresce quit (Quit: This computer has gone to sleep) 2017-02-20T00:01:54Z mateuszb joined #sbcl 2017-02-20T00:02:43Z mateuszb_ quit (Read error: Connection reset by peer) 2017-02-20T00:02:52Z mateuszb_ joined #sbcl 2017-02-20T00:03:46Z mateuszb_ quit (Read error: Connection reset by peer) 2017-02-20T00:04:16Z rpg quit (Ping timeout: 255 seconds) 2017-02-20T00:04:50Z rpg joined #sbcl 2017-02-20T00:06:19Z mateuszb quit (Ping timeout: 240 seconds) 2017-02-20T00:07:25Z mateuszb joined #sbcl 2017-02-20T00:22:11Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-02-20T00:34:02Z nyef joined #sbcl 2017-02-20T00:44:48Z sjl quit (Ping timeout: 240 seconds) 2017-02-20T00:55:12Z nyef: ... Given that sourceforge isn't reporting anything wrong with their infrastructure, but at least some of us can't do a git fetch, is it time to consider alternate hosting? 2017-02-20T01:04:06Z dtornabene: isn't sbcl also at github? 2017-02-20T01:06:03Z IRCFrEAK joined #sbcl 2017-02-20T01:20:14Z nyef: dtornabene: It's in a couple of places. The question is more "which is the system of record? 2017-02-20T01:20:31Z dtornabene: ah 2017-02-20T01:20:32Z dtornabene: thanks 2017-02-20T01:21:05Z dtornabene: was more of "...isn't this thing this way...?" head scratcher then a disagreement 2017-02-20T01:21:20Z nyef: And officially, sourcefarce is the system of record, but if we can't *write* to it? 2017-02-20T01:21:32Z nyef: Or *read* from it, for that matter? 2017-02-20T01:21:56Z DeadTrickster_ quit (Ping timeout: 260 seconds) 2017-02-20T01:28:16Z dtornabene: what a shame, sourcefarce I mean 2017-02-20T01:32:06Z rpg joined #sbcl 2017-02-20T01:36:19Z rpg quit (Ping timeout: 240 seconds) 2017-02-20T01:41:59Z nxtr quit (Ping timeout: 240 seconds) 2017-02-20T01:53:59Z rpg joined #sbcl 2017-02-20T01:56:09Z eschatologist quit (Quit: ZNC 1.6.3+deb2 - http://znc.in) 2017-02-20T01:56:49Z eschatologist joined #sbcl 2017-02-20T02:06:40Z stassats quit (Ping timeout: 240 seconds) 2017-02-20T02:11:41Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-02-20T02:11:46Z rumbler31 quit (Remote host closed the connection) 2017-02-20T02:11:59Z dtornabene quit (Quit: Leaving) 2017-02-20T02:17:40Z rumbler31 joined #sbcl 2017-02-20T02:25:50Z IRCFrEAK left #sbcl 2017-02-20T03:18:05Z akkad quit (Ping timeout: 240 seconds) 2017-02-20T03:20:06Z rumbler31 quit (Remote host closed the connection) 2017-02-20T03:21:36Z akkad joined #sbcl 2017-02-20T04:12:32Z madgoat joined #sbcl 2017-02-20T04:12:33Z madgoat left #sbcl 2017-02-20T04:20:38Z rumbler31 joined #sbcl 2017-02-20T04:26:39Z rumbler31 quit (Ping timeout: 240 seconds) 2017-02-20T04:53:56Z NANDgate joined #sbcl 2017-02-20T05:51:39Z cro__ quit (Ping timeout: 240 seconds) 2017-02-20T06:08:12Z sirkmatija_ joined #sbcl 2017-02-20T06:28:18Z DeadTrickster joined #sbcl 2017-02-20T06:47:49Z igajsin joined #sbcl 2017-02-20T06:50:31Z sirkmatija_ quit (Quit: sirkmatija_) 2017-02-20T06:59:57Z scymtym quit (Ping timeout: 240 seconds) 2017-02-20T07:10:29Z NANDgate quit (Quit: ...signals decoupling.) 2017-02-20T07:28:03Z sirkmatija_ joined #sbcl 2017-02-20T07:28:40Z DeadTrickster quit (Ping timeout: 240 seconds) 2017-02-20T07:29:24Z sirkmatija_ quit (Client Quit) 2017-02-20T07:30:48Z edgar-rft quit (Quit: edgar-rft) 2017-02-20T08:00:51Z Nanshan joined #sbcl 2017-02-20T08:13:48Z DeadTrickster joined #sbcl 2017-02-20T08:26:58Z angavrilov joined #sbcl 2017-02-20T08:33:03Z scymtym joined #sbcl 2017-02-20T09:11:07Z Bike quit (Quit: sleepin) 2017-02-20T09:34:49Z attila_lendvai joined #sbcl 2017-02-20T09:49:25Z gingerale joined #sbcl 2017-02-20T10:03:59Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-20T10:51:31Z salva quit (Remote host closed the connection) 2017-02-20T11:01:37Z attila_lendvai joined #sbcl 2017-02-20T11:03:42Z cromachina joined #sbcl 2017-02-20T11:07:53Z sjl joined #sbcl 2017-02-20T11:10:41Z m00natic joined #sbcl 2017-02-20T11:16:50Z scymtym: is sourceforge still working for anybody or is it just completely broken now? 2017-02-20T11:17:25Z salva joined #sbcl 2017-02-20T11:18:50Z igajsin quit (Ping timeout: 268 seconds) 2017-02-20T11:19:58Z igajsin joined #sbcl 2017-02-20T11:30:19Z jackdaniel: scymtym: main page loads fine here 2017-02-20T11:39:57Z scymtym: jackdaniel: sorry, i meant the SBCL git repository specifically 2017-02-20T11:42:20Z jackdaniel: connection refused 2017-02-20T11:42:24Z jackdaniel: when pulling sbcl changes 2017-02-20T11:43:39Z scymtym: i see, thanks for trying 2017-02-20T11:44:17Z jackdaniel: sure 2017-02-20T11:45:18Z Shinmera: Do both ssh and https not work? 2017-02-20T11:45:49Z salva quit (Remote host closed the connection) 2017-02-20T11:48:52Z scymtym: Shinmera: that seems to be the case, even for developer accounts (from what nyef said and what i just tried) 2017-02-20T11:56:26Z nxtr joined #sbcl 2017-02-20T11:58:00Z edgar-rft joined #sbcl 2017-02-20T12:05:32Z cromachina quit (Read error: Connection reset by peer) 2017-02-20T12:31:31Z nyef: I haven't bothered trying https. 2017-02-20T12:33:34Z nyef: ... and still nothing on the SF site status page or the netops twitter account. 2017-02-20T12:43:16Z DeadTrickster quit (Ping timeout: 260 seconds) 2017-02-20T12:47:58Z rumbler31 joined #sbcl 2017-02-20T12:49:00Z rumbler31 quit (Read error: Connection reset by peer) 2017-02-20T13:00:52Z rpg joined #sbcl 2017-02-20T13:03:08Z sjl quit (Read error: Connection reset by peer) 2017-02-20T13:10:36Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-02-20T13:13:55Z rumbler31 joined #sbcl 2017-02-20T13:23:07Z fe[nl]ix: just switch to Github 2017-02-20T13:34:46Z sjl joined #sbcl 2017-02-20T13:42:22Z rumbler31 quit (Remote host closed the connection) 2017-02-20T14:01:12Z sjl quit (Ping timeout: 260 seconds) 2017-02-20T14:02:47Z sjl joined #sbcl 2017-02-20T14:26:41Z stassats joined #sbcl 2017-02-20T14:44:47Z Xof: looks like I picked a good day to announce a freeze... 2017-02-20T14:45:06Z Xof: (except if sf mailing lists also don't work in which case, well...) 2017-02-20T14:46:14Z nyef: Yes-and-no. Didn't stassats fix something yesterday that he couldn't push because of the outage? 2017-02-20T14:47:19Z Shinmera: He pushed it to his github mirror. 2017-02-20T14:53:26Z nyef: Right, but that's not the system-of-record. 2017-02-20T14:55:29Z nyef: I'm coming to the conclusion that either SF netops is unstaffed, or closing git access was deliberate, and possibly somehow announced on a channel that I'm just not seeing. 2017-02-20T14:57:26Z salva joined #sbcl 2017-02-20T15:01:10Z nyef: ... Why the hell are we *maintaining* the STACK phase invariants throughout IR1 instead of *establishing* them during PHYSENVANAL or similar? 2017-02-20T15:16:13Z sirkmatija_ joined #sbcl 2017-02-20T15:19:13Z nyef: The invariants are all about block boundaries around UV and DX packet allocation and deallocation. We're already doing part of the related analysis during LTN to set up the ir2-block-popped lists in the first place. 2017-02-20T15:21:39Z scymtym quit (Ping timeout: 240 seconds) 2017-02-20T15:25:49Z nyef: Hunh. My notes already cover the idea of establishing these invariants post-IR1. 2017-02-20T15:30:14Z karswell` quit (Remote host closed the connection) 2017-02-20T15:31:00Z karswell` joined #sbcl 2017-02-20T15:33:44Z sirkmatija_ quit (Quit: sirkmatija_) 2017-02-20T15:38:40Z sjl quit (Ping timeout: 240 seconds) 2017-02-20T15:40:15Z sjl joined #sbcl 2017-02-20T15:42:55Z rumbler3_ joined #sbcl 2017-02-20T15:47:35Z rumbler3_ quit (Ping timeout: 260 seconds) 2017-02-20T16:02:19Z sjl quit (Ping timeout: 240 seconds) 2017-02-20T16:03:32Z sirkmatija_ joined #sbcl 2017-02-20T16:16:59Z nxtr quit (Ping timeout: 240 seconds) 2017-02-20T16:17:51Z rtmpdavid joined #sbcl 2017-02-20T16:21:17Z sirkmatija_ quit (Quit: sirkmatija_) 2017-02-20T16:30:07Z sirkmatija_ joined #sbcl 2017-02-20T16:39:28Z shka_ joined #sbcl 2017-02-20T16:41:59Z sjl joined #sbcl 2017-02-20T16:53:43Z scymtym joined #sbcl 2017-02-20T16:59:39Z Colleen joined #sbcl 2017-02-20T17:04:46Z dustinm`_ joined #sbcl 2017-02-20T17:08:29Z Colleen quit (Remote host closed the connection) 2017-02-20T17:09:17Z Xof quit (Ping timeout: 240 seconds) 2017-02-20T17:09:17Z dustinm` quit (Ping timeout: 240 seconds) 2017-02-20T17:09:19Z kini quit (Ping timeout: 240 seconds) 2017-02-20T17:09:20Z christoph_debian quit (Ping timeout: 240 seconds) 2017-02-20T17:11:03Z christoph_debian joined #sbcl 2017-02-20T17:11:31Z kini joined #sbcl 2017-02-20T17:22:30Z rpg joined #sbcl 2017-02-20T17:31:06Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-02-20T17:32:21Z rpg joined #sbcl 2017-02-20T17:37:51Z stassats: (let () (sleep 0.1)) => 0, 0, oops 2017-02-20T17:38:03Z stassats: that's my transform 2017-02-20T17:38:46Z stassats: coupled with nanosleep on darwin (mine too) returning 0, 0 2017-02-20T17:38:46Z DGASAU quit (Read error: Connection reset by peer) 2017-02-20T17:41:16Z Bike joined #sbcl 2017-02-20T17:43:05Z nyef: And sourceforge git seems to be working again! 2017-02-20T17:43:13Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-02-20T17:43:14Z stassats: old news 2017-02-20T17:46:05Z nyef: Really? Hunh. 2017-02-20T17:46:20Z stassats: well, i already pushed 30 minutes ago 2017-02-20T17:48:48Z DGASAU joined #sbcl 2017-02-20T17:52:11Z m00natic quit (Remote host closed the connection) 2017-02-20T17:53:06Z stassats: i think if we were still using cvs than the sourceforge outages would pose problems 2017-02-20T17:53:11Z stassats: then 2017-02-20T17:53:21Z stassats: but with git it's just "meh, i'll push later" 2017-02-20T17:54:03Z nyef: The bit that's annoying me is the complete lack of official information that there's even *been* an outage. 2017-02-20T17:55:30Z stassats: and it would be trivial to migrate the repository, now, what to do with the mailing lists 2017-02-20T17:56:15Z stassats: "report bugs on facebook" 2017-02-20T17:56:56Z nyef: ... Wow. Way to kill your support channel. 2017-02-20T17:57:40Z stassats: snapchat? 2017-02-20T17:57:53Z stassats: "quick, fix it while it's still there" 2017-02-20T18:10:44Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-20T18:21:49Z myrkraverk quit (Ping timeout: 255 seconds) 2017-02-20T18:21:53Z myrkraverk_ joined #sbcl 2017-02-20T18:23:12Z myrkraverk_ is now known as myrkraverk 2017-02-20T18:25:12Z fe[nl]ix: "in case of error, send a selfie with you and the screen" 2017-02-20T18:33:20Z nyef: "When in danger, when in doubt, run in circles, scream and shout." 2017-02-20T18:43:19Z rumbler3_ joined #sbcl 2017-02-20T18:47:19Z rumbler3_ quit (Ping timeout: 240 seconds) 2017-02-20T19:05:50Z sjl quit (Read error: Connection reset by peer) 2017-02-20T19:10:01Z Colleen joined #sbcl 2017-02-20T20:16:26Z oleo quit (Quit: Verlassend) 2017-02-20T20:17:14Z jsnell quit (Ping timeout: 252 seconds) 2017-02-20T20:18:08Z jsnell joined #sbcl 2017-02-20T20:22:56Z DGASAU quit (Ping timeout: 260 seconds) 2017-02-20T20:32:32Z DeadTrickster joined #sbcl 2017-02-20T20:51:49Z Xof joined #sbcl 2017-02-20T21:01:57Z shka_ quit (Ping timeout: 240 seconds) 2017-02-20T21:04:27Z sirkmatija_ quit (Quit: sirkmatija_) 2017-02-20T21:06:40Z oleo joined #sbcl 2017-02-20T21:08:02Z nxtr joined #sbcl 2017-02-20T21:18:51Z igajsin quit (Ping timeout: 268 seconds) 2017-02-20T21:23:19Z Colleen quit (Remote host closed the connection) 2017-02-20T21:24:06Z Colleen joined #sbcl 2017-02-20T21:37:48Z cromachina joined #sbcl 2017-02-20T21:49:02Z sjl joined #sbcl 2017-02-20T22:09:50Z gingerale quit (Remote host closed the connection) 2017-02-20T22:55:29Z nxtr quit (Remote host closed the connection) 2017-02-20T23:08:29Z rpg joined #sbcl 2017-02-20T23:16:53Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-02-20T23:17:32Z rpg joined #sbcl 2017-02-20T23:22:37Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-02-20T23:28:51Z nxtr joined #sbcl 2017-02-20T23:30:26Z rpg joined #sbcl 2017-02-20T23:40:44Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-02-21T00:34:57Z sjl quit (Ping timeout: 240 seconds) 2017-02-21T00:50:46Z rpg joined #sbcl 2017-02-21T00:56:30Z nxtr quit (Ping timeout: 260 seconds) 2017-02-21T01:00:57Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-02-21T01:15:52Z rpg joined #sbcl 2017-02-21T01:38:24Z stassats quit (Ping timeout: 260 seconds) 2017-02-21T01:43:42Z rumbler31 joined #sbcl 2017-02-21T01:45:24Z DeadTrickster quit (Ping timeout: 260 seconds) 2017-02-21T01:45:43Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-02-21T01:47:59Z rumbler31 quit (Ping timeout: 240 seconds) 2017-02-21T01:53:55Z rpg joined #sbcl 2017-02-21T02:21:55Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-02-21T02:30:07Z Nanshan quit (Remote host closed the connection) 2017-02-21T05:48:05Z shka_ joined #sbcl 2017-02-21T05:54:05Z sirkmatija_ joined #sbcl 2017-02-21T06:02:39Z sirkmatija_ quit (Quit: sirkmatija_) 2017-02-21T06:10:25Z shka_ quit (Ping timeout: 268 seconds) 2017-02-21T06:18:39Z sirkmatija_ joined #sbcl 2017-02-21T06:38:35Z sirkmatija_ quit (Quit: sirkmatija_) 2017-02-21T06:59:20Z igajsin joined #sbcl 2017-02-21T07:14:10Z scymtym quit (Ping timeout: 240 seconds) 2017-02-21T08:16:10Z DeadTrickster joined #sbcl 2017-02-21T08:27:16Z salva quit (Remote host closed the connection) 2017-02-21T08:33:22Z scymtym joined #sbcl 2017-02-21T09:06:03Z Bike quit (Quit: but not right now) 2017-02-21T09:14:03Z salva joined #sbcl 2017-02-21T09:36:24Z schjetne joined #sbcl 2017-02-21T09:47:10Z attila_lendvai joined #sbcl 2017-02-21T10:10:31Z rtmpdavid quit (Remote host closed the connection) 2017-02-21T10:20:49Z Colleen quit (Remote host closed the connection) 2017-02-21T10:21:09Z sjl joined #sbcl 2017-02-21T10:21:36Z Colleen joined #sbcl 2017-02-21T10:42:33Z m00natic joined #sbcl 2017-02-21T10:52:52Z salv0 joined #sbcl 2017-02-21T10:53:00Z salva quit (Ping timeout: 240 seconds) 2017-02-21T11:17:46Z sjl quit (Ping timeout: 240 seconds) 2017-02-21T11:30:24Z schjetne_ joined #sbcl 2017-02-21T11:31:27Z schjetne quit (Ping timeout: 240 seconds) 2017-02-21T11:49:58Z sjl joined #sbcl 2017-02-21T12:55:55Z stassats joined #sbcl 2017-02-21T12:59:37Z jdz quit (Ping timeout: 255 seconds) 2017-02-21T13:00:50Z rpg joined #sbcl 2017-02-21T13:00:56Z rpg quit (Client Quit) 2017-02-21T13:02:00Z scymtym quit (Ping timeout: 240 seconds) 2017-02-21T13:04:35Z jdz joined #sbcl 2017-02-21T13:09:06Z scymtym joined #sbcl 2017-02-21T13:19:55Z sjl quit (Read error: Connection reset by peer) 2017-02-21T13:36:51Z sirkmatija_ joined #sbcl 2017-02-21T13:47:04Z sjl joined #sbcl 2017-02-21T13:53:10Z sirkmatija_ quit (Quit: sirkmatija_) 2017-02-21T14:07:23Z sirkmatija_ joined #sbcl 2017-02-21T14:22:03Z DeadTrickster_ joined #sbcl 2017-02-21T14:24:40Z DeadTrickster quit (Ping timeout: 255 seconds) 2017-02-21T14:30:49Z sirkmatija_ quit (Quit: sirkmatija_) 2017-02-21T14:38:01Z cromachina quit (Read error: Connection reset by peer) 2017-02-21T14:41:41Z blackwolf joined #sbcl 2017-02-21T14:58:59Z schjetne_ is now known as schjetne 2017-02-21T15:01:49Z milanj joined #sbcl 2017-02-21T15:02:41Z sirkmatija_ joined #sbcl 2017-02-21T15:09:18Z kini quit (Quit: No Ping reply in 180 seconds.) 2017-02-21T15:10:21Z kini joined #sbcl 2017-02-21T15:24:48Z payphone quit (Remote host closed the connection) 2017-02-21T16:03:40Z akkad quit (Ping timeout: 240 seconds) 2017-02-21T16:13:07Z schjetne_ joined #sbcl 2017-02-21T16:14:01Z schjetne quit (Ping timeout: 255 seconds) 2017-02-21T16:14:37Z akkad joined #sbcl 2017-02-21T16:22:57Z Bike joined #sbcl 2017-02-21T16:30:13Z DeadTrickster_ quit (Ping timeout: 255 seconds) 2017-02-21T16:30:30Z shka_ joined #sbcl 2017-02-21T16:37:49Z rszeno joined #sbcl 2017-02-21T16:56:04Z rszeno quit (Ping timeout: 268 seconds) 2017-02-21T17:48:42Z scymtym quit (Remote host closed the connection) 2017-02-21T17:48:44Z scymtym_ joined #sbcl 2017-02-21T17:55:59Z m00natic quit (Remote host closed the connection) 2017-02-21T17:58:24Z rpg joined #sbcl 2017-02-21T18:03:10Z schjetne_ is now known as schjetne 2017-02-21T18:30:08Z attila_lendvai quit (Quit: Leaving.) 2017-02-21T18:30:14Z attila_lendvai joined #sbcl 2017-02-21T18:49:03Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-02-21T18:59:12Z gingerale joined #sbcl 2017-02-21T19:38:15Z angavrilov quit (Remote host closed the connection) 2017-02-21T20:01:18Z rpg joined #sbcl 2017-02-21T20:02:25Z milanj quit (Quit: Leaving) 2017-02-21T20:05:35Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-21T20:05:50Z nxtr joined #sbcl 2017-02-21T20:21:57Z scymtym__ joined #sbcl 2017-02-21T20:23:40Z scymtym_ quit (Ping timeout: 240 seconds) 2017-02-21T20:28:20Z scymtym__ quit (Ping timeout: 240 seconds) 2017-02-21T20:38:02Z prxq joined #sbcl 2017-02-21T20:44:43Z sirkmatija_ quit (Quit: sirkmatija_) 2017-02-21T20:55:12Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-02-21T21:13:28Z igajsin quit (Ping timeout: 260 seconds) 2017-02-21T21:22:49Z attila_lendvai joined #sbcl 2017-02-21T21:22:49Z attila_lendvai quit (Changing host) 2017-02-21T21:22:49Z attila_lendvai joined #sbcl 2017-02-21T21:24:13Z scymtym joined #sbcl 2017-02-21T21:26:48Z nxtr quit (Remote host closed the connection) 2017-02-21T21:34:23Z schjetne_ joined #sbcl 2017-02-21T21:35:29Z schjetne quit (Ping timeout: 260 seconds) 2017-02-21T21:37:17Z gingerale quit (Remote host closed the connection) 2017-02-21T21:47:50Z prxq quit (Remote host closed the connection) 2017-02-21T22:02:28Z shka_ quit (Ping timeout: 260 seconds) 2017-02-21T22:02:46Z jdz quit (Ping timeout: 255 seconds) 2017-02-21T22:03:46Z fe[nl]ix quit (Quit: No Ping reply in 180 seconds.) 2017-02-21T22:03:47Z Blkt quit (Remote host closed the connection) 2017-02-21T22:05:02Z fe[nl]ix joined #sbcl 2017-02-21T22:05:03Z Blkt joined #sbcl 2017-02-21T22:05:04Z jdz joined #sbcl 2017-02-21T22:18:29Z nxtr_ joined #sbcl 2017-02-21T22:18:51Z nxtr_ is now known as Guest26627 2017-02-21T22:29:41Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-21T22:33:35Z antonis joined #sbcl 2017-02-21T22:41:08Z rpg joined #sbcl 2017-02-21T22:53:48Z antonis quit (Ping timeout: 260 seconds) 2017-02-21T22:54:43Z antonis joined #sbcl 2017-02-21T23:00:48Z antonis quit (Ping timeout: 260 seconds) 2017-02-21T23:12:42Z rpg quit (Quit: Textual IRC Client: www.textualapp.com) 2017-02-21T23:16:25Z blackwolf quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2017-02-21T23:26:52Z rpg joined #sbcl 2017-02-21T23:27:15Z rpg quit (Client Quit) 2017-02-21T23:27:28Z rpg joined #sbcl 2017-02-21T23:48:37Z sjl quit (Ping timeout: 268 seconds) 2017-02-21T23:51:46Z cromachina joined #sbcl 2017-02-22T00:10:39Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-02-22T00:17:50Z NANDgate joined #sbcl 2017-02-22T00:22:29Z rumbler31 joined #sbcl 2017-02-22T00:27:10Z schjetne joined #sbcl 2017-02-22T00:29:19Z schjetne_ quit (Ping timeout: 268 seconds) 2017-02-22T00:34:23Z schjetne_ joined #sbcl 2017-02-22T00:35:08Z schjetne quit (Ping timeout: 260 seconds) 2017-02-22T00:39:44Z schjetne_ quit (Ping timeout: 260 seconds) 2017-02-22T00:44:49Z schjetne joined #sbcl 2017-02-22T00:46:49Z stassats quit (Ping timeout: 260 seconds) 2017-02-22T00:47:40Z stassats joined #sbcl 2017-02-22T00:49:16Z schjetne quit (Ping timeout: 240 seconds) 2017-02-22T00:49:32Z |3b|: is modifying the iteration variable in DOTIMES allowed? if so, sbcl doesn't seem to handle it correctly 2017-02-22T00:49:47Z |3b| couldn't find anything saying either way in the spec 2017-02-22T00:50:38Z stassats: it's not really allowed 2017-02-22T00:50:52Z stassats: as in, nothing sensible is going to happen 2017-02-22T00:56:27Z fe[nl]ix: |3b|: don't even think about it 2017-02-22T00:56:49Z |3b|: fe[nl]ix: about what, trying to find things in the spec? :p 2017-02-22T00:57:00Z stassats: it's right there in dotimes 2017-02-22T00:57:03Z stassats: clhs dotimes 2017-02-22T00:57:03Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_dotime.htm 2017-02-22T00:57:12Z schjetne joined #sbcl 2017-02-22T00:57:15Z stassats: "It is implementation-dependent whether dotimes establishes a new binding of var on each iteration or whether it establishes a binding for var once at the 2017-02-22T00:57:16Z stassats: beginning and then assigns it on any subsequent iterations." 2017-02-22T00:57:28Z |3b| doesn't think that matters 2017-02-22T00:57:43Z |3b|: "dotimes then executes the body once for each integer from 0 up to but not including the value of count-form, in the order in which the tags and statements occur, with var bound to each integer. " 2017-02-22T00:57:51Z fe[nl]ix: I would recommend more pleasant ways of wasting neurons 2017-02-22T00:58:36Z stassats: |3b|: it doesn't matter as in you can modify it, but it matters that you won't get any desired observable behavior 2017-02-22T00:58:44Z |3b| 's neurons are already wasted, and it is sufficiently entertaining for my current level of wakefulness :) 2017-02-22T00:59:25Z |3b|: stassats: well, you could access it again in the loop after modifying it 2017-02-22T00:59:32Z |3b|: (if it didn't also break the iteration) 2017-02-22T00:59:54Z |3b| isn't saying it is a good thing to do, but neither is making NIL arrays :) 2017-02-22T01:00:29Z stassats: your quoted sentence doesn't say if it's a new binding 2017-02-22T01:00:34Z stassats: just that the variable is bound to a number 2017-02-22T01:01:10Z |3b|: right, it is bound to a specific set of numbers, and the body is evaluated specified number of times 2017-02-22T01:01:16Z fe[nl]ix: stassats: do you have time for a review this week ? 2017-02-22T01:01:19Z |3b| isn't talking about new binding or not 2017-02-22T01:01:37Z |3b|: just that spec seems to say DOTIMES should do the same thing regardless of modifications inside the body 2017-02-22T01:01:52Z schjetne quit (Ping timeout: 255 seconds) 2017-02-22T01:01:55Z stassats: |3b|: does it now? 2017-02-22T01:01:59Z |3b|: unless modification is forbidden somewhere i couldn't find 2017-02-22T01:02:21Z stassats: fe[nl]ix: don't think so 2017-02-22T01:02:39Z stassats: not doing any sbcl stuff this weak if i can help it 2017-02-22T01:03:00Z Guest26627 quit (Remote host closed the connection) 2017-02-22T01:03:08Z nxtr joined #sbcl 2017-02-22T01:03:10Z fe[nl]ix: nyef: how about you ? 2017-02-22T01:03:18Z |3b|: "executes the body once for each integer... with var bound to each integer" doesn't seem to leave room to skip some or run forever if you change the value in the body 2017-02-22T01:03:32Z nxtr is now known as Guest58737 2017-02-22T01:03:53Z |3b| is ignoring the non-local exit case, since that seems well defined 2017-02-22T01:04:29Z stassats: which you can't do with a single binding 2017-02-22T01:04:32Z stassats: so, it's not allowed 2017-02-22T01:04:40Z stassats: because it would be implementation-dependent 2017-02-22T01:05:03Z |3b|: it could sign it from another counter 2017-02-22T01:05:21Z |3b|: *assign 2017-02-22T01:05:56Z stassats: i think we're about to go in a loop, not unlike the one caused by misuse of dotimes 2017-02-22T01:06:56Z fe[nl]ix quit (Quit: No Ping reply in 180 seconds.) 2017-02-22T01:06:57Z Blkt quit (Remote host closed the connection) 2017-02-22T01:08:11Z Blkt joined #sbcl 2017-02-22T01:08:11Z fe[nl]ix joined #sbcl 2017-02-22T01:08:57Z |3b| will go to sleep then, rather than looping further :) 2017-02-22T01:10:40Z |3b|: (after noting that CCL complains about it, which seems to fit sbcl's usual policy) 2017-02-22T01:14:43Z schjetne joined #sbcl 2017-02-22T01:18:36Z fe[nl]ix quit (Quit: No Ping reply in 180 seconds.) 2017-02-22T01:18:37Z Blkt quit (Remote host closed the connection) 2017-02-22T01:19:52Z Blkt joined #sbcl 2017-02-22T01:19:52Z fe[nl]ix joined #sbcl 2017-02-22T01:21:14Z dtornabene joined #sbcl 2017-02-22T01:22:28Z fjl_ joined #sbcl 2017-02-22T01:23:23Z fjl quit (Read error: Connection reset by peer) 2017-02-22T01:23:36Z schjetne quit (Ping timeout: 260 seconds) 2017-02-22T01:23:57Z nyef: fe[nl]ix: I have some time available, depending on what needs review. 2017-02-22T01:24:44Z nyef: ... but aren't we in code-freeze? Or did that not happen? 2017-02-22T01:26:14Z fe[nl]ix: by the time you'll finish, I suppose we'll be out of freeze 2017-02-22T01:26:43Z fe[nl]ix: didn't mean to sound ominous :D 2017-02-22T01:27:30Z nyef: Large change set, then, or just really tricky implications? 2017-02-22T01:27:40Z fe[nl]ix: both 2017-02-22T01:28:09Z nyef: Okay... what do you have? 2017-02-22T01:28:31Z nyef: Oh, the ELF executable thing? 2017-02-22T01:28:38Z fe[nl]ix: yes 2017-02-22T01:28:39Z schjetne joined #sbcl 2017-02-22T01:28:57Z fe[nl]ix: I created a pull request just for tracking and easy visualisation: https://github.com/sbcl/sbcl/pull/16 2017-02-22T01:29:08Z fe[nl]ix: it's 5 commits and I have one more thing to do 2017-02-22T01:29:22Z fe[nl]ix: save the page table into .rodata 2017-02-22T01:29:49Z fe[nl]ix: otherwise on startup gencgc_pickup_spaces() causes significant slowdown 2017-02-22T01:31:02Z fe[nl]ix: as in 200ms on my laptop 2017-02-22T01:32:58Z fe[nl]ix goes to sleep 2017-02-22T01:33:23Z schjetne_ joined #sbcl 2017-02-22T01:34:27Z schjetne quit (Ping timeout: 240 seconds) 2017-02-22T01:36:26Z schjetne joined #sbcl 2017-02-22T01:37:27Z schjetne_ quit (Ping timeout: 240 seconds) 2017-02-22T01:41:28Z schjetne quit (Ping timeout: 268 seconds) 2017-02-22T01:42:26Z rpg joined #sbcl 2017-02-22T01:43:36Z schjetne joined #sbcl 2017-02-22T01:51:07Z schjetne_ joined #sbcl 2017-02-22T01:52:43Z schjetne quit (Ping timeout: 255 seconds) 2017-02-22T01:55:48Z carvite quit (Ping timeout: 240 seconds) 2017-02-22T02:13:04Z stassats quit (Ping timeout: 260 seconds) 2017-02-22T02:14:53Z schjetne joined #sbcl 2017-02-22T02:15:27Z Guest58737 quit (Ping timeout: 240 seconds) 2017-02-22T02:16:20Z schjetne_ quit (Ping timeout: 240 seconds) 2017-02-22T02:18:49Z schjetne_ joined #sbcl 2017-02-22T02:20:32Z schjetne quit (Ping timeout: 260 seconds) 2017-02-22T02:23:41Z schjetne joined #sbcl 2017-02-22T02:23:59Z rpg_ joined #sbcl 2017-02-22T02:25:15Z rpg quit (Ping timeout: 268 seconds) 2017-02-22T02:25:40Z schjetne_ quit (Ping timeout: 260 seconds) 2017-02-22T02:41:04Z schjetne quit (Ping timeout: 260 seconds) 2017-02-22T02:44:40Z rpg_ quit (Ping timeout: 240 seconds) 2017-02-22T02:45:44Z krwq joined #sbcl 2017-02-22T02:46:31Z rpg joined #sbcl 2017-02-22T02:46:57Z krwq: hello, could you help me saving my image as executable? im currently on linux and my saved image doesn't start properly: #: 2017-02-22T02:46:57Z krwq: FreeType error: INVALID-LIBRARY-HANDLE 2017-02-22T02:47:47Z krwq: what i currently do is this: sbcl --no-userinit, quickload my project, save 2017-02-22T02:48:46Z krwq: i do not have any special logic added for loading, i also tried sb-alien:load-shared-object and passing path to libfreetype.so but i started getting memory corrupt after this 2017-02-22T03:16:14Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-02-22T03:24:38Z cromachina: pointers to foreign objects are not valid after saving 2017-02-22T03:30:21Z krwq: cromachina: how do i check list of all pointers so i can remove any references? 2017-02-22T04:21:37Z jibanes quit (Ping timeout: 245 seconds) 2017-02-22T04:23:38Z jibanes joined #sbcl 2017-02-22T04:33:41Z rumbler31 quit (Remote host closed the connection) 2017-02-22T05:00:54Z Intensity quit (Ping timeout: 256 seconds) 2017-02-22T05:19:12Z dtornabene quit (Quit: Leaving) 2017-02-22T05:31:09Z sirkmatija_ joined #sbcl 2017-02-22T05:32:48Z NANDgate quit (Quit: ...signals decoupling.) 2017-02-22T05:37:04Z krwq quit (Remote host closed the connection) 2017-02-22T05:44:13Z igajsin joined #sbcl 2017-02-22T06:34:12Z rumbler31 joined #sbcl 2017-02-22T06:38:20Z rumbler31 quit (Ping timeout: 240 seconds) 2017-02-22T06:39:36Z sirkmatija_ quit (Quit: sirkmatija_) 2017-02-22T07:08:39Z Lord_Nightmare quit (Quit: ZNC - http://znc.in) 2017-02-22T07:22:31Z Lord_Nightmare joined #sbcl 2017-02-22T07:34:16Z scymtym quit (Ping timeout: 255 seconds) 2017-02-22T08:15:43Z attila_lendvai joined #sbcl 2017-02-22T08:29:30Z DeadTrickster joined #sbcl 2017-02-22T08:39:44Z scymtym joined #sbcl 2017-02-22T09:30:28Z angavrilov joined #sbcl 2017-02-22T09:31:41Z gingerale joined #sbcl 2017-02-22T09:55:25Z Xof: code freeze RSN 2017-02-22T09:55:35Z Xof: ELF after next release please 2017-02-22T09:55:52Z hydan joined #sbcl 2017-02-22T10:06:33Z Bike quit (Quit: leaving) 2017-02-22T10:32:23Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-22T10:34:10Z attila_lendvai joined #sbcl 2017-02-22T10:39:39Z sjl joined #sbcl 2017-02-22T10:45:35Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-22T11:19:55Z stassats joined #sbcl 2017-02-22T11:21:09Z nxtr joined #sbcl 2017-02-22T11:21:31Z nxtr is now known as Guest12811 2017-02-22T11:31:50Z gko quit (Quit: ZNC - http://znc.in) 2017-02-22T11:41:27Z gko joined #sbcl 2017-02-22T11:55:18Z sjl quit (Ping timeout: 260 seconds) 2017-02-22T12:01:29Z sjl joined #sbcl 2017-02-22T12:13:28Z Guest12811 quit (Remote host closed the connection) 2017-02-22T12:14:01Z carvite joined #sbcl 2017-02-22T13:53:46Z rpg joined #sbcl 2017-02-22T13:58:30Z rpg quit (Client Quit) 2017-02-22T14:29:51Z cromachina quit (Read error: Connection reset by peer) 2017-02-22T14:36:49Z hydan quit (Remote host closed the connection) 2017-02-22T14:39:44Z prxq joined #sbcl 2017-02-22T14:58:12Z sjl quit (Ping timeout: 268 seconds) 2017-02-22T15:35:20Z rumbler31 joined #sbcl 2017-02-22T15:35:50Z sjl joined #sbcl 2017-02-22T15:38:20Z scymtym quit (Ping timeout: 240 seconds) 2017-02-22T15:39:49Z rumbler31 quit (Ping timeout: 255 seconds) 2017-02-22T16:04:02Z carvite quit (Quit: leaving) 2017-02-22T16:05:15Z carvite joined #sbcl 2017-02-22T16:27:09Z edgar-rft quit (Quit: edgar-rft) 2017-02-22T16:34:20Z DeadTrickster quit (Ping timeout: 240 seconds) 2017-02-22T16:41:40Z sjl quit (Ping timeout: 240 seconds) 2017-02-22T16:59:02Z shka_ joined #sbcl 2017-02-22T17:01:57Z Bike joined #sbcl 2017-02-22T17:02:43Z sjl joined #sbcl 2017-02-22T17:26:44Z sjl quit (Quit: WeeChat 1.3) 2017-02-22T17:29:41Z scymtym joined #sbcl 2017-02-22T17:30:34Z sjl joined #sbcl 2017-02-22T17:47:15Z attila_lendvai joined #sbcl 2017-02-22T17:47:15Z attila_lendvai quit (Changing host) 2017-02-22T17:47:15Z attila_lendvai joined #sbcl 2017-02-22T18:35:53Z eudoxia joined #sbcl 2017-02-22T18:45:49Z sirkmatija_ joined #sbcl 2017-02-22T18:57:26Z DeadTrickster joined #sbcl 2017-02-22T19:17:43Z edgar-rft joined #sbcl 2017-02-22T19:34:15Z sjl quit (Ping timeout: 240 seconds) 2017-02-22T20:14:12Z edgar-rft quit (Quit: edgar-rft) 2017-02-22T20:15:00Z jibanes quit (Ping timeout: 240 seconds) 2017-02-22T20:16:59Z jibanes joined #sbcl 2017-02-22T20:21:08Z milanj joined #sbcl 2017-02-22T20:28:18Z eudoxia quit (Read error: Connection reset by peer) 2017-02-22T20:53:15Z angavrilov quit (Remote host closed the connection) 2017-02-22T20:54:26Z prxq quit (Remote host closed the connection) 2017-02-22T20:59:05Z prxq joined #sbcl 2017-02-22T21:04:47Z igajsin quit (Ping timeout: 260 seconds) 2017-02-22T21:43:30Z specbot quit (Remote host closed the connection) 2017-02-22T21:43:30Z minion quit (Remote host closed the connection) 2017-02-22T21:51:41Z specbot joined #sbcl 2017-02-22T21:52:15Z minion joined #sbcl 2017-02-22T22:06:54Z gingerale quit (Read error: Connection reset by peer) 2017-02-22T22:07:48Z milanj quit (Quit: Leaving) 2017-02-22T22:08:37Z drmeister: Hi - I'm running sbcl in a Docker container (Ubuntu 14.x or 16.x - whatever is the latest). 2017-02-22T22:08:43Z drmeister: I'm getting this problem: Couldn't re-execute SBCL with proper personality flags (/proc isn't mounted? setuid?) 2017-02-22T22:08:57Z drmeister: Does that ring any bells with anyone what might be the problem? 2017-02-22T22:09:29Z nyef: Seems vaguely familiar... grsecurity settings, maybe? 2017-02-22T22:09:59Z stassats: drmeister: ignore it if it works 2017-02-22T22:10:27Z drmeister: It does appear to work. 2017-02-22T22:10:41Z drmeister: I'll ignore. 2017-02-22T22:17:55Z WFDOI joined #sbcl 2017-02-22T22:29:46Z shka_ quit (Ping timeout: 255 seconds) 2017-02-22T22:43:59Z rumbler31 joined #sbcl 2017-02-22T22:45:42Z rumbler31 quit (Remote host closed the connection) 2017-02-22T22:45:54Z WFDOI quit (Ping timeout: 260 seconds) 2017-02-22T22:45:56Z sirkmatija_ quit (Quit: sirkmatija_) 2017-02-22T22:53:15Z prxq quit (Remote host closed the connection) 2017-02-22T23:06:17Z LAG_ joined #sbcl 2017-02-22T23:11:37Z LAG_ is now known as Lagagain 2017-02-22T23:12:12Z Lagagain is now known as lagagain 2017-02-22T23:13:39Z lagagain is now known as help 2017-02-22T23:14:08Z help is now known as Guest36305 2017-02-22T23:15:58Z Guest36305 quit 2017-02-22T23:26:05Z fe[nl]ix: nyef: with the ELF functionality that won't be necessary any more 2017-02-22T23:26:36Z stassats: it's not really necessary now 2017-02-22T23:26:42Z stassats: fe[nl]ix: how does ELF solve it? 2017-02-22T23:27:14Z fe[nl]ix: mapping all GC sections at a fixed address avoids conflicts generated by address space randomization 2017-02-22T23:27:49Z fe[nl]ix: GC spaces 2017-02-22T23:27:59Z stassats: and --dynamic-space-size? 2017-02-22T23:28:46Z fe[nl]ix: that gets fixed the moment you save an ELF executable 2017-02-22T23:28:58Z fe[nl]ix: cheap'n'dirty solution 2017-02-22T23:29:20Z stassats: so it's not really solving it 2017-02-22T23:29:20Z fe[nl]ix: mayb I can find a clever and safe way to avoid it 2017-02-22T23:29:58Z fe[nl]ix: it is because once you've created the executable, it will work 2017-02-22T23:30:25Z stassats: but that's only a small subset of sbcl uses 2017-02-22T23:31:59Z fe[nl]ix: one could also do like Clozure: reserve 512G of RAM but carefully not write to it 2017-02-22T23:32:20Z stassats: 64-bit platforms are not the biggest problem 2017-02-22T23:32:37Z fe[nl]ix: that way the kernel will not actually allocate it 2017-02-22T23:32:47Z fe[nl]ix: what's the problem ? 2017-02-22T23:33:07Z stassats: 32-bit platforms, naturally 2017-02-22T23:33:17Z fe[nl]ix: that's the where not the what 2017-02-22T23:33:39Z stassats: well, it's the what as well 2017-02-22T23:33:41Z stassats: 32 bits 2017-02-22T23:33:59Z foom: When the binary reserves the memory space, other shared libraries get loaded somewhere else. 2017-02-22T23:34:34Z foom: Whereas it's too late, if you're mapping the space after startup like sbcl typically does 2017-02-22T23:35:33Z stassats: the dynamic space is potentially relocatable 2017-02-22T23:36:01Z fe[nl]ix: foom: yes, so reserving the GC spaces in an ELF segment is a very effective way to fix this 2017-02-22T23:36:49Z fe[nl]ix: stassats: achieving that would be very nice 2017-02-22T23:37:17Z stassats: it was already kinda achieved 2017-02-22T23:37:26Z stassats: need to reachieve it 2017-02-22T23:38:04Z stassats: what i really would like is sbcl.so, totally relocatable, no mmu, no signals 2017-02-22T23:38:16Z fe[nl]ix: me too 2017-02-22T23:38:52Z stassats: not dealing with signals would probably solve a bunch of other problems 2017-02-22T23:39:00Z fe[nl]ix: it would make superfluous some of the hacks required to make ELF executable 2017-02-22T23:39:02Z fe[nl]ix: s 2017-02-22T23:39:49Z foom: If you can make sbcl.so, you can also make sbcl.a the same way, without requiring the linker script magic to pin the start addresses of the sections. 2017-02-22T23:40:10Z fe[nl]ix: yeah, exactly 2017-02-22T23:41:21Z fe[nl]ix: stassats: it would make everybody's life easier also dropping support for non-gencgc archs and obsolete OSes 2017-02-22T23:41:35Z fe[nl]ix: and generally removing compilation features 2017-02-22T23:41:40Z fe[nl]ix: :) 2017-02-22T23:41:52Z minion quit (Remote host closed the connection) 2017-02-22T23:41:52Z specbot quit (Remote host closed the connection) 2017-02-22T23:44:11Z specbot joined #sbcl 2017-02-22T23:44:11Z minion joined #sbcl 2017-02-22T23:44:48Z stassats: well, dropping features rarely makes things simpler when you eventually need those features 2017-02-22T23:46:13Z fe[nl]ix: I don't think anybody's life will ever depend again on HPPA or Alpha 2017-02-22T23:46:34Z fe[nl]ix: but especially the Alpha support pollutes all the runtime with ifdefs and typedefs 2017-02-22T23:48:04Z DeadTrickster quit (Ping timeout: 260 seconds) 2017-02-22T23:50:43Z attila_lendvai: and if it does, they can still stick to an older state of the git repo (all hail the time machine!) 2017-02-22T23:55:39Z cromachina joined #sbcl 2017-02-23T00:06:14Z nyef: fe[nl]ix: An Alpha cleanup is on my list to do, at some point *after* we have a 32-bit-pointer, 64-bit-integer ABI port for some other architecture. 2017-02-23T00:07:31Z stassats: x86-64? 2017-02-23T00:11:38Z nyef: That's a candidate, yes. 2017-02-23T00:12:01Z nyef: Also on my list, but with no particular priority. 2017-02-23T00:17:23Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-23T00:46:13Z rumbler3_ joined #sbcl 2017-02-23T00:46:24Z Xof quit (Ping timeout: 260 seconds) 2017-02-23T00:48:02Z LAG_ joined #sbcl 2017-02-23T00:48:09Z LAG_ left #sbcl 2017-02-23T00:50:36Z rumbler3_ quit (Ping timeout: 260 seconds) 2017-02-23T04:53:16Z stassats quit (Ping timeout: 260 seconds) 2017-02-23T05:06:49Z edgar-rft joined #sbcl 2017-02-23T05:30:58Z sirkmatija_ joined #sbcl 2017-02-23T05:39:49Z sirkmatija_ quit (Quit: sirkmatija_) 2017-02-23T05:48:00Z igajsin joined #sbcl 2017-02-23T07:00:27Z scymtym quit (Ping timeout: 240 seconds) 2017-02-23T07:23:10Z White_Flame quit (Ping timeout: 264 seconds) 2017-02-23T07:25:43Z White_Flame joined #sbcl 2017-02-23T08:01:35Z sirkmatija_ joined #sbcl 2017-02-23T08:20:52Z Xof joined #sbcl 2017-02-23T08:29:34Z sirkmatija_ quit (Quit: sirkmatija_) 2017-02-23T08:30:45Z DeadTrickster joined #sbcl 2017-02-23T08:32:59Z schjetne joined #sbcl 2017-02-23T08:40:01Z scymtym joined #sbcl 2017-02-23T08:56:27Z jibanes quit (Ping timeout: 260 seconds) 2017-02-23T08:58:14Z jibanes joined #sbcl 2017-02-23T09:05:01Z angavrilov joined #sbcl 2017-02-23T09:11:27Z attila_lendvai joined #sbcl 2017-02-23T09:28:08Z fe[nl]ix: nyef: you mean the x32 ABI or just compressed pointers like the JVM has ? 2017-02-23T09:38:23Z Bike quit (Quit: sleep late) 2017-02-23T09:46:36Z sirkmatija_ joined #sbcl 2017-02-23T09:47:05Z sirkmatija_ quit (Client Quit) 2017-02-23T09:47:18Z rumbler31 joined #sbcl 2017-02-23T09:48:25Z fe[nl]ix quit (Remote host closed the connection) 2017-02-23T09:48:26Z Blkt quit (Read error: Connection reset by peer) 2017-02-23T09:49:46Z Blkt joined #sbcl 2017-02-23T09:50:04Z fe[nl]ix joined #sbcl 2017-02-23T09:51:21Z rumbler31 quit (Ping timeout: 240 seconds) 2017-02-23T09:57:33Z schjetne_ joined #sbcl 2017-02-23T09:59:27Z schjetne quit (Ping timeout: 260 seconds) 2017-02-23T10:16:27Z jibanes quit (Ping timeout: 240 seconds) 2017-02-23T10:18:38Z jibanes joined #sbcl 2017-02-23T11:11:48Z jibanes quit (Ping timeout: 268 seconds) 2017-02-23T11:13:39Z jibanes joined #sbcl 2017-02-23T11:15:59Z sjl joined #sbcl 2017-02-23T11:23:59Z m00natic joined #sbcl 2017-02-23T12:08:59Z schjetne joined #sbcl 2017-02-23T12:10:32Z schjetne_ quit (Ping timeout: 260 seconds) 2017-02-23T12:15:27Z schjetne quit (Ping timeout: 240 seconds) 2017-02-23T12:16:14Z schjetne joined #sbcl 2017-02-23T12:22:01Z schjetne quit (Ping timeout: 240 seconds) 2017-02-23T12:30:28Z schjetne joined #sbcl 2017-02-23T12:44:32Z ASau joined #sbcl 2017-02-23T13:04:12Z sjl quit (Ping timeout: 260 seconds) 2017-02-23T13:17:20Z ASau quit (Remote host closed the connection) 2017-02-23T13:19:54Z gargaml joined #sbcl 2017-02-23T13:35:56Z ASau joined #sbcl 2017-02-23T14:09:08Z cromachina quit (Read error: Connection reset by peer) 2017-02-23T14:09:33Z cromachina joined #sbcl 2017-02-23T14:16:03Z sjl joined #sbcl 2017-02-23T14:22:54Z ASau quit (Remote host closed the connection) 2017-02-23T14:23:32Z ASau joined #sbcl 2017-02-23T14:26:02Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-23T14:30:28Z ASau quit (Remote host closed the connection) 2017-02-23T14:42:01Z ASau joined #sbcl 2017-02-23T14:43:48Z myrkraverk quit (Remote host closed the connection) 2017-02-23T14:44:59Z cromachina quit (Read error: Connection reset by peer) 2017-02-23T14:47:21Z sirkmatija_ joined #sbcl 2017-02-23T14:48:21Z ASau quit (Remote host closed the connection) 2017-02-23T14:49:11Z eudoxia joined #sbcl 2017-02-23T14:52:45Z ASau joined #sbcl 2017-02-23T15:02:12Z sirkmatija_ quit (Ping timeout: 260 seconds) 2017-02-23T15:02:34Z nyef: fe[nl]ix: The x32 ABI. 2017-02-23T15:05:29Z fe[nl]ix: would you consider starting with compressed pointers on x86-64 ? 2017-02-23T15:10:44Z salv0 quit (Remote host closed the connection) 2017-02-23T15:13:06Z nyef: Would that even work, given stack allocation? 2017-02-23T15:13:35Z nyef: Worse, given that stack allocation needs to be able to happen on the C stack? 2017-02-23T15:14:11Z nyef: (Which is the major breakage with the Alpha port at this point, it can't really handle C-stack allocation of Lisp objects.) 2017-02-23T15:16:53Z sirkmatija_ joined #sbcl 2017-02-23T15:22:15Z ASau quit (Remote host closed the connection) 2017-02-23T15:23:42Z fe[nl]ix: I think the way it would work is that you now have a pointer compression/decompression phase 2017-02-23T15:25:02Z ASau joined #sbcl 2017-02-23T15:25:10Z fe[nl]ix: so decompression is load 32 bit to 64 bit variable and shift left then dereference 2017-02-23T15:25:46Z fe[nl]ix: the GC and Lisp code would have to do that everywhere 2017-02-23T15:28:43Z nyef: Yeah... sod that. It'd be better to spend the time putting in a read barrier for a parallel, incremental GC. 2017-02-23T15:28:50Z fe[nl]ix: and you can't use assembly instructions that do load and deref in one, like I think LEA does 2017-02-23T15:33:51Z blackwolf joined #sbcl 2017-02-23T15:39:51Z nyef: LEA doesn't do a load, it's purely a calculation instruction, but yeah. I'd rather match the ABI of the local system, but I'm not about to try to port to Alpha WinNT. 2017-02-23T15:40:05Z stassats joined #sbcl 2017-02-23T15:41:51Z gingerale joined #sbcl 2017-02-23T15:48:33Z sirkmatija_ quit (Quit: sirkmatija_) 2017-02-23T15:58:41Z scymtym_ joined #sbcl 2017-02-23T15:59:41Z scymtym quit (Ping timeout: 240 seconds) 2017-02-23T16:05:41Z scymtym_ quit (Ping timeout: 240 seconds) 2017-02-23T16:17:27Z pkhuong: fe[nl]ix: x86 can do it. semi-risc that only have base + offset or base + index can't. 2017-02-23T17:08:01Z DeadTrickster quit (Ping timeout: 255 seconds) 2017-02-23T17:09:07Z attila_lendvai joined #sbcl 2017-02-23T17:09:07Z attila_lendvai quit (Changing host) 2017-02-23T17:09:07Z attila_lendvai joined #sbcl 2017-02-23T17:13:14Z Bike joined #sbcl 2017-02-23T17:15:48Z eudoxia quit (Quit: Leaving) 2017-02-23T17:29:44Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-23T17:29:59Z gargaml quit (Quit: WeeChat 1.7) 2017-02-23T17:32:19Z dustinm`_ quit (Quit: Leaving) 2017-02-23T17:41:04Z shka_ joined #sbcl 2017-02-23T17:42:03Z scymtym joined #sbcl 2017-02-23T17:43:41Z dustinm` joined #sbcl 2017-02-23T18:00:48Z m00natic quit (Read error: Connection reset by peer) 2017-02-23T18:23:30Z DeadTrickster joined #sbcl 2017-02-23T18:27:39Z schjetne_ joined #sbcl 2017-02-23T18:29:21Z schjetne quit (Ping timeout: 240 seconds) 2017-02-23T18:31:05Z sirkmatija_ joined #sbcl 2017-02-23T18:39:11Z sirkmatija_ quit (Quit: sirkmatija_) 2017-02-23T19:46:44Z scymtym quit (Remote host closed the connection) 2017-02-23T19:46:56Z scymtym joined #sbcl 2017-02-23T19:54:52Z fe[nl]ix: pkhuong: you would have to have a VOP that performs the decompression + deref 2017-02-23T19:55:13Z fe[nl]ix: and on regular x86_64 the decompression would be a noop 2017-02-23T20:33:37Z scymtym_ joined #sbcl 2017-02-23T20:35:21Z scymtym quit (Ping timeout: 240 seconds) 2017-02-23T20:38:41Z igajsin quit (Ping timeout: 240 seconds) 2017-02-23T20:39:21Z scymtym_ quit (Ping timeout: 240 seconds) 2017-02-23T21:06:46Z leo_song quit (Ping timeout: 258 seconds) 2017-02-23T21:09:24Z leo_song joined #sbcl 2017-02-23T21:15:23Z scymtym joined #sbcl 2017-02-23T21:42:04Z prxq joined #sbcl 2017-02-23T21:46:08Z gingerale quit (Remote host closed the connection) 2017-02-23T21:46:21Z DeadTrickster quit (Ping timeout: 240 seconds) 2017-02-23T22:16:06Z blackwolf quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2017-02-23T22:34:04Z TruePika joined #sbcl 2017-02-23T22:34:52Z TruePika: When I evaluate e.g. (LET* ((FOO 1)(FOO 2)) (DECLARE (IGNORABLE FOO)) FOO) ==> 2, I get a STYLE-WARNING about FOO being defined but never used 2017-02-23T22:35:08Z TruePika: which I presume is from the first binding of FOO 2017-02-23T22:36:22Z TruePika: (for a bit more context, this is a simplification of macro-generated code from NST) 2017-02-23T22:40:00Z TruePika left #sbcl 2017-02-23T22:40:46Z scymtym: clhs for IGNORE says "An ignore declaration specifies that for-value references to the indicated bindings will not occur ...", i.e. seems to imply that the declaration refers to the binding, not the variable 2017-02-23T22:41:27Z stassats: but none of the declarations are applied for the previous definitions in let* 2017-02-23T22:41:39Z stassats: so you can ignore what IGNORE says 2017-02-23T22:42:02Z rumbler31 joined #sbcl 2017-02-23T22:44:35Z scymtym: stassats: you mean as a property of bound declarations in general? 2017-02-23T22:44:41Z oleo quit (Remote host closed the connection) 2017-02-23T22:44:44Z stassats: in sbcl 2017-02-23T22:46:08Z scymtym: ok. i thought the question was whether that behavior is conforming 2017-02-23T22:50:19Z nyef: clhs let 2017-02-23T22:50:20Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/s_let_l.htm 2017-02-23T22:52:13Z nyef: I think that there's an argument to be made that SBCL is, in fact, non-conforming here. 2017-02-23T22:52:41Z stassats: you mean it should refuse to compile duplicate variables? 2017-02-23T22:53:00Z nyef: No, but that the IGNORABLE declaration should apply to both variables FOO. 2017-02-23T22:53:51Z stassats: because LET does refuse 2017-02-23T22:54:03Z stassats: and the description for LET and LET* is the same 2017-02-23T22:55:02Z nyef: LET refusing is fine, and makes a certain amount of sense. The problem is the semantic transformation of (LET* ((FOO 1) (FOO 2)) ...) to (LET ((FOO 1)) (LET ((FOO 2)) ...)). 2017-02-23T22:55:23Z nyef: Because any bound declarations for FOO should apply to *both* LETs. 2017-02-23T22:56:14Z stassats: but the LET refusal is purely an invention of SBCL 2017-02-23T22:57:53Z stassats: and let* is equivalent to (lambda (&optional a (a (+ a 10))) a) 2017-02-23T22:58:07Z stassats: yet the latter is not admissible by sbcl 2017-02-23T22:59:44Z nyef: I'll argue that LET refusing to bind the same variable twice in parallel is appropriate, but the LET* has well-defined semantics. 2017-02-23T23:00:08Z attila_lendvai joined #sbcl 2017-02-23T23:00:22Z attila_lendvai quit (Changing host) 2017-02-23T23:00:22Z attila_lendvai joined #sbcl 2017-02-23T23:02:23Z stassats: where's the PSETF warning then? 2017-02-23T23:02:35Z stassats: or error 2017-02-23T23:17:27Z sjl quit (Ping timeout: 240 seconds) 2017-02-23T23:21:31Z shka_ quit (Ping timeout: 255 seconds) 2017-02-23T23:21:37Z sjl joined #sbcl 2017-02-23T23:53:05Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-24T00:30:26Z cromachina joined #sbcl 2017-02-24T00:50:58Z sjl quit (Read error: Connection reset by peer) 2017-02-24T02:12:08Z cromachina_ joined #sbcl 2017-02-24T02:15:21Z cromachina quit (Ping timeout: 260 seconds) 2017-02-24T02:43:12Z karswell` quit (Ping timeout: 260 seconds) 2017-02-24T03:05:13Z Quadrescence quit (Quit: Leaving) 2017-02-24T03:11:18Z adlai quit (Ping timeout: 257 seconds) 2017-02-24T03:14:39Z adlai joined #sbcl 2017-02-24T03:47:54Z prxq_ joined #sbcl 2017-02-24T03:51:58Z prxq quit (Ping timeout: 255 seconds) 2017-02-24T04:28:52Z stassats quit (Ping timeout: 255 seconds) 2017-02-24T04:37:06Z Lord_Nightmare quit (Ping timeout: 260 seconds) 2017-02-24T04:42:30Z Lord_Nightmare joined #sbcl 2017-02-24T05:00:41Z ASau quit (Ping timeout: 240 seconds) 2017-02-24T06:12:16Z Lord_Nightmare quit (Ping timeout: 260 seconds) 2017-02-24T06:16:40Z Lord_Nightmare joined #sbcl 2017-02-24T06:23:37Z Lord_Nightmare quit (Ping timeout: 255 seconds) 2017-02-24T06:24:37Z Lord_Nightmare joined #sbcl 2017-02-24T07:07:38Z malm quit (Ping timeout: 256 seconds) 2017-02-24T07:33:02Z schjetne joined #sbcl 2017-02-24T07:33:51Z schjetne_ quit (Ping timeout: 260 seconds) 2017-02-24T07:42:13Z schjetne quit (Ping timeout: 240 seconds) 2017-02-24T08:02:37Z malm joined #sbcl 2017-02-24T08:13:58Z schjetne joined #sbcl 2017-02-24T08:18:55Z salva joined #sbcl 2017-02-24T08:20:10Z anquegi joined #sbcl 2017-02-24T08:27:43Z DeadTrickster joined #sbcl 2017-02-24T08:57:58Z prxq_ quit (Remote host closed the connection) 2017-02-24T08:59:36Z sirkmatija_ joined #sbcl 2017-02-24T08:59:39Z sirkmatija_ quit (Remote host closed the connection) 2017-02-24T09:07:58Z Bike quit (Quit: sleep now though) 2017-02-24T09:30:34Z ccl-logbot joined #sbcl 2017-02-24T09:30:34Z 2017-02-24T09:30:34Z names: ccl-logbot gingerale DeadTrickster anquegi salva schjetne malm Lord_Nightmare adlai cromachina_ rumbler31 scymtym leo_song dustinm` jibanes fe[nl]ix Blkt angavrilov Xof White_Flame edgar-rft minion specbot carvite gko fjl_ jdz akkad kini Colleen jsnell christoph_debian eschatologist nyef mateuszb fiddlerwoaroof dougk_ foom dim ym leah2 sebboh`` irsol jrm Shinmera angular_mike_ xristos flip214 pkhuong sigjuice_ nicdev brucem drmeister Cthulhux |3b| mjl 2017-02-24T09:30:34Z names: nimiux solene abruanese whiteline p_l phoe knobo alandipert_ swflint abbe PuercoPop Ober jackdaniel luis mood pchrist Posterdati les arjenve Reinisch jcloud hzp 2017-02-24T09:30:55Z okflo joined #sbcl 2017-02-24T11:49:37Z m00natic joined #sbcl 2017-02-24T12:42:20Z ASau joined #sbcl 2017-02-24T12:45:56Z schjetne quit (Ping timeout: 260 seconds) 2017-02-24T12:54:08Z Reinisch quit (Ping timeout: 245 seconds) 2017-02-24T12:56:46Z Reinisch joined #sbcl 2017-02-24T13:15:27Z stassats joined #sbcl 2017-02-24T13:26:47Z DGASAU joined #sbcl 2017-02-24T13:32:28Z sjl joined #sbcl 2017-02-24T13:44:27Z Reinisch quit (Ping timeout: 240 seconds) 2017-02-24T13:46:48Z Reinisch joined #sbcl 2017-02-24T14:00:23Z schjetne joined #sbcl 2017-02-24T14:07:58Z cromachina_ quit (Read error: Connection reset by peer) 2017-02-24T14:09:12Z Reinisch quit (Ping timeout: 260 seconds) 2017-02-24T14:11:22Z sjl quit (Ping timeout: 240 seconds) 2017-02-24T14:12:26Z Reinisch joined #sbcl 2017-02-24T14:18:03Z sjl joined #sbcl 2017-02-24T14:18:57Z oleo joined #sbcl 2017-02-24T14:33:33Z milanj joined #sbcl 2017-02-24T14:49:31Z oleo quit (Quit: Leaving) 2017-02-24T14:55:04Z oleo joined #sbcl 2017-02-24T14:57:42Z dougk_ quit (Ping timeout: 240 seconds) 2017-02-24T15:11:14Z dougk_ joined #sbcl 2017-02-24T15:15:40Z eudoxia joined #sbcl 2017-02-24T15:20:51Z eschatologist quit (Ping timeout: 268 seconds) 2017-02-24T15:22:18Z eschatologist joined #sbcl 2017-02-24T15:38:33Z myrkraverk joined #sbcl 2017-02-24T15:44:22Z eudoxia quit (Quit: Leaving) 2017-02-24T15:54:40Z sjl quit (Ping timeout: 260 seconds) 2017-02-24T16:14:38Z anquegi quit 2017-02-24T16:17:29Z edgar-rft is now known as some_chars 2017-02-24T16:28:09Z some_chars is now known as edgar-rft 2017-02-24T16:34:29Z Bike joined #sbcl 2017-02-24T16:38:43Z sjl joined #sbcl 2017-02-24T17:36:38Z m00natic quit (Remote host closed the connection) 2017-02-24T17:42:00Z schjetne quit (Ping timeout: 260 seconds) 2017-02-24T17:51:22Z foom quit (Ping timeout: 240 seconds) 2017-02-24T18:04:30Z foom joined #sbcl 2017-02-24T18:14:01Z schjetne joined #sbcl 2017-02-24T18:15:56Z milanj quit (Quit: This computer has gone to sleep) 2017-02-24T18:17:21Z schjetne_ joined #sbcl 2017-02-24T18:19:13Z schjetne quit (Ping timeout: 240 seconds) 2017-02-24T18:26:49Z schjetne_ is now known as schjetne 2017-02-24T18:31:07Z schjetne quit (Read error: Connection reset by peer) 2017-02-24T18:42:52Z shka_ joined #sbcl 2017-02-24T18:57:55Z DeadTrickster quit (Ping timeout: 268 seconds) 2017-02-24T19:13:07Z sjl quit (Ping timeout: 255 seconds) 2017-02-24T19:13:12Z sjl_ joined #sbcl 2017-02-24T19:14:49Z rpg joined #sbcl 2017-02-24T19:25:53Z schjetne joined #sbcl 2017-02-24T19:36:19Z karswell` joined #sbcl 2017-02-24T19:58:39Z igajsin joined #sbcl 2017-02-24T19:58:54Z igajsin left #sbcl 2017-02-24T20:34:49Z angavrilov quit (Remote host closed the connection) 2017-02-24T20:44:10Z edgar-rft quit (Quit: edgar-rft) 2017-02-24T20:46:48Z sjl_ quit (Ping timeout: 260 seconds) 2017-02-24T20:49:11Z blackwolf joined #sbcl 2017-02-24T20:57:33Z okflo quit (Remote host closed the connection) 2017-02-24T21:01:25Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-02-24T21:03:55Z rpg joined #sbcl 2017-02-24T21:08:19Z rpg quit (Ping timeout: 255 seconds) 2017-02-24T21:11:18Z attila_lendvai joined #sbcl 2017-02-24T21:11:18Z attila_lendvai quit (Changing host) 2017-02-24T21:11:18Z attila_lendvai joined #sbcl 2017-02-24T21:12:10Z rpg joined #sbcl 2017-02-24T21:25:32Z fiddlerwoaroof quit (Ping timeout: 260 seconds) 2017-02-24T21:38:36Z rpg quit (Ping timeout: 260 seconds) 2017-02-24T21:39:21Z fiddlerwoaroof joined #sbcl 2017-02-24T21:44:50Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-24T21:46:41Z gingerale quit (Remote host closed the connection) 2017-02-24T21:56:13Z rpg joined #sbcl 2017-02-24T22:09:44Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-02-24T22:15:10Z nyef quit (Ping timeout: 240 seconds) 2017-02-24T22:20:11Z shka_ quit (Ping timeout: 268 seconds) 2017-02-24T22:23:49Z prxq joined #sbcl 2017-02-24T22:26:02Z sjl_ joined #sbcl 2017-02-24T22:26:36Z sjl_ is now known as sjl 2017-02-24T22:32:12Z rpg joined #sbcl 2017-02-24T22:36:12Z blackwolf quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2017-02-24T22:52:52Z milanj joined #sbcl 2017-02-24T22:55:14Z p_l quit (Ping timeout: 252 seconds) 2017-02-24T23:03:02Z p_l joined #sbcl 2017-02-24T23:09:08Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-02-25T00:28:47Z cromachina joined #sbcl 2017-02-25T01:07:28Z gk_-1wm_- joined #sbcl 2017-02-25T01:07:28Z gk_-1wm_- left #sbcl 2017-02-25T01:32:42Z Bike quit (Ping timeout: 240 seconds) 2017-02-25T01:32:57Z Bike joined #sbcl 2017-02-25T01:38:40Z nyef joined #sbcl 2017-02-25T01:45:57Z milanj quit (Quit: Leaving) 2017-02-25T02:08:57Z sjl quit (Ping timeout: 240 seconds) 2017-02-25T02:30:39Z gk_-1wm joined #sbcl 2017-02-25T02:30:40Z gk_-1wm left #sbcl 2017-02-25T02:56:13Z cromachina_ joined #sbcl 2017-02-25T03:00:13Z cromachina quit (Ping timeout: 255 seconds) 2017-02-25T03:30:28Z stassats quit (Ping timeout: 260 seconds) 2017-02-25T03:46:53Z prxq_ joined #sbcl 2017-02-25T03:51:00Z prxq quit (Ping timeout: 260 seconds) 2017-02-25T03:56:02Z rumbler31 quit (Remote host closed the connection) 2017-02-25T04:53:54Z cromachina_ quit (Read error: Connection reset by peer) 2017-02-25T04:54:14Z cromachina_ joined #sbcl 2017-02-25T05:10:50Z DGASAU` joined #sbcl 2017-02-25T05:12:04Z Shinmera- joined #sbcl 2017-02-25T05:14:21Z fjl__ joined #sbcl 2017-02-25T05:16:42Z nimiux quit (Ping timeout: 260 seconds) 2017-02-25T05:16:42Z fiddlerwoaroof quit (Ping timeout: 260 seconds) 2017-02-25T05:16:43Z fjl_ quit (Ping timeout: 260 seconds) 2017-02-25T05:16:43Z christoph_debian quit (Ping timeout: 260 seconds) 2017-02-25T05:16:45Z mood quit (Ping timeout: 240 seconds) 2017-02-25T05:16:45Z Xof quit (Ping timeout: 240 seconds) 2017-02-25T05:16:46Z DGASAU quit (Ping timeout: 240 seconds) 2017-02-25T05:16:46Z malm quit (Ping timeout: 240 seconds) 2017-02-25T05:16:47Z Shinmera quit (Ping timeout: 240 seconds) 2017-02-25T05:16:48Z karswell` quit (Ping timeout: 240 seconds) 2017-02-25T05:16:48Z Lord_Nightmare quit (Ping timeout: 240 seconds) 2017-02-25T05:16:48Z knobo quit (Ping timeout: 240 seconds) 2017-02-25T05:16:49Z Posterdati quit (Ping timeout: 240 seconds) 2017-02-25T05:16:56Z fiddlerwoaroof_ joined #sbcl 2017-02-25T05:17:17Z mood joined #sbcl 2017-02-25T05:17:41Z malm joined #sbcl 2017-02-25T05:18:04Z knobo joined #sbcl 2017-02-25T05:18:18Z christoph_debian joined #sbcl 2017-02-25T05:18:19Z Lord_Nightmare joined #sbcl 2017-02-25T05:18:35Z Posterdati joined #sbcl 2017-02-25T05:19:26Z nimiux joined #sbcl 2017-02-25T05:35:00Z igajsin joined #sbcl 2017-02-25T05:41:15Z nimiux quit (Ping timeout: 260 seconds) 2017-02-25T05:41:15Z christoph_debian quit (Ping timeout: 260 seconds) 2017-02-25T05:41:29Z Posterdati|2 joined #sbcl 2017-02-25T05:41:51Z Lord_Nightmare2 joined #sbcl 2017-02-25T05:42:03Z nimiux joined #sbcl 2017-02-25T05:42:27Z Posterdati quit (Ping timeout: 240 seconds) 2017-02-25T05:42:28Z Lord_Nightmare quit (Ping timeout: 240 seconds) 2017-02-25T05:42:36Z Lord_Nightmare2 is now known as Lord_Nightmare 2017-02-25T05:43:43Z christoph_debian joined #sbcl 2017-02-25T05:48:36Z edgar-rft joined #sbcl 2017-02-25T05:56:29Z rumbler31 joined #sbcl 2017-02-25T06:02:01Z rumbler31 quit (Ping timeout: 255 seconds) 2017-02-25T07:01:39Z kini quit (Quit: No Ping reply in 180 seconds.) 2017-02-25T07:04:21Z kini joined #sbcl 2017-02-25T07:21:16Z gingerale joined #sbcl 2017-02-25T07:29:51Z Shinmera- is now known as Shinmera 2017-02-25T08:24:18Z jrm quit (Quit: ciao) 2017-02-25T08:24:47Z jrm joined #sbcl 2017-02-25T08:48:46Z prxq_ quit (Remote host closed the connection) 2017-02-25T09:31:53Z Bike quit (Quit: sl) 2017-02-25T09:47:31Z angavrilov joined #sbcl 2017-02-25T10:07:55Z shka_ joined #sbcl 2017-02-25T10:29:00Z igajsin quit (Remote host closed the connection) 2017-02-25T10:58:34Z Quadrescence joined #sbcl 2017-02-25T11:13:30Z edgar-rft quit (Quit: edgar-rft) 2017-02-25T11:26:03Z sjl joined #sbcl 2017-02-25T11:31:29Z Quadrescence quit (Quit: Leaving) 2017-02-25T11:35:41Z scymtym quit (Ping timeout: 268 seconds) 2017-02-25T11:47:11Z Xof joined #sbcl 2017-02-25T11:58:01Z scymtym joined #sbcl 2017-02-25T12:32:23Z edgar-rft joined #sbcl 2017-02-25T12:34:25Z schjetne quit (Ping timeout: 255 seconds) 2017-02-25T12:52:20Z schjetne joined #sbcl 2017-02-25T13:18:02Z schjetne quit (Ping timeout: 240 seconds) 2017-02-25T13:35:01Z |3b|: (defun foo (a) (setf (char (copy-seq a) 0)#\HIRAGANA_LETTER_SMALL_TU)) complains that "Derived type of SB-C::NEW-VALUE is (VALUES EXTENDED-CHAR &OPTIONAL), conflicting with its asserted type BASE-CHAR." 2017-02-25T13:36:39Z sjl quit (Read error: Connection reset by peer) 2017-02-25T13:41:35Z |3b|: (original test case at http://paste.lisp.org/display/339935 ) 2017-02-25T14:04:16Z sjl joined #sbcl 2017-02-25T14:05:49Z DGASAU` is now known as DGASAU 2017-02-25T14:09:24Z scymtym: the problem seems to be the TYPECASE into which (deftransform hairy-data-vector-set ((string index new-value) (simple-string t t))) expands 2017-02-25T14:10:14Z scymtym: it should probably rule out cases based on type knowledge for the NEW-VALUE lvar 2017-02-25T14:10:19Z scymtym: would help with code size, too 2017-02-25T14:20:17Z scymtym: that may be wrong. inserting a type check for NEW-VALUE in the BASE-CHAR case may be what's actually needed 2017-02-25T14:21:23Z schjetne joined #sbcl 2017-02-25T14:31:45Z myrkraverk: In other news, something positive about SBCL: http://www.myrkraverk.com/blog/2017/02/sbcl-with-timeout-is-a-nice-undocumented-feature/ 2017-02-25T14:34:39Z edgar-rft quit (Ping timeout: 260 seconds) 2017-02-25T14:35:20Z edgar-rft joined #sbcl 2017-02-25T14:42:22Z scymtym: something like this: http://paste.lisp.org/display/339940 ? 2017-02-25T14:53:52Z rumbler31 joined #sbcl 2017-02-25T15:16:02Z shka_ quit (Quit: Konversation terminated!) 2017-02-25T15:22:27Z nyef: Umm... isn't WITH-TIMEOUT deprecated in favor of the deadline mechanism? 2017-02-25T15:24:31Z nyef: Or am I misremembering? 2017-02-25T15:27:15Z shka joined #sbcl 2017-02-25T15:27:18Z |3b|: scymtym: wouldn't you need a runtime check in the case it can't tell what type new-value is? 2017-02-25T15:28:00Z |3b|: if it knows it is base-char, set directly, if it knows it isn't, error, otherwise fall back to something slower 2017-02-25T15:30:08Z |3b|: or maybe just expand into another etypecase on the value in that case, assuming that will get simplified later if it knows a type 2017-02-25T15:30:57Z |3b|: (and if it won't, possibly should see if it knows which type the string is in the transform too) 2017-02-25T15:35:43Z rumbler31 quit (Remote host closed the connection) 2017-02-25T15:41:09Z cromachina joined #sbcl 2017-02-25T15:43:25Z cromachina_ quit (Ping timeout: 255 seconds) 2017-02-25T15:45:11Z scymtym: |3b|: (the base-char new-value) in the SIMPLE-BASE-STRING case is the runtime type check (which should be elided if NEW-VALUE is known to be a BASE-CHAR). the other leg, the one calling ERROR, within the SIMPLE-BASE-STRING case handles NEW-VALUE being known to not intersect with BASE-CHAR 2017-02-25T15:46:45Z scymtym: with the change, your example results in https://www.techfak.de/~jmoringe/25.png, i.e. direct ERROR call in the SIMPLE-BASE-STRING case 2017-02-25T15:50:36Z scymtym: nyef: it doesn't seem to have a DEPRECATED declaration and the table in early-extensions.lisp doesn't mention it. so it is probably not (officially) deprecated 2017-02-25T16:02:33Z nyef: Okay then. 2017-02-25T16:16:51Z |3b|: ah, ok 2017-02-25T16:16:51Z |3b| missed that 'intersect' would include T 2017-02-25T16:49:22Z |3b| quit (Read error: Network is unreachable) 2017-02-25T16:50:40Z |3b| joined #sbcl 2017-02-25T16:52:29Z Bike joined #sbcl 2017-02-25T17:14:17Z myrkraverk: nyef: It's not mentioned at all in the manual, not even listed as a deprecated feature, so I have no idea at all. 2017-02-25T17:18:43Z myrkraverk: Is :immobile-code what dougk was talking about last year, in the context of lldb integration? 2017-02-25T17:18:57Z myrkraverk: Because if so, I'd like to try starting that project. 2017-02-25T17:36:18Z rumbler31 joined #sbcl 2017-02-25T17:41:12Z rumbler31 quit (Ping timeout: 260 seconds) 2017-02-25T17:46:02Z scymtym quit (Ping timeout: 240 seconds) 2017-02-25T17:47:14Z casper_87 joined #sbcl 2017-02-25T18:00:23Z rpg joined #sbcl 2017-02-25T18:05:25Z rpg quit (Ping timeout: 268 seconds) 2017-02-25T18:06:16Z rpg joined #sbcl 2017-02-25T19:23:49Z stassats joined #sbcl 2017-02-25T19:37:27Z rumbler31 joined #sbcl 2017-02-25T19:39:22Z rpg quit (Ping timeout: 240 seconds) 2017-02-25T19:40:48Z edgar-rft quit (Quit: edgar-rft) 2017-02-25T19:42:42Z rumbler31 quit (Ping timeout: 240 seconds) 2017-02-25T19:43:36Z eschatologist quit (Quit: ZNC 1.6.3+deb2 - http://znc.in) 2017-02-25T19:44:14Z eschatologist joined #sbcl 2017-02-25T19:48:25Z rpg joined #sbcl 2017-02-25T19:52:17Z scymtym joined #sbcl 2017-02-25T20:45:11Z prxq joined #sbcl 2017-02-25T20:49:25Z rpg quit (Ping timeout: 255 seconds) 2017-02-25T21:02:27Z sjl quit (Ping timeout: 240 seconds) 2017-02-25T21:07:22Z rumbler31 joined #sbcl 2017-02-25T21:08:23Z leo_song quit (Ping timeout: 240 seconds) 2017-02-25T21:11:28Z leo_song joined #sbcl 2017-02-25T21:12:49Z rumbler31 quit (Remote host closed the connection) 2017-02-25T21:46:18Z sjl joined #sbcl 2017-02-25T21:58:48Z sjl quit (Ping timeout: 260 seconds) 2017-02-25T21:59:45Z casper_87 quit (Ping timeout: 268 seconds) 2017-02-25T22:19:22Z DeadTrickster joined #sbcl 2017-02-25T22:27:04Z casper_87 joined #sbcl 2017-02-25T22:47:51Z shka quit (Ping timeout: 268 seconds) 2017-02-25T23:11:18Z rpg joined #sbcl 2017-02-25T23:29:35Z gingerale quit (Remote host closed the connection) 2017-02-25T23:32:48Z edgar-rft joined #sbcl 2017-02-25T23:48:27Z rpg quit (Ping timeout: 240 seconds) 2017-02-26T00:09:07Z prxq quit (Remote host closed the connection) 2017-02-26T01:04:55Z rpg joined #sbcl 2017-02-26T01:08:30Z sjl joined #sbcl 2017-02-26T01:09:40Z rpg quit (Ping timeout: 260 seconds) 2017-02-26T01:44:41Z sjl quit (Ping timeout: 240 seconds) 2017-02-26T01:45:48Z nxtr_ joined #sbcl 2017-02-26T01:46:11Z nxtr_ is now known as Guest94723 2017-02-26T01:55:38Z Guest94723 quit (Remote host closed the connection) 2017-02-26T02:03:17Z edgar-rft quit (Quit: edgar-rft) 2017-02-26T02:15:00Z stassats quit (Ping timeout: 260 seconds) 2017-02-26T02:17:52Z nxtr joined #sbcl 2017-02-26T02:43:57Z nxtr quit (Ping timeout: 240 seconds) 2017-02-26T02:54:37Z rpg joined #sbcl 2017-02-26T03:03:36Z rpg quit (Quit: Textual IRC Client: www.textualapp.com) 2017-02-26T04:00:58Z alandipert_ quit (Ping timeout: 264 seconds) 2017-02-26T04:07:34Z alandipert joined #sbcl 2017-02-26T05:24:07Z swflint_away joined #sbcl 2017-02-26T05:33:26Z les` joined #sbcl 2017-02-26T05:33:28Z swflint quit (Ping timeout: 252 seconds) 2017-02-26T05:33:29Z les quit (Ping timeout: 252 seconds) 2017-02-26T05:33:29Z swflint_away is now known as swflint 2017-02-26T05:47:03Z leo_song quit (Ping timeout: 240 seconds) 2017-02-26T05:53:21Z leo_song joined #sbcl 2017-02-26T07:06:48Z edgar-rft joined #sbcl 2017-02-26T07:20:03Z p_l quit (Ping timeout: 240 seconds) 2017-02-26T07:21:34Z casper_87 quit (Quit: Leaving) 2017-02-26T07:22:33Z p_l joined #sbcl 2017-02-26T07:26:03Z ASau quit (Ping timeout: 240 seconds) 2017-02-26T09:31:41Z shka joined #sbcl 2017-02-26T09:49:28Z Bike quit (Quit: leaving) 2017-02-26T10:08:57Z attila_lendvai joined #sbcl 2017-02-26T10:08:57Z attila_lendvai quit (Changing host) 2017-02-26T10:08:57Z attila_lendvai joined #sbcl 2017-02-26T10:13:14Z gingerale joined #sbcl 2017-02-26T10:36:51Z oleo quit (Quit: Leaving) 2017-02-26T10:42:26Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-26T11:51:13Z scymtym quit (Ping timeout: 255 seconds) 2017-02-26T12:09:33Z scymtym joined #sbcl 2017-02-26T12:11:51Z hydan joined #sbcl 2017-02-26T13:17:40Z oleo joined #sbcl 2017-02-26T14:54:24Z sjl joined #sbcl 2017-02-26T15:03:20Z oleo quit (Read error: Connection reset by peer) 2017-02-26T15:10:33Z edgar-rft is now known as HisNudeness 2017-02-26T15:11:50Z HisNudeness is now known as edgar-rft 2017-02-26T15:16:54Z oleo joined #sbcl 2017-02-26T15:18:38Z hydan quit (Ping timeout: 260 seconds) 2017-02-26T15:59:43Z oleo quit (Ping timeout: 240 seconds) 2017-02-26T16:02:34Z Posterdati|2 is now known as Posterdati 2017-02-26T16:04:21Z stassats joined #sbcl 2017-02-26T16:12:31Z oleo joined #sbcl 2017-02-26T16:57:47Z Bike joined #sbcl 2017-02-26T17:35:40Z akkad quit (Excess Flood) 2017-02-26T17:41:26Z akkad joined #sbcl 2017-02-26T17:47:43Z scymtym quit (Ping timeout: 240 seconds) 2017-02-26T17:48:03Z leo_song quit (Ping timeout: 240 seconds) 2017-02-26T17:48:15Z leo_song joined #sbcl 2017-02-26T18:34:11Z logrus joined #sbcl 2017-02-26T20:37:04Z attila_lendvai joined #sbcl 2017-02-26T20:48:10Z rumbler31 joined #sbcl 2017-02-26T20:48:13Z gingerale quit (Remote host closed the connection) 2017-02-26T20:48:40Z rumbler31 quit (Remote host closed the connection) 2017-02-26T20:51:14Z Quadrescence joined #sbcl 2017-02-26T20:56:37Z scymtym joined #sbcl 2017-02-26T21:05:50Z stassats: scymtym: the transform is too early to decide on the type for the value 2017-02-26T21:06:07Z stassats: scymtym: (defun foo (a) (let ((x #\hiragana_letter_small_tu)) (setf (schar a 0) x) (setf x #\x))), same result 2017-02-26T21:38:52Z Bike quit (Ping timeout: 260 seconds) 2017-02-26T21:46:06Z Bike joined #sbcl 2017-02-26T21:57:48Z edgar-rft quit (Quit: edgar-rft) 2017-02-26T22:20:11Z logrus quit (Quit: Leaving) 2017-02-26T22:27:05Z scymtym: stassats: transform into (if (base-char-p new-value) (data-vector-set ...) (error ...))? that seems to work, but what is the %ALLOCATE-CLOSURES doing there? https://techfak.de/~jmoringe/new-26.png 2017-02-26T22:27:39Z stassats: allocate-closures is always inserted for lambdas 2017-02-26T22:28:02Z nyef: That's... an interesting visualization? 2017-02-26T22:30:49Z nyef: So... do we delete %ALLOCATE-CLOSURES if all of the functionals get inlined? 2017-02-26T22:31:00Z stassats: and i don't like expanding into (if base-char-p error), that's what a cast is 2017-02-26T22:33:41Z stassats: nyef: it doesn't have to be inlined, local calling should be enough 2017-02-26T22:36:17Z nyef: Okay then. 2017-02-26T22:37:41Z stassats: and this is also an opportunity for optimization, not just correctness 2017-02-26T22:38:12Z stassats: and an opportunity to improve the compiler, not just work around the issue, because it crops up everywhere 2017-02-26T22:41:31Z stassats: for one thing, the cast can be marked as a non-compile-time-erroring one, but that's an easy and the most effective solution 2017-02-26T22:41:39Z stassats: not the most 2017-02-26T22:42:22Z shka: hello all 2017-02-26T22:43:00Z stassats: ideally when X becomes known it should go back and reoptimize, but it's hard to know what to reoptimize 2017-02-26T22:43:47Z shka: sorry to disturb you, but i want to use 64 bit fixnums 2017-02-26T22:43:55Z shka: is that possible in sbcl? 2017-02-26T22:43:58Z stassats: no 2017-02-26T22:44:07Z shka: ok, thanks 2017-02-26T22:44:12Z stassats: that by definition are not fixnums 2017-02-26T22:45:17Z stassats: we can instruct the cast to replace the whole combination upon error 2017-02-26T22:46:41Z stassats: well, that's what (if (base-char-p new-value) (data-vector-set ...) (error ...)) does 2017-02-26T22:52:58Z shka: and what about (unsigned-byte 64)? 2017-02-26T22:53:32Z shka: does it have to be allocated on heap? 2017-02-26T22:54:05Z stassats: depends 2017-02-26T22:57:08Z shka: i see 2017-02-26T22:57:23Z shka: good night all 2017-02-26T22:57:46Z stassats: scymtym: i guess (if (typep new-value 'base-char) (data-vector-set string index new-value) (%type-check-error/c new-value 'sb!kernel::object-not-base-char-error 'aref)) will do for now 2017-02-26T22:57:53Z scymtym: stassats: wouldn't a cast would be able to produce better code than a full ERROR call for signaling the error? 2017-02-26T22:58:16Z stassats: preferably abstracted away 2017-02-26T22:59:45Z scymtym: right, the else branch is what i was going ask about 2017-02-26T23:00:06Z stassats: ok, i think i know how to make a cast that poisons its destination 2017-02-26T23:00:34Z stassats: but, how far to poison 2017-02-26T23:00:53Z stassats: ok, all single use destinations 2017-02-26T23:01:19Z stassats: well, i guess that's too complicated 2017-02-26T23:01:25Z scymtym: so that the destination gets replaced with a runtime error? 2017-02-26T23:01:48Z stassats: yeah 2017-02-26T23:02:58Z stassats: sb-c::make-type-check-form shows how to stuff that IF ... into a macro 2017-02-26T23:04:08Z stassats: and let's not invent new compiler constructs just yet, we've got plenty already 2017-02-26T23:05:07Z stassats: but, since %type-check-error/c already returns NIL,it should avoid all its destinations 2017-02-26T23:06:06Z nyef: Mmm. I nearly invented an LVAR-assignment node type, once. 2017-02-26T23:13:45Z stassats: it also should depend on policy 2017-02-26T23:16:07Z stassats: ok, i'm back to being convinced that we need a special cast 2017-02-26T23:16:20Z stassats: because of policy 2017-02-26T23:20:57Z shka quit (Ping timeout: 240 seconds) 2017-02-26T23:24:43Z scymtym: child keeps waking up (not the UNIX process kind). i'm probably done for tonight 2017-02-26T23:26:46Z paroneayea joined #sbcl 2017-02-27T00:14:14Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-27T00:35:43Z rumbler31 joined #sbcl 2017-02-27T01:39:20Z mateuszb quit (Read error: Connection reset by peer) 2017-02-27T01:43:34Z mateuszb joined #sbcl 2017-02-27T01:47:57Z akkad quit (Excess Flood) 2017-02-27T01:50:27Z akkad joined #sbcl 2017-02-27T01:51:51Z sjl quit (Read error: Connection reset by peer) 2017-02-27T02:11:19Z mateuszb quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-02-27T02:12:16Z mateuszb joined #sbcl 2017-02-27T02:13:12Z Bike quit (Read error: Connection reset by peer) 2017-02-27T02:13:43Z Bike joined #sbcl 2017-02-27T02:38:51Z mateuszb quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-02-27T02:39:46Z mateuszb joined #sbcl 2017-02-27T02:58:45Z stassats quit (Ping timeout: 268 seconds) 2017-02-27T03:05:42Z akkad quit (Excess Flood) 2017-02-27T03:16:57Z akkad joined #sbcl 2017-02-27T03:42:54Z oleo quit (Remote host closed the connection) 2017-02-27T03:59:05Z rumbler31 quit (Remote host closed the connection) 2017-02-27T04:13:05Z akkad quit (Excess Flood) 2017-02-27T04:15:57Z akkad joined #sbcl 2017-02-27T05:15:30Z Bike quit (Read error: Connection reset by peer) 2017-02-27T05:16:11Z shka joined #sbcl 2017-02-27T05:16:52Z Bike joined #sbcl 2017-02-27T06:02:23Z shka quit (Ping timeout: 260 seconds) 2017-02-27T06:13:54Z shka joined #sbcl 2017-02-27T06:19:40Z shka quit (Ping timeout: 260 seconds) 2017-02-27T06:42:24Z igajsin joined #sbcl 2017-02-27T07:20:05Z edgar-rft joined #sbcl 2017-02-27T07:41:07Z ym quit (Quit: Leaving) 2017-02-27T08:28:34Z ym joined #sbcl 2017-02-27T08:29:51Z dtornabene joined #sbcl 2017-02-27T08:32:33Z ym quit (Remote host closed the connection) 2017-02-27T08:59:50Z rumbler31 joined #sbcl 2017-02-27T09:04:34Z rumbler31 quit (Ping timeout: 264 seconds) 2017-02-27T09:38:16Z Bike quit (Quit: leaving) 2017-02-27T10:03:44Z dtornabene quit (Quit: Leaving) 2017-02-27T10:06:28Z oleo joined #sbcl 2017-02-27T10:13:54Z ym joined #sbcl 2017-02-27T10:47:19Z ym quit (Ping timeout: 255 seconds) 2017-02-27T10:53:28Z ym joined #sbcl 2017-02-27T11:17:01Z schjetne quit (Ping timeout: 268 seconds) 2017-02-27T11:32:25Z DeadTrickster_ joined #sbcl 2017-02-27T11:37:46Z stassats joined #sbcl 2017-02-27T11:39:56Z sjl joined #sbcl 2017-02-27T11:40:30Z edgar-rft quit (Quit: edgar-rft) 2017-02-27T11:40:53Z schjetne joined #sbcl 2017-02-27T11:41:19Z m00natic joined #sbcl 2017-02-27T11:42:00Z ym quit (Quit: Leaving) 2017-02-27T11:47:44Z salva quit (Ping timeout: 240 seconds) 2017-02-27T11:56:55Z schjetne quit (Read error: Connection reset by peer) 2017-02-27T12:04:40Z DeadTrickster_ quit (Ping timeout: 240 seconds) 2017-02-27T12:20:16Z oleo quit (Remote host closed the connection) 2017-02-27T12:23:22Z schjetne joined #sbcl 2017-02-27T12:33:06Z salva joined #sbcl 2017-02-27T12:37:12Z edgar-rft joined #sbcl 2017-02-27T12:44:18Z oleo joined #sbcl 2017-02-27T13:00:31Z rumbler31 joined #sbcl 2017-02-27T13:05:01Z rumbler31 quit (Ping timeout: 255 seconds) 2017-02-27T13:07:16Z sjl quit (Ping timeout: 255 seconds) 2017-02-27T13:49:34Z sjl joined #sbcl 2017-02-27T14:22:29Z shka_ joined #sbcl 2017-02-27T14:22:40Z schjetne quit (Ping timeout: 260 seconds) 2017-02-27T14:34:11Z cromachina quit (Read error: Connection reset by peer) 2017-02-27T14:36:57Z stassats quit (Ping timeout: 240 seconds) 2017-02-27T14:59:24Z myrkraverk quit (Ping timeout: 240 seconds) 2017-02-27T15:11:37Z myrkraverk joined #sbcl 2017-02-27T15:47:32Z schjetne joined #sbcl 2017-02-27T16:06:42Z sjl quit (Ping timeout: 260 seconds) 2017-02-27T16:16:00Z sjl joined #sbcl 2017-02-27T16:53:02Z edgar-rft quit (Quit: edgar-rft) 2017-02-27T16:57:07Z ym joined #sbcl 2017-02-27T17:01:43Z ym: Hi. I'm trying to build last version of sbcl (from git) on OpenBSD with binary version 1.2.14 (from OpenBSD packages distribution). Everything seems to compile fine, but here what I got in the end: http://paste.lisp.org/display/340117 2017-02-27T17:02:00Z ym: Should I do some special preparations for this OS? 2017-02-27T17:28:57Z sjl quit (Ping timeout: 240 seconds) 2017-02-27T17:45:15Z akkad quit (Excess Flood) 2017-02-27T17:50:56Z akkad joined #sbcl 2017-02-27T17:51:20Z Bike joined #sbcl 2017-02-27T17:53:13Z akkad quit (Excess Flood) 2017-02-27T17:54:56Z akkad joined #sbcl 2017-02-27T18:05:13Z ym quit (Quit: Leaving) 2017-02-27T18:05:37Z m00natic quit (Remote host closed the connection) 2017-02-27T18:39:19Z gingerale joined #sbcl 2017-02-27T18:42:41Z ym joined #sbcl 2017-02-27T19:37:39Z stassats joined #sbcl 2017-02-27T20:19:39Z angavrilov quit (Remote host closed the connection) 2017-02-27T20:49:57Z shka_ quit (Ping timeout: 240 seconds) 2017-02-27T20:51:11Z igajsin quit (Ping timeout: 252 seconds) 2017-02-27T21:19:34Z oleo quit (Remote host closed the connection) 2017-02-27T21:42:27Z oleo joined #sbcl 2017-02-27T21:43:34Z whiteline quit (Ping timeout: 264 seconds) 2017-02-27T21:45:03Z salva quit (Remote host closed the connection) 2017-02-27T21:48:56Z attila_lendvai joined #sbcl 2017-02-27T21:48:56Z attila_lendvai quit (Changing host) 2017-02-27T21:48:56Z attila_lendvai joined #sbcl 2017-02-27T21:50:14Z prxq joined #sbcl 2017-02-27T22:09:51Z gingerale quit (Remote host closed the connection) 2017-02-27T22:13:39Z sjl joined #sbcl 2017-02-27T22:20:52Z whiteline joined #sbcl 2017-02-27T22:40:44Z prxq quit (Remote host closed the connection) 2017-02-27T23:35:24Z jibanes quit (Ping timeout: 240 seconds) 2017-02-27T23:37:33Z jibanes joined #sbcl 2017-02-27T23:58:56Z edgar-rft joined #sbcl 2017-02-28T00:00:49Z angular_mike_ quit (Ping timeout: 245 seconds) 2017-02-28T00:01:39Z mjl quit (Ping timeout: 245 seconds) 2017-02-28T00:01:48Z nicdev` joined #sbcl 2017-02-28T00:02:29Z nicdev quit (Ping timeout: 245 seconds) 2017-02-28T00:06:48Z mjl joined #sbcl 2017-02-28T00:14:32Z cromachina joined #sbcl 2017-02-28T00:29:24Z foom quit (Ping timeout: 240 seconds) 2017-02-28T00:36:08Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-28T00:40:55Z foom joined #sbcl 2017-02-28T00:45:29Z ym quit (Quit: Leaving) 2017-02-28T00:53:23Z sjl quit (Read error: Connection reset by peer) 2017-02-28T01:43:57Z hydan joined #sbcl 2017-02-28T02:01:31Z angular_mike_ joined #sbcl 2017-02-28T02:03:24Z hydan quit (Remote host closed the connection) 2017-02-28T03:01:00Z stassats quit (Ping timeout: 260 seconds) 2017-02-28T03:13:13Z hargettp joined #sbcl 2017-02-28T03:19:30Z hargettp quit (Quit: Linkinus - http://linkinus.com) 2017-02-28T04:02:06Z rumbler31 joined #sbcl 2017-02-28T04:04:14Z rumbler31 quit (Remote host closed the connection) 2017-02-28T06:04:44Z rumbler31 joined #sbcl 2017-02-28T06:08:44Z dtornabene joined #sbcl 2017-02-28T06:09:13Z rumbler31 quit (Ping timeout: 255 seconds) 2017-02-28T06:23:00Z igajsin joined #sbcl 2017-02-28T06:31:43Z shka_ joined #sbcl 2017-02-28T06:38:30Z oleo quit (Quit: Leaving) 2017-02-28T06:43:46Z dtornabene quit (Quit: Leaving) 2017-02-28T06:58:07Z gk-1wm-su joined #sbcl 2017-02-28T06:58:10Z gk-1wm-su left #sbcl 2017-02-28T07:18:57Z shka_ quit (Ping timeout: 240 seconds) 2017-02-28T07:26:14Z salva0 joined #sbcl 2017-02-28T08:04:12Z angavrilov joined #sbcl 2017-02-28T08:36:38Z gk-1wm-su joined #sbcl 2017-02-28T08:36:41Z gk-1wm-su left #sbcl 2017-02-28T09:09:12Z Quadrescence quit (Ping timeout: 260 seconds) 2017-02-28T09:11:48Z Bike quit (Quit: hiber) 2017-02-28T09:33:27Z gingerale joined #sbcl 2017-02-28T09:52:30Z Quadrescence joined #sbcl 2017-02-28T10:09:31Z attila_lendvai joined #sbcl 2017-02-28T10:09:31Z attila_lendvai quit (Changing host) 2017-02-28T10:09:31Z attila_lendvai joined #sbcl 2017-02-28T10:26:13Z gingerale quit (Remote host closed the connection) 2017-02-28T11:18:15Z sjl joined #sbcl 2017-02-28T11:26:39Z m00natic joined #sbcl 2017-02-28T11:49:25Z jdz quit (Ping timeout: 255 seconds) 2017-02-28T11:51:33Z scymtym quit (Remote host closed the connection) 2017-02-28T11:55:41Z _8hzp joined #sbcl 2017-02-28T11:57:58Z hzp quit (Ping timeout: 264 seconds) 2017-02-28T11:59:33Z jdz joined #sbcl 2017-02-28T12:06:16Z scymtym joined #sbcl 2017-02-28T12:14:05Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-28T12:32:47Z jdz quit (Ping timeout: 252 seconds) 2017-02-28T12:37:52Z jdz joined #sbcl 2017-02-28T12:41:39Z sjl quit (Ping timeout: 240 seconds) 2017-02-28T13:00:23Z _8hzp` joined #sbcl 2017-02-28T13:03:45Z _8hzp quit (Remote host closed the connection) 2017-02-28T13:07:26Z jdz quit (Ping timeout: 252 seconds) 2017-02-28T13:13:57Z m00natic quit (Remote host closed the connection) 2017-02-28T13:15:30Z jdz joined #sbcl 2017-02-28T13:15:50Z m00natic joined #sbcl 2017-02-28T13:29:26Z jdz quit (Ping timeout: 252 seconds) 2017-02-28T13:30:41Z jdz joined #sbcl 2017-02-28T13:32:44Z sjl joined #sbcl 2017-02-28T13:48:41Z jdz quit (Ping timeout: 252 seconds) 2017-02-28T13:57:01Z jdz joined #sbcl 2017-02-28T14:12:59Z cromachina quit (Read error: Connection reset by peer) 2017-02-28T14:30:29Z jdz quit (Ping timeout: 252 seconds) 2017-02-28T14:34:47Z jdz joined #sbcl 2017-02-28T14:57:51Z oleo joined #sbcl 2017-02-28T15:05:52Z rumbler31 joined #sbcl 2017-02-28T15:10:05Z rumbler31 quit (Ping timeout: 252 seconds) 2017-02-28T15:19:26Z jdz quit (Ping timeout: 252 seconds) 2017-02-28T15:22:21Z DeadTrickster_ joined #sbcl 2017-02-28T15:26:07Z jdz joined #sbcl 2017-02-28T15:49:10Z gingerale joined #sbcl 2017-02-28T15:50:17Z attila_lendvai joined #sbcl 2017-02-28T15:50:17Z attila_lendvai quit (Changing host) 2017-02-28T15:50:17Z attila_lendvai joined #sbcl 2017-02-28T16:12:14Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-02-28T16:43:02Z jdz quit (Ping timeout: 252 seconds) 2017-02-28T16:46:50Z jdz joined #sbcl 2017-02-28T16:47:59Z sjl quit (Ping timeout: 252 seconds) 2017-02-28T16:54:35Z jdz quit (Ping timeout: 252 seconds) 2017-02-28T16:57:23Z jdz joined #sbcl 2017-02-28T17:03:12Z Bike joined #sbcl 2017-02-28T17:54:12Z m00natic quit (Remote host closed the connection) 2017-02-28T18:32:44Z leo_song quit (Ping timeout: 240 seconds) 2017-02-28T18:35:20Z leo_song joined #sbcl 2017-02-28T18:37:35Z shka_ joined #sbcl 2017-02-28T18:48:31Z schjetne quit (Ping timeout: 260 seconds) 2017-02-28T18:53:11Z jrm quit (Read error: Connection reset by peer) 2017-02-28T18:53:39Z nimiux quit (Quit: leaving) 2017-02-28T18:54:44Z jrm joined #sbcl 2017-02-28T18:55:22Z nimiux joined #sbcl 2017-02-28T18:55:22Z nimiux quit (Changing host) 2017-02-28T18:55:22Z nimiux joined #sbcl 2017-02-28T18:59:06Z nimiux quit (Client Quit) 2017-02-28T19:00:12Z nimiux joined #sbcl 2017-02-28T19:00:12Z nimiux quit (Changing host) 2017-02-28T19:00:12Z nimiux joined #sbcl 2017-02-28T19:04:34Z nimiux quit (Client Quit) 2017-02-28T19:06:58Z sjl joined #sbcl 2017-02-28T19:14:12Z nimiux joined #sbcl 2017-02-28T19:16:26Z nimiux quit (Client Quit) 2017-02-28T19:16:51Z nimiux joined #sbcl 2017-02-28T19:20:48Z attila_lendvai joined #sbcl 2017-02-28T19:47:56Z angavrilov quit (Remote host closed the connection) 2017-02-28T19:51:30Z schjetne joined #sbcl 2017-02-28T19:57:08Z schjetne quit (Ping timeout: 240 seconds) 2017-02-28T20:33:16Z stassats joined #sbcl 2017-02-28T20:33:51Z Xof: *phew* just made the February deadline 2017-02-28T21:01:28Z neuronsong joined #sbcl 2017-02-28T21:02:10Z DeadTrickster_ quit (Ping timeout: 264 seconds) 2017-02-28T21:12:58Z igajsin quit (Ping timeout: 264 seconds) 2017-02-28T21:21:11Z gingerale quit (Remote host closed the connection) 2017-02-28T21:28:15Z nimiux quit (Quit: leaving) 2017-02-28T21:28:35Z nimiux joined #sbcl 2017-02-28T21:31:12Z nimiux quit (Client Quit) 2017-02-28T21:32:10Z nimiux joined #sbcl 2017-02-28T21:33:36Z shka_ quit (Ping timeout: 268 seconds) 2017-02-28T22:11:23Z akkad hunts for someone who could do a couple of hours of work on a freeware project to optimize memory usage on sbcl. 2017-02-28T22:13:41Z myrkraverk: akkad: is this a paid job? 2017-02-28T22:21:54Z akkad: yes. 2017-02-28T22:48:27Z fe[nl]ix quit (Remote host closed the connection) 2017-02-28T22:48:27Z Blkt quit (Read error: Connection reset by peer) 2017-02-28T22:48:41Z Blkt joined #sbcl 2017-02-28T22:48:42Z fe[nl]ix joined #sbcl 2017-02-28T22:53:57Z fiddlerwoaroof_ is now known as fiddlerwoaroof 2017-02-28T22:54:15Z attila_lendvai: akkad: I'm interested 2017-02-28T22:55:55Z jamtho joined #sbcl 2017-02-28T23:49:50Z edgar-rft quit (Quit: edgar-rft)