freenode/#clasp - IRC Chatlog
Search
21:20:23
drmeister
I don't think it causes the type inference problem. With boehm I think the bug would be invisible. It wreaks havoc in MPS though.
21:21:56
drmeister
This bug creates a mismatch between the amount of memory allocated for a BitVectorNs_O and what obj_skip thinks the size of the BitVectorNs_O should be.
21:24:28
drmeister
I'm not going to try and work it through my noodle. I've fixed it and I'll merge it and then we can see.
21:25:32
Colleen
karlosz: drmeister said 5 hours, 16 minutes ago: I found the type error at startup problem. I have a reproducer. It's probably type-inference running on dead code. Check the logs for the last two hours.
21:33:10
karlosz
has anyone tried just turning off type inference via the variable and testing to see if it reproduces
21:33:34
karlosz
if it's buggy type inference a test code and bad hir will make it clear if type inference is doing something its not supposed to be doing
21:36:13
drmeister
The type error is intermittent. It depends on whatever junk it reads out of the badge in NIL.
21:37:46
Bike
i don't think it has anything to do with badges, i saw it in a branch of master i have
21:38:19
drmeister
Bike: it's not anything to do with badges, it's just if it tries to read the CDR out of NIL in my system it will get the badge.
21:39:53
drmeister
I can start icando-mps fine - but when I exit I get a bunch of MPS assertions. (sigh). My work is never done.
21:41:50
Bike
first, second, third don't have compiler macros, they're just defined as inlinable functions
21:42:50
Bike
car is defined as (if (typeq x cons) (primop:car x) (if (null x) nil (error ...))), first as the obvious cars and cdrs
21:45:03
drmeister
I can compile-file the example and then start up a new clasp and load the fasp file and run it.
21:47:44
Bike
i mean i don't see any way that eliminating typeq CONS in this code could be valid (without path replication or whatever, which we are not doing)
21:48:00
Bike
i don't know how those variables work any more. i just put cleavir-ir-graphviz calls in my-hir-transformations
21:48:02
drmeister
I don't think so - but I always have to dig into the code to find the arcane incantation necessary to generate HIR graphs.
21:48:50
drmeister
We have a new tool that we haven't used yet. Yitzi wrote a HIR viewer with cytoscape.
21:50:59
drmeister
seg.c: gcseg->buffer == NULL. --> The client program destroyed a pool without first destroying all the allocation points created on that pool. The allocation points must be destroyed first.
21:55:34
drmeister
I'll get this MPS assertion put to bed and then I'll generate the HIR and post it.
21:56:11
drmeister
I've been working on getting the MPS to work with Cando for years. I'm monomaniacal.
22:02:27
Bike
so if i set *eliminate-typeq* to nil the bug doesn't happen, right? is there a sensible way i can set that up for build while i'm working on other stuff?
22:12:21
karlosz
OK, my current hypothesis is that i made an assumption that maphash iterates over entries in the order in which the key value pairs were added last to the table
22:14:04
karlosz
that would be the easiest way to eliminate non determinacy from the algorithm i guess
23:14:12
Bike
or, well, if the keys are hir instructions or something, you'd have to have some kind of order that preserves their relative position between compiles
1:10:04
drmeister
I need to startup an lparallel kernel when cando starts, and shut it down when cando finishes.
1:11:37
drmeister
It's expensive to start lparallel kernels and so in the lparallel docs they say it's expected to live the lifetime of the lisp session.
1:12:42
drmeister
I gotta figure out how to ensure that (lparallel:end-kernel lparallel:*kernel*) is evaluated when cando shuts down.
1:14:50
Bike
we'd only need to do that to avoid some warnings, right? i mean, cando is already shutting down
1:21:17
drmeister
So I'll implement something like atexit - but it has to happen at the right time, before all of the MPS teardown starts happening - otherwise I get those assertion failures.
3:43:03
drmeister
::notify Bike We can set breakpoints with the bogus DWARF info. Starting up iclasp-boehm, connect with udb and go: b cmpintrinsics.lsp:9995 / b cmpintrinsics.lsp:999993 and then compile-file something it breaks when it hits that code.
3:43:27
drmeister
::notify Bike This will help us find it and fix the compiler to generate better DWARF info.