[MacRuby-devel] [MacRuby] #569: macrake crashes with abort trap when compiling Phusion Passenger

MacRuby ruby-noreply at macosforge.org
Mon Feb 8 08:43:26 PST 2010


#569: macrake crashes with abort trap when compiling Phusion Passenger
---------------------------------+------------------------------------------
 Reporter:  honglilai@…          |       Owner:  lsansonetti@…        
     Type:  defect               |      Status:  new                  
 Priority:  blocker              |   Milestone:                       
Component:  MacRuby              |    Keywords:                       
---------------------------------+------------------------------------------

Old description:

> How to reproduce:
> {{{
> $ git clone git://github.com/FooBarWidget/passenger.git
> $ cd passenger
> $ macrake nginx
> $ macrake nginx
> (in /Users/hongli/Projects/passenger)
> mkdir -p ext/nginx/libboost_oxt/boost
> Abort trap
> }}}
>
> GDB backtrace:
> {{{
> Program received signal EXC_BAD_ACCESS, Could not access memory.
> Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000001
> 0x00000001001647bb in rb_vm_call_with_cache2 (cache=0x1, block=0x0,
> self=0, klass=8590686624, sel=0x104f1f710, argc=1, argv=0x7fff5fbeb280)
> at dispatcher.cpp:577
> 577         if (cache->flag == 0) {
> (gdb) bt
> #0  0x00000001001647bb in rb_vm_call_with_cache2 (cache=0x1, block=0x0,
> self=0, klass=8590686624, sel=0x104f1f710, argc=1, argv=0x7fff5fbeb280)
> at dispatcher.cpp:577
> #1  0x0000000100176eba in rb_vm_block_eval2 (b=0x200362fa0,
> self=8593484896, sel=0x100fc3790, argc=1, argv=0x7fff5fbeb280) at
> dispatcher.cpp:1549
> #2  0x0000000101165c58 in ?? ()
> #3  0x000000010116bf3e in ?? ()
> #4  0x0000000101174115 in ?? ()
> #5  0x0000000105723431 in ?? ()
> #6  0x000000010016b39f in rb_vm_dispatch (cache=0x10153fb90,
> top=8593882176, self=8593881056, sel=0x100f2b770, block=0x0, opt=0
> '\000', argc=2) at dispatcher.cpp:433
> #7  0x0000000105740d15 in ?? ()
> #8  0x0000000100018104 in rb_ary_each_imp () at JIT.h:33
> #9  0x000000010016b771 in rb_vm_dispatch (cache=0x100f2b8e0,
> top=8593882176, self=8593882048, sel=0x100f2b7e0, block=0x200384360,
> opt=0 '\000', argc=<value temporarily unavailable, due to optimizations>)
> at dispatcher.cpp:130
> #10 0x00000001057407fe in ?? ()
> #11 0x000000010573dd2f in ?? ()
> #12 0x000000010115c617 in ?? ()
> #13 0x00000001011698a9 in ?? ()
> #14 0x000000010573e075 in ?? ()
> #15 0x0000000100018104 in rb_ary_each_imp () at JIT.h:33
> #16 0x000000010016b771 in rb_vm_dispatch (cache=0x100f2b8e0,
> top=8593924224, self=8593925120, sel=0x100f2b7e0, block=0x2003af3c0,
> opt=0 '\000', argc=<value temporarily unavailable, due to optimizations>)
> at dispatcher.cpp:130
> #17 0x000000010116b6b6 in ?? ()
> #18 0x000000010573dcab in ?? ()
> #19 0x000000010115c617 in ?? ()
> #20 0x00000001011698a9 in ?? ()
> #21 0x000000010573e075 in ?? ()
> #22 0x0000000100018104 in rb_ary_each_imp () at JIT.h:33
> #23 0x000000010016b771 in rb_vm_dispatch (cache=0x100f2b8e0,
> top=8592946752, self=8593594208, sel=0x100f2b7e0, block=0x2003b0140,
> opt=0 '\000', argc=<value temporarily unavailable, due to optimizations>)
> at dispatcher.cpp:130
> #24 0x000000010116b6b6 in ?? ()
> #25 0x000000010573dcab in ?? ()
> #26 0x000000010115c617 in ?? ()
> #27 0x00000001011698a9 in ?? ()
> #28 0x000000010573e075 in ?? ()
> #29 0x0000000100018104 in rb_ary_each_imp () at JIT.h:33
> #30 0x000000010016b771 in rb_vm_dispatch (cache=0x100f2b8e0,
> top=8593966304, self=8593966880, sel=0x100f2b7e0, block=0x2003b4860,
> opt=0 '\000', argc=<value temporarily unavailable, due to optimizations>)
> at dispatcher.cpp:130
> #31 0x000000010116b6b6 in ?? ()
> #32 0x000000010573dcab in ?? ()
> #33 0x000000010115c617 in ?? ()
> #34 0x00000001011698a9 in ?? ()
> #35 0x000000010573d266 in ?? ()
> #36 0x000000010573cdae in ?? ()
> #37 0x000000010573cc6f in ?? ()
> #38 0x0000000100018104 in rb_ary_each_imp () at JIT.h:33
> #39 0x000000010016b771 in rb_vm_dispatch (cache=0x100f2b8e0,
> top=8592377568, self=8592358688, sel=0x100f2b7e0, block=0x2002c92c0,
> opt=0 '\000', argc=<value temporarily unavailable, due to optimizations>)
> at dispatcher.cpp:130
> #40 0x000000010573ca5e in ?? ()
> #41 0x000000010117f409 in ?? ()
> #42 0x000000010573c716 in ?? ()
> #43 0x000000010117f361 in ?? ()
> #44 0x000000010117f409 in ?? ()
> #45 0x000000010117f186 in ?? ()
> #46 0x000000010115092c in ?? ()
> #47 0x0000000100047a69 in rb_load (fname=8592730048, wrap=0) at load.c:95
> #48 0x0000000100047ac8 in rb_f_load (rcv=8590055616, sel=0x7fff8481aee9,
> argc=1, argv=0x7fff5fbfe880) at load.c:119
> #49 0x000000010016b39f in rb_vm_dispatch (cache=0x100ffab30,
> top=8590055616, self=8590055616, sel=0x7fff8481aee9, block=0x0, opt=2
> '\002', argc=1) at dispatcher.cpp:433
> #50 0x00000001011102ea in ?? ()
> #51 0x000000010003f579 in ruby_run_node (n=0x20001d8c0) at eval.c:199
> #52 0x0000000100000d28 in main (argc=4, argv=0x100f1c290, envp=<value
> temporarily unavailable, due to optimizations>) at main.cpp:40
> }}}
>
> MacRuby trunk revision 3317.

