Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 388123

Summary: dev-lang/ruby-1.9.* - segfault in test_fork.rb on HPPA
Product: Gentoo Linux Reporter: Jeroen Roovers (RETIRED) <jer>
Component: Current packagesAssignee: Gentoo Ruby Team <ruby>
Status: RESOLVED NEEDINFO    
Severity: normal CC: hppa, sandbox
Priority: Normal Keywords: TESTFAILURE
Version: unspecified   
Hardware: HPPA   
OS: Linux   
URL: http://redmine.ruby-lang.org/issues/5476
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on: 342819    
Bug Blocks:    
Attachments: dev-lang:ruby-1.9.3_rc1:20111022-170259.log

Description Jeroen Roovers (RETIRED) gentoo-dev 2011-10-22 17:22:32 UTC
Created attachment 290525 [details]
dev-lang:ruby-1.9.3_rc1:20111022-170259.log

#246 test_fork.rb:24:in `<top (required)>': 
     Process.setrlimit(:NPROC, 1)
     fork {}
  #=> killed by SIGABRT (signal 6)
| bootstraptest.tmp.rb:3: [BUG] Segmentation fault
| ruby 1.9.3dev (2011-09-23 revision 33323) [hppa-linux]
| 
| -- Control frame information -----------------------------------------------
| c:0004 p:---- s:0010 b:0010 l:000009 d:000009 CFUNC  :fork
| c:0003 p:0048 s:0007 b:0006 l:000cd4 d:000d2c EVAL   bootstraptest.tmp.rb:3
| c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
| c:0001 p:0000 s:0002 b:0002 l:000cd4 d:000cd4 TOP   
| 
| -- Ruby level backtrace information ----------------------------------------
| bootstraptest.tmp.rb:3:in `<main>'
| bootstraptest.tmp.rb:3:in `fork'

[...]


