freenode/#clasp - IRC Chatlog
Search
14:49:21
Bike
the problem t here is "right" in the reduce call two lines down being NIL instead of a list of two atom tests. really dunno how a compiler error would be causing that
14:53:57
scymtym
yeah, it's strange. i was suggesting the above to maybe get a chunk of the code out of the picture
14:57:23
Bike
add-relations is called with :cando (nil) ((* :element (#<bond-to-atom-test>))) instead
14:58:55
drmeister
I can bring up the BIR version of icando-boehm -f nosmarts up with slime and reproduce the problem. If I recompile add-relations the problem goes away - poof.
15:01:57
drmeister
I'm not absolute certain what errors are real and what are due to mistakes I made while building things.
15:06:27
drmeister
I changed make-keyword-arguments to this, wiped out the cache, rebuilt everything, and the problem goes away (sigh)
15:12:53
drmeister
Alright - I'm gonna try bringing out the big guns. I'm switching to compile-file-serial and USE_HUMAN_READABLE_BITCODE. Then I'm going to see if I can reproduce the problem. If I can - then I'll start editing the bitcode to see if I can get any new insight.
15:14:50
Bike
this time i got «Condition of type: SIMPLE-PROGRAM-ERROR» «When calling chem:parse-smarts with "[$([N:1]([C:2])(» «#<Error while printing condition>»
15:15:49
drmeister
That is happening because SMARTS uses a #\~ as part of its syntax and that is confusing the printer.
15:16:53
drmeister
Hmm, there might be a simple fix. Currently we are using the SIMPLE_ERROR(BF("xxxxxx")) xxxxx string as a format string wherever the SIMPLE_ERROR is printed. We shouldn't, we should use it as an argument to a format like "~a"
15:17:20
drmeister
Yeah - exactly - why is it part of the format string? I dunno - this never came up before.
15:17:39
drmeister
I tracked it down and posted something about it in the last couple of days - I'll check the log.
15:23:35
Bike
it would probably be nice if we didn't use BF unless we needed to, so that the lisp error includes the actual objects being formatted e.g. in the backtrace
15:26:14
drmeister
https://github.com/clasp-developers/clasp/blob/master/src/core/foundation.cc#L1422
15:37:05
drmeister
Trying to run with the serial compiler I run afoul of the static constructors /startup mess. Grrrrr
15:37:49
drmeister
This problem seems to be more with what is passed to REDUCE from the esrap code than a problem with REDUCE itself.
15:38:57
Bike
if multiple-value-bind is required for the break maybe primop:multiple-value-setq is busted somehow
16:03:07
Bike
if you pass :output-file to compile-file the result doesn't seem to be loadable. error in dlopen...
16:11:56
drmeister
I pushed a fix for SIMPLE_ERROR being confused by lisp formatting characters to both bir and master branches.
16:21:10
drmeister
Maybe - I'll start using "bar" instead of "foo" - ok? You use "foo" and I'll use "bar".
18:39:13
yonkunas
selwyn: Hi, how would you like to proceed with quickclasp? Currently someone needs to su to your account to do updates.
19:36:15
karlosz
Bike, drmeister: bir contification is in. in particular https://github.com/clasp-developers/Eclector/blob/fa652c5d9750c4cbdc43082a3e07243bd2e265e4/code/reader/read.lisp#L76 this guy is gone and no longer unwinds
20:44:36
Bike
dentist went long, sorry. the test case is just the relevant parts of architecture.builder-protocol. sicne you got it down to this one call it's not much
22:00:53
karlosz
drmeister: Writing temporary bitcode file to: #P"/Users/karlosz/clasp/src/lisp/kernel/lsp/predlib.ll"
22:00:57
karlosz
Time real(4.958 secs) run(4.958 secs) consed(369343584 bytes) interps(7) unwinds(0)
22:09:31
karlosz
and here's the new flamegraph for compiling predlib now that there's no more unwinding during compilation: ocf.io/~karlos/bir-no-more-unwind.svg
22:24:09
karlosz
we should make sure we don't regress this though. note to make sure compiling predlib doesn't unwind in the future
22:29:54
drmeister
We could expose a way to count the number of unwinds that happen when a particular form is evaluated.
0:12:31
karlosz
yeah once we expose a way to count the number of unwinds for a form evaluation we can just pop that into the regression tests
0:13:25
karlosz
Bike: it may be worht trying to make it more deterministic by implementing sets as lists instead
2:32:52
karlosz
and also it seemingly can't even reconstruct '(b (a . c)) from a cst with raw (a . c)
2:36:39
karlosz
nope, well scymtym added the test at the same time as the fix that was supposed to make the test work
2:38:06
karlosz
anyway i was going to try to make reconstruct faster since a lot of time is spent there