New description:

 How to reproduce:
 {{{
 $ git clone git://github.com/FooBarWidget/passenger.git
 $ cd passenger
 $ macrake nginx
 (in /Users/hongli/Projects/passenger)
 mkdir -p ext/nginx/libboost_oxt/boost
 Abort trap
 }}}

 GDB backtrace:
 {{{
 Program received signal EXC_BAD_ACCESS, Could not access memory.
 Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000001
 0x00000001001647bb in rb_vm_call_with_cache2 (cache=0x1, block=0x0,
 self=0, klass=8590686624, sel=0x104f1f710, argc=1, argv=0x7fff5fbeb280) at
 dispatcher.cpp:577
 577         if (cache->flag == 0) {
 (gdb) bt
 #0  0x00000001001647bb in rb_vm_call_with_cache2 (cache=0x1, block=0x0,
 self=0, klass=8590686624, sel=0x104f1f710, argc=1, argv=0x7fff5fbeb280) at
 dispatcher.cpp:577
 #1  0x0000000100176eba in rb_vm_block_eval2 (b=0x200362fa0,
 self=8593484896, sel=0x100fc3790, argc=1, argv=0x7fff5fbeb280) at
 dispatcher.cpp:1549
 #2  0x0000000101165c58 in ?? ()
 #3  0x000000010116bf3e in ?? ()
 #4  0x0000000101174115 in ?? ()
 #5  0x0000000105723431 in ?? ()
 #6  0x000000010016b39f in rb_vm_dispatch (cache=0x10153fb90,
 top=8593882176, self=8593881056, sel=0x100f2b770, block=0x0, opt=0 '\000',
 argc=2) at dispatcher.cpp:433
 #7  0x0000000105740d15 in ?? ()
 #8  0x0000000100018104 in rb_ary_each_imp () at JIT.h:33
 #9  0x000000010016b771 in rb_vm_dispatch (cache=0x100f2b8e0,
 top=8593882176, self=8593882048, sel=0x100f2b7e0, block=0x200384360, opt=0
 '\000', argc=<value temporarily unavailable, due to optimizations>) at
 dispatcher.cpp:130
 #10 0x00000001057407fe in ?? ()
 #11 0x000000010573dd2f in ?? ()
 #12 0x000000010115c617 in ?? ()
 #13 0x00000001011698a9 in ?? ()
 #14 0x000000010573e075 in ?? ()
 #15 0x0000000100018104 in rb_ary_each_imp () at JIT.h:33
 #16 0x000000010016b771 in rb_vm_dispatch (cache=0x100f2b8e0,
 top=8593924224, self=8593925120, sel=0x100f2b7e0, block=0x2003af3c0, opt=0
 '\000', argc=<value temporarily unavailable, due to optimizations>) at
 dispatcher.cpp:130
 #17 0x000000010116b6b6 in ?? ()
 #18 0x000000010573dcab in ?? ()
 #19 0x000000010115c617 in ?? ()
 #20 0x00000001011698a9 in ?? ()
 #21 0x000000010573e075 in ?? ()
 #22 0x0000000100018104 in rb_ary_each_imp () at JIT.h:33
 #23 0x000000010016b771 in rb_vm_dispatch (cache=0x100f2b8e0,
 top=8592946752, self=8593594208, sel=0x100f2b7e0, block=0x2003b0140, opt=0
 '\000', argc=<value temporarily unavailable, due to optimizations>) at
 dispatcher.cpp:130
 #24 0x000000010116b6b6 in ?? ()
 #25 0x000000010573dcab in ?? ()
 #26 0x000000010115c617 in ?? ()
 #27 0x00000001011698a9 in ?? ()
 #28 0x000000010573e075 in ?? ()
 #29 0x0000000100018104 in rb_ary_each_imp () at JIT.h:33
 #30 0x000000010016b771 in rb_vm_dispatch (cache=0x100f2b8e0,
 top=8593966304, self=8593966880, sel=0x100f2b7e0, block=0x2003b4860, opt=0
 '\000', argc=<value temporarily unavailable, due to optimizations>) at
 dispatcher.cpp:130
 #31 0x000000010116b6b6 in ?? ()
 #32 0x000000010573dcab in ?? ()
 #33 0x000000010115c617 in ?? ()
 #34 0x00000001011698a9 in ?? ()
 #35 0x000000010573d266 in ?? ()
 #36 0x000000010573cdae in ?? ()
 #37 0x000000010573cc6f in ?? ()
 #38 0x0000000100018104 in rb_ary_each_imp () at JIT.h:33
 #39 0x000000010016b771 in rb_vm_dispatch (cache=0x100f2b8e0,
 top=8592377568, self=8592358688, sel=0x100f2b7e0, block=0x2002c92c0, opt=0
 '\000', argc=<value temporarily unavailable, due to optimizations>) at
 dispatcher.cpp:130
 #40 0x000000010573ca5e in ?? ()
 #41 0x000000010117f409 in ?? ()
 #42 0x000000010573c716 in ?? ()
 #43 0x000000010117f361 in ?? ()
 #44 0x000000010117f409 in ?? ()
 #45 0x000000010117f186 in ?? ()
 #46 0x000000010115092c in ?? ()
 #47 0x0000000100047a69 in rb_load (fname=8592730048, wrap=0) at load.c:95
 #48 0x0000000100047ac8 in rb_f_load (rcv=8590055616, sel=0x7fff8481aee9,
 argc=1, argv=0x7fff5fbfe880) at load.c:119
 #49 0x000000010016b39f in rb_vm_dispatch (cache=0x100ffab30,
 top=8590055616, self=8590055616, sel=0x7fff8481aee9, block=0x0, opt=2
 '\002', argc=1) at dispatcher.cpp:433
 #50 0x00000001011102ea in ?? ()
 #51 0x000000010003f579 in ruby_run_node (n=0x20001d8c0) at eval.c:199
 #52 0x0000000100000d28 in main (argc=4, argv=0x100f1c290, envp=<value
 temporarily unavailable, due to optimizations>) at main.cpp:40
 }}}

 MacRuby trunk revision 3317.