Sat Oct 22 19:21:09 CEST 2011
Portage 2.1.10.29 (default/linux/hppa/10.0, gcc-4.5.3, glibc-2.12.2-r0, 3.0.6-JeR parisc)
=================================================================
System uname: Linux-3.0.6-JeR-parisc-PA8700_-PCX-W2-with-gentoo-2.1
Timestamp of tree: Sat, 22 Oct 2011 15:45:01 +0000
distcc 3.1 hppa2.0-unknown-linux-gnu [enabled]
app-shells/bash:          4.1_p9
dev-lang/python:          2.7.2-r3, 3.2.2
dev-util/cmake:           2.8.6-r1
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.1
sys-apps/openrc:          0.9.4
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.68
sys-devel/automake:       1.8.5-r4, 1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:       2.20.1-r1, 2.21.1-r1
sys-devel/gcc:            4.4.5, 4.4.6-r1, 4.5.1-r1, 4.5.2, 4.5.3-r1
sys-devel/gcc-config:     1.4.1-r1
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r1
sys-kernel/linux-headers: 2.6.39 (virtual/os-headers)
sys-libs/glibc:           2.12.2
Repositories: gentoo JeR
ACCEPT_KEYWORDS="hppa"
ACCEPT_LICENSE="* -@EULA"
CBUILD="hppa2.0-unknown-linux-gnu"
CFLAGS="-mschedule=8000 -march=2.0 -ggdb -pipe -Wall -Wno-comment -O2"
CHOST="hppa2.0-unknown-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib/distcc/bin /usr/share/gnupg/qualified.txt /var/bind /var/spool/torque /var/www/localhost/htdocs/wordpress/wp-config.php"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.2/ext-active/ /etc/php/apache2-php5.3/ext-active/ /etc/php/cgi-php5.2/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cli-php5.2/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-mschedule=8000 -march=2.0 -ggdb -pipe -Wall -Wno-comment -O2"
DISTDIR="/world/distfiles"
FEATURES="assume-digests binpkg-logs buildpkg distcc distlocks ebuild-locks fixlafiles metadata-transfer news notitles parallel-fetch protect-owned sandbox sfperms splitdebug strict test test-fail-continue unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv"
FFLAGS="-mschedule=8000 -march=2.0 -ggdb -pipe -Wall -Wno-comment -O2"
GENTOO_MIRRORS="http://de-mirror.org/distro/gentoo/ http://mirror.netcologne.de/gentoo/ http://ftp.snt.utwente.nl/pub/os/linux/gentoo http://gentoo.tiscali.nl/ "
LC_ALL="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed"
LINGUAS="en nl he"
MAKEOPTS="-j6"
PKGDIR="/keeps/gentoo/packages/elmer"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/mnt/alt"
PORTDIR="/world/gentoo/portage"
PORTDIR_OVERLAY="/keeps/gentoo/local"
SYNC="rsync://rsync.nl.gentoo.org/gentoo-portage"
USE="7zip X Xaw3d a52 aac aalib abyss accessibility acl ads afterimage agg alsa amr amrnb amrwb ao aoss apis apng ares artist-screen asf ass assistant async asyncns audiofile audit automount avfs bash-completion berkdb bidi bittorrent bittorrent-external bl bluetooth bzip2 c++ cairo caps captury catalogs cblas cdb cdio cdr chardet cjk clarens cleartype cli cman colors contrast cpath cracklib crypt cue cups curl custom-cflags custom-cxxflags cxx dbi dbtool dbus designer designer-plugin device-mapper dga dia dirac directfb djbfft djvu domainkeys dri drm dts dv dvd dvdr dvdread ebook edl elf emacs enca encode esd examples exceptions exif expat extras facebook fam fame fastbuild fastcgi fbcon ffmpeg filter fits flac fluidsynth fontconfig foomaticdb fortran fpx frei0r ftp fts3 gadu galago games gcrypt gd gdbm geant4 geoip ggi gif gimp gimpprint glep glib glut gmp gnokii gnutls gphoto2 gpm gps gs gsl gsm gtk gtk2 gtkhtml guidexml guile hal hepmc hesiod hotpixels hppa hwdb i18n ical icecast iconv icu idea idn imagemagick imlib indi inotify inquisitio ipmi ipv6 isc ithreads jabber jack javascript jbig jingle jpeg jpeg2k judy kpathsea lame lapack lasi lastfmradio latex lcms ldap leim lensfun libass libcaca libffi libmms libotf libsamplerate libwww live logrotate logwatch lua lyrics-screen lzma lzo mad manhole matroska mbrola mem-scramble memcache metis mhash midi mikmod mmap mms mng modplug modules motif mozbranding mp3 mpg123 mpi mplayer mssql mudflap multislot musepack musicbrainz mysql nagios-dns nagios-game nagios-ntp nagios-ping nagios-ssh nas ncurses netpbm nettle network-cron nfconntrack nfs nls nntp nova nptl nptlonly nsplugin ntlm objc objc++ objc-gc offensive ogg openal openexr opengl openmp openssl optimization oss ots overlays pam pango pbs pch pcre pdf pdo-external php pipe plasma plotutils plugins png policykit portage portaudio postgres povray ppds pppd pulseaudio pyzord qalculate qdbm qt3support qt4 quicktime quotas raw readline recode rle romio rpc rrdtool rtc rtmp ruby ruby18 ruby19 samba sasl scale0tilt scanner scim sdl seamonkey secure-delete server session sid skk slang slp smi sms sndfile snmp soap song-screen soundex speex spell spoof-source sqlite srt srtp ssh ssl startup-notification strong-optimization subtitles subversion suhosin supernodal svg swat sysfs syslog system-sqlite talkfilters tcl tcpd test tftp tga theora threads thumbnail thunar-vfs tidy tiff timezone timidity tk tokyocabinet tools truetype tslib tunepimp twolame udev unicode unzip urandom usb userlocales utempter utf v4l v4l2 vanim vcd vidix vim-syntax vorbis watchdog wavpack webdav webinstall webp wildmidi winbind wlan wma wmf xanim xattr xcb xchattext xcomposite xetex xface xlisten xml xml2 xmp xmpi xnest xorg xpm xrandr xscreensaver xsettings xulrunner xv xvfb xvid xvmc zip zip-external zlib" ALSA_CARDS="ad1889 usb-audio" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev joystick keyboard mouse acecad aiptek calcomp citron digitaledge dmc dynapro elo2300 elographics fpit hyperpen jamstudio magellan microtouch mutouch palmax penmount spaceorb summa tek4957 tslib ur98 wacom void" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en nl he" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="stifb fbdev none dummy" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Hans de Graaff gentoo-dev Security 2011-10-24 16:53:10 UTC
Filed a bug upstream about it.
Comment 2 Hans de Graaff gentoo-dev Security 2011-12-18 18:12:26 UTC
Just noticed a comment on the upstream bug report that ruby on hppa is broken because you have linuxthreads, not nptl.

