[ruby-core:70688] [Ruby trunk - Bug #11514] AIX6.1 - Ruby 2.2.3 - Segmentation fault in :byteslice

From: tony.reix@...
Date: 2015-09-08 14:17:34 UTC
List: ruby-core #70688
Issue #11514 has been updated by Tony Reix.


I had attached all the details in a file. However, I have an "internal error" when trying to look at the file.
I haven't put all details in defect because, in some other projects, we are required to not put all details at first, only a summary.
Here are all the details:

Testing Ruby 2.2.3 on AIX6.1 built with xlc (same with gcc) leads to a reproducible crash.

gmake V=1 test-all
...
objcopy -w -L 'Init_*' -L '*_threadptr_*' libruby.so.2.2.0
:
/usr/vac/bin/xlc_r  -g -qinfo=por   -L.  -bE:ruby.imp -brtl -blibpath:NONE/lib:/usr/lib:/lib  main.o  -L/usr/local/lib -lruby  -lpthread -lgmp -ldl -lcrypt -lm    -o ruby
:
gmake[2]: Leaving directory `/opt/freeware/src/packages/BUILD/ruby-2.2.3'
gmake[1]: Leaving directory `/opt/freeware/src/packages/BUILD/ruby-2.2.3'
Generating RDoc documentation
./miniruby -I./lib -I. -I.ext/common  ./tool/runruby.rb --extout=.ext  -- --disable-gems "./bin/rdoc" --root "." --page-dir "./doc" --encoding=UTF-8 --no-force-update --all --ri --op ".ext/rdoc" --debug  "."
Parsing sources...
100% [967/967]  vsnprintf.c                                                                   

Generating RI format into /opt/freeware/src/packages/BUILD/ruby-2.2.3/.ext/rdoc...

BEFORE @generator.generate in lib/rdoc/rdoc.rb
/opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/markup/parser.rb:331: [BUG] **Segmentation fault** at 0x000004
ruby 2.2.3p173 (2015-08-18 revision 51636) [powerpc-aix6.1.9.0]

-- Control frame information -----------------------------------------------
c:0025 p:---- s:0126 e:000125 CFUNC  **:byteslice**
c:0024 p:0019 s:0121 e:000120 METHOD /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/markup/parser.rb:331
c:0023 p:0009 s:0116 e:000115 METHOD /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/markup/parser.rb:547
c:0022 p:0438 s:0111 e:000108 METHOD /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/markup/parser.rb:501
c:0021 p:0017 s:0099 e:000098 METHOD /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/markup/parser.rb:62
c:0020 p:0019 s:0093 e:000092 METHOD /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/markup.rb:748
c:0019 p:0112 s:0088 e:000087 METHOD /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/text.rb:143
c:0018 p:0029 s:0083 e:000082 METHOD /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/comment.rb:181
c:0017 p:0055 s:0080 e:000079 METHOD /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/text.rb:137
c:0016 p:0010 s:0075 e:000074 BLOCK  /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/class_module.rb:590 [FINISH]
c:0015 p:---- s:0070 e:000069 CFUNC  :map
c:0014 p:0102 s:0067 e:000066 METHOD /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/class_module.rb:589
c:0013 p:0048 s:0061 e:000056 METHOD /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/class_module.rb:322 [FINISH]
c:0012 p:---- s:0052 e:000051 CFUNC  :dump
c:0011 p:0450 s:0048 e:000047 METHOD /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/store.rb:865
c:0010 p:0009 s:0033 e:000032 BLOCK  /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/store.rb:749 [FINISH]
c:0009 p:---- s:0030 e:000029 CFUNC  :each
c:0008 p:0015 s:0027 e:000026 METHOD /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/store.rb:748
c:0007 p:0009 s:0024 e:000023 METHOD /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/generator/ri.rb:26
c:0006 p:0066 s:0021 e:000020 BLOCK  /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/rdoc.rb:531 [FINISH]
c:0005 p:---- s:0019 e:000018 CFUNC  :chdir
c:0004 p:0018 s:0015 e:000014 METHOD /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/rdoc.rb:525
c:0003 p:0369 s:0012 e:000011 METHOD /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/rdoc.rb:508
c:0002 p:0049 s:0006 E:000644 EVAL   ./bin/rdoc:20 [FINISH]
c:0001 p:0000 s:0002 E:00007c TOP    [FINISH]

-- Ruby level backtrace information ----------------------------------------
./bin/rdoc:20:in `<main>'
/opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/rdoc.rb:508:in `document'
/opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/rdoc.rb:525:in `generate'
/opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/rdoc.rb:525:in `chdir'
/opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/rdoc.rb:531:in `block in generate'
/opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/generator/ri.rb:26:in `generate'
/opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/store.rb:748:in `save'
/opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/store.rb:748:in `each'
/opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/store.rb:749:in `block in save'
/opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/store.rb:865:in `save_class'
/opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/store.rb:865:in `dump'
/opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/class_module.rb:322:in `marshal_dump'
/opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/class_module.rb:589:in `parse'
/opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/class_module.rb:589:in `map'
/opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/class_module.rb:590:in `block in parse'
/opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/text.rb:137:in `parse'
/opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/comment.rb:181:in `parse'
/opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/text.rb:143:in `parse'
/opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/markup.rb:748:in `parse'
/opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/markup/parser.rb:62:in `parse'
/opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/markup/parser.rb:501:in `tokenize'
/opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/markup/parser.rb:547:in `token_pos'
/opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/markup/parser.rb:331:in `char_pos'
/opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/markup/parser.rb:331:in `byteslice'

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

* Loaded script: ./bin/rdoc

* Loaded features:

    0 enumerator.so
    1 rational.so
    2 complex.so
    3 /opt/freeware/src/packages/BUILD/ruby-2.2.3/.ext/powerpc-aix6.1.9.0/enc/encdb.so
    4 /opt/freeware/src/packages/BUILD/ruby-2.2.3/.ext/powerpc-aix6.1.9.0/enc/trans/transdb.so
    5 /opt/freeware/src/packages/BUILD/ruby-2.2.3/.ext/powerpc-aix6.1.9.0/enc/iso_8859_1.so
    6 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/unicode_normalize.rb
    7 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc.rb
    8 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/find.rb
    9 /opt/freeware/src/packages/BUILD/ruby-2.2.3/.ext/powerpc-aix6.1.9.0/etc.so
   10 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/fileutils.rb
   11 /opt/freeware/src/packages/BUILD/ruby-2.2.3/.ext/powerpc-aix6.1.9.0/pathname.so
   12 /opt/freeware/src/packages/BUILD/ruby-2.2.3/.ext/common/pathname.rb
   13 /opt/freeware/src/packages/BUILD/ruby-2.2.3/.ext/powerpc-aix6.1.9.0/date_core.so
   14 /opt/freeware/src/packages/BUILD/ruby-2.2.3/.ext/common/date.rb
   15 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/time.rb
   16 /opt/freeware/src/packages/BUILD/ruby-2.2.3/rbconfig.rb
   17 thread.rb
   18 /opt/freeware/src/packages/BUILD/ruby-2.2.3/.ext/powerpc-aix6.1.9.0/thread.so
   19 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rubygems/compatibility.rb
   20 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rubygems/defaults.rb
   21 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rubygems/deprecate.rb
   22 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rubygems/errors.rb
   23 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rubygems/version.rb
   24 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rubygems/requirement.rb
   25 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rubygems/platform.rb
   26 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rubygems/basic_specification.rb
   27 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rubygems/stub_specification.rb
   28 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rubygems/util/stringio.rb
   29 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rubygems/specification.rb
   30 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rubygems/exceptions.rb
   31 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rubygems/core_ext/kernel_gem.rb
   32 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/monitor.rb
   33 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rubygems/core_ext/kernel_require.rb
   34 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rubygems.rb
   35 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rubygems/path_support.rb
   36 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/cgi/util.rb
   37 /opt/freeware/src/packages/BUILD/ruby-2.2.3/.ext/powerpc-aix6.1.9.0/strscan.so
   38 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/erb.rb
   39 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/generator.rb
   40 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rubygems/dependency.rb
   41 /opt/freeware/src/packages/BUILD/ruby-2.2.3/.ext/common/json/version.rb
   42 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/ostruct.rb
   43 /opt/freeware/src/packages/BUILD/ruby-2.2.3/.ext/common/json/generic_object.rb
   44 /opt/freeware/src/packages/BUILD/ruby-2.2.3/.ext/common/json/common.rb
   45 /opt/freeware/src/packages/BUILD/ruby-2.2.3/.ext/powerpc-aix6.1.9.0/enc/utf_16be.so
   46 /opt/freeware/src/packages/BUILD/ruby-2.2.3/.ext/powerpc-aix6.1.9.0/enc/utf_16le.so
   47 /opt/freeware/src/packages/BUILD/ruby-2.2.3/.ext/powerpc-aix6.1.9.0/enc/utf_32be.so
   48 /opt/freeware/src/packages/BUILD/ruby-2.2.3/.ext/powerpc-aix6.1.9.0/enc/utf_32le.so
   49 /opt/freeware/src/packages/BUILD/ruby-2.2.3/.ext/powerpc-aix6.1.9.0/json/ext/parser.so
   50 /opt/freeware/src/packages/BUILD/ruby-2.2.3/.ext/powerpc-aix6.1.9.0/json/ext/generator.so
   51 /opt/freeware/src/packages/BUILD/ruby-2.2.3/.ext/common/json/ext.rb
   52 /opt/freeware/src/packages/BUILD/ruby-2.2.3/.ext/common/json.rb
   53 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/markup.rb
   54 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/markup/formatter.rb
   55 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/markup/to_joined_paragraph.rb
   56 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/markdown/entities.rb
   57 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/markdown/literals_1_9.rb
   58 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/markdown.rb
   59 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/rd.rb
   60 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/markup/parser.rb
   61 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/markup/pre_process.rb
   62 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/tom_doc.rb
   63 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/text.rb
   64 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/code_object.rb
   65 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/method_attr.rb
   66 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/cgi/core.rb
   67 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/cgi/cookie.rb
   68 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/cgi.rb
   69 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/context.rb
   70 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/class_module.rb
   71 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/context/section.rb
   72 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/top_level.rb
   73 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/generator/markup.rb
   74 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/generator/darkfish.rb
   75 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/generator/ri.rb
   76 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/generator/pot.rb
   77 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/rdoc.rb
   78 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/store.rb
   79 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/optparse.rb
   80 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/options.rb
   81 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/parser/text.rb
   82 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/parser/simple.rb
   83 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/tsort.rb
   84 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/parser/c.rb
   85 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/parser/changelog.rb
   86 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/parser/markdown.rb
   87 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/parser/rd.rb
   88 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/ruby_token.rb
   89 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/token_stream.rb
   90 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/parser/ruby_tools.rb
   91 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/parser/ruby.rb
   92 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/parser.rb
   93 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/ri.rb
   94 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/ri/paths.rb
   95 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/stats.rb
   96 /opt/freeware/src/packages/BUILD/ruby-2.2.3/.ext/powerpc-aix6.1.9.0/io/console.so
   97 /opt/freeware/src/packages/BUILD/ruby-2.2.3/.ext/common/io/console/size.rb
   98 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/stats/quiet.rb
   99 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/stats/normal.rb
  100 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/encoding.rb
  101 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/comment.rb
  102 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/markup/document.rb
  103 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/markup/heading.rb
  104 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/markup/blank_line.rb
  105 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/markup/list.rb
  106 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/markup/raw.rb
  107 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/markup/paragraph.rb
  108 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/markup/list_item.rb
  109 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/known_classes.rb
  110 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/normal_class.rb
  111 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/any_method.rb
  112 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/mixin.rb
  113 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/include.rb
  114 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/alias.rb
  115 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/constant.rb
  116 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/normal_module.rb
  117 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/attr.rb
  118 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/e2mmap.rb
  119 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/irb/output-method.rb
  120 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/irb/notifier.rb
  121 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/irb/slex.rb
  122 /opt/freeware/src/packages/BUILD/ruby-2.2.3/.ext/powerpc-aix6.1.9.0/stringio.so
  123 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/ruby_lex.rb
  124 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/require.rb
  125 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/extend.rb
  126 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/ghost_method.rb
  127 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/meta_method.rb
  128 /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/markup/verbatim.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

gmake: *** [rdoc] IOT/Abort trap (core dumped)



# dbx ./ruby ./.ext/rdoc/core
Type 'help' for help.
[using memory image in ./.ext/rdoc/core]
reading symbolic information ...

IOT/Abort trap in pthread_kill at 0xd051ceb4 ($t1)
0xd051ceb4 (pthread_kill+0xb4) 80410014         lwz   r2,0x14(r1)
(dbx) where
pthread_kill(??, ??) at 0xd051ceb4
_p_raise(??) at 0xd051c2e8
raise.raise(??) at 0xd011f8a0
abort() at 0xd01a9a04
die(), line 395 in "error.c"
libdebug assertion "(framep->getGpr(STKP, &addr) == DB_SUCCESS && *nextStkpp == addr)" failed at line 1299 in file ../../../../../../../../../../../src/bos/usr/ccs/lib/libdbx/libdebug/modules/stackdebug/POWER/stackdb_FrameProgress.C
rb_bug_context(ctx = 0x200f83b0, fmt = "Segmentation fault at %p", ... = 0x4, 0xd052f200, 0x0, 0x117100f5, 0x117100f5, 0x200f7f28), line 427 in "error.c"
sigsegv(sig = 11, info = 0x200f863c, ctx = 0x200f83b0), line 879 in "signal.c"


----------------------------------------
Bug #11514: AIX6.1 - Ruby 2.2.3 - Segmentation fault in :byteslice
https://bugs.ruby-lang.org/issues/11514#change-54085

* Author: Tony Reix
* Status: Open
* Priority: Normal
* Assignee: 
* ruby -v: ?? ruby 2.1.1p76 (2014-02-24 revision 45161) [powerpc-aix6.1.0.0]
* Backport: 
----------------------------------------
Testing Ruby 2.2.3 on AIX6.1 built with xlc (same with gcc) leads to a reproducible crash.
See complete trace in attached file.
Ruby version is: RUBY_PROGRAM_VERSION=2.2.3 .

~~~
# gmake V=1 test-all
...
objcopy -w -L 'Init_*' -L '*_threadptr_*' libruby.so.2.2.0
:
/usr/vac/bin/xlc_r  -g -qinfo=por   -L.  -bE:ruby.imp -brtl -blibpath:NONE/lib:/usr/lib:/lib  main.o  -L/usr/local/lib -lruby  -lpthread -lgmp -ldl -lcrypt -lm    -o ruby
:
gmake[2]: Leaving directory `/opt/freeware/src/packages/BUILD/ruby-2.2.3'
gmake[1]: Leaving directory `/opt/freeware/src/packages/BUILD/ruby-2.2.3'
Generating RDoc documentation
./miniruby -I./lib -I. -I.ext/common  ./tool/runruby.rb --extout=.ext  -- --disable-gems "./bin/rdoc" --root "." --page-dir "./doc" --encoding=UTF-8 --no-force-update --all --ri --op ".ext/rdoc" --debug  "."
Parsing sources...
100% [967/967]  vsnprintf.c                                                                   

Generating RI format into /opt/freeware/src/packages/BUILD/ruby-2.2.3/.ext/rdoc...

BEFORE @generator.generate in lib/rdoc/rdoc.rb
/opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/markup/parser.rb:331: [BUG] **Segmentation fault** at 0x000004
ruby 2.2.3p173 (2015-08-18 revision 51636) [powerpc-aix6.1.9.0]

-- Control frame information -----------------------------------------------
c:0025 p:---- s:0126 e:000125 CFUNC  **:byteslice**
c:0024 p:0019 s:0121 e:000120 METHOD /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/markup/parser.rb:331
c:0023 p:0009 s:0116 e:000115 METHOD /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/markup/parser.rb:547
c:0022 p:0438 s:0111 e:000108 METHOD /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/markup/parser.rb:501
c:0021 p:0017 s:0099 e:000098 METHOD /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/markup/parser.rb:62
c:0020 p:0019 s:0093 e:000092 METHOD /opt/freeware/src/packages/BUILD/ruby-2.2.3/lib/rdoc/markup.rb:748
...

gmake: *** [rdoc] IOT/Abort trap (core dumped)


# ll ./.ext/rdoc/core
-rw-------    1 root     system    269015892 Sep  8 14:08 ./.ext/rdoc/core


# dbx ./ruby ./.ext/rdoc/core

IOT/Abort trap in pthread_kill at 0xd051ceb4 ($t1)
0xd051ceb4 (pthread_kill+0xb4) 80410014         lwz   r2,0x14(r1)
(dbx) where
pthread_kill(??, ??) at 0xd051ceb4
_p_raise(??) at 0xd051c2e8
raise.raise(??) at 0xd011f8a0
abort() at 0xd01a9a04
die(), line 395 in "error.c"
libdebug assertion "(framep->getGpr(STKP, &addr) == DB_SUCCESS && *nextStkpp == addr)" failed at line 1299 in file ../../../../../../../../../../../src/bos/usr/ccs/lib/libdbx/libdebug/modules/stackdebug/POWER/stackdb_FrameProgress.C
rb_bug_context(ctx = 0x200f83b0, fmt = "Segmentation fault at %p", ... = 0x4, 0xd052f200, 0x0, 0x117100f5, 0x117100f5, 0x200f7f28), line 427 in "error.c"
sigsegv(sig = 11, info = 0x200f863c, ctx = 0x200f83b0), line 879 in "signal.c"


---Files--------------------------------
RubyCore (15.8 KB)


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

In This Thread

Prev Next