Red Hat Bugzilla – Bug 432181
icedtea from rawhide segfaults when running freecol (worked in F-8)
Last modified: 2008-02-13 12:57:55 EST
Description of problem:
Install freecol on rawhide: "yum install freecol" and then run it "freecol"
[hans@localhost devel]$ freecol
java virtual machine used: /usr/lib/jvm/java-icedtea/bin/java
classpath used: /usr/share/java/freecol.jar:/usr/share/java/higlayout.jar
main class used: net.sf.freecol.FreeCol
options used: -Xmx256M
arguments used: --freecol-data /usr/share/freecol/data
# An unexpected error has been detected by Java Runtime Environment:
# SIGSEGV (0xb) at pc=0x00002aaaaaac04b1, pid=13245, tid=1088477520
# Java VM: IcedTea 64-Bit Server VM (1.7.0-b24 mixed mode linux-amd64)
# Problematic frame:
# C [ld-linux-x86-64.so.2+0x154b1]
# An error report file with more information is saved as:
# If you would like to submit a bug report, please visit:
Note this is on an x86_64 machine, freecol worked fine on both i386 and x86_64
I tested this on F-8 with IcedTea-b24 (rawhide) on i386 and it works.
I, also, tested this on F-8 with IcedTea-b21 (not rawhide) on x86_64 and it works.
Actually, the game works really well. Any idea how else I can reproduce this?
Can you attach the log (/home/hans/.freecol/hs_err_pid13245.log)?
Changing status to NEEDINFO.
Note- I, also, tested this on F-8 with IcedTea-b24 (rawhide) on x86_64 and it works.
After a few tries, I was finally able to reproduce this. I am looking into the
Stack: [0x0000000040b0b000,0x0000000040c0c000], sp=0x0000000040c0a100, free
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
[error occurred during error reporting (printing native stack), id 0xb]
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
Strange that it was hard to reproduce for you, it crashed reproducible for me
(tried 3 times). Maybe this is timing related?
I was able to get this working with the version of IcedTea in the repo. This
will be in rawhide when the next release (b25) is out.
Workaround: Build IcedTea from the mercurial repo and change JAVA_HOME in
(In reply to comment #4)
> Strange that it was hard to reproduce for you, it crashed reproducible for me
> (tried 3 times). Maybe this is timing related?
I believe my setup was a little messed up, I fixed it and was able to reproduce
Duplicate of this bug:
(In reply to comment #7)
> Duplicate of this bug:
Ah yes that explains, notice the following important comment which I've just
added to that bug:
Notice that not only the path (/usr/lib instead of /usr/lib64) is a problem,
but also the soname used to open, libjpeg.so will only be present if
libjpeg-devel (Fedora) or distro used equivalent -devel package is installed.
When dlopening libs the full soname should be used, not the .so symlink which
is only there for determining which lib to use when linking during compile of
libjpeg-devel is a requirement for IcedTea.
IMO, This is not a bug.
No it isn't:
[hans@localhost ~]$ rpm -q --requires java-1.7.0-icedtea
config(java-1.7.0-icedtea) = 220.127.116.11-0.24.b24.fc9
jpackage-utils >= 1.7.3-1jpp.3
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(VersionedDependencies) <= 3.0.3-1
And the fact that it isn't a Requires, but only a BuildRequires is correct, no
normal package should ever Require a -devel package. Really I might not know
much about java, but trust me on this one, you _must_ dlopen the full soname,
not the .so symlink which is there for development purposes only. I've got 200
(mostly C) packages I maintain (with close to 0 open bugs) and 10 years of C
experience saying so. If still in doubt ask on fedora-devel-list or fedora-devel
on IRC I'm sure others will agree with me.
:) I am not disagreeing with you. I just want to do this the best way. I was
considering adding this as a requirement (it is only a build requirement) at the
moment, but if that is not the best idea, I will look into doing it another way.
I will fix it to dlopen /usr/lib(64)/libjpeg.so.62.0.0 and add libjpeg-6b-40 as
a requirement to the spec file.
libjpeg-6b not libjpeg-6b-40
libjpeg-devel is still a build requirement.
Are needed by several sources, and only included in the libjpeg-devel package. I
have left the configure script and all build requirements unchanged.
libjpeg = 6b has been added as a requirement to the spec file.
This will be in rawhide within the next couple of days.