Issue #10811 has been updated by Alexander von Gluck.


*much* better tracing with ruby -d

```
/Builds/haikeuken-client/ruby/client.rb:199: warning: literal in condition
Using Ext extension for JSON.
Exception `NameError' at /tmp/ruby/lib/ruby/2.2.0/psych/class_loader.rb:67 - uninitialized constant BigDecimal
Exception `NameError' at /tmp/ruby/lib/ruby/2.2.0/psych/class_loader.rb:67 - uninitialized constant Date
Exception `NameError' at /tmp/ruby/lib/ruby/2.2.0/psych/class_loader.rb:67 - uninitialized constant DateTime
Exception `NameError' at /tmp/ruby/lib/ruby/2.2.0/psych/core_ext.rb:16 - method `to_yaml' not defined in Object
Exception `NameError' at /tmp/ruby/lib/ruby/2.2.0/psych/core_ext.rb:29 - method `yaml_as' not defined in Module
Exception `NameError' at /tmp/ruby/lib/ruby/2.2.0/psych/deprecated.rb:81 - undefined method `to_yaml_properties' for class `Object'
 _   _       _ _              _               
| | | |     (_) |            | |              
| |_| | __ _ _| | _____ _   _| | _____ _ __   
|  _  |/ _` | | |/ / _ \ | | | |/ / _ \ '_ \ 
| | | | (_| | |   <  __/ |_| |   <  __/ | | | 
\_| |_/\__,_|_|_|\_\___|\__,_|_|\_\___|_| |_| 
--------------------------------------------- 
         The Haiku package builder            
                Version 0.2

/tmp/ruby/lib/ruby/2.2.0/open3.rb:340: [BUG] vm_call0_cfunc_with_frame: cfp consistency error
ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-haiku]

-- Control frame information -----------------------------------------------
/tmp/ruby/lib/ruby/2.2.0/open3.rb:340: c:0010 [BUG] p:---- vm_call_cfunc - cfp consistency errors:0054 
ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-haiku]

e:000053 -- Control frame information -----------------------------------------------
CFUNC Exception `NotImplementedError' at /tmp/ruby/lib/ruby/2.2.0/open3.rb:340 - ruby engine can initialize only in the main thread
 :initializec:0009 
c:0009 p:---- s:0052 e:000051 CFUNC  :close
c:0008 p:0020 s:0049 e:000048 BLOCK  /tmp/ruby/lib/ruby/2.2.0/open3.rb:201 [FINISH]
c:0007 p:---- s:0046 e:000045 CFUNC  :join
c:0006 p:0013 s:0043 e:000042 RESCUE /tmp/ruby/lib/ruby/2.2.0/open3.rb:202
c:0005 p:0108 s:0040 e:000039 METHOD /tmp/ruby/lib/ruby/2.2.0/open3.rb:202
c:0004 p:0092 s:0030 e:000029 METHOD /tmp/ruby/lib/ruby/2.2.0/open3.rb:188
c:0003 p:0016 s:0020 E:000f58 METHOD /tmp/ruby/lib/ruby/2.2.0/open3.rb:335
c:0002 p:0214 s:0012 E:0016f0 EVAL   /Builds/haikeuken-client/ruby/client.rb:63 [FINISH]
c:0001 p:0000 s:0002 E:001770 TOP    [FINISH]

-- Ruby level backtrace information ----------------------------------------
/Builds/haikeuken-client/ruby/client.rb:63:in `<main>'
/tmp/ruby/lib/ruby/2.2.0/open3.rb:335:in `capture2e'
/tmp/ruby/lib/ruby/2.2.0/open3.rb:188:in `popen2e'
/tmp/ruby/lib/ruby/2.2.0/open3.rb:202:in `popen_run'
/tmp/ruby/lib/ruby/2.2.0/open3.rb:202:in `ensure in popen_run'
/tmp/ruby/lib/ruby/2.2.0/open3.rb:202:in `join'

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

* Loaded script: /Builds/haikeuken-client/ruby/client.rb

* Loaded features:

    0 enumerator.so
    1 rational.so
    2 complex.so
    3 /tmp/ruby/lib/ruby/2.2.0/x86_64-haiku/enc/encdb.so
    4 /tmp/ruby/lib/ruby/2.2.0/x86_64-haiku/enc/trans/transdb.so
    5 /tmp/ruby/lib/ruby/2.2.0/unicode_normalize.rb
    6 /tmp/ruby/lib/ruby/2.2.0/x86_64-haiku/rbconfig.rb
    7 thread.rb
    8 /tmp/ruby/lib/ruby/2.2.0/x86_64-haiku/thread.so
    9 /tmp/ruby/lib/ruby/2.2.0/rubygems/compatibility.rb
   10 /tmp/ruby/lib/ruby/2.2.0/rubygems/defaults.rb
   11 /tmp/ruby/lib/ruby/2.2.0/rubygems/deprecate.rb
   12 /tmp/ruby/lib/ruby/2.2.0/rubygems/errors.rb
   13 /tmp/ruby/lib/ruby/2.2.0/rubygems/version.rb
   14 /tmp/ruby/lib/ruby/2.2.0/rubygems/requirement.rb
   15 /tmp/ruby/lib/ruby/2.2.0/rubygems/platform.rb
   16 /tmp/ruby/lib/ruby/2.2.0/rubygems/basic_specification.rb
   17 /tmp/ruby/lib/ruby/2.2.0/rubygems/stub_specification.rb
   18 /tmp/ruby/lib/ruby/2.2.0/rubygems/util/stringio.rb
   19 /tmp/ruby/lib/ruby/2.2.0/rubygems/specification.rb
   20 /tmp/ruby/lib/ruby/2.2.0/rubygems/exceptions.rb
   21 /tmp/ruby/lib/ruby/2.2.0/rubygems/core_ext/kernel_gem.rb
   22 /tmp/ruby/lib/ruby/2.2.0/monitor.rb
   23 /tmp/ruby/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb
   24 /tmp/ruby/lib/ruby/2.2.0/rubygems.rb
   25 /tmp/ruby/lib/ruby/2.2.0/rubygems/dependency.rb
   26 /tmp/ruby/lib/ruby/2.2.0/rubygems/path_support.rb
   27 /tmp/ruby/lib/ruby/2.2.0/json/version.rb
   28 /tmp/ruby/lib/ruby/2.2.0/ostruct.rb
   29 /tmp/ruby/lib/ruby/2.2.0/json/generic_object.rb
   30 /tmp/ruby/lib/ruby/2.2.0/json/common.rb
   31 /tmp/ruby/lib/ruby/2.2.0/x86_64-haiku/enc/utf_16be.so
   32 /tmp/ruby/lib/ruby/2.2.0/x86_64-haiku/enc/utf_16le.so
   33 /tmp/ruby/lib/ruby/2.2.0/x86_64-haiku/enc/utf_32be.so
   34 /tmp/ruby/lib/ruby/2.2.0/x86_64-haiku/enc/utf_32le.so
   35 /tmp/ruby/lib/ruby/2.2.0/x86_64-haiku/json/ext/parser.so
   36 /tmp/ruby/lib/ruby/2.2.0/x86_64-haiku/json/ext/generator.so
   37 /tmp/ruby/lib/ruby/2.2.0/json/ext.rb
   38 /tmp/ruby/lib/ruby/2.2.0/json.rb
   39 /tmp/ruby/lib/ruby/2.2.0/x86_64-haiku/socket.so
   40 /tmp/ruby/lib/ruby/2.2.0/socket.rb
   41 /tmp/ruby/lib/ruby/2.2.0/timeout.rb
   42 /tmp/ruby/lib/ruby/2.2.0/net/protocol.rb
   43 /tmp/ruby/lib/ruby/2.2.0/uri/rfc2396_parser.rb
   44 /tmp/ruby/lib/ruby/2.2.0/uri/rfc3986_parser.rb
   45 /tmp/ruby/lib/ruby/2.2.0/uri/common.rb
   46 /tmp/ruby/lib/ruby/2.2.0/uri/generic.rb
   47 /tmp/ruby/lib/ruby/2.2.0/uri/ftp.rb
   48 /tmp/ruby/lib/ruby/2.2.0/uri/http.rb
   49 /tmp/ruby/lib/ruby/2.2.0/uri/https.rb
   50 /tmp/ruby/lib/ruby/2.2.0/uri/ldap.rb
   51 /tmp/ruby/lib/ruby/2.2.0/uri/ldaps.rb
   52 /tmp/ruby/lib/ruby/2.2.0/uri/mailto.rb
   53 /tmp/ruby/lib/ruby/2.2.0/uri.rb
   54 /tmp/ruby/lib/ruby/2.2.0/x86_64-haiku/zlib.so
   55 /tmp/ruby/lib/ruby/2.2.0/x86_64-haiku/stringio.so
   56 /tmp/ruby/lib/ruby/2.2.0/net/http/exceptions.rb
   57 /tmp/ruby/lib/ruby/2.2.0/net/http/header.rb
   58 /tmp/ruby/lib/ruby/2.2.0/x86_64-haiku/enc/windows_31j.so
   59 /tmp/ruby/lib/ruby/2.2.0/net/http/generic_request.rb
   60 /tmp/ruby/lib/ruby/2.2.0/net/http/request.rb
   61 /tmp/ruby/lib/ruby/2.2.0/net/http/requests.rb
   62 /tmp/ruby/lib/ruby/2.2.0/net/http/response.rb
   63 /tmp/ruby/lib/ruby/2.2.0/net/http/responses.rb
   64 /tmp/ruby/lib/ruby/2.2.0/net/http/proxy_delta.rb
   65 /tmp/ruby/lib/ruby/2.2.0/net/http/backward.rb
   66 /tmp/ruby/lib/ruby/2.2.0/net/http.rb
   67 /tmp/ruby/lib/ruby/2.2.0/psych/exception.rb
   68 /tmp/ruby/lib/ruby/2.2.0/psych/syntax_error.rb
   69 /tmp/ruby/lib/ruby/2.2.0/x86_64-haiku/psych.so
   70 /tmp/ruby/lib/ruby/2.2.0/psych/omap.rb
   71 /tmp/ruby/lib/ruby/2.2.0/psych/set.rb
   72 /tmp/ruby/lib/ruby/2.2.0/psych/class_loader.rb
   73 /tmp/ruby/lib/ruby/2.2.0/x86_64-haiku/strscan.so
   74 /tmp/ruby/lib/ruby/2.2.0/psych/scalar_scanner.rb
   75 /tmp/ruby/lib/ruby/2.2.0/psych/nodes/node.rb
   76 /tmp/ruby/lib/ruby/2.2.0/psych/nodes/stream.rb
   77 /tmp/ruby/lib/ruby/2.2.0/psych/nodes/document.rb
   78 /tmp/ruby/lib/ruby/2.2.0/psych/nodes/sequence.rb
   79 /tmp/ruby/lib/ruby/2.2.0/psych/nodes/scalar.rb
   80 /tmp/ruby/lib/ruby/2.2.0/psych/nodes/mapping.rb
   81 /tmp/ruby/lib/ruby/2.2.0/psych/nodes/alias.rb
   82 /tmp/ruby/lib/ruby/2.2.0/psych/nodes.rb
   83 /tmp/ruby/lib/ruby/2.2.0/psych/streaming.rb
   84 /tmp/ruby/lib/ruby/2.2.0/psych/visitors/visitor.rb
   85 /tmp/ruby/lib/ruby/2.2.0/psych/visitors/to_ruby.rb
   86 /tmp/ruby/lib/ruby/2.2.0/psych/visitors/emitter.rb
   87 /tmp/ruby/lib/ruby/2.2.0/psych/handler.rb
   88 /tmp/ruby/lib/ruby/2.2.0/psych/tree_builder.rb
   89 /tmp/ruby/lib/ruby/2.2.0/psych/visitors/yaml_tree.rb
   90 /tmp/ruby/lib/ruby/2.2.0/psych/json/ruby_events.rb
   91 /tmp/ruby/lib/ruby/2.2.0/psych/visitors/json_tree.rb
   92 /tmp/ruby/lib/ruby/2.2.0/psych/visitors/depth_first.rb
   93 /tmp/ruby/lib/ruby/2.2.0/psych/visitors.rb
   94 /tmp/ruby/lib/ruby/2.2.0/psych/parser.rb
   95 /tmp/ruby/lib/ruby/2.2.0/psych/coder.rb
   96 /tmp/ruby/lib/ruby/2.2.0/psych/core_ext.rb
   97 /tmp/ruby/lib/ruby/2.2.0/x86_64-haiku/date_core.so
   98 /tmp/ruby/lib/ruby/2.2.0/date.rb
   99 /tmp/ruby/lib/ruby/2.2.0/psych/deprecated.rb
  100 /tmp/ruby/lib/ruby/2.2.0/psych/stream.rb
  101 /tmp/ruby/lib/ruby/2.2.0/psych/json/yaml_events.rb
  102 /tmp/ruby/lib/ruby/2.2.0/psych/json/tree_builder.rb
  103 /tmp/ruby/lib/ruby/2.2.0/psych/json/stream.rb
  104 /tmp/ruby/lib/ruby/2.2.0/psych/handlers/document_stream.rb
  105 /tmp/ruby/lib/ruby/2.2.0/psych.rb
  106 /tmp/ruby/lib/ruby/2.2.0/yaml.rb
  107 /tmp/ruby/lib/ruby/2.2.0/open3.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

