Bug #2836

win32ole + excel: crash when assigning large array

Added by jochen (Jochen Immendörfer) about 2 years ago. Updated about 1 year ago.

[ruby-core:28446]
Status:Closed Start date:03/03/2010
Priority:Normal Due date:
Assignee:suke (Masaki Suketa) % Done:

100%

Category:ext
Target version:-
ruby -v:ruby 1.8.7 (2010-01-10 patchlevel 249) [i386-mswin32]

Description

The following code examples crashes with ruby 1.8.7 (2010-01-10 patchlevel 249) [i386-mswin32], works with ruby 1.9.1p378 (2010-01-10 revision 26273) [i386-mswin32]:

  require 'win32ole'

  x=WIN32OLE.new 'Excel.Application'
  x.visible = true
  x.workbooks.add

  l = (1..10).to_a
  ar = [l]*54447

  # here it crashes:
  x.range(x.cells(1,1),x.cells(ar.length,l.length)).value = ar

Associated revisions

Revision 28213
Added by shyouhei almost 2 years ago

merge revision(s) 27459: * ext/win32ole/win32ole.c (ole_val2variant): fix the core dump when converting Array object to VT_ARRAY variant. [ruby-core:28446] [Bug #2836]

History

Updated by nobu (Nobuyoshi Nakada) about 2 years ago

  • Category set to ext
  • Status changed from Open to Feedback
What do you mean by `crash'?
* an exception occurred,
* ruby interpreter segfaulted,
* Excel aborted,
* the blue-screen-of-death occurred, or
* a HDD destroyed physically?

Updated by jochen (Jochen Immendörfer) about 2 years ago

Sorry, I should have been more verbose.

No exception occurs. The interpreter exits with exit code -107374181. Excel stays alive. 

OS is Windows XP SP3. Excel version is 2003 SP3.

Please let me know if more information is needed.

Updated by nobu (Nobuyoshi Nakada) about 2 years ago

  • Status changed from Feedback to Assigned
  • Assignee set to suke (Masaki Suketa)

Updated by suke (Masaki Suketa) about 2 years ago

I think this issue fixed on ruby_1_8 branch(revision 27459).

Updated by shyouhei (Shyouhei Urabe) almost 2 years ago

  • Status changed from Assigned to Closed
  • % Done changed from 0 to 100
This issue was solved with changeset r28213.
Jochen, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.

Also available in: Atom PDF