|
Bugzilla – Full Text Bug Listing |
| Summary: | chemtool segmentation fault | ||
|---|---|---|---|
| Product: | [openSUSE] SUSE LINUX 10.0 | Reporter: | Enrico Licini <tamteboo> |
| Component: | X11 Applications | Assignee: | Michal Marek <mmarek> |
| Status: | RESOLVED FIXED | QA Contact: | Stefan Dirsch <sndirsch> |
| Severity: | Normal | ||
| Priority: | P5 - None | ||
| Version: | Final | ||
| Target Milestone: | --- | ||
| Hardware: | x86 | ||
| OS: | SUSE Other | ||
| Whiteboard: | |||
| Found By: | Customer | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
| Attachments: | ltrace /usr/bin/chemtool | ||
|
Description
Enrico Licini
2005-10-10 18:55:44 UTC
Let's suppose the executable of the program is located at /usr/X11R6/bin/chemtool, then please provide the output of `ldd /usr/X11R6/bin/chemtool'. A backtrace (made with gdb or ltrace/strace) would also be helpful. For further information, please read: http://bugs.opensuse.org Chemtool is located in /usr/bin/chemtool
ldd output follows:
ldd /usr/bin/chemtool
linux-gate.so.1 => (0xffffe000)
libgtk-1.2.so.0 => /opt/gnome/lib/libgtk-1.2.so.0 (0x40030000)
libgdk-1.2.so.0 => /opt/gnome/lib/libgdk-1.2.so.0 (0x40186000)
libgmodule-1.2.so.0 => /opt/gnome/lib/libgmodule-1.2.so.0 (0x401bf000)
libglib-1.2.so.0 => /opt/gnome/lib/libglib-1.2.so.0 (0x401c2000)
libdl.so.2 => /lib/libdl.so.2 (0x401e8000)
libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x401ec000)
libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x401f4000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x40203000)
libm.so.6 => /lib/tls/libm.so.6 (0x402fc000)
libc.so.6 => /lib/tls/libc.so.6 (0x40322000)
/lib/ld-linux.so.2 (0x40000000)
If you start chemtool from console you get this message:
enrico@dhcppc0:~> chemtool
sh: babel: command not found
Consider installing Babel/OpenBabel for file format conversions...
Segmentation fault
Every library was found, so this is not a library-problem. Please attach (!) the output of `ltrace /usr/bin/chemtool'. It say's `consider' here which indicates that this external command is not required to run this problem. Let's see where it crashes exactly. Created attachment 53763 [details]
ltrace /usr/bin/chemtool
Ok, I can reproduce it, thanks for the report. I'll try to fix it soon. It's caused by a bug in gcc-4.0, which makes things little bit
complicated. A workaround is
a) compile with an older gcc
b) don't compile with -O2
c) apply this patch to the source (note that there isn't any bug in
chemtool, this just avoids the gcc bug):
--- main.c
+++ main.c
@@ -2909,7 +2909,7 @@
int tmplnum[125];
char bondnums[15][3];
char msgtmp[100];
- const char *fontsizelabel[7]={"8","10","12","14","17","20","24"};
+ static const char *fontsizelabel[7]={"8","10","12","14","17","20","24"};
GtkWidget *aboutw,*helpw,*helptext;
GtkWidget *vbox;
GtkWidget *hbox;
See also the note on authors home page:
http://ruby.chemie.uni-freiburg.de/~martin/chemtool/chemtool.html
Thank you! I changed the summary of this bug to a more generic form. Can Novel provide an rpm compiled with the patch above? (In reply to comment #9) > Can Novel provide an rpm compiled with the patch above? I don't know whether or not there will be an update for SUSE Linux 10.0, but you can try the patched package from OpenSUSE: http://ftp.opensuse.org/pub/opensuse/distribution/SL-OSS-edge/inst-source/suse/i586/chemtool-1.6.7-2.i586.rpm Let's not do the update for 10.0. I've opened a bugreport for the GCC issue. Actually, there was a bug in chemtool (part of stack overwritten), it just didn't show up until gcc-4.0 on i386. Many thanks to Richard Guenther for finding the bug. The fixed package should appear in OpenSUSE edge soon. |