helix icon indicating copy to clipboard operation
helix copied to clipboard

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

Open johnnytemp opened this issue 8 years ago • 7 comments

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

johnnytemp avatar Sep 29 '17 05:09 johnnytemp

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

wagenet avatar Sep 29 '17 16:09 wagenet

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)

johnnytemp avatar Oct 03 '17 03:10 johnnytemp

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

chancancode avatar Oct 03 '17 03:10 chancancode

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

dsisnero avatar Oct 11 '17 14:10 dsisnero

I can reproduce this.

wagenet avatar Oct 11 '17 17:10 wagenet

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.

wagenet avatar Oct 11 '17 17:10 wagenet

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

dsisnero avatar Oct 12 '17 14:10 dsisnero