Skip to content
This repository has been archived by the owner on Feb 2, 2023. It is now read-only.

Helix always crash ("[BUG] Segmentation fault") with dynamic libraries build by Windows rustc installed with x86_64-pc-windows-gnu (gcc compiler) #124

Open
johnnytemp opened this issue Sep 29, 2017 · 7 comments

Comments

@johnnytemp
Copy link

johnnytemp commented Sep 29, 2017

When install Rust using rustup-init.exe, with x86_64-pc-windows-msvc, helix can run. However, with x86_64-pc-windows-gnu (choose custom install) it always crash (Tested with msvc compiler not installed in the OS).

To reproduce, try the flipper application from https://usehelix.com/getting_started. ( Or attached here: flipper.zip )
Running "rake irb" under folder "D:/dev/flipper/crates/text_transform" got this crash:

$ bundle exec rake irb
   Compiling cstr-macro v0.1.0
   Compiling cslice v0.3.0
   Compiling libcruby-sys v0.6.4
   Compiling libc v0.2.31
   Compiling helix v0.6.4
   Compiling text_transform v0.1.0 (file:///D:/dev/flipper/crates/text_transform)
    Finished release [optimized] target(s) in 3.67 secs
D:/dev/flipper/crates/text_transform/lib/text_transform/native.so: [BUG] Segmentation fault
ruby 2.4.2p198 (2017-09-14 revision 59899) [x64-mingw32]

-- Control frame information -----------------------------------------------
c:0011 p:-7918332 s:0047 e:000046 TOP    [FINISH]
c:0010 p:---- s:0044 e:000043 CFUNC  :require
c:0009 p:0019 s:0039 e:000038 TOP    D:/dev/flipper/crates/text_transform/lib/text_transform.rb:4 [FINISH]
c:0008 p:---- s:0036 e:000035 CFUNC  :require
c:0007 p:0016 s:0031 e:000030 BLOCK  C:/Ruby24-x64/lib/ruby/2.4.0/irb/init.rb:281 [FINISH]
c:0006 p:---- s:0027 e:000026 CFUNC  :each
c:0005 p:0016 s:0023 e:000022 METHOD C:/Ruby24-x64/lib/ruby/2.4.0/irb/init.rb:279
c:0004 p:0068 s:0017 e:000016 METHOD C:/Ruby24-x64/lib/ruby/2.4.0/irb/init.rb:21
c:0003 p:0056 s:0012 e:000011 METHOD C:/Ruby24-x64/lib/ruby/2.4.0/irb.rb:378
c:0002 p:0030 s:0006 e:000005 EVAL   C:/Ruby24-x64/bin/irb.cmd:19 [FINISH]
c:0001 p:0000 s:0003 E:000b40 (none) [FINISH]

-- Ruby level backtrace information ----------------------------------------
C:/Ruby24-x64/bin/irb.cmd:19:in `<main>'
C:/Ruby24-x64/lib/ruby/2.4.0/irb.rb:378:in `start'
C:/Ruby24-x64/lib/ruby/2.4.0/irb/init.rb:21:in `setup'
C:/Ruby24-x64/lib/ruby/2.4.0/irb/init.rb:279:in `load_modules'
C:/Ruby24-x64/lib/ruby/2.4.0/irb/init.rb:279:in `each'
C:/Ruby24-x64/lib/ruby/2.4.0/irb/init.rb:281:in `block in load_modules'
C:/Ruby24-x64/lib/ruby/2.4.0/irb/init.rb:281:in `require'
D:/dev/flipper/crates/text_transform/lib/text_transform.rb:4:in `<top (required)>'
D:/dev/flipper/crates/text_transform/lib/text_transform.rb:4:in `require'

-- C level backtrace information -------------------------------------------
C:\WINDOWS\SYSTEM32\ntdll.dll(ZwWaitForSingleObject+0x14) [0x00007ffad3735424]
C:\WINDOWS\System32\KERNELBASE.dll(WaitForSingleObjectEx+0x9f) [0x00007ffad081988f]
C:\Ruby24-x64\bin\x64-msvcrt-ruby240.dll(rb_print_backtrace+0x36) [0x0000000067b029e6]
C:\Ruby24-x64\bin\x64-msvcrt-ruby240.dll(rb_vm_bugreport+0x65) [0x0000000067b02a55]
C:\Ruby24-x64\bin\x64-msvcrt-ruby240.dll(rb_bug_context+0x69) [0x00000000679dce29]
C:\Ruby24-x64\bin\x64-msvcrt-ruby240.dll(rb_check_safe_obj+0x6ac) [0x0000000067a988ec]
 [0x0000000000402467]
C:\WINDOWS\SYSTEM32\ntdll.dll(_C_specific_handler+0x96) [0x00007ffad3726466]
C:\WINDOWS\SYSTEM32\ntdll.dll(_chkstk+0x11d) [0x00007ffad373a07d]
C:\WINDOWS\SYSTEM32\ntdll.dll(RtlLookupFunctionEntry+0xab8) [0x00007ffad36a9c58]
C:\WINDOWS\SYSTEM32\ntdll.dll(KiUserExceptionDispatcher+0x2e) [0x00007ffad37390fe]
C:\WINDOWS\System32\msvcrt.dll(strlen+0x10) [0x00007ffad288c170]
D:\dev\flipper\crates\text_transform\lib\text_transform\native.so(Init_native+0xef9d) [0x000000006ea121fd]
D:\dev\flipper\crates\text_transform\lib\text_transform\native.so(Init_native+0x1bf3) [0x000000006ea04e53]
D:\dev\flipper\crates\text_transform\lib\text_transform\native.so(Init_native+0xb) [0x000000006ea0326b]
C:\Ruby24-x64\bin\x64-msvcrt-ruby240.dll(dln_load+0x1b9) [0x00000000679815e9]
C:\Ruby24-x64\bin\x64-msvcrt-ruby240.dll(rb_vm_call_cfunc+0xaf) [0x0000000067afe97f]
C:\Ruby24-x64\bin\x64-msvcrt-ruby240.dll(rb_require_internal+0x3a4) [0x0000000067a19b14]
C:\Ruby24-x64\bin\x64-msvcrt-ruby240.dll(rb_require_safe+0xd) [0x0000000067a19fcd]
C:\Ruby24-x64\bin\x64-msvcrt-ruby240.dll(rb_error_arity+0x10c) [0x0000000067ae8cfc]
C:\Ruby24-x64\bin\x64-msvcrt-ruby240.dll(rb_vm_invoke_proc+0x9e8) [0x0000000067af6d88]
C:\Ruby24-x64\bin\x64-msvcrt-ruby240.dll(rb_vm_localjump_error+0x4b1) [0x0000000067aee2a1]
C:\Ruby24-x64\bin\x64-msvcrt-ruby240.dll(rb_vm_localjump_error+0x66c3) [0x0000000067af44b3]
C:\Ruby24-x64\bin\x64-msvcrt-ruby240.dll(rb_iseqw_local_variables+0xb95) [0x0000000067a18465]
C:\Ruby24-x64\bin\x64-msvcrt-ruby240.dll(rb_require_internal+0x795) [0x0000000067a19f05]
C:\Ruby24-x64\bin\x64-msvcrt-ruby240.dll(rb_require_safe+0xd) [0x0000000067a19fcd]
C:\Ruby24-x64\bin\x64-msvcrt-ruby240.dll(rb_error_arity+0x10c) [0x0000000067ae8cfc]
C:\Ruby24-x64\bin\x64-msvcrt-ruby240.dll(rb_vm_invoke_proc+0x9e8) [0x0000000067af6d88]
C:\Ruby24-x64\bin\x64-msvcrt-ruby240.dll(rb_vm_localjump_error+0x4b1) [0x0000000067aee2a1]
C:\Ruby24-x64\bin\x64-msvcrt-ruby240.dll(rb_vm_localjump_error+0x66c3) [0x0000000067af44b3]
C:\Ruby24-x64\bin\x64-msvcrt-ruby240.dll(rb_yield+0x36c) [0x0000000067afdf0c]
C:\Ruby24-x64\bin\x64-msvcrt-ruby240.dll(rb_ary_each+0x3d) [0x0000000067983a8d]
C:\Ruby24-x64\bin\x64-msvcrt-ruby240.dll(rb_error_arity+0x10c) [0x0000000067ae8cfc]
C:\Ruby24-x64\bin\x64-msvcrt-ruby240.dll(rb_vm_invoke_proc+0x9e8) [0x0000000067af6d88]
C:\Ruby24-x64\bin\x64-msvcrt-ruby240.dll(rb_vm_localjump_error+0x63b) [0x0000000067aee42b]
C:\Ruby24-x64\bin\x64-msvcrt-ruby240.dll(rb_vm_localjump_error+0x66c3) [0x0000000067af44b3]
C:\Ruby24-x64\bin\x64-msvcrt-ruby240.dll(rb_call_end_proc+0x17e) [0x00000000679dfdde]
C:\Ruby24-x64\bin\x64-msvcrt-ruby240.dll(ruby_run_node+0x59) [0x00000000679e2a09]
 [0x0000000000402d57]
 [0x00000000004013f7]
 [0x000000000040152b]
C:\WINDOWS\System32\KERNEL32.DLL(BaseThreadInitThunk+0x14) [0x00007ffad2972774]

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

* Loaded script: irb.cmd

* Loaded features:

    0 enumerator.so
    1 thread.rb
    2 rational.so
    3 complex.so
    4 C:/Ruby24-x64/lib/ruby/2.4.0/x64-mingw32/enc/encdb.so
    5 C:/Ruby24-x64/lib/ruby/2.4.0/x64-mingw32/enc/trans/transdb.so
    6 C:/Ruby24-x64/lib/ruby/2.4.0/x64-mingw32/enc/big5.so
    7 C:/Ruby24-x64/lib/ruby/2.4.0/unicode_normalize.rb
    8 C:/Ruby24-x64/lib/ruby/2.4.0/x64-mingw32/rbconfig.rb
    9 C:/Ruby24-x64/lib/ruby/2.4.0/rubygems/compatibility.rb
   10 C:/Ruby24-x64/lib/ruby/2.4.0/rubygems/defaults.rb
   11 C:/Ruby24-x64/lib/ruby/2.4.0/rubygems/deprecate.rb
   12 C:/Ruby24-x64/lib/ruby/2.4.0/rubygems/errors.rb
   13 C:/Ruby24-x64/lib/ruby/2.4.0/rubygems/version.rb
   14 C:/Ruby24-x64/lib/ruby/2.4.0/rubygems/requirement.rb
   15 C:/Ruby24-x64/lib/ruby/2.4.0/rubygems/platform.rb
   16 C:/Ruby24-x64/lib/ruby/2.4.0/rubygems/basic_specification.rb
   17 C:/Ruby24-x64/lib/ruby/2.4.0/rubygems/stub_specification.rb
   18 C:/Ruby24-x64/lib/ruby/2.4.0/rubygems/util/list.rb
   19 C:/Ruby24-x64/lib/ruby/2.4.0/x64-mingw32/stringio.so
   20 C:/Ruby24-x64/lib/ruby/2.4.0/rubygems/specification.rb
   21 C:/Ruby24-x64/lib/ruby/2.4.0/rubygems/exceptions.rb
   22 C:/Ruby24-x64/lib/ruby/site_ruby/2.4.0/ruby_installer/runtime/singleton.rb
   23 C:/Ruby24-x64/lib/ruby/site_ruby/2.4.0/ruby_installer/runtime.rb
   24 C:/Ruby24-x64/lib/ruby/site_ruby/2.4.0/ruby_installer/runtime/msys2_installation.rb
   25 C:/Ruby24-x64/lib/ruby/2.4.0/x64-mingw32/fiddle.so
   26 C:/Ruby24-x64/lib/ruby/2.4.0/fiddle/function.rb
   27 C:/Ruby24-x64/lib/ruby/2.4.0/fiddle/closure.rb
   28 C:/Ruby24-x64/lib/ruby/2.4.0/fiddle.rb
   29 C:/Ruby24-x64/lib/ruby/site_ruby/2.4.0/ruby_installer/runtime/dll_directory.rb
   30 C:/Ruby24-x64/lib/ruby/2.4.0/x64-mingw32/enc/utf_16le.so
   31 C:/Ruby24-x64/lib/ruby/2.4.0/x64-mingw32/enc/trans/utf_16_32.so
   32 C:/Ruby24-x64/lib/ruby/2.4.0/rubygems/defaults/operating_system.rb
   33 C:/Ruby24-x64/lib/ruby/2.4.0/rubygems/dependency.rb
   34 C:/Ruby24-x64/lib/ruby/2.4.0/rubygems/core_ext/kernel_gem.rb
   35 C:/Ruby24-x64/lib/ruby/2.4.0/monitor.rb
   36 C:/Ruby24-x64/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb
   37 C:/Ruby24-x64/lib/ruby/2.4.0/rubygems.rb
   38 C:/Ruby24-x64/lib/ruby/2.4.0/rubygems/path_support.rb
   39 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/did_you_mean-1.1.0/lib/did_you_mean/version.rb
   40 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/did_you_mean-1.1.0/lib/did_you_mean/core_ext/name_error.rb
   41 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/did_you_mean-1.1.0/lib/did_you_mean/levenshtein.rb
   42 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/did_you_mean-1.1.0/lib/did_you_mean/jaro_winkler.rb
   43 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/did_you_mean-1.1.0/lib/did_you_mean/spell_checker.rb
   44 C:/Ruby24-x64/lib/ruby/2.4.0/delegate.rb
   45 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/did_you_mean-1.1.0/lib/did_you_mean/spell_checkers/name_error_checkers/class_name_checker.rb
   46 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/did_you_mean-1.1.0/lib/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb
   47 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/did_you_mean-1.1.0/lib/did_you_mean/spell_checkers/name_error_checkers.rb
   48 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/did_you_mean-1.1.0/lib/did_you_mean/spell_checkers/method_name_checker.rb
   49 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/did_you_mean-1.1.0/lib/did_you_mean/spell_checkers/null_checker.rb
   50 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/did_you_mean-1.1.0/lib/did_you_mean/formatter.rb
   51 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/did_you_mean-1.1.0/lib/did_you_mean.rb
   52 C:/Ruby24-x64/lib/ruby/2.4.0/x64-mingw32/pathname.so
   53 C:/Ruby24-x64/lib/ruby/2.4.0/pathname.rb
   54 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/constants.rb
   55 C:/Ruby24-x64/lib/ruby/2.4.0/rubygems/util.rb
   56 C:/Ruby24-x64/lib/ruby/2.4.0/x64-mingw32/io/console.so
   57 C:/Ruby24-x64/lib/ruby/2.4.0/rubygems/user_interaction.rb
   58 C:/Ruby24-x64/lib/ruby/2.4.0/x64-mingw32/etc.so
   59 C:/Ruby24-x64/lib/ruby/2.4.0/rubygems/config_file.rb
   60 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/rubygems_integration.rb
   61 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/current_ruby.rb
   62 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/shared_helpers.rb
   63 C:/Ruby24-x64/lib/ruby/2.4.0/fileutils.rb
   64 C:/Ruby24-x64/lib/ruby/2.4.0/tmpdir.rb
   65 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/errors.rb
   66 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/environment_preserver.rb
   67 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/plugin/api.rb
   68 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/plugin.rb
   69 C:/Ruby24-x64/lib/ruby/2.4.0/uri/rfc2396_parser.rb
   70 C:/Ruby24-x64/lib/ruby/2.4.0/uri/rfc3986_parser.rb
   71 C:/Ruby24-x64/lib/ruby/2.4.0/uri/common.rb
   72 C:/Ruby24-x64/lib/ruby/2.4.0/uri/generic.rb
   73 C:/Ruby24-x64/lib/ruby/2.4.0/uri/ftp.rb
   74 C:/Ruby24-x64/lib/ruby/2.4.0/uri/http.rb
   75 C:/Ruby24-x64/lib/ruby/2.4.0/uri/https.rb
   76 C:/Ruby24-x64/lib/ruby/2.4.0/uri/ldap.rb
   77 C:/Ruby24-x64/lib/ruby/2.4.0/uri/ldaps.rb
   78 C:/Ruby24-x64/lib/ruby/2.4.0/uri/mailto.rb
   79 C:/Ruby24-x64/lib/ruby/2.4.0/uri.rb
   80 C:/Ruby24-x64/lib/ruby/2.4.0/x64-mingw32/digest.so
   81 C:/Ruby24-x64/lib/ruby/2.4.0/digest.rb
   82 C:/Ruby24-x64/lib/ruby/2.4.0/rubygems/source/git.rb
   83 C:/Ruby24-x64/lib/ruby/2.4.0/rubygems/source/installed.rb
   84 C:/Ruby24-x64/lib/ruby/2.4.0/rubygems/source/specific_file.rb
   85 C:/Ruby24-x64/lib/ruby/2.4.0/rubygems/source/local.rb
   86 C:/Ruby24-x64/lib/ruby/2.4.0/rubygems/source/lock.rb
   87 C:/Ruby24-x64/lib/ruby/2.4.0/rubygems/source/vendor.rb
   88 C:/Ruby24-x64/lib/ruby/2.4.0/rubygems/source.rb
   89 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/gem_helpers.rb
   90 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/match_platform.rb
   91 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/rubygems_ext.rb
   92 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/version.rb
   93 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler.rb
   94 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/settings.rb
   95 C:/Ruby24-x64/lib/ruby/2.4.0/rubygems/ext/builder.rb
   96 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/source.rb
   97 C:/Ruby24-x64/lib/ruby/2.4.0/x64-mingw32/digest/sha1.so
   98 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/source/path.rb
   99 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/source/git.rb
  100 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/source/rubygems.rb
  101 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/lockfile_parser.rb
  102 C:/Ruby24-x64/lib/ruby/2.4.0/set.rb
  103 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/definition.rb
  104 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/dependency.rb
  105 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/ruby_dsl.rb
  106 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/dsl.rb
  107 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/source_list.rb
  108 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/index.rb
  109 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/source/gemspec.rb
  110 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/lazy_specification.rb
  111 C:/Ruby24-x64/lib/ruby/2.4.0/tsort.rb
  112 C:/Ruby24-x64/lib/ruby/2.4.0/forwardable/impl.rb
  113 C:/Ruby24-x64/lib/ruby/2.4.0/forwardable.rb
  114 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/spec_set.rb
  115 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/ui.rb
  116 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/ui/silent.rb
  117 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/ui/rg_proxy.rb
  118 C:/Ruby24-x64/lib/ruby/2.4.0/rubygems/text.rb
  119 C:/Ruby24-x64/lib/ruby/2.4.0/rubygems/util/licenses.rb
  120 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/remote_specification.rb
  121 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/gem_version_promoter.rb
  122 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/runtime.rb
  123 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/dep_proxy.rb
  124 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/stub_specification.rb
  125 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/endpoint_specification.rb
  126 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/ruby_version.rb
  127 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/bundler-1.15.4/lib/bundler/setup.rb
  128 C:/Ruby24-x64/lib/ruby/2.4.0/e2mmap.rb
  129 C:/Ruby24-x64/lib/ruby/2.4.0/irb/init.rb
  130 C:/Ruby24-x64/lib/ruby/2.4.0/irb/workspace.rb
  131 C:/Ruby24-x64/lib/ruby/2.4.0/irb/inspector.rb
  132 C:/Ruby24-x64/lib/ruby/2.4.0/irb/output-method.rb
  133 C:/Ruby24-x64/lib/ruby/2.4.0/irb/context.rb
  134 C:/Ruby24-x64/lib/ruby/2.4.0/irb/extend-command.rb
  135 C:/Ruby24-x64/lib/ruby/2.4.0/irb/notifier.rb
  136 C:/Ruby24-x64/lib/ruby/2.4.0/irb/slex.rb
  137 C:/Ruby24-x64/lib/ruby/2.4.0/irb/ruby-token.rb
  138 C:/Ruby24-x64/lib/ruby/2.4.0/irb/ruby-lex.rb
  139 C:/Ruby24-x64/lib/ruby/2.4.0/irb/src_encoding.rb
  140 C:/Ruby24-x64/lib/ruby/2.4.0/irb/magic-file.rb
  141 C:/Ruby24-x64/lib/ruby/2.4.0/x64-mingw32/enc/euc_jp.so
  142 C:/Ruby24-x64/lib/ruby/2.4.0/x64-mingw32/enc/windows_31j.so
  143 C:/Ruby24-x64/lib/ruby/site_ruby/rbreadline/version.rb
  144 C:/Ruby24-x64/lib/ruby/site_ruby/rbreadline.rb
  145 C:/Ruby24-x64/lib/ruby/site_ruby/readline.rb
  146 C:/Ruby24-x64/lib/ruby/2.4.0/irb/input-method.rb
  147 C:/Ruby24-x64/lib/ruby/2.4.0/irb/locale.rb
  148 C:/Ruby24-x64/lib/ruby/2.4.0/irb.rb
  149 C:/Ruby24-x64/lib/ruby/site_ruby/2.4.0/irbrc_predefiner.rb
  150 C:/Ruby24-x64/lib/ruby/2.4.0/irb/ext/save-history.rb
  151 C:/Ruby24-x64/lib/ruby/2.4.0/irb/completion.rb
  152 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/helix_runtime-0.6.4/lib/helix_runtime/version.rb
  153 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/helix_runtime-0.6.4/lib/helix_runtime/platform.rb
  154 C:/Ruby24-x64/lib/ruby/2.4.0/x64-mingw32/date_core.so
  155 C:/Ruby24-x64/lib/ruby/2.4.0/date.rb
  156 C:/Ruby24-x64/lib/ruby/2.4.0/time.rb
  157 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/parslet-1.5.0/lib/parslet/slice.rb
  158 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/parslet-1.5.0/lib/parslet/cause.rb
  159 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/parslet-1.5.0/lib/parslet/source/line_cache.rb
  160 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/parslet-1.5.0/lib/parslet/source.rb
  161 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/parslet-1.5.0/lib/parslet/atoms/can_flatten.rb
  162 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/parslet-1.5.0/lib/parslet/atoms/context.rb
  163 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/parslet-1.5.0/lib/parslet/atoms/dsl.rb
  164 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/parslet-1.5.0/lib/parslet/atoms/base.rb
  165 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/parslet-1.5.0/lib/parslet/atoms/named.rb
  166 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/parslet-1.5.0/lib/parslet/atoms/lookahead.rb
  167 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/parslet-1.5.0/lib/parslet/atoms/alternative.rb
  168 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/parslet-1.5.0/lib/parslet/atoms/sequence.rb
  169 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/parslet-1.5.0/lib/parslet/atoms/repetition.rb
  170 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/parslet-1.5.0/lib/parslet/atoms/re.rb
  171 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/parslet-1.5.0/lib/parslet/atoms/str.rb
  172 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/parslet-1.5.0/lib/parslet/atoms/entity.rb
  173 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/parslet-1.5.0/lib/parslet/atoms/capture.rb
  174 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/parslet-1.5.0/lib/parslet/atoms/dynamic.rb
  175 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/parslet-1.5.0/lib/parslet/atoms/scope.rb
  176 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/parslet-1.5.0/lib/parslet/atoms.rb
  177 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/parslet-1.5.0/lib/parslet/pattern.rb
  178 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/parslet-1.5.0/lib/parslet/pattern/binding.rb
  179 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/parslet-1.5.0/lib/parslet/transform.rb
  180 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/parslet-1.5.0/lib/parslet/parser.rb
  181 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/parslet-1.5.0/lib/parslet/error_reporter/tree.rb
  182 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/parslet-1.5.0/lib/parslet/error_reporter/deepest.rb
  183 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/parslet-1.5.0/lib/parslet/error_reporter.rb
  184 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/parslet-1.5.0/lib/parslet/scope.rb
  185 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/parslet-1.5.0/lib/parslet.rb
  186 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/toml-0.1.2/lib/toml/version.rb
  187 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/toml-0.1.2/lib/toml/key.rb
  188 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/toml-0.1.2/lib/toml/table.rb
  189 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/toml-0.1.2/lib/toml/parslet.rb
  190 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/toml-0.1.2/lib/toml/transformer.rb
  191 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/toml-0.1.2/lib/toml/parser.rb
  192 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/toml-0.1.2/lib/toml/generator.rb
  193 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/toml-0.1.2/lib/toml.rb
  194 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/helix_runtime-0.6.4/lib/helix_runtime/project.rb
  195 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/helix_runtime-0.6.4/lib/helix_runtime/parent_project.rb
  196 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/helix_runtime-0.6.4/lib/helix_runtime/native.so
  197 C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/helix_runtime-0.6.4/lib/helix_runtime.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.

More info

  • 64-bit Windows 10
  • Tested mainly using MSYS2 (64-bit) with mingw64 gcc compiler for rustc
  • Ruby 2.4.1 or 2.4.2 (64-bit version)
  • Rails 5.1.x
  • Run "rake irb" on Window's "Command Prompt" also crash
@wagenet
Copy link
Collaborator

wagenet commented Sep 29, 2017

I think this is a known issue. What's your reason for using the gnu compiler over msvc?

@johnnytemp
Copy link
Author

johnnytemp commented Oct 3, 2017

Gnu is free & open source. I doubt if msvc compile is free without VS license for commercial use (any MS official clarification would be good)

@chancancode
Copy link
Member

chancancode commented Oct 3, 2017

Yea we should definitely investigate this. Is it possible to add this scenario to our app veyor matrix?

@dsisnero
Copy link

I have the same issue. Here's the output of running bundle exec rake from exampes/text_transform
output.txt

@wagenet
Copy link
Collaborator

wagenet commented Oct 11, 2017

I can reproduce this.

@wagenet
Copy link
Collaborator

wagenet commented Oct 11, 2017

It looks like the MSVC version is actually preferred for Rust on Windows, including by Mozilla. It looks like you only need the Visual C++ Build Tools and not Visual Studio itself. AFAICT, any proprietary Windows components aren't bundled and are instead dynamically linked at runtime. I'm certainly not an expert here, but I don't think there are any licensing concerns around using the MSVC compiler.

That said, it's not a bad idea to try to get things working with the GNU compiler. However, unless there are strong concrete concerns with MSVC, I don't think this will be a priority.

@dsisnero
Copy link

Also, the rubyinstaller project, which is probably the most used ruby installation for windows, uses the GNU compiler toolchain.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants