Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 64849 - scribus 1.2 crashes at startup
Summary: scribus 1.2 crashes at startup
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High critical (vote)
Assignee: Hanno Böck
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-09-21 06:36 UTC by Bernd Waibel
Modified: 2005-01-11 01:25 UTC (History)
0 users

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Bernd Waibel 2004-09-21 06:36:57 UTC
Upon startup of scribus it crashes with a segfault. I had this problem with the 1.1.7 release, but I didn't file a bug report for that version, cause I was not in need to use it. But now I need to use scribus.

I tried to recompile with only the -march=pentium4 optimization and with -g and -ggdb flags turned on and also using the nostrip feature, but unfortunately the binary gets stripped upon linking by libtool

/bin/sh ../libtool --mode=link --tag=CXX g++  -O2 -march=pentium4 -g -ggdb -fno-exceptions -fno-check-new  -export-dynamic -s  -o scribus ....

This furthermore is a bug in the ebuild and/or in the makefiles and makes it impossible to catch the bug. The same is true for all the libraries that ship with scribus.

First I installed scribus with my usual CFLAGS settings, which are as follows
CFLAGS="-march=pentium4 -O3 -fforce-addr -mfpmath=sse
       -mmmx -msse -msse2 -Wall"

When it crashed I opened the core file with gdb to take a look at where it actually crashed, but I only got an address no function-call reference. Then I recompiled with the nostrip feature, but the result was the same, because the binary will not stripped during install, but already at link time, as I told before.

I also tried gdb /usr/bin/scribus, made a breakpoint in main and continued after the break. That's the output of it:

GNU gdb 6.0
Copyright 2003 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu"...
(no debugging symbols found)...Using host libthread_db library "/lib/libthread_db.so.1".

(gdb) break main
Breakpoint 1 at 0x8450d28
(gdb) run
Starting program: /usr/bin/scribus
warning: Unable to find dynamic linker breakpoint function.
GDB will be unable to debug shared library initializers
and track explicitly loaded dynamic code.

Breakpoint 1, 0x08450d28 in main ()
(gdb) c
Continuing.
Qt: gdb: -nograb added to command-line options.
         Use the -dograb option to enforce grabbing.
Detaching after fork from child process 26611.
Detaching after fork from child process 26613.

Program received signal SIGSEGV, Segmentation fault.
0x4d28d1a6 in QColor::operator==(QColor const&) const ()
   from /usr/qt/3/lib/libqt-mt.so.3
(gdb)


So it comes out, that the problem may be somewhere inside qt?

I would like to help cut down this bug, because I need scribus. If there's more
info you need from me, please ask.

Reproducible: Always
Steps to Reproduce:
1. install scribus
2. launch scribus
3.
Actual Results:  
scribus should start up succesfully.

Expected Results:  
scribus crashes with a segfault (and dumps a core, due to my ulimit settings).
The crash occurs at or immediately after the opening of its windows. I see two
windows opening (a large one, maybe the editor window, and a small one, maybe some 
sort of menu window) for a very short time, before it crashes.

Portage 2.0.50-r11 (default-x86-2004.2, gcc-3.3.4, glibc-2.3.3.20040420-r1,
2.6.8-gentoo-r3)
=================================================================
System uname: 2.6.8-gentoo-r3 i686 Intel(R) Pentium(R) 4 CPU 2.40GHz
Gentoo Base System version 1.4.16
ccache version 2.3 [enabled]
Autoconf: sys-devel/autoconf-2.59-r4
Automake: sys-devel/automake-1.8.5-r1
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-march=pentium4 -g -ggdb"
CHOST="i686-pc-linux-gnu"
COMPILER=""
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config
/usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config
/usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/
/usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/
/usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=pentium4 -g -ggdb"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache collision-protect fixpackages noclean nostrip
sandbox userpriv usersandbox"
GENTOO_MIRRORS="ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo
ftp://ftp.tu-clausthal.de/pub/linux/gentoo/
ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/
ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo
ftp://ftp.join.uni-muenster.de/pub/linux/distributions/gentoo
ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo
ftp:///ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/
ftp://ftp.gentoo.mesh-solutions.com/gentoo/"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages/p4"
PORTAGE_TMPDIR="/usr/local/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="X aalib acl acpi aim alsa audiofile avi bcmath berkdb bindist bitmap-fonts
bonobo bzlib caps cdr crypt cscope ctype cups curl curlwrappers dbase dbx
dedicated dga directfb divx4linux doc dvd dvdr emacs encode esd ethereal evo
exif fam fbcon fdftk fftw flac flash foomaticdb freetds ftp gb gd gdbm ggi gif
ginac gmp gnome gnutls gpm gps gstreamer gtk gtk2 gtkhtml guile hyperwave-api
iconv icq imagemagick imlib jabber jack java jikes joystick jpeg junit kerberos
ladcca lcms libgda libwww mad maildir mcal mhash mikmod mime ming mmap mmx mng
motif mozilla mpeg mpi msn mysql nas ncurses netcdf nls nptl odbc offensive
oggvorbis openal opengl oscar oss pam pcntl pcre pda pdflib perl pic pie
plotutils png posix ppds python qt quicktime readline recode samba sdl session
shared sharedmem slang slp snmp soap sockets speex spell sqlite sse ssl svg svga
sysvipc tcltk tcpd tetex theora threads tiff truetype unicode usb videos wddx
wmf wxwindows x86 xine xml2 xmlrpc xmms xosd xpm xprint xsl xv xvid yahoo zlib"
Comment 1 Bernd Waibel 2004-09-21 06:39:56 UTC
I accidentally changed the actual and expected results by mistake :|
So please read the actual results as expected and vice versa.

