Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

adapter/win_32/functions.rb:298: [BUG] Segmentation fault #121

Closed
Nakilon opened this issue May 4, 2018 · 4 comments
Closed

adapter/win_32/functions.rb:298: [BUG] Segmentation fault #121

Nakilon opened this issue May 4, 2018 · 4 comments

Comments

@Nakilon
Copy link

Nakilon commented May 4, 2018

Just installed Ruby to code a bit on Windows.
Using the gem win32screenshot I've got a segfault (jarmo/win32screenshot#26) and I suppose this is how that gem invokes your gem:

require "rautomation"
RAutomation::Window.new({context: :window, title: "Friends"}).active?
C:/Ruby24/lib/ruby/gems/2.4.0/gems/rautomation-0.17.0/lib/rautomation/adapter/wi
n_32/functions.rb:298: [BUG] Segmentation fault
ruby 2.4.4p296 (2018-03-28 revision 63013) [i386-mingw32]

-- Control frame information -----------------------------------------------
c:0009 p:---- s:0043 e:000042 CFUNC  :enum_windows
c:0008 p:0068 s:0037 E:00065c METHOD C:/Ruby24/lib/ruby/gems/2.4.0/gems/rautomat
ion-0.17.0/lib/rautomation/adapter/win_32/functions.rb:298
c:0007 p:0011 s:0028 E:002174 METHOD C:/Ruby24/lib/ruby/gems/2.4.0/gems/rautomat
ion-0.17.0/lib/rautomation/adapter/win_32/functions.rb:140
c:0006 p:0031 s:0023 e:000022 METHOD C:/Ruby24/lib/ruby/gems/2.4.0/gems/rautomat
ion-0.17.0/lib/rautomation/adapter/win_32/window.rb:48
c:0005 p:0008 s:0019 e:000018 METHOD C:/Ruby24/lib/ruby/gems/2.4.0/gems/rautomat
ion-0.17.0/lib/rautomation/adapter/win_32/window.rb:90
c:0004 p:0008 s:0014 e:000013 METHOD C:/Ruby24/lib/ruby/gems/2.4.0/gems/rautomat
ion-0.17.0/lib/rautomation/adapter/win_32/window.rb:80
c:0003 p:0010 s:0010 e:000009 METHOD C:/Ruby24/lib/ruby/gems/2.4.0/gems/rautomat
ion-0.17.0/lib/rautomation/window.rb:124
c:0002 p:0030 s:0006 e:000005 EVAL   main.rb:2 [FINISH]
c:0001 p:0000 s:0003 E:001850 (none) [FINISH]

-- Ruby level backtrace information ----------------------------------------
main.rb:2:in `<main>'
C:/Ruby24/lib/ruby/gems/2.4.0/gems/rautomation-0.17.0/lib/rautomation/window.rb:
124:in `active?'
C:/Ruby24/lib/ruby/gems/2.4.0/gems/rautomation-0.17.0/lib/rautomation/adapter/wi
n_32/window.rb:80:in `active?'
C:/Ruby24/lib/ruby/gems/2.4.0/gems/rautomation-0.17.0/lib/rautomation/adapter/wi
n_32/window.rb:90:in `exists?'
C:/Ruby24/lib/ruby/gems/2.4.0/gems/rautomation-0.17.0/lib/rautomation/adapter/wi
n_32/window.rb:48:in `hwnd'
C:/Ruby24/lib/ruby/gems/2.4.0/gems/rautomation-0.17.0/lib/rautomation/adapter/wi
n_32/functions.rb:140:in `window_hwnd'
C:/Ruby24/lib/ruby/gems/2.4.0/gems/rautomation-0.17.0/lib/rautomation/adapter/wi
n_32/functions.rb:298:in `find_hwnd'
C:/Ruby24/lib/ruby/gems/2.4.0/gems/rautomation-0.17.0/lib/rautomation/adapter/wi
n_32/functions.rb:298:in `enum_windows'

