[MacRuby-devel] [MacRuby] #380: issues with Set

MacRuby ruby-noreply at macosforge.org
Sat Oct 10 21:15:44 PDT 2009


#380: issues with Set
-------------------------------------+--------------------------------------
 Reporter:  mattaimonetti@…          |       Owner:  lsansonetti@…        
     Type:  defect                   |      Status:  new                  
 Priority:  blocker                  |   Milestone:  MacRuby 0.5          
Component:  MacRuby                  |    Keywords:                       
-------------------------------------+--------------------------------------

Old description:

> {{{
> macruby -e "require 'rubygems'; require 'set'; raw =
> Set.new(Gem.cache.map{|gem_data| gem_data}); puts raw.inspect"
> }}}
>

> {{{
> uncaught Objective-C/C++ exception...
> 2009-10-10 18:42:47.441 macruby[48074:903] *** Terminating app due to
> uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSCFSet
> count]: method sent to an uninitialized mutable set object'
> *** Call stack at first throw:
> (
>         0   CoreFoundation                      0x00007fff8454f5a4
> __exceptionPreprocess + 180
>         1   libobjc.A.dylib                     0x00007fff804e1313
> objc_exception_throw + 45
>         2   CoreFoundation                      0x00007fff845a8c33
> -[__NSPlaceholderSet count] + 163
>         3   CoreFoundation                      0x00007fff8455bb99
> -[NSSet countByEnumeratingWithState:objects:count:] + 169
>         4   CoreFoundation                      0x00007fff845a9662
> -[NSSet _applyValues:context:] + 114
>         5   CoreFoundation                      0x00007fff844d6929
> CFSetApplyFunction + 89
>         6   libmacruby.dylib                    0x00000001000e2220
> rb_set_each + 48
>         7   libmacruby.dylib                    0x000000010015faa7
> rb_vm_call_with_cache2 + 4663
>         8   libmacruby.dylib                    0x0000000100037696
> enum_to_a + 86
>         9   libmacruby.dylib                    0x000000010016d62c
> rb_vm_dispatch + 5996
>         10  ???                                 0x000000010112dcb9 0x0 +
> 4312980665
>         11  ???                                 0x0000000101100239 0x0 +
> 4312793657
>         12  libmacruby.dylib                    0x000000010003f8d9
> ruby_run_node + 73
>         13  macruby                             0x0000000100000dd8 main +
> 152
>         14  macruby                             0x0000000100000d34 start
> + 52
>         15  ???                                 0x0000000000000003 0x0 +
> 3
> )
> terminate called after throwing an instance of 'NSException'
> }}}

New description:

 {{{
 macruby -e "require 'rubygems'; require 'set'; raw =
 Set.new(Gem.cache.map{|gem_data| gem_data}); puts raw.inspect"
 }}}


 {{{
 uncaught Objective-C/C++ exception...
 2009-10-10 18:42:47.441 macruby[48074:903] *** Terminating app due to
 uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSCFSet
 count]: method sent to an uninitialized mutable set object'
 *** Call stack at first throw:
 (
         0   CoreFoundation                      0x00007fff8454f5a4
 __exceptionPreprocess + 180
         1   libobjc.A.dylib                     0x00007fff804e1313
 objc_exception_throw + 45
         2   CoreFoundation                      0x00007fff845a8c33
 -[__NSPlaceholderSet count] + 163
         3   CoreFoundation                      0x00007fff8455bb99 -[NSSet
 countByEnumeratingWithState:objects:count:] + 169
         4   CoreFoundation                      0x00007fff845a9662 -[NSSet
 _applyValues:context:] + 114
         5   CoreFoundation                      0x00007fff844d6929
 CFSetApplyFunction + 89
         6   libmacruby.dylib                    0x00000001000e2220
 rb_set_each + 48
         7   libmacruby.dylib                    0x000000010015faa7
 rb_vm_call_with_cache2 + 4663
         8   libmacruby.dylib                    0x0000000100037696
 enum_to_a + 86
         9   libmacruby.dylib                    0x000000010016d62c
 rb_vm_dispatch + 5996
         10  ???                                 0x000000010112dcb9 0x0 +
 4312980665
         11  ???                                 0x0000000101100239 0x0 +
 4312793657
         12  libmacruby.dylib                    0x000000010003f8d9
 ruby_run_node + 73
         13  macruby                             0x0000000100000dd8 main +
 152
         14  macruby                             0x0000000100000d34 start +
 52
         15  ???                                 0x0000000000000003 0x0 + 3
 )
 terminate called after throwing an instance of 'NSException'
 }}}

--

Comment(by lsansonetti@…):

 I think it's time to get rid of set.c and use the pure ruby implementation
 again.

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



More information about the MacRuby-devel mailing list