freenode/#clasp - IRC Chatlog
Search
21:11:09
drmeister
Bike: I have a fix for you - I'm changing the code but if you want to just get going it's a simple change in the workbench.
21:15:25
Bike
by the way, did you fix the parallel build thing? i set the configure variable to True but it still builds serially
21:15:33
drmeister
Bike: If you ever come in to work and there is a iMacPro shaped hole in the stuff on your desk - I probably have it.
21:16:12
drmeister
Uh - I hacked something - maybe attila_lendvai fixed it? I haven't read back into the logs.
21:48:07
kpoeck
I am getting a ../../src/main/main.cc:269 There was an unhandled exception - do something about it.
21:51:13
drmeister
Run under the debugger and check the backtrace. An unhandled exception should leave you where the exception was thrown because it couldn't find a matching catch.
21:52:01
drmeister
You can try to break right before the error triggers and put a break on __cxa_throw
21:56:20
drmeister
kpoeck: There is something strange about your observation though - it's a message from handle_unhandled_exception(); but the only place that is called from is https://github.com/clasp-developers/clasp/blob/dev/src/main/main.cc#L442 which is commented out code.
21:57:34
drmeister
Did you uncomment that code? If so, comment it back out again and try again. I commented out that code when I realized it was a really bad idea to catch exceptions with catch (...) because it unwinds the stack and you can't find the throw that caused the problem.
21:58:47
drmeister
boost::format will throw exceptions that aren't caught if you don't have the right number of arguments to a boost::format statement.
22:01:59
drmeister
Bike: Can this happen if there is a return-from or a go from an escaped function if out lives its destination?
22:03:48
Bike
it smells like bad unwinding, but i'm pretty sure cc_landingpadUnwindMatchFrameElseRethrow should be caught immediately if it signals
22:04:53
drmeister
Argh - right - it's easy to generate this error message - never mind what I said above about uncommented code.
22:06:48
drmeister
This is because we don't currently have a way to detect this situation that wouldn't slow down stack unwinding even more.
22:07:30
Bike
well, i mean,conceptually it isn't very difficult. the unwinder already goes through the stack twice like we'd have to.
22:07:50
Bike
I suggest that because the throw from cc_landingpadUnwindMatchFrameElseRethrow god i hate that name should immediately be caught
22:08:31
Bike
i'd rather break it up into two steps that just return values, but i figured, why fix what ain't broken
22:18:23
kpoeck
Load the code and than (with-package-iterator-internal (list (find-package "COMMON-LISP-USER")))
22:40:48
drmeister
One thing that isn't broken is Cando! I can build Cando now with the new 'dev' branch. Yay! Medal's all around.
23:12:00
drmeister
Bike: We don't have arguments in backtraces in cclasp at the moment - I think the shadow stack isn't being generated.
23:13:31
Bike
there's a way to tell if the shadow stack exists or not, right? i sort of remember this happening
23:13:45
Bike
but backtraces were screwed up in general and you figured it would be better to wait for the merge to look at it
23:21:33
Bike
oh by the way did i tell you i think i figured out what was going on with defclass docstrings
23:43:41
Bike
oh. well documentation has a defsetf, so that (setf (documentation ...) ...) expands into a call to core::set-documentation
1:00:47
attila_lendvai
Bike: is there a general coding style to define a compiler macro for FOO that then calls EXPAND-FOO? i.e. even when it's a single-use function?
1:28:15
karlosz
the expander that cleavir generates is probably missing something to accept :allow-other-keys
1:28:30
Bike
https://github.com/robert-strandh/SICL/blob/master/Code/Cleavir/Code-utilities/destructuring.lisp#L247-L260
1:42:35
attila_lendvai
Bike: can you please take a quick look at my comments at https://github.com/clasp-developers/clasp/commit/3349dabaca4870b4b67114b5d2906361e41cb1f8 ? I'm wondering why checking the environment is important there... if there's a reference to #'foo, and that functions extracts the name foo, and a macro uses it as (foo ...), then it will refer for the possible local foo... or am I missing something?
1:45:56
Bike
so if you had :test 'quatro and that bit wasn't commented out, you'd end up with (quatro ...)
1:47:24
Bike
so if it is like 'eql, it falls back to doing (funcall 'eql ...) which does use the global definition
1:48:31
attila_lendvai
Bike: I have a patch pending, I can put the comment. also, I deleted my noise from the commit on github.
1:50:33
Bike
also i suppose by right we should check the environment for local bindings, and if there aren't any it can be used as if it was #'eql
2:05:59
attila_lendvai
Bike: I have a hard time finding out how to query the env and the compiler policy in cleavir... is it ready? does this make sense? (cleavir-env:function-dynamic-extent env (cleavir-env:function-info env 'foo))
2:08:05
attila_lendvai
I was grepping around with hopes of finding examples, but I couldn't find any. I also welcome pointers to examples
2:09:36
Bike
https://github.com/robert-strandh/SICL/blob/master/Code/Cleavir/Documentation/chap-environment.tex#L131-L213
2:43:55
attila_lendvai
Bike: (cleavir-env:dynamic-extent (cleavir-env:function-info env name)) seems to return nil, even though I have an flet there. building the SICL docs is just a stream of headache, but I'm unable read them in latex format. I guess I should just go to sleep now, I'll look into this more tomorrow...
2:45:45
attila_lendvai
Bike: because I'm clueless and sleepy I guess... :) I was just picking whatever seemed the closest in the fuzzy completion
2:47:55
attila_lendvai
shall I just (typep (cleavir-env:function-info env name) 'cleavir-env:local-function-info) ?
3:32:32
attila_lendvai
beach: I'm looking for an easy'n'short way to get an optimize policy given an environment... but I can't seem to find any. cleavir-policy:optimize-value is a good candidate, but it's not a generic that dispatches on an env...
3:34:00
attila_lendvai
this is the shortest I have found: (cleavir-policy:optimize-value (cleavir-env:optimize (cleavir-env:optimize-info nil)) 'space)
3:46:31
karlosz
i guess eliminating dead code like (loop (+ x 1)) isnt really that useful since people don't tend to write useless sideeffectless calls
3:52:54
karlosz
that really does call for some known function information regarding side effets then
3:54:24
beach
The stuff in our paper does not need the side effect information. But other things do, so that would be a good thing to have.
3:58:51
karlosz
how do i disassemble a function in clasp? it seems to complain that a special var is unbound