Skip to content

Corrupted memory and Segfaults when compiling ruby version 2.3.x #1092

Closed
@Xiaoming94

Description

@Xiaoming94

Getting either this error:

/tmp/ruby-build.20170606034701.13481/ruby-2.3.4/lib/fileutils.rb:1748: [BUG] Segmentation fault at 0x00000000000001
ruby 2.3.4p301 (2017-03-30 revision 58214) [x86_64-linux]

-- Control frame information -----------------------------------------------
c:0011 p:---- s:0040 e:000039 CFUNC  :module_eval
c:0010 p:0030 s:0034 e:000033 BLOCK  /tmp/ruby-build.20170606034701.13481/ruby-2.3.4/lib/fileutils.rb:1748 [FINISH]
c:0009 p:---- s:0031 e:000030 CFUNC  :each
c:0008 p:0065 s:0028 e:000027 CLASS  /tmp/ruby-build.20170606034701.13481/ruby-2.3.4/lib/fileutils.rb:1747
c:0007 p:2099 s:0026 e:000025 CLASS  /tmp/ruby-build.20170606034701.13481/ruby-2.3.4/lib/fileutils.rb:1742
c:0006 p:0009 s:0024 e:000023 TOP    /tmp/ruby-build.20170606034701.13481/ruby-2.3.4/lib/fileutils.rb:88 [FINISH]
c:0005 p:---- s:0022 e:000021 CFUNC  :require
c:0004 p:0017 s:0018 e:000017 TOP    /tmp/ruby-build.20170606034701.13481/ruby-2.3.4/lib/mkmf.rb:7 [FINISH]
c:0003 p:---- s:0016 e:000015 CFUNC  :load
c:0002 p:0082 s:0012 E:001470 EVAL   ./enc/make_encmake.rb:8 [FINISH]
c:0001 p:0000 s:0002 E:001d30 (none) [FINISH]

-- Ruby level backtrace information ----------------------------------------
./enc/make_encmake.rb:8:in `<main>'
./enc/make_encmake.rb:8:in `load'
/tmp/ruby-build.20170606034701.13481/ruby-2.3.4/lib/mkmf.rb:7:in `<top (required)>'
/tmp/ruby-build.20170606034701.13481/ruby-2.3.4/lib/mkmf.rb:7:in `require'
/tmp/ruby-build.20170606034701.13481/ruby-2.3.4/lib/fileutils.rb:88:in `<top (required)>'
/tmp/ruby-build.20170606034701.13481/ruby-2.3.4/lib/fileutils.rb:1742:in `<module:FileUtils>'
/tmp/ruby-build.20170606034701.13481/ruby-2.3.4/lib/fileutils.rb:1747:in `<module:DryRun>'
/tmp/ruby-build.20170606034701.13481/ruby-2.3.4/lib/fileutils.rb:1747:in `each'
/tmp/ruby-build.20170606034701.13481/ruby-2.3.4/lib/fileutils.rb:1748:in `block in <module:DryRun>'
/tmp/ruby-build.20170606034701.13481/ruby-2.3.4/lib/fileutils.rb:1748:in `module_eval'

-- Machine register context ------------------------------------------------
 RIP: 0x00007f40246556d1 RBP: 0x0000564ecb0c44a0 RSP: 0x00007fff3d683818
 RAX: 0x0000564ecb0c44a8 RBX: 0x0000000000000031 RCX: 0x0000000000000001
 RDX: 0x0000000000000188 RDI: 0x0000564ecb0c44a8 RSI: 0x0000000000000001
  R8: 0x0000564ecb0c4490  R9: 0x0000564ecad2f9e8 R10: 0x0000564ecb01be70
 R11: 0x000000000000001b R12: 0x0000000000000031 R13: 0x0000564ecb0c5980
 R14: 0x0000000000000000 R15: 0x0000564ecb0c58e0 EFL: 0x0000000000010202

