Bug #11602
closed
Compile error on CentOS: Segmentation fault after "linking miniruby"
Added by Ruben_r (Ruben Ambarcumyanc) almost 9 years ago.
Updated over 5 years ago.
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
Can't you show gdb backtrace?
(gdb) backtrace
#0 0x00002b739984f0bb in reserve_stack (limit=0x7fff44a7b0c0 <Address 0x7fff44a7b0c0 out of bounds>, 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)
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 <Address 0x7fff44a7b0c0 out of bounds>, size=10481408) at thread_pthread.c:685
685 limit[0] = 0;
warning: not using untrusted file "/usr/src/ruby-2.1.7/.gdbinit"
(gdb)
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]
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?
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.
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.
- Status changed from Open to Rejected
CentOS 5 and Ruby 2.1 are EOL.
Also available in: Atom
PDF
Like0
Like0Like0Like0Like0Like0Like0Like0Like0