-- C level backtrace information -------------------------------------------
C:\Windows\SysWOW64\ntdll.dll(NtWaitForSingleObject+0x15) [0x77aff8e1]
C:\Windows\syswow64\kernel32.dll(WaitForSingleObjectEx+0x43) [0x76b51194]
C:\Windows\syswow64\kernel32.dll(WaitForSingleObject+0x12) [0x76b51148]
C:\Ruby24\bin\msvcrt-ruby240.dll(rb_print_backtrace+0x40) [0x710f82b0]
C:\Windows\SysWOW64\ntdll.dll(RtlKnownExceptionFilter+0xb7) [0x77b55b57]

-- Other runtime information -----------------------------------------------

* Loaded script: main.rb

* Loaded features:

    0 enumerator.so
    1 thread.rb
    2 rational.so
    3 complex.so
    4 C:/Ruby24/lib/ruby/2.4.0/i386-mingw32/enc/encdb.so
    5 C:/Ruby24/lib/ruby/2.4.0/i386-mingw32/enc/trans/transdb.so
    6 C:/Ruby24/lib/ruby/2.4.0/i386-mingw32/enc/windows_1251.so
    7 C:/Ruby24/lib/ruby/2.4.0/unicode_normalize.rb
    8 C:/Ruby24/lib/ruby/2.4.0/i386-mingw32/rbconfig.rb
    9 C:/Ruby24/lib/ruby/2.4.0/rubygems/compatibility.rb
   10 C:/Ruby24/lib/ruby/2.4.0/rubygems/defaults.rb
   11 C:/Ruby24/lib/ruby/2.4.0/rubygems/deprecate.rb
   12 C:/Ruby24/lib/ruby/2.4.0/rubygems/errors.rb
   13 C:/Ruby24/lib/ruby/2.4.0/rubygems/version.rb
   14 C:/Ruby24/lib/ruby/2.4.0/rubygems/requirement.rb
   15 C:/Ruby24/lib/ruby/2.4.0/rubygems/platform.rb
   16 C:/Ruby24/lib/ruby/2.4.0/rubygems/basic_specification.rb
   17 C:/Ruby24/lib/ruby/2.4.0/rubygems/stub_specification.rb
   18 C:/Ruby24/lib/ruby/2.4.0/rubygems/util/list.rb
   19 C:/Ruby24/lib/ruby/2.4.0/i386-mingw32/stringio.so
   20 C:/Ruby24/lib/ruby/2.4.0/uri/rfc2396_parser.rb
   21 C:/Ruby24/lib/ruby/2.4.0/uri/rfc3986_parser.rb
   22 C:/Ruby24/lib/ruby/2.4.0/uri/common.rb
   23 C:/Ruby24/lib/ruby/2.4.0/uri/generic.rb
   24 C:/Ruby24/lib/ruby/2.4.0/uri/ftp.rb
   25 C:/Ruby24/lib/ruby/2.4.0/uri/http.rb
   26 C:/Ruby24/lib/ruby/2.4.0/uri/https.rb
   27 C:/Ruby24/lib/ruby/2.4.0/uri/ldap.rb
   28 C:/Ruby24/lib/ruby/2.4.0/uri/ldaps.rb
   29 C:/Ruby24/lib/ruby/2.4.0/uri/mailto.rb
   30 C:/Ruby24/lib/ruby/2.4.0/uri.rb
   31 C:/Ruby24/lib/ruby/2.4.0/rubygems/specification.rb
   32 C:/Ruby24/lib/ruby/2.4.0/rubygems/exceptions.rb
   33 C:/Ruby24/lib/ruby/site_ruby/2.4.0/ruby_installer/runtime/singleton.rb
   34 C:/Ruby24/lib/ruby/site_ruby/2.4.0/ruby_installer/runtime.rb
   35 C:/Ruby24/lib/ruby/site_ruby/2.4.0/ruby_installer/runtime/msys2_installati
