#194: NSOperation / NSOperationQueue#addOperation causes crash? ------------------------------------+--------------------------------------- Reporter: rebo...@… | Owner: lsansone...@… Type: defect | Status: new Priority: blocker | Milestone: Component: MacRuby | Keywords: NSOperation NSOperationQueue ------------------------------------+--------------------------------------- The below fails wtih a segmentation fault, not sure if it is because I am calling in the wrong way
{{{ ## Macruby test of NSOperation and NSOperationQueue class PageLoadOp < NSOperation def initialize return self end def main puts 'test' end end ## in awakeFromNib or whever queue = NSOperationQueue.alloc.init foobar = PageLoadOp.new queue.addOperation(foobar) sleep(10) }}} not sure if the below helps:: {{{ (gdb) thread apply all bt Thread 11 (process 1052 thread 0x5203): #0 0x0000000000000000 in ?? () Cannot access memory at address 0x0 Thread 10 (process 1052 thread 0x5103): #0 0x0000000000000000 in ?? () Cannot access memory at address 0x0 Thread 9 (process 1052 thread 0x5003): #0 0x0000000000000000 in ?? () Cannot access memory at address 0x0 Thread 8 (process 1052 thread 0x4f03): #0 0x0000000000000000 in ?? () Cannot access memory at address 0x0 Thread 7 (process 1052 thread 0x4e03): #0 0x0000000000000000 in ?? () Cannot access memory at address 0x0 Thread 6 (process 1052 thread 0x4d03): #0 0x0000000000000000 in ?? () Cannot access memory at address 0x0 Thread 5 (process 1052 thread 0x4c03): #0 0x0000000000000000 in ?? () Cannot access memory at address 0x0 Thread 4 (process 1052 thread 0x4b03): #0 0x000000010010ac74 in vm_eval_body (th=0x8002a55c0) at vm.c:1214 #1 0x000000010010c41a in vm_call0 (th=0x0, klass=4385145776, recv=34362508896, id=9320, oid=<value temporarily unavailable, due to optimizations>, argc=0, argv=0x0, body=0x800282140, nosuper=0) at vm_eval.c:61 #2 0x0000000100124fc4 in rb_ruby_to_objc_closure_handler_main (ctx=<value temporarily unavailable, due to optimizations>) at objc.m:1717 #3 0x000000010012518c in rb_ruby_to_objc_closure_handler (cif=<value temporarily unavailable, due to optimizations>, resp=<value temporarily unavailable, due to optimizations>, args=<value temporarily unavailable, due to optimizations>, userdata=<value temporarily unavailable, due to optimizations>) at objc.m:1756 #4 0x00007fff80028225 in ffi_closure_unix64_inner () #5 0x00007fff8002760e in ffi_closure_unix64 () #6 0x00007fff8442156d in _pthread_wqthread () #7 0x00007fff84421431 in start_wqthread () Thread 3 (process 1052 thread 0x2c03): #0 0x00007fff843c4d02 in __semwait_signal () #1 0x00007fff843ecbe9 in _pthread_cond_wait () #2 0x00007fff839d0081 in batchFinalizeOnTwoThreads () #3 0x00007fff846b1a0c in auto_collect_internal () #4 0x00007fff846b23b0 in auto_collection_thread () #5 0x00007fff843ebdcb in _pthread_start () #6 0x00007fff843ebc8d in thread_start () Thread 2 (process 1052 thread 0x2a03): #0 0x00007fff843c4d02 in __semwait_signal () #1 0x00007fff8442cf27 in nanosleep () #2 0x0000000100115ffb in thread_timer (dummy=<value temporarily unavailable, due to optimizations>) at thread_pthread.c:571 #3 0x00007fff843ebdcb in _pthread_start () #4 0x00007fff843ebc8d in thread_start () Thread 1 (process 1052 thread 0x10b): #0 0x00007fff843c4d02 in __semwait_signal () #1 0x00007fff843ecbe9 in _pthread_cond_wait () #2 0x0000000100117ce3 in native_sleep (th=0x7fff7076e720, tv=0x7fff5fbfc660) at thread_pthread.c:455 #3 0x0000000100117e99 in sleep_timeval (th=<value temporarily unavailable, due to optimizations>, tv={tv_sec = 10, tv_usec = 0}) at thread.c:728 #4 0x0000000100091acf in rb_f_sleep (argc=1886840608, argv=0x80000ea40) at process.c:2940 #5 0x00000001001105b7 in vm_call_method (th=0x80000e9c0, cfp=0xc0821fdc0, num=1, blockptr=0x0, flag=2145, id=<value temporarily unavailable, due to optimizations>, recv=34362400768, klass=4385147136, mcache=0x800280d80) at vm_insnhelper.c:379 #6 0x0000000100105f2f in vm_eval (th=0x80000e9c0, initial=<value temporarily unavailable, due to optimizations>) at insns.def:1067 #7 0x000000010010aef2 in vm_eval_body (th=0x80000e9c0) at vm.c:1033 #8 0x000000010010c41a in vm_call0 (th=0x80000ea98, klass=4385147136, recv=34362400768, id=125936, oid=<value temporarily unavailable, due to optimizations>, argc=1606403680, argv=0x0, body=0x800282740, nosuper=0) at vm_eval.c:61 #9 0x0000000100124fc4 in rb_ruby_to_objc_closure_handler_main (ctx=<value temporarily unavailable, due to optimizations>) at objc.m:1717 #10 0x00000001001251b9 in rb_ruby_to_objc_closure_handler (cif=<value temporarily unavailable, due to optimizations>, resp=<value temporarily unavailable, due to optimizations>, args=<value temporarily unavailable, due to optimizations>, userdata=<value temporarily unavailable, due to optimizations>) at objc.m:1744 #11 0x00007fff80028225 in ffi_closure_unix64_inner () #12 0x00007fff8002760e in ffi_closure_unix64 () #13 0x00007fff80b521da in -[NSIBObjectData nibInstantiateWithOwner:topLevelObjects:] () #14 0x00007fff80b484f9 in loadNib () #15 0x00007fff80b47ed9 in +[NSBundle(NSNibLoading) _loadNibFile:nameTable:withZone:ownerBundle:] () #16 0x00007fff80b47ab4 in +[NSBundle(NSNibLoading) loadNibNamed:owner:] () #17 0x00007fff80b477e5 in NSApplicationMain () #18 0x00007fff8002748c in ffi_call_unix64 () #19 0x00007fff5fbfe220 in ?? () #20 0x00007fff5fbfe210 in ?? () #21 0x00007fff80027f13 in ffi_call () Cannot access memory at address 0x12 }}} -- Ticket URL: <http://www.macruby.org/trac/ticket/194> MacRuby <http://macruby.org/> _______________________________________________ MacRuby-devel mailing list MacRuby-devel@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel