[ruby-core:75424] [Ruby trunk Bug#12346][Closed] Ruby 2.3.0 64-bit (mingw64-32) WIN32OLE_TYPE.typelibs seg faults on Windows 10 64-bit

From: nobu@...
Date: 2016-05-09 21:59:14 UTC
List: ruby-core #75424
Issue #12346 has been updated by Nobuyoshi Nakada.

Status changed from Feedback to Closed
Backport changed from 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN to 2.3: DONE

----------------------------------------
Bug #12346: Ruby 2.3.0 64-bit (mingw64-32) WIN32OLE_TYPE.typelibs seg faults on Windows 10 64-bit
https://bugs.ruby-lang.org/issues/12346#change-58543

* Author: Allen Hewes
* Status: Closed
* Priority: Normal
* Assignee: cruby-windows
* ruby -v: ruby 2.3.0p0 (2015-12-25 revision 53290) [x64-mingw32]
* Backport: 2.3: DONE
----------------------------------------
Ruby Windows binaries are from RubyInstaller.org.

Seg fault also happens with Ruby 2.3.1 using the same 64-bit DevKit.

in the test suite file test/win32ole/test_win32ole_type.rb, there is the test
`test_s_typelibs`:

```ruby
def test_s_typelibs 
  tlibs = WIN32OLE_TYPE.typelibs.sort 
  tlibs2 = WIN32OLE_TYPELIB.typelibs.collect{|t|t.name}.sort
  assert_equal(tlibs2, tlibs) 
end 
```

Ruby 2.3.0 64-bit produces segmentation fault at both places:

```ruby
  tlibs = WIN32OLE_TYPE.typelibs.sort
  tlibs2 = WIN32OLE_TYPELIB.typelibs.collect{|t|t.name}.sort 
```

very basic one line check for each test:

```
ruby.exe -e "require 'win32ole'" -e "puts WIN32OLE_TYPE.typelibs.count"
ruby.exe -e "require 'win32ole'" -e "puts WIN32OLE_TYPELIB.typelibs.collect{|t|t.name}.count"
```

fails in:
ruby-2.3.0-x64-mingw32 (see attachments)

works in:
ruby-2.3.0-i386-mingw32 (572)
ruby-2.2.4-i386-mingw32 (572)
ruby-2.2.4-x64-mingw32 (574)
ruby-2.1.8-i386-mingw32 (572)
ruby-2.1.8-x64-mingw32 (574)

I've attached the crash outputs for both:

```
WIN32OLE_TYPE.typelibs.sort = ruby-2.3.0p0-test_s_typelibs-seg-fault.txt
WIN32OLE_TYPELIB.typelibs.collect{|t|t.name}.sort = ruby-2.3.0p0-test_s_typelibs-collect-seg-fault.txt
```
```
systeminfo | findstr /R /C:"^OS [Name|Version]" /C:"^Hotfix" /C:"KB"
OS Name:                   Microsoft Windows 10 Pro
OS Version:                10.0.10586 N/A Build 10586
Hotfix(s):                 15 Hotfix(s) Installed.
                           [01]: KB2693643
                           [02]: KB3105211
                           [03]: KB3116900
                           [04]: KB3120677
                           [05]: KB3122947
                           [06]: KB3124200
                           [07]: KB3124262
                           [08]: KB3124263
                           [09]: KB3135173
                           [10]: KB3139907
                           [11]: KB3140741
                           [12]: KB3140743
                           [13]: KB3140768
                           [14]: KB3154132
                           [15]: KB3147458

---Files--------------------------------
ruby-2.3.0p0-test_s_typelibs-seg-fault.txt (14.6 KB)
ruby-2.3.0p0-test_s_typelibs-collect-seg-fault.txt (13.9 KB)


-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread

Prev Next