on.rb
   36 C:/Ruby24/lib/ruby/2.4.0/i386-mingw32/fiddle.so
   37 C:/Ruby24/lib/ruby/2.4.0/fiddle/function.rb
   38 C:/Ruby24/lib/ruby/2.4.0/fiddle/closure.rb
   39 C:/Ruby24/lib/ruby/2.4.0/fiddle.rb
   40 C:/Ruby24/lib/ruby/site_ruby/2.4.0/ruby_installer/runtime/dll_directory.rb

   41 C:/Ruby24/lib/ruby/2.4.0/i386-mingw32/enc/utf_16le.so
   42 C:/Ruby24/lib/ruby/2.4.0/i386-mingw32/enc/trans/utf_16_32.so
   43 C:/Ruby24/lib/ruby/2.4.0/rubygems/defaults/operating_system.rb
   44 C:/Ruby24/lib/ruby/2.4.0/rubygems/dependency.rb
   45 C:/Ruby24/lib/ruby/2.4.0/rubygems/core_ext/kernel_gem.rb
   46 C:/Ruby24/lib/ruby/2.4.0/monitor.rb
   47 C:/Ruby24/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb
   48 C:/Ruby24/lib/ruby/2.4.0/rubygems.rb
   49 C:/Ruby24/lib/ruby/2.4.0/rubygems/path_support.rb
   50 C:/Ruby24/lib/ruby/gems/2.4.0/gems/did_you_mean-1.1.0/lib/did_you_mean/ver
sion.rb
   51 C:/Ruby24/lib/ruby/gems/2.4.0/gems/did_you_mean-1.1.0/lib/did_you_mean/cor
e_ext/name_error.rb
   52 C:/Ruby24/lib/ruby/gems/2.4.0/gems/did_you_mean-1.1.0/lib/did_you_mean/lev
enshtein.rb
   53 C:/Ruby24/lib/ruby/gems/2.4.0/gems/did_you_mean-1.1.0/lib/did_you_mean/jar
o_winkler.rb
   54 C:/Ruby24/lib/ruby/gems/2.4.0/gems/did_you_mean-1.1.0/lib/did_you_mean/spe
ll_checker.rb
   55 C:/Ruby24/lib/ruby/2.4.0/delegate.rb
   56 C:/Ruby24/lib/ruby/gems/2.4.0/gems/did_you_mean-1.1.0/lib/did_you_mean/spe
ll_checkers/name_error_checkers/class_name_checker.rb
   57 C:/Ruby24/lib/ruby/gems/2.4.0/gems/did_you_mean-1.1.0/lib/did_you_mean/spe
ll_checkers/name_error_checkers/variable_name_checker.rb
   58 C:/Ruby24/lib/ruby/gems/2.4.0/gems/did_you_mean-1.1.0/lib/did_you_mean/spe
ll_checkers/name_error_checkers.rb
   59 C:/Ruby24/lib/ruby/gems/2.4.0/gems/did_you_mean-1.1.0/lib/did_you_mean/spe
ll_checkers/method_name_checker.rb
   60 C:/Ruby24/lib/ruby/gems/2.4.0/gems/did_you_mean-1.1.0/lib/did_you_mean/spe
ll_checkers/null_checker.rb
   61 C:/Ruby24/lib/ruby/gems/2.4.0/gems/did_you_mean-1.1.0/lib/did_you_mean/for
matter.rb
   62 C:/Ruby24/lib/ruby/gems/2.4.0/gems/did_you_mean-1.1.0/lib/did_you_mean.rb
   63 C:/Ruby24/lib/ruby/gems/2.4.0/gems/rautomation-0.17.0/lib/rautomation/wait
_helper.rb
   64 C:/Ruby24/lib/ruby/gems/2.4.0/gems/rautomation-0.17.0/lib/rautomation/adap
ter/helper.rb
   65 C:/Ruby24/lib/ruby/gems/2.4.0/gems/rautomation-0.17.0/lib/rautomation/butt
on.rb
   66 C:/Ruby24/lib/ruby/gems/2.4.0/gems/rautomation-0.17.0/lib/rautomation/text
