Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 132665 - kmymoney2 crashes at startup
Summary: kmymoney2 crashes at startup
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] KDE (show other bugs)
Hardware: All Linux
: High blocker (vote)
Assignee: Gentoo KDE team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-05-08 05:04 UTC by Patrick ALLAERT
Modified: 2006-08-17 08:17 UTC (History)
0 users

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


Attachments
strace output (strace_output.gz,130.40 KB, application/x-gzip)
2006-05-08 05:44 UTC, Patrick ALLAERT
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Patrick ALLAERT 2006-05-08 05:04:52 UTC
kmymoney crashes immediately at startup!

using: app-office/kmymoney2-0.8.3

it crashes also with app-office/kmymoney2-0.8.3-r1
also confirmed on my other box (default-linux/amd64/2006.0)

emerge --info:
Portage 2.1_pre10-r2 (default-linux/x86/2006.0, gcc-3.4.5, glibc-2.3.6-r3, 2.6.15-gentoo-r1 i686)
=================================================================
System uname: 2.6.15-gentoo-r1 i686 Mobile Intel(R) Pentium(R) 4 - M CPU 2.20GHz
Gentoo Base System version 1.6.14
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled]
ccache version 2.3 [enabled]
dev-lang/python:     2.3.5-r2, 2.4.2
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.3
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.12
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils:  2.16.1
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-Os -march=pentium4 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/3/share/config /usr/share/X11/xkb /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/eselect/compiler /etc/gconf /etc/splash /etc/terminfo /etc/env.d"
CXXFLAGS="-Os -march=pentium4 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig ccache distcc distlocks metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ http://mirror.ovh.net/gentoo-distfiles/"
LDFLAGS="-Wl,-O1"
LINGUAS="en fr eo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 3dfx 3dnow X Xaw3d aac acpi alsa apache2 apm arts audiofile avi bash-completion berkdb bitmap-fonts browserplugin bzip2 cli crypt cups curl directfb dri dvd emboss encode esd ffmpeg foomaticdb fortran ftp gd gdbm gif gimpprint gpm gstreamer gtk2 hal idn ieee1394 imagemagick imlib innodb isdnlog java javascript jpeg kde kdeenablefinal lcms ldap libg++ libwww mad matroska mikmod mmx mng motif mozdevelop mozilla mp3 mpeg mplayer msn mysql mysqli ncurses nls nptl nsplugin nvidia ogg oggvorbis opengl oss pam pcmcia pcre pdflib perl php pic png ppds pppd python qt quicktime readline reflection samba sdl session simplexml soap spell spl sqlite sse sse2 ssl svg tcpd tetex tidy tiff truetype truetype-fonts type1-fonts udev unicode usb utf8 vhosts vim-with-x vorbis win32codecs wmf xcomposite xine xinerama xml xml2 xmms xorg xsl xv xvid zlib elibc_glibc input_devices_keyboard input_devices_mouse kernel_linux linguas_en linguas_fr linguas_eo userland_GNU video_cards_nv video_cards_nvidia video_cards_vesa"
Unset:  ASFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Patrick ALLAERT 2006-05-08 05:08:15 UTC
(no debugging symbols found)
Using host libthread_db library "/lib/tls/libthread_db.so.1".
(no debugging symbols found)
`system-supplied DSO at 0xffffe000' has disappeared; keeping its symbols.
(no debugging symbols found)
...
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread -1208920384 (LWP 12181)]
0xffffe410 in __kernel_vsyscall ()
#0  0xffffe410 in __kernel_vsyscall ()
#1  0x48af39a0 in nanosleep () from /lib/tls/libc.so.6
#2  0x48af37d6 in sleep () from /lib/tls/libc.so.6
#3  0x4dabbc9b in KCrash::startDrKonqi ()
   from /usr/kde/3.5/lib/libkdecore.so.4
#4  0xbf9af3dc in ?? ()
#5  0x00000003 in ?? ()
#6  0x00000000 in ?? ()
Comment 2 Patrick ALLAERT 2006-05-08 05:44:13 UTC
Created attachment 86420 [details]
strace output

launching kmymoney with:

$ strace kmymoney 2> strace_output

does not crash immediately! But if I click on the "New" icon then it crashes! strace output in attachment
Comment 3 Caleb Tennis (RETIRED) gentoo-dev 2006-05-10 05:53:07 UTC
Here's a guide on how to get a good backtrace:

http://www.gentoo.org/proj/en/qa/backtraces.xml
Comment 4 Patrick ALLAERT 2006-05-12 01:27:48 UTC
(In reply to comment #3)
> Here's a guide on how to get a good backtrace:
> 
> http://www.gentoo.org/proj/en/qa/backtraces.xml

I re-emerged kmymoney (not the dependencies) with -ggdb and without binaries stripping, below is the backtrace shown in drkonqui, but don't know if it is sufficient.

Note that now, kmymoney does not crash immediately, but only when I click on the 'New' button, as I ran it with strace as explained in comment #2.

Using host libthread_db library "/lib/tls/libthread_db.so.1".
`system-supplied DSO at 0xffffe000' has disappeared; keeping its symbols.
[Thread debugging using libthread_db enabled]
[New Thread -1208166720 (LWP 16138)]
0xffffe410 in __kernel_vsyscall ()
#0  0xffffe410 in __kernel_vsyscall ()
#1  0x48af39a0 in nanosleep () from /lib/tls/libc.so.6
#2  0x48af37d6 in sleep () from /lib/tls/libc.so.6
#3  0x4dabbc9b in KCrash::startDrKonqi ()
   from /usr/kde/3.5/lib/libkdecore.so.4
#4  0x088cf8e8 in ?? ()
#5  0xbffefd04 in ?? ()
#6  0x4d510373 in qt_read_dib () from /usr/qt/3/lib/libqt-mt.so.3
Comment 5 Patrick ALLAERT 2006-05-12 01:55:34 UTC
This is maybe interesting, here is the output of 'kmymoney --help', look at the last lines:

======================================%<======================================
Usage: kmymoney [Qt-options] [KDE-options] [options] [File]


KMyMoney, the Personal Finance Manager for KDE.

Please consider contributing to this project with code and/or suggestions.

Generic options:
  --help                    Show help about options
  --help-qt                 Show Qt specific options
  --help-kde                Show KDE specific options
  --help-all                Show all options
  --author                  Show author information
  -v, --version             Show version information
  --license                 Show license information
  --                        End of options

Options:
  --lang <lang-code>        language to be used
  --trace                   turn on program traces
  -n                        don't open last used file

Arguments:
  File                      file to open
*** glibc detected *** malloc(): memory corruption (fast): 0x08617527 ***
Aborted
======================================%<======================================
Comment 6 Caleb Tennis (RETIRED) gentoo-dev 2006-05-12 03:38:42 UTC
That is interesting.

You may get a slightly nicer backtrace if you were to emerge gdb, and run kmymoney2 in gdb:

gdb kmymoney2
run
(cause it to crash)
bt

