I just installed KDevelop for the first time on this computer, kdevelop-3.1.2 to be exact. When I try to start it, I get this: Connecting kdevelop-32230/KDevCore/projectClosed() PyDCOP connect kdevelop-32230/KDevCore/projectClosed()/f1() has result true Connecting kdevelop-32230/KDevCore/projectOpened() PyDCOP connect kdevelop-32230/KDevCore/projectOpened()/f2() has result true KCrash: Application 'kdevelop' crashing... along with the standard KDE crash popup window with a useless backtrace. The splash screen comes up, but that's as far as it gets before crashing. I know not what is going on. I shall provide an strace log after I finish filing this. Reproducible: Always Steps to Reproduce: 1. emerge kdevelop-3.1.2 2. try to start kdevelop 3. observe how it crashes and does what I mentioned above (or at least does on my computer) Actual Results: The stuff listed above. Expected Results: Started correctly. Portage 2.0.51.22-r2 (default-linux/amd64/2005.0, gcc-3.4.4, glibc-2.3.5-r1, 2.6.11-gentoo-r11 x86_64) ================================================================= System uname: 2.6.11-gentoo-r11 x86_64 AMD Opteron(tm) Processor 246 Gentoo Base System version 1.6.13 dev-lang/python: 2.3.5 sys-apps/sandbox: 1.2.12 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6 sys-devel/binutils: 2.15.92.0.2-r10 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="amd64" AUTOCLEAN="yes" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=opteron -O3 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/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/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=opteron -O3 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" LANG="en_US.utf8" LC_ALL="en_US.utf8" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="amd64 X Xaw3d a52 aac aalib accessibility acl acpi adns aim alsa apache2 arts audiofile avi bash-completion bcmath berkdb bidi bitmap-fonts bluetooth bmp bonobo bzlib calendar canna cdb cdparanoia cdr chasen cjk crypt cscope ctype cups curl curlwrappers db2 dba dbase dbm dbx dedicated dga dio directfb doc dv dvb dvd dvdr dvdread eds emacs emacs-w3 emul-linux-x86 encode esd ethereal evo examples exif expat fam fastcgi fbcon ffmpeg flac flash flatfile foomaticdb fortran freetds freewnn ftp gb gcj gd gdbm geoip ggi gif ginac glut gmp gnome gnustep gnutls gphoto2 gpm gps gstreamer gtk gtk2 gtkhtml guile hal hardened hardenedphp howl hyperwave-api iconv icq imagemagick imap imlib inifile innodb interbase iodbc ipv6 jabber jack javascript joystick jpeg kde kerberos krb4 ladcca lcms ldap leim libcaca libg++ libgda libwww lirc lm_sensors lzw lzw-tiff m17n-lib mad maildir mailwrapper matroska mbox mcal mcve memlimit mhash migemo mikmod milter mime ming mmap mng mnogosearch motif mozilla mp3 mpeg mpi msession msql mssql mule mysql mysqli nas ncurses neXt netcdf nis nls nocd nptl oci8 odbc offensive ofx ogg openal opengl oracle oracle7 osc oscar oss ovrimos pam pcntl pcre pda pdflib perl php plotutils png portaudio posix postgres ppds prelude python qdbm qt quicktime readline recode ruby samba sapdb sasl scanner sdl session sharedext sharedmem shorten simplexml skey slang smartcard sndfile snmp soap sockets socks5 source sox speex spell spl sqlite ssl svg symlink sysvipc szip tcltk tcpd tetex theora threads tidy tiff tokenizer truetype truetype-fonts type1-fonts unicode usb userlocales v4l vcd vhosts videos vorbis wddx wifi wmf wxwindows xface xine xml xml2 xmlrpc xmms xosd xpm xprint xsl xv xvid yahoo yaz zeo zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LDFLAGS, LINGUAS, PORTDIR_OVERLAY
Created attachment 66837 [details] An strace log created simply with strace -o log kdevelop I created the log with the simple command listed above. If you want me to create another log with more detail, like following all forks or something, just let me know.
Have you tried kdevelop-3.2.x? You can also try to compile with USE="debug" FETURES="nostrip" to get a backtrace.
I tried the same version of KDevelop, but compiled as you suggested. There is (far) more info output to the console, but for some reason the backtrace is still useless, although I don't remember if the line "Using host libthread_db library "/lib/tls/libthread_db.so.1" was there before. The mention of threads there leads me to share the fact that my computer has two Opterons, so it could be a problem related to two real processors instead of one pretending to be two, although whatever it is, it makes KDevelop crash every single time (so far). I previously experienced the same thing on a personal program a few weeks ago, with gdb being unable to generate a backtrace (with anything more useful than memory addresses), so maybe that's a gdb bug on at least AMD64 ('gdb doesn't work, at all' seems like a pretty big bug for me to just be discovering, but maybe it's already filed, or maybe people don't believe in debugging). I just recompiled gdb, and still no backtrace (maybe it's a problem with compiler, linker, assembler, who the heck knows, although I just recompiled gcc the other day, and I couldn't get a backtrace before that either). But regardless, KDevelop still crashes on startup. I'll attach its console output following this.
Forget an attachment, here's a copy and paste of the console output. kdevelop: === KMdiMainFrm() === kdevelop: : KDockWidget::setHeader kdevelop: KDockWidgetHeader::showUndockButton(true) kdevelop: KDockWidgetHeader::showUndockButton(false) kmdi: switch(mdiMode): IDEAlMode kmdi: SWITCHING TO IDEAL kdevelop: : KDockWidget::setHeader kdevelop: KDockWidgetHeader::showUndockButton(true) kdevelop: : KDockWidget::setHeader kdevelop: KDockWidgetHeader::showUndockButton(true) kdevelop: : KDockWidget::setHeader kdevelop: KDockWidgetHeader::showUndockButton(true) kdevelop: : KDockWidget::setHeader kdevelop: KDockWidgetHeader::showUndockButton(true) kmdi: No main dock widget found kmdi: No main dock widget found kmdi: No main dock widget found kmdi: No main dock widget found kdevelop: KDockWidgetHeader::showUndockButton(false) kmdi: KMdiDockContainer created kdevelop: KDockWidgetHeader::showUndockButton(false) kdevelop: : KDockWidget::setHeader kdevelop: KDockWidgetHeader::showUndockButton(true) kdevelop: KDockContainer::activateOverlapMode: recalculating sizes kmdi: KMdiDockContainer created kdevelop: KDockWidgetHeader::showUndockButton(false) kdevelop: : KDockWidget::setHeader kdevelop: KDockWidgetHeader::showUndockButton(true) kdevelop: KDockContainer::activateOverlapMode: recalculating sizes kmdi: KMdiDockContainer created kdevelop: KDockWidgetHeader::showUndockButton(false) kdevelop: : KDockWidget::setHeader kdevelop: KDockWidgetHeader::showUndockButton(true) kdevelop: KDockContainer::activateOverlapMode: recalculating sizes kmdi: KMdiDockContainer created kdevelop: KDockWidgetHeader::showUndockButton(false) kdevelop: : KDockWidget::setHeader kdevelop: KDockWidgetHeader::showUndockButton(true) kdevelop: KDockContainer::activateOverlapMode: recalculating sizes kmdi: ************************* hideIfNeeded ************************* kmdi: ************************* hideIfNeeded ************************* kmdi: ************************* hideIfNeeded ************************* kmdi: ************************* hideIfNeeded ************************* kmdi: KMDIGUIClient::mdiModeHasBennChangeTo kdevelop: KMultiTabBarInternal::resizeEvent kdevelop: needed lines:1 kdevelop: KMultiTabBarInternal::resizeEvent kdevelop: needed lines:1 kdevelop: KMultiTabBarInternal::resizeEvent kdevelop: needed lines:1 kdevelop: KMultiTabBarInternal::resizeEvent kdevelop: needed lines:1 kmdi: KMDIGUIClient::setupActions: plugActionList kdevelop: : KDockWidget::setHeader kdevelop: KDockWidgetHeader::showUndockButton(true) kmdi: *****void KMDIGUIClient::addToolView(KMdiToolViewAccessor* mtva)***** kmdi: KMDIGUIClient::setupActions: plugActionList kdevelop: : KDockWidget::setHeader kdevelop: KDockWidgetHeader::showUndockButton(true) kdevelop: KMultiTabBarInternal::resizeEvent kdevelop: needed lines:1 kmdi: *** KDockWidgetHeader has been found kmdi: NAMENAMENAMENAME:===========================:Messages kmdi: KMdiDockContainer::insertWidget() kmdi: ***********************************Setting tooltip for a widget: Compiler output messages kdevelop: : KDockWidget::setHeader kdevelop: KDockWidgetHeader::showUndockButton(true) kmdi: *****void KMDIGUIClient::addToolView(KMdiToolViewAccessor* mtva)***** kmdi: KMDIGUIClient::setupActions: plugActionList kmdi: *** KDockWidgetHeader has been found kmdi: NAMENAMENAMENAME:===========================:Application kmdi: KMdiDockContainer::insertWidget() kmdi: ***********************************Setting tooltip for a widget: Output of the executed user program kdevelop: : KDockWidget::setHeader kdevelop: KDockWidgetHeader::showUndockButton(true) kmdi: *****void KMDIGUIClient::addToolView(KMdiToolViewAccessor* mtva)***** kmdi: KMDIGUIClient::setupActions: plugActionList kmdi: *** KDockWidgetHeader has been found kmdi: NAMENAMENAMENAME:===========================:Diff kmdi: KMdiDockContainer::insertWidget() kmdi: ***********************************Setting tooltip for a widget: Output of the diff command kdevelop: : KDockWidget::setHeader kdevelop: KDockWidgetHeader::showUndockButton(true) kmdi: *****void KMDIGUIClient::addToolView(KMdiToolViewAccessor* mtva)***** kmdi: KMDIGUIClient::setupActions: plugActionList kdevelop: : KDockWidget::setHeader kdevelop: KDockWidgetHeader::showUndockButton(true) kdevelop: KMultiTabBarInternal::resizeEvent kdevelop: needed lines:1 kmdi: *** KDockWidgetHeader has been found kmdi: NAMENAMENAMENAME:===========================:New File kmdi: KMdiDockContainer::insertWidget() kmdi: ***********************************Setting tooltip for a widget: File creation kdevelop (python scripting): Init kdevelopc kdevelop (python scripting): Init pydcopc kdevelop (python scripting): import kdevelop kdevelop (python scripting): from init import * kdevelop (python scripting): New dom document: <!DOCTYPE kpartgui SYSTEM "kpartgui.dtd"> <kpartgui version="1" name="editorpart" > <MenuBar> <Menu name="tools" > <Action name="toolsPython action 1" /> </Menu> </MenuBar> </kpartgui> kdevelop (python scripting): kdevelop (python scripting): New dom document: <!DOCTYPE kpartgui SYSTEM "kpartgui.dtd"> <kpartgui version="1" name="editorpart" > <MenuBar> <Menu name="tools" > <Action name="toolsPython action 1" /> <Action name="toolsPython action 2" /> </Menu> </MenuBar> </kpartgui> kdevelop (python scripting): kdevelop (python scripting): New dom document: <!DOCTYPE kpartgui SYSTEM "kpartgui.dtd"> <kpartgui version="1" name="editorpart" > <MenuBar> <Menu name="tools" > <Action name="toolsPython action 1" /> <Action name="toolsPython action 2" /> <Action name="toolsPython action 3" /> </Menu> </MenuBar> </kpartgui> kdevelop (python scripting): Connecting kdevelop-6887/KDevCore/projectClosed() PyDCOP connect kdevelop-6887/KDevCore/projectClosed()/f1() has result true Connecting kdevelop-6887/KDevCore/projectOpened() PyDCOP connect kdevelop-6887/KDevCore/projectOpened()/f2() has result true kdevelop: : KDockWidget::setHeader kdevelop: KDockWidgetHeader::showUndockButton(true) kmdi: *****void KMDIGUIClient::addToolView(KMdiToolViewAccessor* mtva)***** kmdi: KMDIGUIClient::setupActions: plugActionList kmdi: *** KDockWidgetHeader has been found kmdi: NAMENAMENAMENAME:===========================:Valgrind kmdi: KMdiDockContainer::insertWidget() kmdi: ***********************************Setting tooltip for a widget: Valgrind memory leak check kdevelop (abbrev): =========> sourceFiles: /usr/share/apps/kdevabbrev/sources/cpp_keywords /usr/share/apps/kdevabbrev/sources/qt_classes kdevelop (abbrev): ===> load file: /usr/share/apps/kdevabbrev/sources/cpp_keywords kdevelop (abbrev): ===> load file: /usr/share/apps/kdevabbrev/sources/qt_classes kdevelop (abbrev): fn = /usr/share/apps/kdevabbrev/templates/phptemplates kdevelop (abbrev): creating template for suffixes html and name tab kdevelop (abbrev): fn = /usr/share/apps/kdevabbrev/templates/pascaltemplates kdevelop (abbrev): creating template for suffixes p,pp,pas,dpr and name ife kdevelop (abbrev): creating template for suffixes p,pp,pas,dpr and name whileb kdevelop (abbrev): creating template for suffixes p,pp,pas,dpr and name pr kdevelop (abbrev): creating template for suffixes p,pp,pas,dpr and name pu kdevelop (abbrev): creating template for suffixes p,pp,pas,dpr and name caseb kdevelop (abbrev): creating template for suffixes p,pp,pas,dpr and name pro kdevelop (abbrev): creating template for suffixes p,pp,pas,dpr and name forb kdevelop (abbrev): creating template for suffixes p,pp,pas,dpr and name classd kdevelop (abbrev): creating template for suffixes p,pp,pas,dpr and name recordd kdevelop (abbrev): creating template for suffixes p,pp,pas,dpr and name ifb kdevelop (abbrev): fn = /usr/share/apps/kdevabbrev/templates/cpptemplates kdevelop (abbrev): creating template for suffixes h,H,hh,hxx,hpp,inl,tlh,c,C,cc,cpp,c++,cxx,m,mm,M and name ife kdevelop (abbrev): creating template for suffixes h,H,hh,hxx,hpp,inl,tlh,c,C,cc,cpp,c++,cxx,m,mm,M and name pr kdevelop (abbrev): creating template for suffixes h,H,hh,hxx,hpp,inl,tlh,c,C,cc,cpp,c++,cxx,m,mm,M and name whileb kdevelop (abbrev): creating template for suffixes h,H,hh,hxx,hpp,inl,tlh,c,C,cc,cpp,c++,cxx,m,mm,M and name pu kdevelop (abbrev): creating template for suffixes h,H,hh,hxx,hpp,inl,tlh,c,C,cc,cpp,c++,cxx,m,mm,M and name switchb kdevelop (abbrev): creating template for suffixes h,H,hh,hxx,hpp,inl,tlh,c,C,cc,cpp,c++,cxx,m,mm,M and name pro kdevelop (abbrev): creating template for suffixes h,H,hh,hxx,hpp,inl,tlh,c,C,cc,cpp,c++,cxx,m,mm,M and name forb kdevelop (abbrev): creating template for suffixes h,H,hh,hxx,hpp,inl,tlh,c,C,cc,cpp,c++,cxx,m,mm,M and name classd kdevelop (abbrev): creating template for suffixes h,H,hh,hxx,hpp,inl,tlh,c,C,cc,cpp,c++,cxx,m,mm,M and name structd kdevelop (abbrev): creating template for suffixes h,H,hh,hxx,hpp,inl,tlh,c,C,cc,cpp,c++,cxx,m,mm,M and name ifb kdevelop (abbrev): AbbrevPart::slotActivePartChanged() KCrash: Application 'kdevelop' crashing...
Maybe the crash is not in kdevelop code but in a linked library... btw: see also here https://bugs.kde.org/show_bug.cgi?id=95562
> Maybe the crash is not in kdevelop code but in a linked library... > btw: see also here https://bugs.kde.org/show_bug.cgi?id=95562 It's possible, but KDevelop seems to rely on every other library ever created, so a helpful backtrace would be nice. I'm going to file another bug about how I can't backtraces, and once that is resolved and I can get one, I'll post it here.
The crash is a known problem with 3.1.x when built with the hardened compiler. 3.2.x don't exhibit the problem; try one of those. They're currently marked ~amd64 so you'll have to add: =dev-util/kdevelop-3.2.1-r1 amd64 to /etc/portage/package.keywords to get it to install (or try 3.2.2 if you're feeling more adventurous). *** This bug has been marked as a duplicate of 68095 ***
I've got 3.2.2 running, and got the GDB problem figured out too. Shall we try to fix this version of KDevelop, now that I can get backtraces, or just leave it as is?