#321: macgem crashes with "unknown: [BUG] Segmentation fault". ---------------------------+------------------------------------------------ Reporter: occam@… | Owner: lsansonetti@… Type: defect | Status: new Priority: major | Milestone: Component: MacRuby | Keywords: ---------------------------+------------------------------------------------ macgem crashes with "unknown: [BUG] Segmentation fault". I tracked it to rubygems/config_file.rb:118): operating_system_config = Marshal.load Marshal.dump(OPERATING_SYSTEM_DEFAULTS) which crashes in the Marshal.load. Assuming the Marshal.dump is working (I can't confirm), the crash leads to macruby/marshal.c:1037ff where "RSTRING_LEN(arg->src)" blows up in a conditional: if (RSTRING_LEN(arg->src) > arg->offset) { The RSTRING_LEN macro tracks to CFStringGetLength crashing on "ptr" at macruby/string.c:625ff: long rb_str_clen(VALUE ptr) { return CFStringGetLength((CFStringRef)ptr); } The "VALUE ptr" gets passed in from Marshal.load and blows up in CFStringGetLength. I'm not sure whether the parameter is broken (though it seems valid), or whether perhaps Snow Leopard changed CFStringRef so that MacRuby's "struct load_arg *" needs to be updated to maintain compatibility. With luck, this issue is not too hard for a more astute debugger (or somone with knowledge of SL's CFStringRef) to solve. It would be nice to have macgem working (not to mention Marshal'ing). -- Ticket URL: <http://www.macruby.org/trac/ticket/321> MacRuby <http://macruby.org/>