Comment 7 Patrick ALLAERT 2006-05-17 08:02:00 UTC
(In reply to comment #6)
> That is interesting.
> 
> You may get a slightly nicer backtrace if you were to emerge gdb, and run
> kmymoney2 in gdb:
> 
> gdb kmymoney2
> run
> (cause it to crash)
> bt

Here is the result:

======================================%<======================================
(gdb) run
Starting program: /usr/bin/kmymoney
[Thread debugging using libthread_db enabled]
[New Thread -1209436480 (LWP 8376)]
terminate called after throwing an instance of 'MyMoneyException*'

Program received signal SIGABRT, Aborted.
[Switching to Thread -1209436480 (LWP 8376)]
0xffffe410 in __kernel_vsyscall ()
(gdb) bt
#0  0xffffe410 in __kernel_vsyscall ()
#1  0x48a94d3d in raise () from /lib/tls/libc.so.6
#2  0x48a96353 in abort () from /lib/tls/libc.so.6
#3  0x4d283d57 in __gnu_cxx::__verbose_terminate_handler () from /usr/lib/gcc/i686-pc-linux-gnu/3.4.5/libstdc++.so.6
#4  0x4d281b91 in __cxa_call_unexpected () from /usr/lib/gcc/i686-pc-linux-gnu/3.4.5/libstdc++.so.6
#5  0x4d281bc6 in std::terminate () from /usr/lib/gcc/i686-pc-linux-gnu/3.4.5/libstdc++.so.6
#6  0x4d281d19 in __cxa_throw () from /usr/lib/gcc/i686-pc-linux-gnu/3.4.5/libstdc++.so.6
#7  0x082c3c4f in MyMoneySeqAccessMgr::account (this=0x836aac8, id=<incomplete type>) at mymoneyseqaccessmgr.cpp:140
#8  0xbf93ee94 in ?? ()
#9  0xbf93f130 in ?? ()
#10 0xb7f22878 in ?? () from /usr/lib/libkmm_mymoney.so.0
#11 0xbf93ee94 in ?? ()
#12 0xbf93f0d0 in ?? ()
#13 0x0836aac8 in vtable for MyMoneySeqAccessMgr ()
#14 0xb7edefaf in MyMoneyFile::account (this=0x8718728, id=@0x8184063) at mymoneyfile.cpp:304
#15 0x08184063 in KLedgerView::refreshView (this=0x88348a8, transactionFormVisible=148) at kledgerview.cpp:415
#16 0x088348a8 in ?? ()
#17 0x00000001 in ?? ()
#18 0xbf93f240 in ?? ()
#19 0x08171d58 in KLedgerViewCheckings::refreshView (this=0x8834994) at kledgerviewcheckings.cpp:165
#20 0x0818250e in KLedgerView::slotSelectAccount (this=0x88348a8, accountId=@0x85ab6f8) at kledgerview.cpp:370
#21 0x08834520 in ?? ()
#22 0x46b11e80 in ?? () from /usr/qt/3/lib/libqt-mt.so.3
#23 0x088341b8 in ?? ()
#24 0xbf93f46c in ?? ()
#25 0xbf93f27c in ?? ()
#26 0x4680c4a4 in QWidgetStack::raiseWidget () from /usr/qt/3/lib/libqt-mt.so.3
Previous frame inner to this frame (corrupt stack?)
======================================%<======================================
Comment 8 Sam 2006-06-28 22:58:25 UTC
I tried it before, and it also crashed everytime i clicked New.

Apparently kmymoney2 will not run if you compile it with -Os in your CFLAGS.
Comment 9 Dane Elwell 2006-08-16 09:36:45 UTC
I had this exact problem. It lies with the compile options you're using. KMyMoney2 will not run correctly if compiled with -Os.

Try re-compiling it with -O2 (works for me) or -O3 and see if that helps.
Comment 10 Carsten Lohrke (RETIRED) gentoo-dev 2006-08-16 17:53:47 UTC
Ebuilds do not build with -Os anymore. If this doesn't fix the problem for you, Patrick, reopen please.
Comment 11 Patrick ALLAERT 2006-08-17 02:01:52 UTC
Thank you Carsten.
Using "-O2" in place of "-Os" solves the problem. But shouldn't the ebuild prevent the use of "-Os" either with an error message or by stripping this flag ?
Comment 12 Carsten Lohrke (RETIRED) gentoo-dev 2006-08-17 08:17:08 UTC
(In reply to comment #11)
> Thank you Carsten.
> Using "-O2" in place of "-Os" solves the problem. But shouldn't the ebuild
> prevent the use of "-Os" either with an error message or by stripping this flag
> ?

If something doesn't build with -O2, there's something really broken and maybe the build script would not fall back to any optimization, if not provided. Grep the tree how many applications do not build with -Os - no we don't warn for this. There's no reason to do so.