--

Comment(by martinlagardette@…):

 Thanks for another report!

 Can you check against the current SVN trunk HEAD (r3441 as of writing)?

 I have been able to use macrake without issue for this project:
 {{{
 $ git clone git://github.com/FooBarWidget/passenger.git
 [...]
 $ cd passenger/
 $ macrake nginx
 (in /private/tmp/passenger)
 mkdir -p ext/nginx/libboost_oxt/boost
 g++ -Iext  -D_REENTRANT -I/usr/local/include -Wall -g -DPASSENGER_DEBUG
 -DBOOST_DISABLE_ASSERTS -o ext/nginx/libboost_oxt/boost/exceptions.o -c
 ext/boost/src/pthread/exceptions.cpp
 [...]
 cd ext/phusion_passenger && make
 /usr/bin/gcc -I.
 -I/Library/Frameworks/MacRuby.framework/Versions/0.6/usr/include/ruby-1.9.0
 /universal-darwin10.0
 -I/Library/Frameworks/MacRuby.framework/Versions/0.6/usr/include/ruby-1.9.0/ruby/backward
 -I/Library/Frameworks/MacRuby.framework/Versions/0.6/usr/include/ruby-1.9.0
 -I.  -fno-common -fexceptions -fno-common -pipe -O3 -g -Wall -Wno-
 parentheses -arch i386 -arch x86_64 -o native_support.o -c
 native_support.c
 native_support.c: In function ‘create_unix_socket’:
 native_support.c:193: warning: assignment discards qualifiers from pointer
 target type
 native_support.c: In function ‘create_unix_socket’:
 native_support.c:193: warning: assignment discards qualifiers from pointer
 target type
 /usr/bin/gcc -dynamic -bundle -undefined suppress -flat_namespace -arch
 i386 -arch x86_64 -o native_support.bundle native_support.o -L.
 -L/Library/Frameworks/MacRuby.framework/Versions/0.6/usr/lib   -arch i386
 -arch x86_64  -lmacruby
 $
 }}}

-- 
Ticket URL: <http://www.macruby.org/trac/ticket/569#comment:1>
MacRuby <http://macruby.org/>



More information about the MacRuby-devel mailing list