Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 548784 - dev-java/icedtea-7.2.5.5 libjvm.so: undefined reference to `void G1SATBCardTableModRefBS::write_ref_array_pre_work<oopDesc*>(oopDesc**, int)'
Summary: dev-java/icedtea-7.2.5.5 libjvm.so: undefined reference to `void G1SATBCardTa...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Java (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Java team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: gcc-5
  Show dependency tree
 
Reported: 2015-05-06 16:11 UTC by jospezial
Modified: 2015-09-02 23:07 UTC (History)
5 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log dev-java/icedtea-7.2.5.5 from gentoo tree (build.log.gz,62.36 KB, text/plain)
2015-05-07 19:31 UTC, jospezial
Details
Build fix (icedtea-7.2.5.5-gcc5.patch,2.13 KB, patch)
2015-05-11 15:11 UTC, Philipp
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description jospezial 2015-05-06 16:11:54 UTC
With gcc-5.1.0 there is a funny message a few lines before the bug occurs:
"**NOTICE** Dtrace support disabled: gcc version is too old"

                                        \
    rm -f libjvm.so.1; ln -s libjvm.so libjvm.so.1;                                  \
    [ -f libjvm.so ] || { ln -s libjvm.so libjvm.so; ln -s libjvm.so.1 libjvm.so.1; }; \
            if [ \"\" = \"\" ] ; then                    \
      if [ -x /usr/sbin/selinuxenabled ] ; then                 \
        /usr/sbin/selinuxenabled;                               \
                if [ $? = 0 ] ; then                                    \
          /usr/bin/chcon -t textrel_shlib_t libjvm.so;                 \
          if [ $? != 0 ]; then                                 \
            echo "ERROR: Cannot chcon libjvm.so";                       \
          fi                                                    \
        fi                                                      \
      fi                                                        \
            fi                                                          \
}
Linking vm...
echo Linking launcher...
Linking launcher...
cc -m64 -Xlinker -O1   -Xlinker -z -Xlinker noexecstack -m64 -Xlinker -export-dynamic  -L `pwd` -o gamma launcher/java_md.o launcher/jli_util.o launcher/java.o launcher/wildcard.o -ljvm -lm -ldl -lpthread
/var/tmp/portage/dev-java/icedtea-7.2.5.5/work/icedtea-2.5.5/openjdk.build-boot/hotspot/outputdir/linux_amd64_compiler2/product/libjvm.so: undefined reference to `void G1SATBCardTableModRefBS::write_ref_array_pre_work<oopDesc*>(oopDesc**, int)'
collect2: error: ld returned 1 exit status
/var/tmp/portage/dev-java/icedtea-7.2.5.5/work/icedtea-2.5.5/openjdk-boot/hotspot/make/linux/makefiles/launcher.make:83: recipe for target 'gamma' failed
gmake[7]: *** [gamma] Error 1
gmake[7]: Leaving directory '/var/tmp/portage/dev-java/icedtea-7.2.5.5/work/icedtea-2.5.5/openjdk.build-boot/hotspot/outputdir/linux_amd64_compiler2/product'
/var/tmp/portage/dev-java/icedtea-7.2.5.5/work/icedtea-2.5.5/openjdk-boot/hotspot/make/linux/makefiles/top.make:119: recipe for target 'the_vm' failed
gmake[6]: *** [the_vm] Error 2
gmake[6]: Leaving directory '/var/tmp/portage/dev-java/icedtea-7.2.5.5/work/icedtea-2.5.5/openjdk.build-boot/hotspot/outputdir/linux_amd64_compiler2/product'
/var/tmp/portage/dev-java/icedtea-7.2.5.5/work/icedtea-2.5.5/openjdk-boot/hotspot/make/linux/Makefile:310: recipe for target 'product' failed
gmake[5]: *** [product] Error 2
gmake[5]: Leaving directory '/var/tmp/portage/dev-java/icedtea-7.2.5.5/work/icedtea-2.5.5/openjdk.build-boot/hotspot/outputdir'
Makefile:202: recipe for target 'generic_build2' failed
gmake[4]: *** [generic_build2] Error 2
gmake[4]: Leaving directory '/var/tmp/portage/dev-java/icedtea-7.2.5.5/work/icedtea-2.5.5/openjdk-boot/hotspot/make'
Makefile:158: recipe for target 'product' failed
gmake[3]: *** [product] Error 2
gmake[3]: Leaving directory '/var/tmp/portage/dev-java/icedtea-7.2.5.5/work/icedtea-2.5.5/openjdk-boot/hotspot/make'
make/hotspot-rules.gmk:126: recipe for target 'hotspot-build' failed
gmake[2]: *** [hotspot-build] Error 2
gmake[2]: Leaving directory '/var/tmp/portage/dev-java/icedtea-7.2.5.5/work/icedtea-2.5.5/openjdk-boot'
Makefile:251: recipe for target 'build_product_image' failed
gmake[1]: *** [build_product_image] Error 2
gmake[1]: Leaving directory '/var/tmp/portage/dev-java/icedtea-7.2.5.5/work/icedtea-2.5.5/openjdk-boot'
Makefile:2425: recipe for target 'stamps/icedtea-boot.stamp' failed
make: *** [stamps/icedtea-boot.stamp] Error 2
 * ERROR: dev-java/icedtea-7.2.5.5::java failed (compile phase):
 *   emake failed
 * 
 * If you need support, post the output of `emerge --info '=dev-java/icedtea-7.2.5.5::java'`,
 * the complete build log and the output of `emerge -pqv '=dev-java/icedtea-7.2.5.5::java'`.
 * The complete build log is located at '/var/tmp/portage/dev-java/icedtea-7.2.5.5/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-java/icedtea-7.2.5.5/temp/environment'.
 * Working directory: '/var/tmp/portage/dev-java/icedtea-7.2.5.5/work/icedtea-2.5.5'
 * S: '/var/tmp/portage/dev-java/icedtea-7.2.5.5/work/icedtea-2.5.5'
!!! When you file a bug report, please include the following information:
GENTOO_VM=icedtea-7  CLASSPATH="" JAVA_HOME=""
JAVACFLAGS="" COMPILER=""
Comment 1 jospezial 2015-05-06 16:15:53 UTC
emerge --info gcc
Portage 2.2.18 (python 3.3.5-final-0, default/linux/amd64/13.0, gcc-5.1.0, glibc-2.20-r2, 4.1.0-rc2 x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-4.1.0-rc2-x86_64-AMD_Athlon-tm-_II_X2_240_Processor-with-gentoo-2.2
KiB Mem:     4047328 total,    895360 free
KiB Swap:    7103480 total,   7034996 free
Timestamp of repository gentoo: Wed, 06 May 2015 14:45:01 +0000
sh bash 4.3_p33-r2
ld GNU ld (Gentoo 2.25 p1.1) 2.25
ccache version 3.2.1 [enabled]
app-shells/bash:          4.3_p33-r2::gentoo
dev-java/java-config:     2.2.0::gentoo
dev-lang/perl:            5.20.2::gentoo
dev-lang/python:          2.7.9-r2::gentoo, 3.3.5-r1::gentoo, 3.4.3::gentoo
dev-util/ccache:          3.2.1-r1::gentoo
dev-util/cmake:           3.2.1::gentoo
dev-util/pkgconfig:       0.28-r2::gentoo
sys-apps/baselayout:      2.2::gentoo
sys-apps/openrc:          0.15::gentoo
sys-apps/sandbox:         2.6-r1::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69-r1::gentoo
sys-devel/automake:       1.10.3-r1::gentoo, 1.11.6-r1::gentoo, 1.12.6::gentoo, 1.14.1::gentoo, 1.15::gentoo
sys-devel/binutils:       2.25::gentoo
sys-devel/gcc:            5.1.0::gentoo
sys-devel/gcc-config:     1.8::gentoo
sys-devel/libtool:        2.4.6-r1::gentoo
sys-devel/make:           4.1-r1::gentoo
sys-kernel/linux-headers: 4.0::gentoo (virtual/os-headers)
sys-libs/glibc:           2.20-r2::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.de.gentoo.org/gentoo-portage
    priority: -1000

overlay_jl
    location: /usr/local/portage
    masters: gentoo
    priority: 0

betagarden
    location: /var/lib/layman/betagarden
    sync-type: laymansync
    sync-uri: git://anongit.gentoo.org/proj/betagarden.git
    masters: gentoo
    priority: 50

gamerlay
    location: /var/lib/layman/gamerlay
    sync-type: laymansync
    sync-uri: git://anongit.gentoo.org/proj/gamerlay.git
    masters: gentoo
    priority: 50

java
    location: /var/lib/layman/java
    sync-type: laymansync
    sync-uri: git://anongit.gentoo.org/proj/java.git
    masters: gentoo
    priority: 50

kde
    location: /var/lib/layman/kde
    sync-type: laymansync
    sync-uri: git://anongit.gentoo.org/proj/kde.git
    masters: gentoo
    priority: 50

qt
    location: /var/lib/layman/qt
    sync-type: laymansync
    sync-uri: git://anongit.gentoo.org/proj/qt.git
    masters: gentoo
    priority: 50

wine-overlay
    location: /var/lib/layman/wine-overlay
    sync-type: laymansync
    sync-uri: git://github.com/NP-Hardass/wine-overlay.git
    masters: gentoo
    priority: 50

Installed sets: @kde-applications-live, @kde-frameworks-live, @kde-plasma-live
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--autounmask-write=y --keep-going --quiet-build=y"
FCFLAGS="-march=native -O2 -pipe"
FEATURES="assume-digests binpkg-logs ccache config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-march=native -O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="de_DE.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
USE="3dnow 3dnowext 64bit X Xaw3d a52 aac aacplus aacs aalib accessibility ace acl acpi activefilter aften alsa amd64 ap apm apng archive arping audacious audiofile automount bazaar bdplus berkdb binary-drivers bluetooth bluray boost bzip2 bzr cairo canusb ccache cdda cddb cdio cdparanoia cdr cdrdao cdrom cgi charconv chm chroot cjk clang cli client colordiff colors compress consolekit corefonts cpio cracklib crypt css cue cups curl curlwrappers cvs cxx daemon dbus declarative device-mapper dga dhcp doom doomsday dos download-subs dri dri3 dts dump dv dvb dvd dvdnav eap eap-sim eap-tls ebook egl emerald emoticon enca encode enscript equalizer evdev exif extensions extras faac faad fam farstream fat fax fbcon fdformat ffmpeg fftw firefox flac fluidsynth fontconfig foomaticdb fortran freedoom ftp fuse g3dvl gadu gallium gbm gd gdbm geoip gif gimp git glamor glut gme gnutls gpg gphoto2 gpm graphite gsm gstreamer gtk gtk3 gtkstyle gudev gui gzip hddtemp hdf hdf5 heretic hexen hid highlight hpcups hpijs http hwdb iconv icq icu id3tag idn imagemagick introspection ios ipc ipod ipv6 jack java javascript jit jpeg jpeg2k kate keymap ladspa lame lcms lensfun libass libcaca libcanberra libkms libnotify libsamplerate libssh2 libtiger libv4l libwww live llvm-shared-libs lm_sensors logrotate lua lzma lzo mad madwifi magic man matroska md5sum meanwhile mercurial metalink midi mikmod mime minizip mixer mjpeg mmap mms mmx mmxext mng mobi mod modplug modules mono mouse mozilla mp3 mp4 mpeg mpeg2 mplayer mtp multilib multimedia multislot musepack musicbrainz nano-syntax ncat ncurses ndiff network nfs nfsidmap nfsv4 nfsv41 nls nmap-update nokia normalize nowlistening nping nptl nsplugin ntfs ntfsprogs ntp nvidia nvram obex ocr ogg ogm openal opencl opengl openmax openmp openssl oscar osdmenu otr p2p pam pango panorama parport parse-clocks pcap pci pcre pcre16 pdf pipes plugins pm-utils png policykit postscript ppds printsupport privacy projectm pulseaudio pvr python python3 qalculate qml qt5 quicktime r600-llvm-compiler radio rar raw rdesktop readline recording redeyes reiser4 reiserfs remote-access replaygain rpm rtc rtmp rtsp rubberband s3tc sbsms scanner schroedinger scripttools sdl secure-delete sensord session sftp sha512 shorten shout skins slang smi sndfile snowberry sockets sound soundtouch sox speex spell sql sqlite sqlite3 sse sse2 ssh ssl startup-notification statistics stk stream subtitles subversion svg swat symlink sync-plugin-portage syslog szip taglib tcpd texteffect tftp tftpd theora threads thumbnail tiff timidity tracepath traceroute translator truetype twolame udev udisks unicode upower urlpicpreview usb v4l vaapi vamp vcd vcdx vdpau video videos virtualbox vlm vnc vorbis vpx vroot vst wad wav wavpack webgl webkit webm webp webpresence widgets wifi winbind winpopup wmf wps wxwidgets x264 x265 xa xattr xcb xcomposite xfs xine xinerama xinetd xkb xml xmp xorg xosd xpm xrandr xscreensaver xv xvid xvmc yahoo zenmap zip zlib zvbi" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd 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 sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="3dnow 3dnowext mmx mmxext popcnt sse sse2 sse3 sse4a" 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 ublox ubx" INPUT_DEVICES="evdev keyboard mouse joystick" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="de" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python3_3" PYTHON_TARGETS="python2_7 python3_3 python3_4" RUBY_TARGETS="ruby19 ruby20 ruby21 ruby22" USERLAND="GNU" VIDEO_CARDS="fbdev vesa svga vga radeon modesetting r100 r200 r300 r600" 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, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON

=================================================================
                        Package Settings
=================================================================

sys-devel/gcc-5.1.0::gentoo was built with the following:
USE="cxx fortran graphite (multilib) nls nptl openmp sanitize (-altivec) (-awt) -cilk -doc (-fixed-point) -gcj -go (-hardened) (-libssp) (-multislot) -nopie -nossp -objc -objc++ -objc-gc -regression-test -vanilla" ABI_X86="64"


These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U  ] dev-java/icedtea-7.2.5.5:7::java [7.2.5.4:7::gentoo] USE="X alsa cjk cups javascript jbootstrap nsplugin pulseaudio source sunec* webstart -cacao -debug -doc -examples -infinality -jamvm -kerberos -nss* -pax_kernel (-selinux) -smartcard {-test} -zero" 0 KiB

Total: 1 package (1 upgrade), Size of downloads: 0 KiB
Comment 2 Andrew John Hughes 2015-05-06 16:31:36 UTC
Please attach the build log.
Comment 3 jospezial 2015-05-07 19:31:20 UTC
Created attachment 402842 [details]
build.log dev-java/icedtea-7.2.5.5 from gentoo tree
Comment 4 Philipp 2015-05-11 15:11:07 UTC
Created attachment 403044 [details, diff]
Build fix

This is a bug that's exposed by gcc-5. The correct fix is to put the
calls to the template function where the definition is available.
Comment 5 Philipp 2015-05-11 15:14:59 UTC
After patching icedtea and then compiling icedtea again, I noticed that javac requires a gigantic amount of memory for every configure check that's being done.
I wasn't able to compile icedtea having 16GiB of RAM and 8GiB of swap.
Comment 6 Philipp 2015-05-11 15:43:43 UTC
Found a patch that seems to fix the memory issue:
http://icedtea.classpath.org//hg/icedtea7-forest/hotspot?cmd=changeset;node=c0ca0821c737
Comment 7 jospezial 2015-05-12 04:40:02 UTC
(In reply to Philipp from comment #4)
> Created attachment 403044 [details, diff] [details, diff]
> Build fix
> 
> This is a bug that's exposed by gcc-5. The correct fix is to put the
> calls to the template function where the definition is available.

>>> dev-java/icedtea-7.2.5.5 merged.

that patch and the one you posted in https://bugs.gentoo.org/show_bug.cgi?id=548784#c6 helped me to compile it.

I could not apply the patches after ebuild prepare and configure because the directories did not exist.

I had to apply them after the buildfailor and type "make"

There where files in a second directory that had to be patched too.
built_boot or something?
Comment 8 Philipp 2015-05-12 05:52:01 UTC
You can append the following to the java_prepare function (with the patch(es) named accordingly)

GCC5_PATCH="${P}-gcc5.patch"
cp -v "${FILESDIR}/${GCC5_PATCH}" ${WORKDIR}/${ICEDTEA_PKG}/patches || die "cp failed"
export DISTRIBUTION_PATCHES="patches/${GCC5_PATCH}"
Comment 9 Andrew John Hughes 2015-05-14 03:12:32 UTC
Tracking this issue upstream:

http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2357

The one in comment #6 is already scheduled for inclusion in 2.6.0.
Comment 10 Andrew John Hughes 2015-07-19 22:23:51 UTC
2.6.0 released (http://bitly.com/it20600) and in java-overlay.

2.5.6 will also have this fix.
Comment 11 Martin Väth 2015-07-20 17:46:27 UTC
Although I assume that the patches (or new releases) are soon in the gentoo tree, I suggest to add a blocker to the gcc-5 tracker bug so that people are aware of this problem (and have no problem to find the patches) when they switch to gcc-5
Comment 12 Ryan Hill (RETIRED) gentoo-dev 2015-07-21 00:06:38 UTC
Also for the eventual stabilization.
Comment 13 Alexey Shvetsov gentoo-dev 2015-08-01 19:46:13 UTC
icedtea built with this patch has memory leaks if it was build with gcc-5
for me it eats memory untill oomkiller kill the process (for machines with up to 64G ram)
Comment 14 James Le Cuirot gentoo-dev 2015-09-02 23:07:35 UTC
(In reply to Alexey Shvetsov from comment #13)
> icedtea built with this patch has memory leaks if it was build with gcc-5
> for me it eats memory untill oomkiller kill the process (for machines with
> up to 64G ram)

A version that builds with GCC 5 is now in the tree. If the above memory leak is still a problem then please file a new bug report.