From: "drbrain (Eric Hodel)" Date: 2013-01-26T06:59:19+09:00 Subject: [ruby-core:51691] [ruby-trunk - Bug #6829][Rejected] Failure using Win32ole (happens in 1.8.7 and 1.9 Issue #6829 has been updated by drbrain (Eric Hodel). Status changed from Feedback to Rejected Marking this as rejected due to lack of feedback by the submitter. ---------------------------------------- Bug #6829: Failure using Win32ole (happens in 1.8.7 and 1.9 https://bugs.ruby-lang.org/issues/6829#change-35658 Author: mvanduyn (Mitch VanDuyn) Status: Rejected Priority: Normal Assignee: suke (Masaki Suketa) Category: ext Target version: ruby -v: 1.9.1 and 1.8.7 The following code: require 'rubygems' require 'win32ole' pdk = WIN32OLE.new("StampsDotCom.PDK5") internet_postage = pdk.InternetPostage3 print_job = pdk.CreatePrintJob5 print_job.MailClass = 0 # first class print_job.MailpieceFormFactor = 1 # envelope print_job.MediaID = 2 ##10 envelope print_job.PrinterName = "\\\\stamps1\\Dev1" print_job.MailpieceWeight = 1 print_job.AddRecipient("Stamps.com\r\n3420 Ocean Park Blvd Ste 1040\r\nSanta Monica, CA 90405") internet_postage.PrintPostage("Stamps.com\r\n3420 Ocean Park Blvd Ste 1040\r\nSanta Monica, CA 90405") # this call works internet_postage.PrintPostageEx(1, print_job) # this call fails when run IRB causes the below error. To fully reproduce this problem you will have to load stamps.com exe which is available from stamps.com (although you will have to get a trial account to get the exe, I can store the exe if needed, but its too large to upload here. This code is from the stamps.com documentation, and is very similar to other code I have run in .NET, so I am sure it is correct. A couple of notes: 1) The last 2 lines above have very similar functions. The second to last line executes perfectly, but the last line causes the failure. So this demonstrates that the basic com communication is working fine. 2) The last line is a bit different because it is being passed back an number (fine) PLUS a pointer to an object that is coming from the com object. Could this be the problem? There is the dump! (irb):12: [BUG] Segmentation fault ruby 1.9.3p194 (2012-04-20) [i386-mingw32] -- Control frame information ----------------------------------------------- c:0024 p:---- s:0084 b:0084 l:000083 d:000083 CFUNC :method_missing c:0023 p:0016 s:0082 b:0082 l:0021ac d:000081 EVAL (irb):12 c:0022 p:---- s:0080 b:0080 l:000079 d:000079 FINISH c:0021 p:---- s:0078 b:0078 l:000077 d:000077 CFUNC :eval c:0020 p:0028 s:0071 b:0071 l:000070 d:000070 METHOD C:/Ruby193/lib/ruby/1.9.1/i rb/workspace.rb:80 c:0019 p:0033 s:0064 b:0063 l:000062 d:000062 METHOD C:/Ruby193/lib/ruby/1.9.1/i rb/context.rb:254 c:0018 p:0031 s:0058 b:0058 l:00241c d:000057 BLOCK C:/Ruby193/lib/ruby/1.9.1/i rb.rb:159 c:0017 p:0042 s:0050 b:0050 l:000049 d:000049 METHOD C:/Ruby193/lib/ruby/1.9.1/i rb.rb:273 c:0016 p:0011 s:0045 b:0045 l:00241c d:000044 BLOCK C:/Ruby193/lib/ruby/1.9.1/i rb.rb:156 c:0015 p:0144 s:0041 b:0041 l:000024 d:000040 BLOCK C:/Ruby193/lib/ruby/1.9.1/i rb/ruby-lex.rb:243 c:0014 p:---- s:0038 b:0038 l:000037 d:000037 FINISH c:0013 p:---- s:0036 b:0036 l:000035 d:000035 CFUNC :loop c:0012 p:0009 s:0033 b:0033 l:000024 d:000032 BLOCK C:/Ruby193/lib/ruby/1.9.1/i rb/ruby-lex.rb:229 c:0011 p:---- s:0031 b:0031 l:000030 d:000030 FINISH c:0010 p:---- s:0029 b:0029 l:000028 d:000028 CFUNC :catch c:0009 p:0023 s:0025 b:0025 l:000024 d:000024 METHOD C:/Ruby193/lib/ruby/1.9.1/i rb/ruby-lex.rb:228 c:0008 p:0046 s:0022 b:0022 l:00241c d:00241c METHOD C:/Ruby193/lib/ruby/1.9.1/i rb.rb:155 c:0007 p:0011 s:0019 b:0019 l:001394 d:000018 BLOCK C:/Ruby193/lib/ruby/1.9.1/i rb.rb:70 c:0006 p:---- s:0017 b:0017 l:000016 d:000016 FINISH c:0005 p:---- s:0015 b:0015 l:000014 d:000014 CFUNC :catch c:0004 p:0183 s:0011 b:0011 l:001394 d:001394 METHOD C:/Ruby193/lib/ruby/1.9.1/i rb.rb:69 c:0003 p:0039 s:0006 b:0006 l:0001e4 d:001f4c EVAL C:/Ruby193/bin/irb:12 c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH c:0001 p:0000 s:0002 b:0002 l:0001e4 d:0001e4 TOP -- Ruby level backtrace information ---------------------------------------- C:/Ruby193/bin/irb:12:in `
' C:/Ruby193/lib/ruby/1.9.1/irb.rb:69:in `start' C:/Ruby193/lib/ruby/1.9.1/irb.rb:69:in `catch' C:/Ruby193/lib/ruby/1.9.1/irb.rb:70:in `block in start' C:/Ruby193/lib/ruby/1.9.1/irb.rb:155:in `eval_input' C:/Ruby193/lib/ruby/1.9.1/irb/ruby-lex.rb:228:in `each_top_level_statement' C:/Ruby193/lib/ruby/1.9.1/irb/ruby-lex.rb:228:in `catch' C:/Ruby193/lib/ruby/1.9.1/irb/ruby-lex.rb:229:in `block in each_top_level_statem ent' C:/Ruby193/lib/ruby/1.9.1/irb/ruby-lex.rb:229:in `loop' C:/Ruby193/lib/ruby/1.9.1/irb/ruby-lex.rb:243:in `block (2 levels) in each_top_l evel_statement' C:/Ruby193/lib/ruby/1.9.1/irb.rb:156:in `block in eval_input' C:/Ruby193/lib/ruby/1.9.1/irb.rb:273:in `signal_status' C:/Ruby193/lib/ruby/1.9.1/irb.rb:159:in `block (2 levels) in eval_input' C:/Ruby193/lib/ruby/1.9.1/irb/context.rb:254:in `evaluate' C:/Ruby193/lib/ruby/1.9.1/irb/workspace.rb:80:in `evaluate' C:/Ruby193/lib/ruby/1.9.1/irb/workspace.rb:80:in `eval' (irb):12:in `irb_binding' (irb):12:in `method_missing' -- C level backtrace information ------------------------------------------- C:\Windows\SysWOW64\ntdll.dll(ZwWaitForSingleObject+0x15) [0x76eff8b1] C:\Windows\syswow64\kernel32.dll(WaitForSingleObjectEx+0x43) [0x763b1194] C:\Windows\syswow64\kernel32.dll(WaitForSingleObject+0x12) [0x763b1148] C:\Ruby193\bin\msvcrt-ruby191.dll(rb_vm_bugreport+0xf9) [0x62e5c589] C:\Ruby193\bin\msvcrt-ruby191.dll(rb_name_err_mesg_new+0x17a) [0x62d3a7e2] C:\Ruby193\bin\msvcrt-ruby191.dll(rb_bug+0x2f) [0x62d3b4fb] C:\Ruby193\bin\msvcrt-ruby191.dll(rb_check_safe_str+0x1a4) [0x62dee168] [0x004011e6] C:\Windows\syswow64\kernel32.dll(GetProfileStringW+0x12aa3) [0x763f003f] C:\Windows\SysWOW64\ntdll.dll(RtlKnownExceptionFilter+0xb7) [0x76f574df] -- Other runtime information ----------------------------------------------- * Loaded script: irb * Loaded features: 0 enumerator.so 1 C:/Ruby193/lib/ruby/1.9.1/i386-mingw32/enc/encdb.so 2 C:/Ruby193/lib/ruby/1.9.1/i386-mingw32/enc/iso_8859_1.so 3 C:/Ruby193/lib/ruby/1.9.1/i386-mingw32/enc/trans/transdb.so 4 C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/defaults.rb 5 C:/Ruby193/lib/ruby/1.9.1/i386-mingw32/rbconfig.rb 6 C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/deprecate.rb 7 C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/exceptions.rb 8 C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/defaults/operating_system.rb 9 C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb 10 C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems.rb 11 C:/Ruby193/lib/ruby/1.9.1/e2mmap.rb 12 C:/Ruby193/lib/ruby/1.9.1/irb/init.rb 13 C:/Ruby193/lib/ruby/1.9.1/irb/workspace.rb 14 C:/Ruby193/lib/ruby/1.9.1/irb/inspector.rb 15 C:/Ruby193/lib/ruby/1.9.1/irb/context.rb 16 C:/Ruby193/lib/ruby/1.9.1/irb/extend-command.rb 17 C:/Ruby193/lib/ruby/1.9.1/irb/output-method.rb 18 C:/Ruby193/lib/ruby/1.9.1/irb/notifier.rb 19 C:/Ruby193/lib/ruby/1.9.1/irb/slex.rb 20 C:/Ruby193/lib/ruby/1.9.1/irb/ruby-token.rb 21 C:/Ruby193/lib/ruby/1.9.1/irb/ruby-lex.rb 22 C:/Ruby193/lib/ruby/1.9.1/irb/src_encoding.rb 23 C:/Ruby193/lib/ruby/1.9.1/irb/magic-file.rb 24 C:/Ruby193/lib/ruby/1.9.1/i386-mingw32/enc/euc_jp.so 25 C:/Ruby193/lib/ruby/1.9.1/i386-mingw32/enc/shift_jis.so 26 C:/Ruby193/lib/ruby/1.9.1/i386-mingw32/etc.so 27 C:/Ruby193/lib/ruby/1.9.1/i386-mingw32/dl.so 28 C:/Ruby193/lib/ruby/1.9.1/i386-mingw32/fiddle.so 29 C:/Ruby193/lib/ruby/1.9.1/fiddle/function.rb 30 C:/Ruby193/lib/ruby/1.9.1/fiddle/closure.rb 31 C:/Ruby193/lib/ruby/1.9.1/fiddle.rb 32 C:/Ruby193/lib/ruby/1.9.1/dl.rb 33 C:/Ruby193/lib/ruby/site_ruby/1.9.1/rbreadline.rb 34 C:/Ruby193/lib/ruby/site_ruby/1.9.1/readline.rb 35 C:/Ruby193/lib/ruby/1.9.1/irb/input-method.rb 36 C:/Ruby193/lib/ruby/1.9.1/irb/locale.rb 37 C:/Ruby193/lib/ruby/1.9.1/irb.rb 38 C:/Ruby193/lib/ruby/1.9.1/i386-mingw32/enc/utf_16le.so 39 C:/Ruby193/lib/ruby/1.9.1/i386-mingw32/enc/trans/single_byte.so 40 C:/Ruby193/lib/ruby/1.9.1/i386-mingw32/enc/trans/utf_16_32.so 41 C:/Ruby193/lib/ruby/1.9.1/i386-mingw32/win32ole.so 42 C:/Ruby193/lib/ruby/1.9.1/win32ole.rb [NOTE] You may have encountered a bug in the Ruby interpreter or extension libraries. Bug reports are welcome. For details: http://www.ruby-lang.org/bugreport.html This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. -- http://bugs.ruby-lang.org/