-- C level backtrace information -------------------------------------------
*** Error in `./miniruby': corrupted double-linked list: 0x0000564ecb0bf210 ***
verconf.h updated
compiling loadpath.c
linking static-library libruby-static.a
ar: `u' modifier ignored since `D' is the default (see `U')
verifying static-library libruby-static.a

Or this:

internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compiling enc/ascii.c
compiling enc/us_ascii.c
compiling enc/unicode.c
compiling enc/utf_8.c
compiling enc/trans/newline.c
linking miniruby
generating encdb.h
rbconfig.rb updated
generating enc.mk
creating verconf.h
encdb.h updated
*** Error in `./miniruby': malloc(): memory corruption: 0x00007ffe3b464408 ***
======= Backtrace: =========
/usr/lib/libc.so.6(+0x7254c)[0x7f6739e8d54c]
/usr/lib/libc.so.6(+0x78bfb)[0x7f6739e93bfb]
/usr/lib/libc.so.6(+0x7b7a1)[0x7f6739e967a1]
/usr/lib/libc.so.6(__libc_malloc+0x78)[0x7f6739e97fb8]
./miniruby(+0xaa11c)[0x56140926b11c]
./miniruby(+0xfa557)[0x5614092bb557]
./miniruby(+0x10c01e)[0x5614092cd01e]
./miniruby(+0x111d33)[0x5614092d2d33]
./miniruby(+0x20aa99)[0x5614093cba99]
./miniruby(rb_iseq_compile_with_option+0x38d)[0x5614093a495d]
./miniruby(+0x1f99e2)[0x5614093ba9e2]
./miniruby(rb_mod_module_eval+0x165)[0x5614093c1115]
./miniruby(+0x1ec1f4)[0x5614093ad1f4]
./miniruby(+0x1f18f4)[0x5614093b28f4]
./miniruby(+0x1f789c)[0x5614093b889c]
./miniruby(+0x1f85dd)[0x5614093b95dd]
./miniruby(rb_yield+0x5f)[0x5614093c055f]
./miniruby(rb_ary_each+0x3c)[0x5614091ea1dc]
./miniruby(+0x1ec1f4)[0x5614093ad1f4]
./miniruby(+0x1f8cf9)[0x5614093b9cf9]
./miniruby(+0x1f92a3)[0x5614093ba2a3]
./miniruby(+0x1f19c4)[0x5614093b29c4]
./miniruby(+0x1f789c)[0x5614093b889c]
verconf.h updated
./miniruby(+0x867a9)[0x5614092477a9]
./miniruby(+0x894d8)[0x56140924a4d8]
./miniruby(rb_f_require+0x13)[0x56140924a5b3]
./miniruby(+0x1ec1f4)[0x5614093ad1f4]
./miniruby(+0x1f8cf9)[0x5614093b9cf9]
./miniruby(+0x1f92a3)[0x5614093ba2a3]
./miniruby(+0x1f18f4)[0x5614093b28f4]
./miniruby(+0x1f789c)[0x5614093b889c]
./miniruby(+0x867a9)[0x5614092477a9]
./miniruby(+0x86e12)[0x561409247e12]
./miniruby(+0x1ec1f4)[0x5614093ad1f4]
./miniruby(+0x1f8cf9)[0x5614093b9cf9]
./miniruby(+0x1f92a3)[0x5614093ba2a3]
./miniruby(+0x1f18f4)[0x5614093b28f4]
./miniruby(+0x1f789c)[0x5614093b889c]
./miniruby(+0x80e47)[0x561409241e47]
./miniruby(ruby_run_node+0x2f)[0x5614092456ff]
./miniruby(+0x2473b)[0x5614091e573b]
/usr/lib/libc.so.6(__libc_start_main+0xea)[0x7f6739e3b43a]
./miniruby(_start+0x2a)[0x5614091e576a]
======= Memory map: ========
5614091c1000-5614094b0000 r-xp 00000000 00:28 604320                     /tmp/ruby-build.20170606034955.20910/ruby-2.3.4/miniruby
5614096b0000-5614096b5000 r--p 002ef000 00:28 604320                     /tmp/ruby-build.20170606034955.20910/ruby-2.3.4/miniruby
5614096b5000-5614096b6000 rw-p 002f4000 00:28 604320                     /tmp/ruby-build.20170606034955.20910/ruby-2.3.4/miniruby
5614096b6000-5614096c7000 rw-p 00000000 00:00 0 
56140a8a5000-56140ac64000 rw-p 00000000 00:00 0                          [heap]
7f6734000000-7f6734021000 rw-p 00000000 00:00 0 
7f6734021000-7f6738000000 ---p 00000000 00:00 0 
7f67394e1000-7f67394f7000 r-xp 00000000 00:15 416031                     /usr/lib/libgcc_s.so.1
7f67394f7000-7f67396f6000 ---p 00016000 00:15 416031                     /usr/lib/libgcc_s.so.1
7f67396f6000-7f67396f7000 r--p 00015000 00:15 416031                     /usr/lib/libgcc_s.so.1
7f67396f7000-7f67396f8000 rw-p 00016000 00:15 416031                     /usr/lib/libgcc_s.so.1
7f67396f8000-7f6739e1b000 r--p 00000000 00:15 41196                      /usr/lib/locale/locale-archive
7f6739e1b000-7f6739fb7000 r-xp 00000000 00:15 3825                       /usr/lib/libc-2.25.so
7f6739fb7000-7f673a1b6000 ---p 0019c000 00:15 3825                       /usr/lib/libc-2.25.so
7f673a1b6000-7f673a1ba000 r--p 0019b000 00:15 3825                       /usr/lib/libc-2.25.so
7f673a1ba000-7f673a1bc000 rw-p 0019f000 00:15 3825                       /usr/lib/libc-2.25.so
7f673a1bc000-7f673a1c0000 rw-p 00000000 00:00 0 
7f673a1c0000-7f673a2d0000 r-xp 00000000 00:15 3880                       /usr/lib/libm-2.25.so
7f673a2d0000-7f673a4d0000 ---p 00110000 00:15 3880                       /usr/lib/libm-2.25.so
7f673a4d0000-7f673a4d1000 r--p 00110000 00:15 3880                       /usr/lib/libm-2.25.so
7f673a4d1000-7f673a4d2000 rw-p 00111000 00:15 3880                       /usr/lib/libm-2.25.so
7f673a4d2000-7f673a4da000 r-xp 00000000 00:15 3871                       /usr/lib/libcrypt-2.25.so
7f673a4da000-7f673a6da000 ---p 00008000 00:15 3871                       /usr/lib/libcrypt-2.25.so
7f673a6da000-7f673a6db000 r--p 00008000 00:15 3871                       /usr/lib/libcrypt-2.25.so
7f673a6db000-7f673a6dc000 rw-p 00009000 00:15 3871                       /usr/lib/libcrypt-2.25.so
7f673a6dc000-7f673a70a000 rw-p 00000000 00:00 0 
7f673a70a000-7f673a70d000 r-xp 00000000 00:15 3879                       /usr/lib/libdl-2.25.so
7f673a70d000-7f673a90c000 ---p 00003000 00:15 3879                       /usr/lib/libdl-2.25.so
7f673a90c000-7f673a90d000 r--p 00002000 00:15 3879                       /usr/lib/libdl-2.25.so
7f673a90d000-7f673a90e000 rw-p 00003000 00:15 3879                       /usr/lib/libdl-2.25.so
7f673a90e000-7f673a9a0000 r-xp 00000000 00:15 7267                       /usr/lib/libgmp.so.10.3.2
7f673a9a0000-7f673ab9f000 ---p 00092000 00:15 7267                       /usr/lib/libgmp.so.10.3.2
7f673ab9f000-7f673aba0000 r--p 00091000 00:15 7267                       /usr/lib/libgmp.so.10.3.2
7f673aba0000-7f673aba1000 rw-p 00092000 00:15 7267                       /usr/lib/libgmp.so.10.3.2
7f673aba1000-7f673abba000 r-xp 00000000 00:15 3806                       /usr/lib/libpthread-2.25.so
7f673abba000-7f673adb9000 ---p 00019000 00:15 3806                       /usr/lib/libpthread-2.25.so
7f673adb9000-7f673adba000 r--p 00018000 00:15 3806                       /usr/lib/libpthread-2.25.so
7f673adba000-7f673adbb000 rw-p 00019000 00:15 3806                       /usr/lib/libpthread-2.25.so
7f673adbb000-7f673adbf000 rw-p 00000000 00:00 0 
7f673adbf000-7f673ade2000 r-xp 00000000 00:15 3824                       /usr/lib/ld-2.25.so
7f673aeb4000-7f673afbb000 rw-p 00000000 00:00 0 
7f673afdc000-7f673afdd000 rw-p 00000000 00:00 0 
7f673afdd000-7f673afde000 ---p 00000000 00:00 0 
7f673afde000-7f673afe1000 rw-p 00000000 00:00 0 
7f673afe1000-7f673afe2000 r--p 00022000 00:15 3824                       /usr/lib/ld-2.25.so
7f673afe2000-7f673afe3000 rw-p 00023000 00:15 3824                       /usr/lib/ld-2.25.so
7f673afe3000-7f673afe4000 rw-p 00000000 00:00 0 
7ffe3ac6a000-7ffe3b469000 rw-p 00000000 00:00 0                          [stack]
7ffe3b4f0000-7ffe3b4f2000 r--p 00000000 00:00 0                          [vvar]
7ffe3b4f2000-7ffe3b4f4000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]
compiling loadpath.c
make: *** [uncommon.mk:655: enc.mk] Aborted (core dumped)
make: *** Waiting for unfinished jobs...

When trying to compile Ruby 2.3.4

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions