Project

General

Profile

Bug #11602

Compile error on CentOS: Segmentation fault after "linking miniruby"

Added by Ruben_r (Ruben Ambarcumyanc) over 4 years ago. Updated about 1 year ago.

Status:
Rejected
Priority:
Normal
Target version:
-
[ruby-core:71112]

Description

Hi,
I can't to compile Ruby 2.1.7 on the one of our servers:

configure:
ruby-2.1.7 # ./configure
...
checking for nroff... /usr/bin/nroff
.ext/include/x86_64-linux/ruby/config.h updated
ruby library version = 2.1.0
configure: creating ./config.status
config.status: creating GNUmakefile
config.status: creating Makefile
config.status: creating ruby-2.1.pc

make:
ruby-2.1.7 #make
CC = gcc
LD = ld
LDSHARED = gcc -shared
CFLAGS = -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -std=iso9899:1999
XCFLAGS = -D_FORTIFY_SOURCE=2 -fstack-protector -fvisibility=hidden -DRUBY_EXPORT -fPIE
CPPFLAGS = -I. -I.ext/include/x86_64-linux -I./include -I.
DLDFLAGS = -fstack-protector -pie

SOLIBS =
Using built-in specs.
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-libgcj-multifile --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --disable-plugin --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --with-cpu=generic --host=x86_64-redhat-linux
Thread model: posix
gcc version 4.1.2 20080704 (Red Hat 4.1.2-55)
compiling main.c
...
compiling addr2line.c
compiling dmyext.c
linking miniruby
make: *** [.rbconfig.time] Segmentation fault (core dumped)

Server OS: CentOS 5.11 x86_64
Core dump and config.log were attached.

Ruby 2.1.6 compiled successfully at the same server.


Files

core.30886 (532 KB) core.30886 Core dump Ruben_r (Ruben Ambarcumyanc), 10/19/2015 02:04 PM
config.log (864 KB) config.log Ruben_r (Ruben Ambarcumyanc), 10/19/2015 02:04 PM

Updated by nobu (Nobuyoshi Nakada) over 4 years ago

Can't you show gdb backtrace?

Updated by Ruben_r (Ruben Ambarcumyanc) over 4 years ago

(gdb) backtrace
#0 0x00002b739984f0bb in reserve_stack (limit=0x7fff44a7b0c0 , size=10481408) at thread_pthread.c:685
#1 0x00002b739984f134 in ruby_init_stack (addr=0x7fff45479258) at thread_pthread.c:714
#2 0x00002b739969a0e2 in main (argc=9, argv=0x7fff45479348) at main.c:34
(gdb)

Updated by Ruben_r (Ruben Ambarcumyanc) over 4 years ago

ruby-2.1.7 # gdb miniruby core.17835
GNU gdb (GDB) CentOS (7.0.1-45.el5.centos)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
http://www.gnu.org/software/gdb/bugs/...
Reading symbols from /usr/src/ruby-2.1.7/miniruby...done.
[New Thread 17835]
Reading symbols from /lib64/libpthread.so.0...Reading symbols from /usr/lib/debug/lib64/libpthread-2.5.so.debug...done.
[Thread debugging using libthread_db enabled]
done.
Loaded symbols for /lib64/libpthread.so.0
Reading symbols from /lib64/librt.so.1...Reading symbols from /usr/lib/debug/lib64/librt-2.5.so.debug...done.
done.
Loaded symbols for /lib64/librt.so.1
Reading symbols from /lib64/libdl.so.2...Reading symbols from /usr/lib/debug/lib64/libdl-2.5.so.debug...done.
done.
Loaded symbols for /lib64/libdl.so.2
Reading symbols from /lib64/libcrypt.so.1...Reading symbols from /usr/lib/debug/lib64/libcrypt-2.5.so.debug...done.
done.
Loaded symbols for /lib64/libcrypt.so.1
Reading symbols from /lib64/libm.so.6...Reading symbols from /usr/lib/debug/lib64/libm-2.5.so.debug...done.
done.
Loaded symbols for /lib64/libm.so.6
Reading symbols from /lib64/libc.so.6...Reading symbols from /usr/lib/debug/lib64/libc-2.5.so.debug...(no debugging symbols found)...done.
(no debugging symbols found)...done.
Loaded symbols for /lib64/libc.so.6
Reading symbols from /lib64/ld-linux-x86-64.so.2...Reading symbols from /usr/lib/debug/lib64/ld-2.5.so.debug...done.
done.
Loaded symbols for /lib64/ld-linux-x86-64.so.2

warning: no loadable sections found in added symbol-file system-supplied DSO at 0x7fff455fd000
Core was generated by `./miniruby -I./lib -I. -I.ext/common ./tool/mkconfig.rb -timestamp=.rbconfig.ti'.
Program terminated with signal 11, Segmentation fault.
#0 0x00002b739984f0bb in reserve_stack (limit=0x7fff44a7b0c0 , size=10481408) at thread_pthread.c:685
685 limit[0] = 0;
warning: not using untrusted file "/usr/src/ruby-2.1.7/.gdbinit"
(gdb)

Updated by Ruben_r (Ruben Ambarcumyanc) over 4 years ago

Some additional information. Version 2.2.3 didn't compiled with the same error message. But Ruby from the stable snapshot (https://ftp.ruby-lang.org/pub/ruby/stable-snapshot.tar.gz) compiled successfully:

stable-snapshot# make
...
Parsing sources...
100% [967/967] vsnprintf.c

Generating RI format into /usr/src/stable-snapshot/.ext/rdoc...

Files: 967

Classes: 1411 ( 581 undocumented)
Modules: 280 ( 108 undocumented)
Constants: 2160 ( 594 undocumented)
Attributes: 1156 ( 255 undocumented)
Methods: 10488 (2187 undocumented)

Total: 15495 (3725 undocumented)
75.96% documented

Elapsed: 64.9s

stable-snapshot# ./ruby -v
ruby 2.2.4p180 (2015-10-06 revision 52046) [x86_64-linux]

Updated by yuri (Y A) over 4 years ago

This is always reproducible on centos 5.x latest, running XEN kernel domU. No issues on regular centos 5.x (KVM or not).

Exact same stack trace.

Anybody care to fix this?

Updated by robbkidd (Robb Kidd) over 4 years ago

Ruben Ambarcumyanc wrote:

Some additional information. Version 2.2.3 didn't compiled with the same error message. But Ruby from the stable snapshot (https://ftp.ruby-lang.org/pub/ruby/stable-snapshot.tar.gz) compiled successfully:

stable-snapshot# make
...
stable-snapshot# ./ruby -v
ruby 2.2.4p180 (2015-10-06 revision 52046) [x86_64-linux]

The fix in r51626 for Bug #11457 applied directly to my working copy of 2.2.3 fixed the segfault on the CentOS 5 node I'd seen the error on in my environment.

UPDATE: And fixes the segfault when applied directly to a checkout of 2.1.7.

UPDATE2: After reviewing the history and a few test compiles of earlier versions, problem appeared with the solution to #11030. 2.1.7 and 2.2.3 are the affected release versions.

Updated by Ruben_r (Ruben Ambarcumyanc) over 4 years ago

Robb Kidd wrote:

The fix in r51626 for Bug #11457 applied directly to my working copy of 2.2.3 fixed the segfault on the CentOS 5 node I'd seen the error on in my environment.

UPDATE: And fixes the segfault when applied directly to a checkout of 2.1.7.

UPDATE2: After reviewing the history and a few test compiles of earlier versions, problem appeared with the solution to #11030. 2.1.7 and 2.2.3 are the affected release versions.

Thanks for your reply. This solution is works for me and I'm able to compile ruby 2.1.7 on the my CentOS 5 server.

Updated by hsbt (Hiroshi SHIBATA) about 1 year ago

  • Status changed from Open to Rejected

CentOS 5 and Ruby 2.1 are EOL.

Also available in: Atom PDF