[MacRuby] #1149: Occasional crash using smtp within a dispatch async

MacRuby ruby-noreply at macosforge.org
Thu Feb 3 11:00:32 PST 2011


#1149: Occasional crash using smtp within a dispatch async
---------------------------------------+------------------------------------
 Reporter:  matt.massicotte@…          |       Owner:  lsansonetti@…        
     Type:  defect                     |      Status:  new                  
 Priority:  major                      |   Milestone:                       
Component:  MacRuby                    |    Keywords:                       
---------------------------------------+------------------------------------
 I have macruby code that looks something like this:

 group = Dispatch::Group.new()

       @cam_device_hash.values.each do |device|
         Dispatch::Queue.concurrent.async(group) do
           Net::SMTP.start("smpt.com") do |smtp|
              .. email
         end
       end

       group.wait()

 Occasionally, this code crashes macruby.  I cannot attach the full crash
 log to the bug: here's the best I can do.

 Thread 4 Crashed:  Dispatch queue: com.apple.root.default-priority
 0   libSystem.B.dylib                   0x00007fffffe00660 __bzero + 96
 1   libmacruby.dylib                    0x00000001000ef11f rb_fd_zero + 47
 2   socket.bundle                       0x0000000104fe9548
 try_wait_connectable + 56
 3   libmacruby.dylib                    0x00000001001514e5 rb_ensure + 37
 4   socket.bundle                       0x0000000104fe934d ruby_connect +
 461
 5   socket.bundle                       0x0000000104fed3ce
 init_inetsock_internal + 254
 6   libmacruby.dylib                    0x00000001001514e5 rb_ensure + 37
 7   socket.bundle                       0x0000000104fe8f7f tcp_init + 143
 8   libmacruby.dylib                    0x000000010014c0cc rb_vm_dispatch
 + 7676
 9   libmacruby.dylib                    0x000000010006fe2a
 rb_class_new_instance + 538
 10  libmacruby.dylib                    0x00000001000571d8 rb_io_binmode +
 1224
 11  libmacruby.dylib                    0x000000010014c0cc rb_vm_dispatch
 + 7676
 12  smtp.rbo                            0x00000001056c12ac 0x1056c0000 +
 4780
 13  smtp.rbo                            0x00000001056c8790
 MREP_2C248079BA6B4801B49202DD35DFDA7F + 27552
 14  libmacruby.dylib                    0x000000010014e993
 rb_vm_yield_args + 1923
 15  timeout.rbo                         0x0000000100ff866d
 MREP_ECE09555A8A04827AFC1AB585E102057 + 3997
 16  libmacruby.dylib                    0x000000010014c3e7 rb_vm_dispatch
 + 8471
 17  timeout.rbo                         0x0000000100ff749c 0x100ff6000 +
 5276
 18  timeout.rbo                         0x0000000100ff942d
 MREP_ECE09555A8A04827AFC1AB585E102057 + 7517
 19  libmacruby.dylib                    0x000000010014c3e7 rb_vm_dispatch
 + 8471
 20  smtp.rbo                            0x00000001056c12ac 0x1056c0000 +
 4780
 21  smtp.rbo                            0x00000001056c7e54
 MREP_2C248079BA6B4801B49202DD35DFDA7F + 25188
 22  libmacruby.dylib                    0x000000010014c67c rb_vm_dispatch
 + 9132
 23  smtp.rbo                            0x00000001056c12ac 0x1056c0000 +
 4780
 24  smtp.rbo                            0x00000001056c77a3
 MREP_2C248079BA6B4801B49202DD35DFDA7F + 23475
 25  libmacruby.dylib                    0x000000010014c67c rb_vm_dispatch
 + 9132
 26  smtp.rbo                            0x00000001056c12ac 0x1056c0000 +
 4780
 27  smtp.rbo                            0x00000001056c73b7
 MREP_2C248079BA6B4801B49202DD35DFDA7F + 22471
 28  libmacruby.dylib                    0x000000010014c612 rb_vm_dispatch
 + 9026
 29  ???                                 0x0000000102d5b356 0 + 4342526806
 30  ???                                 0x0000000105f3cfc6 0 + 4394831814
 31  libmacruby.dylib                    0x000000010014c3bc rb_vm_dispatch
 + 8428
 32  ???                                 0x0000000102d5b356 0 + 4342526806
 33  ???                                 0x0000000105f3ca22 0 + 4394830370
 34  libmacruby.dylib                    0x000000010014e977
 rb_vm_yield_args + 1895
 35  libmacruby.dylib                    0x0000000100102d88 rb_yield + 40
 36  libmacruby.dylib                    0x000000010001549d rary_reserve +
 989
 37  libmacruby.dylib                    0x000000010014c3bc rb_vm_dispatch
 + 8428
 38  ???                                 0x0000000102d5b356 0 + 4342526806
 39  ???                                 0x0000000105f3bd1d 0 + 4394827037
 40  libmacruby.dylib                    0x000000010014d778
 rb_vm_block_eval + 1432
 41  libmacruby.dylib                    0x000000010014c0cc rb_vm_dispatch
 + 7676
 42  ???                                 0x0000000102d5b356 0 + 4342526806
 43  ???                                 0x0000000105f3c573 0 + 4394829171
 44  libmacruby.dylib                    0x000000010014d759
 rb_vm_block_eval + 1401
 45  libmacruby.dylib                    0x000000010016025a rb_rescue2 + 58
 46  libSystem.B.dylib                   0x00007fff800ec810
 _dispatch_worker_thread2 + 206
 47  libSystem.B.dylib                   0x00007fff800ec168
 _pthread_wqthread + 353
 48  libSystem.B.dylib                   0x00007fff800ec005 start_wqthread
 + 13

-- 
Ticket URL: <http://www.macruby.org/trac/ticket/1149>
MacRuby <http://macruby.org/>



More information about the macruby-tickets mailing list