Sorry for that mistake.
Comment 2 Bernd Waibel 2004-10-15 05:58:42 UTC
There are some news regarding this.

I installed the kde-base/kde packages and tried again running scribus and it didn't crash right at the beginning. Also it is not running particularly stable
at least i can work with it. To me it seems, that it is crushing at random situations.

In the meantime I had a hdd crash and was in need to completele reinstall gentoo.
During this I set up kde before installing scribus (also i do not use kde) and now it runs fine too, with exception to random crashes here and then.

I noticed then, that the gnome use flag was removed from scribus. Also i'm not quite sure with this i remember to have seen this use flag before during installations of scribus. What i'm wondering though is that it doesn't have a new release number (i.e. it's still 1.2).

Maybe the crash could also be caused by some missing kde stuff? I remember that scribus wanted to install only the kdelibs package. I was wondering about this, cause from my experience with kde (some years ago with the 1.x and 2.0 series) I knew that kde apps will only run with the kdelibs and the kdebase package installed. Maybe this has changed since them, but on the other side this again may be a source of problems.

To come to an end, for me this problem is solved, because scribus runs now at least to some extent. I will check this page again only when i get a mail from bugzilla. If I can be of any help with this problem further please let me know. 
Comment 3 Craig Bradney 2004-12-21 14:46:32 UTC
Scribus should NOT require KDE at all. If it does, then the ebuild needs fixing. Scribus requires Qt only for GUI.
Comment 4 Bernd Waibel 2004-12-22 02:57:16 UTC
Hello,

this is part of the output of 'equery uses scribus':

[ Found these USE variables for app-office/scribus-1.2 ]
 U I
 + + kde : Adds support for kde-base/kde (K Desktop Enviroment)

So the scribus 1.2 ebuild does have a kde USE flag. But I looked at the ebuild
and this USE flag is only used for modifying and installing a .desktop file for
kde. Dependencies are only for Qt like you said.
Comment 5 Agustin Navarro 2004-12-28 14:02:57 UTC
I have the same problem. A strace follows:

