Project

General

Profile

Bug #10811

x86_64 segfault on Haiku

Added by kallisti5 (Alexander von Gluck) over 4 years ago. Updated over 3 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Target version:
-
ruby -v:
ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-haiku]
[ruby-core:67923]

Description

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) 2.2.0-buildlog-haiku-x86_64.txt kallisti5 (Alexander von Gluck), 02/01/2015 03:47 AM

Associated revisions

Revision e29c109d
Added by nobu (Nobuyoshi Nakada) over 3 years ago

Haiku now best effort support

  • configure.in: remove obsolete workarounds for Haiku.
  • dln.c, file.c, io.c: remove obsolete Haiku workarounds.
  • thread_pthread.c: add stack bounds detection for Haiku.
  • signal.c: get stack pointer from signal context on Haiku. [ruby-core:67923] [Bug #10811] [Fix GH-1109]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52721 b2dd03c8-39d4-4d8f-98ff-823fe69b080e

Revision 52721
Added by nobu (Nobuyoshi Nakada) over 3 years ago

Haiku now best effort support

  • configure.in: remove obsolete workarounds for Haiku.
  • dln.c, file.c, io.c: remove obsolete Haiku workarounds.
  • thread_pthread.c: add stack bounds detection for Haiku.
  • signal.c: get stack pointer from signal context on Haiku. [ruby-core:67923] [Bug #10811] [Fix GH-1109]

Revision 52721
Added by nobu (Nobuyoshi Nakada) over 3 years ago

Haiku now best effort support

  • configure.in: remove obsolete workarounds for Haiku.
  • dln.c, file.c, io.c: remove obsolete Haiku workarounds.
  • thread_pthread.c: add stack bounds detection for Haiku.
  • signal.c: get stack pointer from signal context on Haiku. [ruby-core:67923] [Bug #10811] [Fix GH-1109]

Revision 52721
Added by nobu (Nobuyoshi Nakada) over 3 years ago

Haiku now best effort support

  • configure.in: remove obsolete workarounds for Haiku.
  • dln.c, file.c, io.c: remove obsolete Haiku workarounds.
  • thread_pthread.c: add stack bounds detection for Haiku.
  • signal.c: get stack pointer from signal context on Haiku. [ruby-core:67923] [Bug #10811] [Fix GH-1109]

Revision 52721
Added by nobu (Nobuyoshi Nakada) over 3 years ago

Haiku now best effort support

  • configure.in: remove obsolete workarounds for Haiku.
  • dln.c, file.c, io.c: remove obsolete Haiku workarounds.
  • thread_pthread.c: add stack bounds detection for Haiku.
  • signal.c: get stack pointer from signal context on Haiku. [ruby-core:67923] [Bug #10811] [Fix GH-1109]

Revision 52721
Added by nobu (Nobuyoshi Nakada) over 3 years ago

Haiku now best effort support

  • configure.in: remove obsolete workarounds for Haiku.
  • dln.c, file.c, io.c: remove obsolete Haiku workarounds.
  • thread_pthread.c: add stack bounds detection for Haiku.
  • signal.c: get stack pointer from signal context on Haiku. [ruby-core:67923] [Bug #10811] [Fix GH-1109]

History

Updated by kallisti5 (Alexander von Gluck) over 4 years ago

Just noticed that "checking size of __int64... 0" during configure... hmmm

checking for long long... yes
checking for off_t... yes
checking char bit... 8
checking size of int... 4
checking size of short... 2
checking size of long... 8
checking size of long long... 8
checking size of __int64... 0
checking size of __int128... 16
checking size of off_t... 8
checking size of void*... 8
checking size of float... 4
checking size of double... 8
checking size of time_t... 4
checking size of clock_t... 4

Updated by kallisti5 (Alexander von Gluck) over 4 years ago

hm, this looks like it could be thread related.. the __int64 0 size is expected.

CFLAGS='-g -ggdb' ./configure --enable-debug-env --enable-shared --prefix=/tmp/ruby

/tmp/ruby/bin> ./ruby /Builds/haikeuken-client/ruby/client.rb 
 _   _       _ _              _               
| | | |     (_) |            | |              
| |_| | __ _ _| | _____ _   _| | _____ _ __   
|  _  |/ _` | | |/ / _ \ | | | |/ / _ \ '_ \ 
| | | | (_| | |   <  __/ |_| |   <  __/ | | | 
\_| |_/\__,_|_|_|\_\___|\__,_|_|\_\___|_| |_| 
--------------------------------------------- 
         The Haiku package builder            
                Version 0.2

/tmp/ruby/lib/ruby/2.2.0/open3.rb:340: [BUG] object allocation during garbage collection phase
ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-haiku]

-- Control frame information -----------------------------------------------
c:0008 p:---- s:0051 e:000050 CFUNC  :initialize
c:0007 p:---- s:0049 e:000048 CFUNC  :value
c:0006 p:0066 s:0046 E:0011f0 BLOCK  /tmp/ruby/lib/ruby/2.2.0/open3.rb:348
c:0005 p:0077 s:0040 e:000039 METHOD /tmp/ruby/lib/ruby/2.2.0/open3.rb:199
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:001288 METHOD /tmp/ruby/lib/ruby/2.2.0/open3.rb:335
c:0002 p:0214 s:0012 E:001610 EVAL   /Builds/haikeuken-client/ruby/client.rb:63 [FINISH]
c:0001 p:0000 s:0002 E:001390 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:199:in `popen_run'
/tmp/ruby/lib/ruby/2.2.0/open3.rb:348:in `block in capture2e'
/tmp/ruby/lib/ruby/2.2.0/open3.rb:348:in `value'

-- 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
Abort

/tmp/ruby/lib/ruby/2.2.0/open3.rb:340:

  def capture2e(*cmd, stdin_data: nil, binmode: false, **opts)
    popen2e(*cmd, opts) {|i, oe, t|
      if binmode
        i.binmode
        oe.binmode
      end
      outerr_reader = Thread.new { oe.read }   <<<<<<<<<<<<<<<<<<<<<<
      if stdin_data
        begin

Updated by kallisti5 (Alexander von Gluck) over 4 years ago

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?

Updated by kallisti5 (Alexander von Gluck) over 4 years ago

And our PTHREAD haves:

/Builds/ruby-2.2.0> grep -R HAVE_PTHREAD .ext/
.ext/include/x86_64-haiku/ruby/config.h:#define HAVE_PTHREAD_COND_INIT 1
.ext/include/x86_64-haiku/ruby/config.h:#define HAVE_PTHREAD_CONDATTR_INIT 1
.ext/include/x86_64-haiku/ruby/config.h:#define HAVE_PTHREAD_SIGMASK 1
.ext/include/x86_64-haiku/ruby/config.h:#define HAVE_PTHREAD_ATTR_INIT 1
.ext/include/x86_64-haiku/ruby/config.h:#define HAVE_PTHREAD_H 1

We don't provide a pthread attr function to get the stack like Linux + BSD. Old enhancement here:

https://dev.haiku-os.org/ticket/3883

Updated by kallisti5 (Alexander von Gluck) over 3 years ago

This issue is resolved via the pull-request here:
https://github.com/ruby/ruby/pull/1109

#7

Updated by nobu (Nobuyoshi Nakada) over 3 years ago

  • Status changed from Open to Closed

Applied in changeset r52721.


Haiku now best effort support

  • configure.in: remove obsolete workarounds for Haiku.
  • dln.c, file.c, io.c: remove obsolete Haiku workarounds.
  • thread_pthread.c: add stack bounds detection for Haiku.
  • signal.c: get stack pointer from signal context on Haiku. [ruby-core:67923] [Bug #10811] [Fix GH-1109]

Also available in: Atom PDF