_field.rb
   67 C:/Ruby24/lib/ruby/gems/2.4.0/gems/rautomation-0.17.0/lib/rautomation/elem
ent_collections.rb
   68 C:/Ruby24/lib/ruby/gems/2.4.0/gems/rautomation-0.17.0/lib/rautomation/wind
ow.rb
   69 C:/Ruby24/lib/ruby/gems/2.4.0/gems/rautomation-0.17.0/lib/rautomation.rb
   70 C:/Ruby24/lib/ruby/gems/2.4.0/gems/ffi-1.9.23-x86-mingw32/lib/2.4/ffi_c.so

   71 C:/Ruby24/lib/ruby/gems/2.4.0/gems/ffi-1.9.23-x86-mingw32/lib/ffi/platform
.rb
   72 C:/Ruby24/lib/ruby/gems/2.4.0/gems/ffi-1.9.23-x86-mingw32/lib/ffi/types.rb

   73 C:/Ruby24/lib/ruby/gems/2.4.0/gems/ffi-1.9.23-x86-mingw32/lib/ffi/library.
rb
   74 C:/Ruby24/lib/ruby/gems/2.4.0/gems/ffi-1.9.23-x86-mingw32/lib/ffi/errno.rb

   75 C:/Ruby24/lib/ruby/gems/2.4.0/gems/ffi-1.9.23-x86-mingw32/lib/ffi/pointer.
rb
   76 C:/Ruby24/lib/ruby/gems/2.4.0/gems/ffi-1.9.23-x86-mingw32/lib/ffi/memorypo
inter.rb
   77 C:/Ruby24/lib/ruby/gems/2.4.0/gems/ffi-1.9.23-x86-mingw32/lib/ffi/struct_l
ayout_builder.rb
   78 C:/Ruby24/lib/ruby/gems/2.4.0/gems/ffi-1.9.23-x86-mingw32/lib/ffi/struct.r
b
   79 C:/Ruby24/lib/ruby/gems/2.4.0/gems/ffi-1.9.23-x86-mingw32/lib/ffi/union.rb

   80 C:/Ruby24/lib/ruby/gems/2.4.0/gems/ffi-1.9.23-x86-mingw32/lib/ffi/manageds
truct.rb
   81 C:/Ruby24/lib/ruby/gems/2.4.0/gems/ffi-1.9.23-x86-mingw32/lib/ffi/callback
.rb
   82 C:/Ruby24/lib/ruby/gems/2.4.0/gems/ffi-1.9.23-x86-mingw32/lib/ffi/io.rb
   83 C:/Ruby24/lib/ruby/gems/2.4.0/gems/ffi-1.9.23-x86-mingw32/lib/ffi/autopoin
ter.rb
   84 C:/Ruby24/lib/ruby/gems/2.4.0/gems/ffi-1.9.23-x86-mingw32/lib/ffi/variadic
.rb
   85 C:/Ruby24/lib/ruby/gems/2.4.0/gems/ffi-1.9.23-x86-mingw32/lib/ffi/enum.rb
   86 C:/Ruby24/lib/ruby/gems/2.4.0/gems/ffi-1.9.23-x86-mingw32/lib/ffi/ffi.rb
   87 C:/Ruby24/lib/ruby/gems/2.4.0/gems/ffi-1.9.23-x86-mingw32/lib/ffi.rb
   88 C:/Ruby24/lib/ruby/gems/2.4.0/gems/rautomation-0.17.0/lib/rautomation/adap
ter/win_32/constants.rb
   89 C:/Ruby24/lib/ruby/gems/2.4.0/gems/rautomation-0.17.0/lib/rautomation/adap
ter/win_32/keys.rb
   90 C:/Ruby24/lib/ruby/gems/2.4.0/gems/rautomation-0.17.0/lib/rautomation/adap
ter/win_32/functions.rb
   91 C:/Ruby24/lib/ruby/gems/2.4.0/gems/rautomation-0.17.0/lib/rautomation/adap
