2015-12-24T00:23:06Z yvm joined #sbcl 2015-12-24T00:29:26Z attila_lendvai quit (Ping timeout: 240 seconds) 2015-12-24T01:02:57Z sjl joined #sbcl 2015-12-24T01:03:48Z scymtym quit (Ping timeout: 264 seconds) 2015-12-24T01:04:36Z scymtym_ quit (Remote host closed the connection) 2015-12-24T01:07:50Z sjl quit (Ping timeout: 260 seconds) 2015-12-24T02:03:43Z sjl joined #sbcl 2015-12-24T02:08:36Z sjl quit (Ping timeout: 250 seconds) 2015-12-24T02:11:03Z Kitlith joined #sbcl 2015-12-24T02:23:52Z Kitlith: Is there any way to modify the REPL prompt in SBCL? 2015-12-24T02:34:46Z loke quit (Ping timeout: 240 seconds) 2015-12-24T02:38:23Z nyef: Kitlith: http://sbcl.org/manual/index.html#Customization-Hooks-for-Users and/or http://sbcl.org/manual/index.html#sb_002daclrepl 2015-12-24T02:47:07Z loke joined #sbcl 2015-12-24T02:59:14Z sjl joined #sbcl 2015-12-24T03:07:24Z Kitlith quit (Ping timeout: 264 seconds) 2015-12-24T03:09:51Z whiteline quit (Ping timeout: 260 seconds) 2015-12-24T04:08:12Z nyef: Heh. I have a kludge in mind that works with the caveat "as long as the alien stack size is less than two gigs"... 2015-12-24T04:12:06Z sjl quit (Ping timeout: 250 seconds) 2015-12-24T05:09:05Z sjl joined #sbcl 2015-12-24T05:13:59Z sjl quit (Ping timeout: 260 seconds) 2015-12-24T06:54:55Z sjl joined #sbcl 2015-12-24T06:59:22Z sjl quit (Ping timeout: 250 seconds) 2015-12-24T08:14:34Z Cymew joined #sbcl 2015-12-24T08:55:43Z sjl joined #sbcl 2015-12-24T09:00:06Z sjl quit (Ping timeout: 240 seconds) 2015-12-24T09:26:29Z psilord quit (Quit: Leaving.) 2015-12-24T09:39:14Z psilord joined #sbcl 2015-12-24T09:50:31Z rszeno joined #sbcl 2015-12-24T10:56:23Z sjl joined #sbcl 2015-12-24T11:00:58Z sjl quit (Ping timeout: 256 seconds) 2015-12-24T11:12:38Z attila_lendvai joined #sbcl 2015-12-24T11:12:38Z attila_lendvai quit (Changing host) 2015-12-24T11:12:38Z attila_lendvai joined #sbcl 2015-12-24T11:24:08Z karswell quit (Ping timeout: 265 seconds) 2015-12-24T11:27:45Z whiteline joined #sbcl 2015-12-24T11:35:24Z Xof: no stassats? Hm, I want to ask why his arm64 tls spinlock has acquire but not release 2015-12-24T11:54:54Z lnostdal__ joined #sbcl 2015-12-24T11:58:56Z lnostdal_ quit (Ping timeout: 265 seconds) 2015-12-24T12:12:57Z rszeno quit (Ping timeout: 265 seconds) 2015-12-24T12:16:22Z stassats joined #sbcl 2015-12-24T12:17:59Z stassats: Xof: which spinlock? 2015-12-24T12:22:22Z stassats: looking at alloc-tls-index, i don't think it's right for big-endian 2015-12-24T12:23:22Z stassats: no, it seems rightish 2015-12-24T12:25:05Z lnostdal__ quit (Ping timeout: 260 seconds) 2015-12-24T12:29:05Z rszeno joined #sbcl 2015-12-24T12:37:06Z lnostdal__ joined #sbcl 2015-12-24T12:45:15Z nyef: G'morning all. 2015-12-24T12:57:12Z sjl joined #sbcl 2015-12-24T13:02:14Z sjl quit (Ping timeout: 276 seconds) 2015-12-24T13:02:39Z rszeno quit (Quit: Leaving.) 2015-12-24T13:40:21Z Xof: stassats: alloc-tls-index has ldaxr (acquire) but not stlxr (release) 2015-12-24T13:40:34Z Xof: (that might be deliberate, but I don't understand it if so) 2015-12-24T13:48:45Z stassats: Xof: stlr does release 2015-12-24T13:49:22Z stassats: it's not stlxr, because apparently, it doesn't need to be exclusive anymore 2015-12-24T13:53:04Z Xof: ok 2015-12-24T13:55:13Z stassats: if you have the armv8 manual, you can find it in the appendix j7 2015-12-24T13:57:59Z sjl joined #sbcl 2015-12-24T14:02:43Z sjl quit (Ping timeout: 260 seconds) 2015-12-24T14:20:41Z Xof: hm 2015-12-24T14:24:44Z Xof: the one that is used, stxr, is exclusive but not release 2015-12-24T14:31:57Z Xof: if we don't have the store-release variant, is it not the case that a "later" store (from another thread) could be unobserved by this one? 2015-12-24T14:38:31Z Xof: ah, when we release we use stlr 2015-12-24T14:39:35Z Xof: so why don't we need exclusivity there? Because we already know we hold the lock? 2015-12-24T15:16:23Z jsgrant joined #sbcl 2015-12-24T15:21:26Z stassats quit (Ping timeout: 240 seconds) 2015-12-24T15:22:23Z stassats joined #sbcl 2015-12-24T15:22:47Z pkhuong: yeah. spinlock release doesn't need exclusivity, we only need to guarantee ordering of stores that happened earlier in program order 2015-12-24T15:23:25Z pkhuong: on TSO, we can use a normal store. 2015-12-24T15:26:00Z jsgrant quit (Remote host closed the connection) 2015-12-24T15:31:16Z stassats quit (Ping timeout: 256 seconds) 2015-12-24T15:32:02Z stassats joined #sbcl 2015-12-24T15:35:08Z jsgrant joined #sbcl 2015-12-24T15:35:39Z pkhuong: btw, re using Alpha as an SMP crucible, I'm pretty sure only alpha does dependent load reordering (load prediction is... an amazing idea). ARM and PPC might as well be our new alpha. 2015-12-24T15:36:20Z stassats quit (Ping timeout: 250 seconds) 2015-12-24T15:38:21Z stassats joined #sbcl 2015-12-24T15:39:42Z pkhuong: and we're more likely to find > 2S systems for PPC (arm64 soonish) than Alpha 2015-12-24T15:40:04Z nyef: "2S"? 2015-12-24T15:41:25Z pkhuong: two socket 2015-12-24T15:46:02Z stassats quit (Ping timeout: 276 seconds) 2015-12-24T15:46:08Z prxq joined #sbcl 2015-12-24T15:46:42Z sjl joined #sbcl 2015-12-24T15:47:24Z stassats joined #sbcl 2015-12-24T15:47:59Z nyef: Ah. CPUs on separate dies? 2015-12-24T15:49:40Z pkhuong: yes. having processes farther apart helps expose race conditions that would rarely/never happen with more tightly coupled cores. 2015-12-24T15:50:50Z nyef: Fair point. 2015-12-24T15:51:17Z stassats: i'm already running sbcl on a two socket power7 system 2015-12-24T15:52:20Z pkhuong: and the GCC farm's beast? 2015-12-24T15:52:52Z stassats: that is the gcc farm node 2015-12-24T15:52:57Z nyef: Mmm. I need to get my two socket Alpha figured out and working, and if I can get my two socket HPPA going so much the better. And then there's MIPS, I already have a four-socket machine and once I get SMP up and going on that I can try to link it with up to $n$ other nodes (either three or seven, not sure which). 2015-12-24T15:53:43Z nyef: Though, as usual for MIPS, it'll be a case of "is this an SBCL bug or a kernel bug?" 2015-12-24T15:54:38Z stassats: power7 has two cpus, for 64 threads total 2015-12-24T15:55:08Z pkhuong: gcc110 says it's 4 CPUs 2015-12-24T15:55:10Z stassats: the power8 system has 160 threads 2015-12-24T15:55:42Z pkhuong: no, that's a lie. 2015-12-24T15:55:53Z stassats: pkhuong: ok, i just counted as 64/32-threads-per-core-max 2015-12-24T15:56:40Z pkhuong: wiki says it's 4 CPUs, product spec says it's 2 sockets :| 2015-12-24T15:58:49Z stassats: it says 4x16, probably means 4 threads per 16 cores 2015-12-24T16:25:59Z stassats quit (Ping timeout: 264 seconds) 2015-12-24T16:27:21Z stassats joined #sbcl 2015-12-24T16:46:51Z jsgrant quit (Remote host closed the connection) 2015-12-24T16:58:11Z sjl quit (Ping timeout: 276 seconds) 2015-12-24T17:15:00Z clique joined #sbcl 2015-12-24T17:19:23Z lnostdal__ quit (Ping timeout: 265 seconds) 2015-12-24T17:19:34Z sjl joined #sbcl 2015-12-24T17:24:13Z clique quit (Quit: Page closed) 2015-12-24T17:30:02Z sjl quit (Ping timeout: 276 seconds) 2015-12-24T17:35:00Z milanj joined #sbcl 2015-12-24T17:35:12Z lnostdal__ joined #sbcl 2015-12-24T17:42:33Z jackc- quit (Read error: No route to host) 2015-12-24T17:42:41Z jackc- joined #sbcl 2015-12-24T17:44:26Z joshe quit (Ping timeout: 240 seconds) 2015-12-24T17:44:41Z joshe joined #sbcl 2015-12-24T18:00:43Z karswell joined #sbcl 2015-12-24T18:11:05Z milanj quit (Quit: This computer has gone to sleep) 2015-12-24T18:28:46Z milanj joined #sbcl 2015-12-24T18:29:06Z milanj quit (Client Quit) 2015-12-24T19:24:20Z milanj joined #sbcl 2015-12-24T19:38:39Z Kitlith joined #sbcl 2015-12-24T19:46:57Z Kitlith: nyef, unfortunately the documentation (first link that you sent) only says that it can be done, and not how. 2015-12-24T19:46:57Z minion: Kitlith, memo from pjb: there may be advantages to use the implementation REPL however. Most implementations indeed have customization variables or hooks to configure the prompt. Cf. your implementation documentation, or try (apropos "PROMTP"). 2015-12-24T19:47:34Z Kitlith: ... AH. 2015-12-24T19:57:42Z milanj quit (Quit: This computer has gone to sleep) 2015-12-24T20:03:23Z nyef: Kitlith: If you're going to try that apropos thing, spell "prompt" correctly. (-; 2015-12-24T20:12:47Z Cymew quit (Ping timeout: 260 seconds) 2015-12-24T20:24:50Z Kitlith: nyef: I was thrown off a bit when I spelled it correctly... but kept an extra P on the end... 2015-12-24T20:25:30Z Kitlith: And there is a sb-kernel::promptp... 2015-12-24T20:26:24Z Kitlith: Turns out, though, that the reason something I had found earlier wasn't working... was because I was testing in slime. >.< 2015-12-24T20:33:51Z Cymew joined #sbcl 2015-12-24T20:38:27Z Cymew quit (Ping timeout: 260 seconds) 2015-12-24T20:46:39Z sjl joined #sbcl 2015-12-24T21:21:42Z nyef: Ugh. Is there a faster networked file system than NFS that I can use? This is painful. /-: 2015-12-24T21:22:12Z Cymew joined #sbcl 2015-12-24T21:22:36Z flip214: nyef: I can help with performance on Monday, if you like. Today is bad ;) 2015-12-24T21:22:48Z nyef: Heh. 2015-12-24T21:23:53Z nyef: By that point, I may have fixed things so that I no longer need to use NFS. 2015-12-24T21:31:27Z mordocai: Not sure what the potential causes of this error are, http://paste.lisp.org/display/303091. Only anecdote i've noticed is it appears to happen when I hand my cl-ppcre scanner a larger string than normal(haven't determined size yet but "big" for some subjective value of "big"). Does that sound like a potential trigger for that error? 2015-12-24T21:32:48Z stassats: mordocai: can you provide a test case? 2015-12-24T21:33:43Z mordocai: stassats: I haven't done enough debugging yet to narrow down the issue, was just wondering if "large string to cl-ppcre scanner" seemed even a possible cause or if I was going down the wrong path. 2015-12-24T21:34:03Z stassats: well, just show the string passed to cl-ppcre 2015-12-24T21:34:24Z mordocai: Yeah, i'll have to add debugging to grab it. 2015-12-24T21:34:36Z stassats: how about just TRACE? 2015-12-24T21:35:30Z stassats: what does message-match call it with? 2015-12-24T21:36:48Z mordocai: stassats: The result of read-line on the stream I'm working with. The amount of output doesn't play nice with my SLY repl so I'll write it out to disk real quick then should be able to show it. 2015-12-24T21:40:37Z mordocai: Of course now it doesn't appear to be hitting the error case. /sigh. Freaking heisenbugs. 2015-12-24T21:43:38Z mordocai: Well mel-base is also apparently deleting messages when I call move-message for some reason so i'm re setting up my test case and will report back. 2015-12-24T21:44:14Z stassats: i hate that cl-ppcre has safety 0 2015-12-24T21:44:30Z stassats: maybe i should discuss it with Hans and Edi to default to 1 2015-12-24T21:49:26Z sjl quit (Ping timeout: 250 seconds) 2015-12-24T21:51:49Z mordocai: So this is interesting. http://paste.lisp.org/display/303091#1. If I uncomment that with-open-file form the code works. If I leave it commented out I get the error above. 2015-12-24T21:52:53Z stassats: (sb-impl::*default-external-format* :latin-1) is not the greatest idea 2015-12-24T21:53:47Z mordocai: Mel-base doesn't have a way to set it and the files have to be read as latin-1 or I get encoding errors. Better solutions? 2015-12-24T21:54:03Z mordocai: I should say, i couldn't find a way to set it with mel-base 2015-12-24T21:54:09Z mordocai: It isn't really documented well 2015-12-24T21:54:23Z stassats: a) don't use mel-base b) change mel-base 2015-12-24T21:54:55Z mordocai: Yeah, that'd be ideal but not happening right now. There isn't a viable alternative and that code is such a mess there is no way i'm spending the months it would take to fix it. 2015-12-24T21:56:21Z stassats: so, what is the regex? 2015-12-24T21:56:58Z stassats: you should also employ with-open-stream 2015-12-24T21:56:58Z mordocai: You can see full code here if it helps, just committed my WIP stuff. https://gitlab.com/mordocai/mailfilter-parse. The regex is not constant but comes from my .mailfilter file. 2015-12-24T21:57:30Z mordocai: Instead of with-open-file or are you talking about elsewhere? 2015-12-24T21:57:37Z mordocai: Oh, i see where you mean 2015-12-24T21:57:40Z mordocai: Yeah, good idea 2015-12-24T21:58:33Z stassats: and instead of testing for EOF twice, use "while line" 2015-12-24T21:58:47Z stassats: don't use 'eof, NIL will suffice, as it couldn't be mistaken with a string 2015-12-24T22:01:19Z stassats: isn't setting (sb-impl::*default-external-format* :latin-1) there too late? shouldn't it be done before the stream is created? 2015-12-24T22:02:04Z mordocai: It appears mel is creating the stream on demand there. It got rid of the utf-8 errors I was getting at least. 2015-12-24T22:02:59Z stassats: (princ-to-string (user-homedir-pathname)) => (namestring (user-homedir-pathname)) 2015-12-24T22:03:27Z mordocai: Oh cool. 2015-12-24T22:03:49Z stassats: nested IFs => cond 2015-12-24T22:05:02Z mordocai: Heh, yeah. A lot of this code is from 2ish years ago. Starting to clean it up/finish it now :) 2015-12-24T22:06:14Z stassats: anyhow, can't do anything without a test case involving just cl-ppcre 2015-12-24T22:06:37Z mordocai: Yeah, that's reasonable. I'll see if I can create a reproducible case. 2015-12-24T22:06:51Z Kitlith quit (Read error: Connection reset by peer) 2015-12-24T22:09:10Z Kitlith joined #sbcl 2015-12-24T22:09:14Z stassats: reopening debug_data each time is probably not the best idea either 2015-12-24T22:11:03Z mordocai: Oh yeah, I just threw that in there to try to get the string crashing cl-ppcre. I'll probably move it to an actual logger if I don't figure it out soon. 2015-12-24T22:19:01Z stassats: and why are you using hashtable as what appears to be structures? 2015-12-24T22:19:35Z mordocai: Because 2 years ago I had no idea clos/defstruct existed :P. That's one of the things i'm going to clean up. 2015-12-24T22:19:51Z mordocai: I was coming from clojure where you typically pass hashes around everywhere 2015-12-24T22:20:00Z stassats: what i silly notion 2015-12-24T22:20:28Z stassats: s/i/a/ 2015-12-24T22:20:34Z mordocai: I also have globals that I don't actually need and some other stuff. 2015-12-24T22:20:49Z mordocai: It's actually kind of fun to clean up old code like this, though also sometimes frustrating when it doesn't work 2015-12-24T22:21:08Z stassats: well, yeah, my non constructive advice is M-x erase-buffer 2015-12-24T22:21:19Z mordocai: hehehe yeah 2015-12-24T22:21:46Z stassats: find the problem with cl-ppcre first, though 2015-12-24T22:21:57Z stassats: you may rewrite it out of existence 2015-12-24T22:23:45Z mordocai: Yep, did some of the cleanup you suggested and haven't written it out yet. I think i'll try using a proper logger and see if that can get the string and allow the error to be triggered. 2015-12-24T22:24:10Z stassats: you can print just the regex first 2015-12-24T22:24:25Z mordocai: True. 2015-12-24T22:26:46Z mordocai: Hmmm... I wonder if there is an easy way to get the regex back out of the scanner or if I need to store it with the scanner or something. 2015-12-24T22:26:58Z mordocai: The latter is easy 2015-12-24T22:27:30Z stassats: you can, but there's really no point in that 2015-12-24T22:28:30Z stassats: well, i mean, you can easily embed it, since it's a closure, but it's better to just store both the string and the closure in your hash-structure 2015-12-24T22:28:44Z mordocai: Yeah, that's what I was adding now. 2015-12-24T22:37:41Z Kitlith: Question: I noticed that the latest (binary) versions for various platforms are not the latest. This is not because the latest version cannot be compiled, right? 2015-12-24T22:37:51Z stassats: right 2015-12-24T22:37:56Z stassats: it's "because" 2015-12-24T22:42:28Z nyef: In a couple of cases it's because the latest version doesn't work. 2015-12-24T22:42:59Z nyef: But for the most part it's because nobody has done the work to build a newer binary package. 2015-12-24T22:43:43Z mordocai: Hmm... that's interesting. It appears emacs locking up actually makes me disconnect from freenode despite me connecting through znc. 2015-12-24T22:43:57Z prxq quit (Remote host closed the connection) 2015-12-24T22:44:34Z mordocai: Printing all my regexes was too much output. I might have to catch the memory error then print. 2015-12-24T22:44:41Z mordocai: I assume I can catch those? 2015-12-24T22:44:51Z Kitlith: Is there any documentation on building these binary packages? 2015-12-24T22:46:14Z stassats: mordocai: you can try 2015-12-24T22:46:32Z stassats: Kitlith: why do you need to build them? 2015-12-24T22:47:40Z Kitlith: I don't *need* to, but 'nobody doing the work to build a newer binary package' makes me wonder what work is involved. 2015-12-24T22:47:56Z stassats: non-zero work 2015-12-24T22:48:47Z nyef: At some point I'm planning to do a builds for several platforms. This is not that point. 2015-12-24T22:51:19Z Xof: Kitlith: building binary packages should be: ./make.sh, then binary-distribution.sh (probably after crafting a suitably-named symlink) 2015-12-24T22:51:41Z Kitlith: Thank you, Xof. 2015-12-24T22:52:18Z mordocai: stassats: Looks like handler-case is sucessfully catching. Now to get enough debugging to figure this out. 2015-12-24T22:52:58Z nyef: Xof: So, binary release for HPPA/Linux in January, maybe? (-: 2015-12-24T22:54:48Z stassats: Xof: what is the point of truly-the (or list symbol) in array-element-type? 2015-12-24T22:55:39Z stassats: and fndb says it's recursive, not anymore 2015-12-24T22:57:06Z Xof: stassats: otherwise you get a type check on the return value 2015-12-24T22:57:20Z stassats: i see 2015-12-24T22:57:37Z stassats: i suppose explicit-check would help, but then it would need to check for an array 2015-12-24T22:58:53Z mordocai: stassats: So it looks like my regex is always ^(From|To|Cc|Bcc|Delivered-To):.*(users@libreoffice.org|users@global.libreoffice.org) which is also the first regex I run on each email. Still working on getting the strings that cause the error. 2015-12-24T22:59:18Z Xof: I didn't try to see whether declaring table as (simple-array (or list symbol) (*)) would help. Maybe it would, with safety 0 2015-12-24T23:00:35Z mordocai: Ah there we go, got my debugger working. Making a paste. 2015-12-24T23:04:00Z stassats: but the table could be more compact, the array widetags start late, and the first two bits are 01 2015-12-24T23:04:16Z mordocai: Alright, here's my error with code and output http://paste.lisp.org/display/303096 2015-12-24T23:04:43Z stassats: 10 on 32-bits 2015-12-24T23:04:51Z mordocai: So not a big string at all. 2015-12-24T23:05:51Z stassats: oh wait, what i'm thinking all this time 2015-12-24T23:06:03Z stassats: you can't just funcall the result of create-scanner 2015-12-24T23:08:43Z mordocai: Oh lol, I thought it returned a function. I guess I'm supposed to use scan then? 2015-12-24T23:09:09Z stassats: it returns a function, but you're calling it wrong 2015-12-24T23:09:35Z mordocai: Oh, okay. I couldn't find an example of using in in their docs so I was guessing 2015-12-24T23:12:16Z stassats: Opened a ticket https://github.com/edicl/cl-ppcre/issues/26 2015-12-24T23:12:58Z mordocai: In any case, using scan on it works fine and now I get the error i've been expecting since forever (that the maildir folder i'm trying to move things too doesn't exist). I think mel was acting weird due to memory corruption maybe? 2015-12-24T23:13:17Z stassats: maybe (safety 0) is really important on lispworks or allegro, so i'm not rushing to change just yet 2015-12-24T23:13:30Z mordocai: When mel "worked" before it was silently deleting files. 2015-12-24T23:14:10Z stassats: sorry for not catching this earlier, the moment you pasted your input it just came to me 2015-12-24T23:14:34Z mordocai: No problem, you're helping me for free after all! Thanks a bunch. 2015-12-24T23:14:42Z mordocai: i didn't even think of that being the issue 2015-12-24T23:15:59Z stassats: that's (safety 0) for you 2015-12-24T23:16:03Z stassats: welcome to the c world 2015-12-24T23:16:28Z mordocai: Hehe yeah. I did not particularly enjoy my stint of writing C code for work. It wasn't awful but just isn't my thing. 2015-12-24T23:17:02Z stassats: well, i don't mind writing even in assembly, the debugging part is where it's not pleasant 2015-12-24T23:17:06Z stassats: or ending up on CVE 2015-12-24T23:17:33Z mordocai: Yeah, the debugging was the unpleasant part. Especially when I was stupid and thought function pointers everywhere were a great idea. 2015-12-24T23:19:56Z stassats: and all edicl stuff has (safety 0), i'll lobby for it's removal 2015-12-24T23:20:21Z stassats: it makes perfect sense to me to not have unsafe code, but maybe Edi has other ideas 2015-12-24T23:21:25Z stassats: safety 0, not even once 2015-12-24T23:31:51Z milanj joined #sbcl 2015-12-24T23:42:54Z stassats: made a compact A-E-T table, but clearly my cache is to big to notice a difference 2015-12-24T23:57:50Z stassats: well, i guess A-E-T is not that important 2015-12-24T23:59:03Z ASau quit (Read error: Connection reset by peer) 2015-12-24T23:59:17Z ASau` joined #sbcl 2015-12-24T23:59:46Z Kitlith quit (Ping timeout: 240 seconds)