Bug 90992 - crash on startup debug log
Summary: crash on startup debug log
Status: RESOLVED NOT A BUG
Alias: None
Product: kdevelop
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Debian testing Linux
: NOR crash
Target Milestone: ---
Assignee: kdevelop-bugs-null
URL:
Keywords:
: 110336 114393 (view as bug list)
Depends on:
Blocks:
 
Reported: 2004-10-08 23:29 UTC by Per (phobie)
Modified: 2005-10-17 23:15 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Per (phobie) 2004-10-08 23:29:00 UTC
Version:           3.3.0 (using KDE KDE 3.3.0KDE 3.3.1KDE 3.3.1)
Installed from:    Debian testing/unstable PackagesDebian testing/unstable PackagesDebian testing/unstable Packages
Compiler:          debian/sid precompiled 
OS:                Linux

Everytime when I try to start "Kdevelop Assistent" I get a crashreport...
"Kdevelop Designer" and "Kdevelop" itself works fine.
I use debian/sid and all packets are up to date.
Log fellows:

Using host libthread_db library "/lib/tls/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread 1102423488 (LWP 4886)]
[KCrash handler]
#3  0x4174b117 in XCreateGC () from /usr/X11R6/lib/libX11.so.6
#4  0x4119f76e in qsincos () from /usr/lib/libqt-mt.so.3
#5  0x4119fb7c in qsincos () from /usr/lib/libqt-mt.so.3
#6  0x4119ffa7 in QPainter::updatePen () from /usr/lib/libqt-mt.so.3
#7  0x41247377 in QPainter::setPen () from /usr/lib/libqt-mt.so.3
#8  0x4135f22f in QSplashScreen::drawContents () from /usr/lib/libqt-mt.so.3
#9  0x4135f1c9 in QSplashScreen::drawContents () from /usr/lib/libqt-mt.so.3
#10 0x4135eeb2 in QSplashScreen::repaint () from /usr/lib/libqt-mt.so.3
#11 0x4135f13c in QSplashScreen::setPixmap () from /usr/lib/libqt-mt.so.3
#12 0x4135ebe9 in QSplashScreen::QSplashScreen () from /usr/lib/libqt-mt.so.3
#13 0x080a2101 in QValueListPrivate<QString>::clear ()
#14 0x080a1c06 in QValueListPrivate<QString>::clear ()
#15 0x418f87f8 in __libc_start_main () from /lib/tls/libc.so.6
#16 0x41a1af2c in ?? () from /lib/tls/libc.so.6
Comment 1 Jens Dagerbo 2004-10-09 02:40:42 UTC
KDevAssistant crashes when it can't find the splashscreen pixmap. Obviously the code should be more fault tolerant but for a fast solution, fix your installation. :)

KDevelop has the same code, so I don't understand why it runs ok. You should find the splashimages in $KDEDIR/share/apps/kdevelop/pics

Comment 2 Serge Koganovitsch 2004-11-18 11:27:39 UTC
The problem is due to kdevelop3-data:
/usr/share/apps/kdevelop does NOT exist
The jpg is in /usr/share/apps/kdevelop3/pics ...
Comment 3 Amilcar do Carmo Lucas 2004-11-18 11:34:16 UTC
It's a Debian bug then
Comment 4 Matt Rogers 2004-12-15 19:34:32 UTC
please file a bug at bugs.debian.org about this. The debian project will have to fix their packages.
Comment 5 Alexander Dymo 2005-05-16 23:16:18 UTC
SVN commit 414754 by dymo:

Fixed crashes at startup when splashscreen picture is not found.
CCBUG: 90992



 M  +11 -5     trunk/KDE/kdevelop/kdevdesigner/src/main.cpp  
 M  +13 -8     trunk/KDE/kdevelop/src/main.cpp  
 M  +12 -7     trunk/KDE/kdevelop/src/main_assistant.cpp  


--- trunk/KDE/kdevelop/kdevdesigner/src/main.cpp #414753:414754
@@ -55,10 +55,15 @@
     else
     {
         // no session.. just start up normally
-        QPixmap pm;
-        pm.load(locate("data", "kdevelop/pics/kdevdesigner-splash.png"));
-        QSplashScreen * splash = new QSplashScreen( pm );
-        splash->show();
+        QSplashScreen * splash = 0;
+        QString splashFile = locate("data", "kdevelop/pics/kdevdesigner-splash.png");
+        if (!splashFile.isNull())
+        {
+            QPixmap pm;
+            pm.load(splashFile);
+            splash = new QSplashScreen( pm );
+            splash->show();
+        }
 
         app.processEvents();
 
@@ -80,7 +85,8 @@
             }
         }
         args->clear();