ter/win_32/locators.rb
   92 C:/Ruby24/lib/ruby/gems/2.4.0/gems/rautomation-0.17.0/lib/rautomation/adap
ter/win_32/window.rb
   93 C:/Ruby24/lib/ruby/gems/2.4.0/gems/rautomation-0.17.0/lib/rautomation/adap
ter/win_32/button_helper.rb
   94 C:/Ruby24/lib/ruby/gems/2.4.0/gems/rautomation-0.17.0/lib/rautomation/adap
ter/win_32/control.rb
   95 C:/Ruby24/lib/ruby/gems/2.4.0/gems/rautomation-0.17.0/lib/rautomation/adap
ter/win_32/button.rb
   96 C:/Ruby24/lib/ruby/gems/2.4.0/gems/rautomation-0.17.0/lib/rautomation/adap
ter/win_32/checkbox.rb
   97 C:/Ruby24/lib/ruby/gems/2.4.0/gems/rautomation-0.17.0/lib/rautomation/adap
ter/win_32/radio.rb
   98 C:/Ruby24/lib/ruby/gems/2.4.0/gems/rautomation-0.17.0/lib/rautomation/adap
ter/win_32/text_field.rb
   99 C:/Ruby24/lib/ruby/gems/2.4.0/gems/rautomation-0.17.0/lib/rautomation/adap
ter/win_32/select_list.rb
  100 C:/Ruby24/lib/ruby/gems/2.4.0/gems/rautomation-0.17.0/lib/rautomation/adap
ter/win_32/table.rb
  101 C:/Ruby24/lib/ruby/gems/2.4.0/gems/rautomation-0.17.0/lib/rautomation/adap
ter/win_32/label.rb
  102 C:/Ruby24/lib/ruby/gems/2.4.0/gems/rautomation-0.17.0/lib/rautomation/adap
ter/win_32/list_box.rb
  103 C:/Ruby24/lib/ruby/gems/2.4.0/gems/rautomation-0.17.0/lib/rautomation/adap
ter/win_32/mouse.rb
  104 C:/Ruby24/lib/ruby/gems/2.4.0/gems/rautomation-0.17.0/lib/rautomation/adap
ter/win_32/password_field.rb
  105 C:/Ruby24/lib/ruby/gems/2.4.0/gems/rautomation-0.17.0/lib/rautomation/adap
ter/win_32.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.

Windows 7
Ruby Installer: Ruby+Devkit 2.4.4-1 (x86)

@Nakilon Nakilon changed the title adapter/wi n_32/functions.rb:298: [BUG] Segmentation fault adapter/win_32/functions.rb:298: [BUG] Segmentation fault May 4, 2018
@Nakilon
Copy link
Author

Nakilon commented May 4, 2018

*** LOCAL GEMS ***

bigdecimal (default: 1.3.2)
did_you_mean (1.1.0)
ffi (1.9.23 x86-mingw32)
io-console (default: 0.4.6)
json (default: 2.0.4)
mini_magick (4.3.6)
minitest (5.10.1)
net-telnet (0.1.1)
openssl (default: 2.0.7)
power_assert (0.4.1)
psych (default: 2.2.2)
rake (12.0.0)
rautomation (0.17.0)
rdoc (default: 5.0.0)
test-unit (3.2.3)
win32screenshot (2.1.0)
xmlrpc (0.2.1)

@Nakilon
Copy link
Author

Nakilon commented May 4, 2018

Same for Ruby 2.2. Can't degrade Ruby further because of rubygems SSL issue.

@leviwilson
Copy link
Collaborator

@Nakilon try locking FFI between 1.9.4 and 1.9.18 as per northwoodspd/uia#14

@Nakilon
Copy link
Author

Nakilon commented Aug 9, 2018

@leviwilson in related issue I wrote I tried 1.9.18, 1.9.17 and as far as I remember lower versions were throwing the same as 1.9.17 threw. I'll try again next time I get to Windows machine.

@jarmo jarmo closed this as completed Jan 31, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants