Search
Tuesday, 25th of February 2020, 5:36:51 UTC
6:22:25
drmeister
::notify kpoeck I fixed the bordeaux-threads problem (I hope) I changed mp:lock to mp:mutex. I pushed it to clasp's local-projects version of bordeaux threads.
6:22:25
Colleen
drmeister: Got it. I'll let kpoeck know as soon as possible.
6:22:51
drmeister
::notify Bike I fixed collect-macro-forms in clasp's version of swank.
6:22:51
Colleen
drmeister: Got it. I'll let Bike know as soon as possible.
6:23:27
drmeister
::notify Bike On discord they said that SJLJ does honor cleanups - really!?!? What do you make of that?
6:23:27
Colleen
drmeister: Got it. I'll let Bike know as soon as possible.
13:32:00
Colleen
Bike: drmeister said 7 hours, 9 minutes ago: I fixed collect-macro-forms in clasp's version of swank.
13:32:00
Colleen
Bike: drmeister said 7 hours, 8 minutes ago: On discord they said that SJLJ does honor cleanups - really!?!? What do you make of that?
15:51:36
cracauer
Bike, I think your mp cleanup causes the current buildbot failure.
15:51:54
cracauer
`Symbol named "LOCK" is not external in the MP package.` when compiling bordeau threads.
15:52:07
Bike
kpoeck hit that already. I think he submitted a PR to Bordeaux
15:52:41
Bike
or maybe not. blegh. we could alias the symbol if we really n eed to.
16:08:58
drmeister
I fixed it in clasp-developers/bordeaux-threads
16:09:41
drmeister
Pushed as well. Where is the buildbot pulling bordeaux-threads from?
16:10:17
drmeister
All I did was change mp:lock to mp:mutex
16:10:37
drmeister
Was that sufficient? It compiles is all I can say at this point.
16:11:22
Bike
i don't think it was even working before. mp:lock existed as a type, but the type of mutexes was actually mp:mutex
16:11:31
Bike
so i have no idea what mp:lock was
16:12:35
Bike
(typep (mp:make-lock :name :anon) 'mp::lock) => NIL
16:12:56
Bike
(typep (mp:make-recursive-mutex :anon) 'mp::lock) => NIL as well
16:13:04
Bike
but there's still an MP::LOCK class
16:13:21
drmeister
I thought you removed it?
16:13:52
Bike
I made the symbol not exported, but the symbol still exists internally
16:14:01
Bike
there's a class it names, and i have no idea what it is or where it's defined
16:15:06
Bike
it's not the type of mutexes, which is how Bordeaux uses it I think
16:15:32
Bike
(typep (mp:make-shared-mutex :anon) 'mp::lock) => NIL also
16:20:50
cracauer
Buildbot gets bordeau-threads from github/clasp-developers, master.
16:20:58
cracauer
So the change should be visible. I'll restart
16:35:27
drmeister
I woke up with an idea this morning. This is what it looks like...
16:35:29
drmeister
https://usercontent.irccloud-cdn.com/file/xeDUaaNg/image.png
16:36:15
drmeister
I use dtrace to save the backtrace for every call to __cxa_throw. Then I invert the backtrace and truncate it at say 20 frames. Then I generate a flame graph.
16:36:24
drmeister
This shows what is doing the most throwing.
16:36:37
drmeister
cleavir-cst-to-ast:convert (:around)
16:37:32
drmeister
https://github.com/Bike/SICL/blob/master/Code/Cleavir/CST-to-AST/convert.lisp#L32
16:39:49
drmeister
Despite this... it's not obvious to me where the throw is coming from.
16:39:57
drmeister
Waiting for slime to load so I can expand the macro.
16:41:19
drmeister
I fixed collect-macro-forms in slime/swank/clasp.lisp last night - pull the latest slime to get the change.
16:47:23
drmeister
I'm guessing it's this...
16:47:25
drmeister
https://www.irccloud.com/pastebin/5npsNJld/
17:31:59
beach
Is there a reason for the SYSTEM parameter of that method to be unspecialized?
17:32:59
beach
Or perhaps the CONVERT symbol is in one of your packages?
Tuesday, 25th of February 2020, 17:36:51 UTC