-        delete splash;
+        if (splash)
+            delete splash;
     }
 
     return app.exec();
--- trunk/KDE/kdevelop/src/main.cpp #414753:414754
@@ -83,25 +83,30 @@
   KApplication app;
 
   KDevIDEExtension::init();
- 
-  QPixmap pm;
-  pm.load(locate("appdata", "pics/kdevelop-splash.png"));
-  SplashScreen * splash = new SplashScreen( pm );
+
+  SplashScreen *splash = 0;
+  QString splashFile = locate("appdata", "pics/kdevelop-splash.png");
+  if (!splashFile.isEmpty())
+  {
+    QPixmap pm;
+    pm.load(splashFile);
+    splash = new SplashScreen( pm );
+  }
   
   app.processEvents();
 
-  splash->message( i18n( "Loading Settings" ) );
+  if (splash) splash->message( i18n( "Loading Settings" ) );
   TopLevel::getInstance()->loadSettings();
 
   QObject::connect(PluginController::getInstance(), SIGNAL(loadingPlugin(const QString &)), 
     splash, SLOT(message(const QString &)));
-  splash->show();
+  if (splash) splash->show();
   
   PluginController::getInstance()->loadInitialPlugins();
   
   Core::getInstance()->doEmitCoreInitialized();
 
-  splash->message( i18n( "Starting GUI" ) );
+  if (splash) splash->message( i18n( "Starting GUI" ) );
 //BEGIN a workaround on kmdi bug - we do not allow mainwindow to be shown until now
   NewMainWindow *mw = dynamic_cast<NewMainWindow*>(TopLevel::getInstance()->main());
   if (mw)
@@ -109,7 +114,7 @@
 //END workaround
   TopLevel::getInstance()->main()->show();
 
-  delete splash;
+  if (splash) delete splash;
 
   for( int i=0; i<args->count(); ++i ){
       kdDebug(9000) << "------> arg " << args->arg(i) << endl;
--- trunk/KDE/kdevelop/src/main_assistant.cpp #414753:414754
@@ -83,22 +83,27 @@
 
   KDevAssistantExtension::init();
 
-  QPixmap pm;
-  pm.load(locate("data", "kdevelop/pics/kdevassistant-splash.png"));
-  SplashScreen * splash = new SplashScreen( pm );
-  splash->show();
+  SplashScreen *splash = 0;
+  QString splashFile = locate("data", "kdevelop/pics/kdevassistant-splash.png");
+  if (!splashFile.isEmpty())
+  {
+    QPixmap pm;
+    pm.load(splashFile);
+    splash = new SplashScreen( pm );
+  }
+  if (splash) splash->show();
 
   app.processEvents();
 
   QObject::connect(PluginController::getInstance(), SIGNAL(loadingPlugin(const QString &)),
 		   splash, SLOT(showMessage(const QString &)));
 
-  splash->message( i18n( "Loading Settings" ) );
+  if (splash) splash->message( i18n( "Loading Settings" ) );
   TopLevel::getInstance()->loadSettings();
 
   PluginController::getInstance()->loadInitialPlugins();
 
-  splash->message( i18n( "Starting GUI" ) );
+  if (splash) splash->message( i18n( "Starting GUI" ) );
 //BEGIN a workaround on kmdi bug - we do not allow mainwindow to be shown until now
   NewMainWindow *mw = dynamic_cast<NewMainWindow*>(TopLevel::getInstance()->main());
   if (mw)
@@ -108,7 +113,7 @@
 
   Core::getInstance()->doEmitCoreInitialized();
 
-  delete splash;
+  if (splash) delete splash;
 
   kapp->dcopClient()->registerAs("kdevassistant");
 
Comment 6 Jens Dagerbo 2005-08-07 19:19:05 UTC
*** Bug 110336 has been marked as a duplicate of this bug. ***
Comment 7 Jens Dagerbo 2005-10-17 23:15:15 UTC
*** Bug 114393 has been marked as a duplicate of this bug. ***