[Ecls-list] threads-enabled ecl crashes on mac os x [10.5.1, Intel]

Kamil Shakirov kamils80 at gmail.com
Sun Jan 20 10:26:06 UTC 2008


I'd like to embed CL scripting in my threaded C++ application. ECL  
(0.9j-p1) was compiled with threads support. First, I wanted  to test  
the code snippet from the example (examples/threads/import/import.c)  
that comes with ECL distribution. This works fine on Linux and win32  
but fails on mac os x (intel). Is that known issue?

Here is my log:

devbook% uname -a
Darwin devbook.local 9.1.0 Darwin Kernel Version 9.1.0: Wed Oct 31  
17:46:22 PDT 2007; root:xnu-1228.0.2~1/RELEASE_I386 i386

devbook% ./configure --prefix=/Users/kamil/local/lisp/ecl --enable- 

devbook% ecl
;;; Loading #P"/Users/kamil/local/lisp/ecl/lib/ecl/ASDF.fas"
; loading system definition from
; /Users/kamil/.lisp/systems/asdf-binary-locations.asd into #<ASDF44  
;;; Loading "/Users/kamil/.lisp/systems/asdf-binary-locations.asd"
; registering #<SYSTEM ASDF-BINARY-LOCATIONS 22249120> as ASDF-BINARY- 
;;; Loading #P"/Users/kamil/local/lisp/ecl/lib/ecl/cmp.fas"
;;; Loading #P"/Users/kamil/local/lisp/ecl/lib/ecl/sysfun.lsp"
;;; Loading "/Users/kamil/.lisp/site/asdf-binary-locations/dev/ 
ECL (Embeddable Common-Lisp) 0.9j
Copyright (C) 1984 Taiichi Yuasa and Masami Hagiya
Copyright (C) 1993 Giuseppe Attardi
Copyright (C) 2000 Juan J. Garcia-Ripoll
ECL is free software, and you are welcome to redistribute it
under certain conditions; see file 'Copyright' for details.
Type :h for Help.  Top level.
 > *features*
 > (mp:all-processes)
(#<process SI:TOP-LEVEL 00018fe0>)
 > (flet ((count-numbers (end-number)
          (dotimes (i end-number)
	   (format t "~%;;; Counting: ~i" i)
	   (sleep 1))))
   (mp:process-run-function 'counter #'count-numbers 10))
zsh: bus error  ecl

devbook% make
g++ -g -Wall -D_DEBUG -D_REENTRANT `ecl-config --cflags` -MD -c main.cpp
g++ main.o -o proba `ecl-config --ldflags`

devbook% ./proba
zsh: bus error  ./proba

devbook% gdb proba
GNU gdb 6.3.50-20050815 (Apple version gdb-768) (Tue Oct  2 04:07:49  
UTC 2007)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and  
you are
welcome to change it and/or distribute copies of it under certain  
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for  
This GDB was configured as "i386-apple-darwin"...Reading symbols for  
shared libraries ..... done

(gdb) run
Starting program: /Users/kamil/temp/ecl_app.git/src/proba
Reading symbols for shared libraries ++++. done

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_PROTECTION_FAILURE at address: 0x00000000
[Switching to process 51624 thread 0x1103]
0x00000000 in ?? ()

Thanks for your help.

More information about the ecl-devel mailing list