From: Pierce T. W. I. <pi...@tw...> - 2007-11-30 16:28:06
|
On Nov 29, 2007, at 12:24 PM, Chris McGrath wrote: > Puts $RUBYCOCOA_DEBUG =3D true in your app somewhere and have a look = at > the output, that should give you more of a pointer to what's actually > going wrong. Yeah, I've done that already, and posted the results to this list =20 before. It's buserroring in install_ovmix_class_methods after building an =20 OVMIX class. Here's the console output: 2007-11-30 09:23:01.409 Frictionless[8610:813] OVMIX : Registered Ruby =20= method by selector 'tableView:willDisplayCell:forTableColumn:row:' =20 types 'v24@0:4@8@12@16i20' 2007-11-30 09:23:01.413 Frictionless[8610:813] OVMIX : retrieving =20 closure imp for method type 'v24@0:4@8@12@16@20' 2007-11-30 09:23:01.414 Frictionless[8610:813] DATACNV : decoding =20 method encoding 'v24@0:4@8@12@16@20' manually 2007-11-30 09:23:01.414 Frictionless[8610:813] DATACNV : retval -> v 2007-11-30 09:23:01.415 Frictionless[8610:813] DATACNV : argc -> 6 2007-11-30 09:23:01.416 Frictionless[8610:813] DATACNV : arg[0] -> @ 2007-11-30 09:23:01.416 Frictionless[8610:813] DATACNV : arg[1] -> : 2007-11-30 09:23:01.417 Frictionless[8610:813] DATACNV : arg[2] -> @ 2007-11-30 09:23:01.418 Frictionless[8610:813] DATACNV : arg[3] -> @ 2007-11-30 09:23:01.418 Frictionless[8610:813] DATACNV : arg[4] -> @ 2007-11-30 09:23:01.419 Frictionless[8610:813] DATACNV : arg[5] -> @ 2007-11-30 09:23:01.420 Frictionless[8610:813] LIBFFI : make closure =20 argc 6 2007-11-30 09:23:01.420 Frictionless[8610:813] LIBFFI : arg[0] -> =20 ffi_type 0xa011e034 2007-11-30 09:23:01.421 Frictionless[8610:813] LIBFFI : arg[1] -> =20 ffi_type 0xa011e034 2007-11-30 09:23:01.422 Frictionless[8610:813] LIBFFI : arg[2] -> =20 ffi_type 0xa011e034 2007-11-30 09:23:01.423 Frictionless[8610:813] LIBFFI : arg[3] -> =20 ffi_type 0xa011e034 2007-11-30 09:23:01.423 Frictionless[8610:813] LIBFFI : arg[4] -> =20 ffi_type 0xa011e034 2007-11-30 09:23:01.424 Frictionless[8610:813] LIBFFI : arg[5] -> =20 ffi_type 0xa011e034 2007-11-30 09:23:01.424 Frictionless[8610:813] OVMIX : Registered Ruby =20= method by selector 'outlineView:willDisplayCell:forTableColumn:item:' =20= types 'v24@0:4@8@12@16@20' Program received signal: =93EXC_BAD_ACCESS=94. The above method is the last method in ActionBrowser.rb, a subclass of =20= NSObject. So its registered a bunch of methods and I'm guessing its =20 building a class based on the call to RBObjcDerivedClassNew in the =20 backtrace. Here's the stack backtrace: #0 0x0005f713 in install_ovmix_class_methods #1 0x000664dc in RBObjcDerivedClassNew #2 0x00065f22 in ocobj_s_new_with_class_name #3 0x000d10b7 in rb_with_disable_interrupt #4 0x000da636 in rb_eval_string_wrap #5 0x000db24a in rb_eval_string_wrap #6 0x000d84c5 in rb_eval_string_wrap #7 0x000d8e92 in rb_eval_string_wrap #8 0x000d6781 in rb_eval_string_wrap #9 0x000dae3c in rb_eval_string_wrap #10 0x000db24a in rb_eval_string_wrap #11 0x000d84c5 in rb_eval_string_wrap #12 0x000dae3c in rb_eval_string_wrap #13 0x000db24a in rb_eval_string_wrap #14 0x000dbccd in rb_respond_to #15 0x000dbdb6 in rb_funcall #16 0x000c81ab in rb_class_inherited #17 0x000d9e0e in rb_eval_string_wrap #18 0x000e6a47 in rb_load #19 0x000e70a8 in rb_require_safe #20 0x000da636 in rb_eval_string_wrap #21 0x000db24a in rb_eval_string_wrap #22 0x000d84c5 in rb_eval_string_wrap #23 0x000e6a47 in rb_load #24 0x000e70a8 in rb_require_safe #25 0x000da636 in rb_eval_string_wrap #26 0x000db24a in rb_eval_string_wrap #27 0x000d84c5 in rb_eval_string_wrap #28 0x000de658 in rb_thread_trap_eval #29 0x000df506 in rb_yield #30 0x000c010d in rb_ary_each #31 0x000da636 in rb_eval_string_wrap #32 0x000db24a in rb_eval_string_wrap #33 0x000d84c5 in rb_eval_string_wrap #34 0x000d7156 in rb_eval_string_wrap #35 0x000dae3c in rb_eval_string_wrap #36 0x000db24a in rb_eval_string_wrap #37 0x000d84c5 in rb_eval_string_wrap #38 0x000e7388 in rb_load_protect #39 0x000e73b9 in ruby_exec #40 0x000e73e5 in ruby_run #41 0x0006488c in RBApplicationMain #42 0x000029fd in main at main.m:13 But with unfamiliar code, I'd rather have source access to the =20 install_ovmix_class_methods so that I can report a solution to the =20 rubycocoa developers, as it what pointer in particular is bad... Pierce P.S. Source code to app available at = http://www.twinforces.com/frictionless/=20 if anyone wants to look at it. All you have to do is start it up on =20= Leopard to reproduce the crash. |