freenode/#clasp - IRC Chatlog
Search
12:25:46
frgo
::notify drmeister Re MPS and signals: I think we need to change behavior in file src/gctools/interrupt.cc: ADD_SIGNAL( SIGSEGV, "+SIGSEGV+", ext::_sym_segmentation_violation); - Am I right that this estalishes a handler represented by the symbol ext::_sym_segmentation_violation? If so: when using MPS on Linux, we're not allowed to do that. If not: I'd like to know what this line actually does.
13:05:04
frgo
Because MPS on Linux relies on SIGSEGV being not handled by someone else. It uses SIGSEGV to manage memory.
13:06:44
frgo
Yes, it does. But if you install another handler, then this leads to MPS being prevented from doing its job.
13:50:57
Colleen
drmeister: frgo said 1 hour, 25 minutes ago: Re MPS and signals: I think we need to change behavior in file src/gctools/interrupt.cc: ADD_SIGNAL( SIGSEGV, "+SIGSEGV+", ext::_sym_segmentation_violation); - Am I right that this estalishes a handler represented by the symbol ext::_sym_segmentation_violation? If so: when using MPS on Linux, we're not allowed to do that. If not: I'd like to know what this line actually does.
13:54:36
drmeister
My friend at Ravenbrook got back to me and wants to see a backtrace. The machine I'm using is in the Amazon Cloud - so I can give him access as well.
13:58:48
drmeister
It doesn't reproduce the problem with the cases I tried last night - it works on simple cases.
13:59:57
drmeister
Nope - it does - I was using cclasp - it behaves differently. In aclasp it fails like it did last night.
14:06:28
drmeister
I can reproduce the problem and I passed it on to David along with stassats' observation.
14:12:41
frgo
Error >>>>>>>> In file included from /opt/common-lisp/lang/clasp/src/clasp/src/gctools/interrupt.cc:2:
14:12:42
frgo
In file included from /opt/common-lisp/lang/clasp/src/externals-clasp/llvm50/include/llvm/Support/ErrorHandling.h:18:
14:13:31
drmeister
I just realized something - I can create Amazon Cloud machines with Clasp running and give people access to them. Great for debugging.
14:14:01
drmeister
frgo: That was the same problem that you had last night - this is with the new externals-clasp build?
14:16:03
frgo
LLVM_CONFIG_BINARY = "/opt/common-lisp/lang/clasp/src/externals-clasp/llvm50/build-release/bin/llvm-config"
14:17:39
drmeister
Yes - that is all fine - you can remove the EXTERNALS_CLASP_DIR line - that's not used anymore.
14:19:20
drmeister
This is the contents of the llvm/Config directory that I think your system wants:
14:19:49
drmeister
The peculiar thing is that I don't have an llvm-config.h file and I don't see the problem that you do.
14:21:14
frgo
AsmParsers.def.in AsmPrinters.def.in Disassemblers.def.in Targets.def.in abi-breaking.h.cmake config.h.cmake llvm-config.h.cmake
14:22:59
frgo
As soon as you actually build LLVM there is a llvm-config.h there... - in build-release/include/llvm/Config/llvm-config.h
14:24:43
drmeister
That's my /externals-clasp/llvm50/build-release/include/llvm/Config/ directory - and yes there is an llvm-config.h
14:25:24
frgo
No - it's there: AsmParsers.def AsmPrinters.def Disassemblers.def Targets.def abi-breaking.h config.h llvm-config.h
14:26:07
frgo
It's just that the directory ".../externals-clasp/llvm50/include" is not set as an include dir by wscript.
14:29:21
Bike
it seems that the include has to be built. the source only has whatever kind of pre file.
15:32:15
drmeister
I see problems when I try to create >50 threads on OS X and then there are the problems that we ran into on Linux.
15:39:56
drmeister
frgo: I can give you access to the Linux machine that has Clasp built and exhibits the problem - would that help?
15:47:04
frgo
Later on - I am setting up a small app that helps demonstrate the issue. For not havimg to build clasp over and over ;-)
17:25:45
drmeister
It writes out JITted symbols and their addresses and sizes to symbolicate backtraces.