......
munmap(0x2bccb000, 114846)              = 0
access("/usr/share/fonts/default/ghostscript/d050000l.afm", F_OK) = 0
lstat64("/usr/share/fonts/default/ghostscript/d050000l.afm", {st_mode=S_IFREG|0644, st_size=9381, ...}) = 0
access("/usr/share/fonts/default/ghostscript/d050000l.pfb", F_OK) = 0
lstat64("/usr/share/fonts/default/ghostscript/d050000l.pfb", {st_mode=S_IFREG|0644, st_size=45955, ...}) = 0
open("/usr/share/fonts/default/ghostscript/d050000l.pfb", O_RDONLY) = 7
fcntl64(7, F_SETFD, FD_CLOEXEC)         = 0
fstat64(7, {st_mode=S_IFREG|0644, st_size=45955, ...}) = 0
old_mmap(NULL, 45955, PROT_READ, MAP_PRIVATE, 7, 0) = 0x2bccb000
close(7)                                = 0
munmap(0x2bccb000, 45955)               = 0
access("/usr/share/fonts/default/ghostscript/fcyr.afm", F_OK) = 0
lstat64("/usr/share/fonts/default/ghostscript/fcyr.afm", {st_mode=S_IFREG|0644, st_size=5031, ...}) = 0
access("/usr/share/fonts/default/ghostscript/fcyr.gsf", F_OK) = 0
lstat64("/usr/share/fonts/default/ghostscript/fcyr.gsf", {st_mode=S_IFREG|0644, st_size=36052, ...}) = 0
access("/usr/share/fonts/default/ghostscript/fcyri.afm", F_OK) = 0
lstat64("/usr/share/fonts/default/ghostscript/fcyri.afm", {st_mode=S_IFREG|0644, st_size=6195, ...}) = 0
access("/usr/share/fonts/default/ghostscript/fcyri.gsf", F_OK) = 0
lstat64("/usr/share/fonts/default/ghostscript/fcyri.gsf", {st_mode=S_IFREG|0644, st_size=44539, ...}) = 0
access("/usr/share/fonts/default/ghostscript/fhirw.gsf", F_OK) = 0
lstat64("/usr/share/fonts/default/ghostscript/fhirw.gsf", {st_mode=S_IFREG|0644, st_size=38927, ...}) = 0
access("/usr/share/fonts/default/ghostscript/fhirw.pfm", F_OK) = 0
lstat64("/usr/share/fonts/default/ghostscript/fhirw.pfm", {st_mode=S_IFREG|0644, st_size=664, ...}) = 0
access("/usr/share/fonts/default/ghostscript/fkarw.gsf", F_OK) = 0
lstat64("/usr/share/fonts/default/ghostscript/fkarw.gsf", {st_mode=S_IFREG|0644, st_size=40247, ...}) = 0
access("/usr/share/fonts/default/ghostscript/fkarw.pfm", F_OK) = 0
lstat64("/usr/share/fonts/default/ghostscript/fkarw.pfm", {st_mode=S_IFREG|0644, st_size=664, ...}) = 0
access("/usr/share/fonts/default/ghostscript/fonts.cache-1", F_OK) = 0
lstat64("/usr/share/fonts/default/ghostscript/fonts.cache-1", {st_mode=S_IFREG|0644, st_size=28327, ...}) = 0
access("/usr/share/fonts/default/ghostscript/fonts.dir", F_OK) = 0
lstat64("/usr/share/fonts/default/ghostscript/fonts.dir", {st_mode=S_IFREG|0644, st_size=27164, ...}) = 0
access("/usr/share/fonts/default/ghostscript/fonts.scale", F_OK) = 0
lstat64("/usr/share/fonts/default/ghostscript/fonts.scale", {st_mode=S_IFREG|0644, st_size=27164, ...}) = 0
access("/usr/share/fonts/default/ghostscript/hrger.pfa", F_OK) = 0
lstat64("/usr/share/fonts/default/ghostscript/hrger.pfa", {st_mode=S_IFREG|0644, st_size=58276, ...}) = 0
open("/usr/share/fonts/default/ghostscript/hrger.pfa", O_RDONLY) = 7
fcntl64(7, F_SETFD, FD_CLOEXEC)         = 0
fstat64(7, {st_mode=S_IFREG|0644, st_size=58276, ...}) = 0
old_mmap(NULL, 58276, PROT_READ, MAP_PRIVATE, 7, 0) = 0x2bccb000
close(7)                                = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++
Comment 6 Hanno Böck gentoo-dev 2005-01-08 07:21:41 UTC
Can you please check if your problems still exist with 1.2.1?
Comment 7 Bernd Waibel 2005-01-10 09:46:17 UTC
Hmm, like I said in comment #2 this is solved to me. Scribus runs fine most of the time. Additionally the 1.2.1 ebuild still has KDE in IUSE, so this should get fixed first, like comment #3 says.

I can try to grab crashes when they occur, but I don't think that I will reinstall using 1.2.1 as long as the ebuild and the dependency to kde isn't fixed.
Comment 8 Hanno Böck gentoo-dev 2005-01-10 10:45:10 UTC
This is not a problem, the kde-useflag is only for installing a kde-menu-entry, scribus doesn't depend on kde, no matter if the useflag is set or not.

If the crash-bug is fixed for you, this can be closed.
Comment 9 Bernd Waibel 2005-01-11 01:25:02 UTC
Yes I think it's ok to close the bug. I'm sorry, for the misinterpretation of the kde USE flag. But if it does not need kde, it will give the 1.2.1 release a chance and try it out. If there were any problems I can reopen this bug if necessary.
Thanks to all