Abort
/tmp/ruby/lib/ruby/2.2.0/open3.rb:202: Abort
```

Definitely pthread related.  I'm guessing we should try to fix the pthread issue vs adding threads_haiku to use the native BeOS style threads?

----------------------------------------
Bug #10811: x86_64 segfault on Haiku
https://bugs.ruby-lang.org/issues/10811#change-51376

* Author: Alexander von Gluck
* Status: Open
* Priority: Low
* Assignee: 
* ruby -v: ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-haiku]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN
----------------------------------------
make test, although all ruby scripts result in this failure..

```
make[2]: `ruby' is up to date.
make[2]: Leaving directory `/Builds/ruby-2.2.0'
make[1]: Leaving directory `/Builds/ruby-2.2.0'
Generating RDoc documentation

No newer files.

  Files:      0

  Classes:    0 (0 undocumented)
  Modules:    0 (0 undocumented)
  Constants:  0 (0 undocumented)
  Attributes: 0 (0 undocumented)
  Methods:    0 (0 undocumented)

  Total:      0 (0 undocumented)
    0.00% documented

  Elapsed: 0.0s


test succeeded
test_attr.rb            \./bootstraptest/runner.rb:449: [BUG] vm_call0_cfunc_with_frame: cfp consistency error
ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-haiku]

-- Control frame information -----------------------------------------------
c:0020 p:---- s:0088 e:000087 CFUNC  :value
c:0019 p:0015 s:0085 e:000084 RESCUE ./bootstraptest/runner.rb:450
c:0018 p:0092 s:0082 E:002140 METHOD ./bootstraptest/runner.rb:450
c:0017 p:0095 s:0073 E:002098 METHOD ./bootstraptest/runner.rb:226
c:0016 p:0017 s:0065 E:002118 METHOD ./bootstraptest/runner.rb:264
c:0015 p:0021 s:0059 E:0021a8 METHOD ./bootstraptest/runner.rb:273
c:0014 p:0011 s:0053 e:000052 TOP    /Builds/ruby-2.2.0/bootstraptest/test_attr.rb:1 [FINISH]
c:0013 p:---- s:0051 e:000050 CFUNC  :load
c:0012 p:0099 s:0047 e:000046 BLOCK  ./bootstraptest/runner.rb:188 [FINISH]
c:0011 p:---- s:0041 e:000040 CFUNC  :each
c:0010 p:0054 s:0038 e:000037 METHOD ./bootstraptest/runner.rb:180
c:0009 p:0009 s:0034 e:000033 BLOCK  ./bootstraptest/runner.rb:161
c:0008 p:0006 s:0032 e:000031 BLOCK  ./bootstraptest/runner.rb:484 [FINISH]
c:0007 p:---- s:0030 e:000029 CFUNC  :chdir
c:0006 p:0015 s:0026 e:000025 BLOCK  ./bootstraptest/runner.rb:483
c:0005 p:0045 s:0023 e:000022 METHOD /Builds/ruby-2.2.0/lib/tmpdir.rb:88
c:0004 p:0054 s:0016 e:000015 METHOD ./bootstraptest/runner.rb:482
c:0003 p:0602 s:0012 e:000011 METHOD ./bootstraptest/runner.rb:160
c:0002 p:0401 s:0004 E:000300 EVAL   ./bootstraptest/runner.rb:505 [FINISH]
c:0001 p:0000 s:0002 E:000b10 TOP    [FINISH]

-- Ruby level backtrace information ----------------------------------------
./bootstraptest/runner.rb:505:in `<main>'
./bootstraptest/runner.rb:160:in `main'
./bootstraptest/runner.rb:482:in `in_temporary_working_directory'
/Builds/ruby-2.2.0/lib/tmpdir.rb:88:in `mktmpdir'
./bootstraptest/runner.rb:483:in `block in in_temporary_working_directory'
./bootstraptest/runner.rb:483:in `chdir'
./bootstraptest/runner.rb:484:in `block (2 levels) in in_temporary_working_directory'
./bootstraptest/runner.rb:161:in `block in main'
./bootstraptest/runner.rb:180:in `exec_test'
./bootstraptest/runner.rb:180:in `each'
./bootstraptest/runner.rb:188:in `block in exec_test'
./bootstraptest/runner.rb:188:in `load'
/Builds/ruby-2.2.0/bootstraptest/test_attr.rb:1:in `<top (required)>'
./bootstraptest/runner.rb:273:in `assert_equal'
./bootstraptest/runner.rb:264:in `assert_check'
./bootstraptest/runner.rb:226:in `show_progress'
./bootstraptest/runner.rb:450:in `with_stderr'
./bootstraptest/runner.rb:450:in `ensure in with_stderr'
./bootstraptest/runner.rb:450:in `value'

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

* Loaded script: ./bootstraptest/runner.rb

* Loaded features:

    0 enumerator.so
    1 rational.so
    2 complex.so
    3 /Builds/ruby-2.2.0/.ext/x86_64-haiku/enc/encdb.so
    4 /Builds/ruby-2.2.0/.ext/x86_64-haiku/enc/trans/transdb.so
    5 /Builds/ruby-2.2.0/lib/unicode_normalize.rb
    6 /Builds/ruby-2.2.0/.ext/x86_64-haiku/etc.so
    7 /Builds/ruby-2.2.0/lib/fileutils.rb
    8 /Builds/ruby-2.2.0/lib/tmpdir.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

Abort
make: *** [yes-btest-ruby] Abort
```

---Files--------------------------------
2.2.0-buildlog-haiku-x86_64.txt (341 KB)


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