I've also added 1.9.3p0 to the tree. You might want to try although there is nothing that indicates that this has been fixed.
Comment 3 Jeroen Roovers (RETIRED) gentoo-dev 2011-12-19 01:45:57 UTC
That's rubbish. HPPA has had NPTL for years, or at least Gentoo/HPPA. AFAIK Debian never did the NPTL port, but we did.
Comment 4 Hans de Graaff gentoo-dev Security 2011-12-19 18:52:16 UTC
Jeroen, could you get a backtrace for this segfault? I don't think this bug is going anywhere upstream without it.
Comment 5 Jeroen Roovers (RETIRED) gentoo-dev 2011-12-19 21:27:50 UTC
1.9.3_p0 exhibits the same segmentation fault.

Interestingly, when I set `ulimit -c unlimited' in the build directory and run `make -j1 test', the segmentation fault does not occur.
Comment 6 Jeroen Roovers (RETIRED) gentoo-dev 2011-12-20 17:48:01 UTC
The test suite is also fine when the maximum stack size is unlimited (ulimit -s unlimited), which is probably why `ulimit -c unlimited' works too.
Comment 7 Hans de Graaff gentoo-dev Security 2012-10-22 12:38:44 UTC
I just checked the upstream bug and there has not been any movement since they are waiting for more information. It would be great if you could test this with the latest in-tree version, since there have been a lot of bug fixes and this might just be fixed via another bug.

Otherwise I guess we'll have to try and get upstream the information they want.
Comment 8 Jeroen Roovers (RETIRED) gentoo-dev 2012-10-23 19:15:16 UTC
http://bugs.ruby-lang.org/issues/5488
Comment 9 Jeroen Roovers (RETIRED) gentoo-dev 2012-10-23 19:29:51 UTC
(In reply to comment #8)
> http://bugs.ruby-lang.org/issues/5488

Ah no, this belongs to bug #342819.
Comment 10 Jeroen Roovers (RETIRED) gentoo-dev 2012-10-23 20:59:46 UTC
Fixed in >=dev-lang/ruby-1.9.3_p194-r1.
Comment 11 Jeroen Roovers (RETIRED) gentoo-dev 2013-02-28 14:36:59 UTC
This still happens with newer versions but only when FEATURES=sandbox, so I assume there is a HPPA specific (stack related?) problem there.
Comment 12 Manuel RĂ¼ger (RETIRED) gentoo-dev 2014-06-11 04:02:33 UTC
Does it still happen with recent ruby versions?

What about ruby20 / ruby21?
Comment 13 Jeroen Roovers (RETIRED) gentoo-dev 2014-06-11 11:52:49 UTC
Yes, it seems to have been fixed somewhere at some point, possibly in the HPPA linux kernel. I can't reproduce it now.