Apache OpenOffice (AOO) Bugzilla – Issue 66264
m172: crash on startup
Last modified: 2006-07-05 10:40:55 UTC
Starting m172 in KDE: Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 16384 (LWP 5869)] 0x425775b2 in KInstance::dirs() const () from /opt/kde3/lib/libkdecore.so.4 (gdb) where #0 0x425775b2 in KInstance::dirs() const () from /opt/kde3/lib/libkdecore.so.4 #1 0x425705c2 in KGlobal::dirs() () from /opt/kde3/lib/libkdecore.so.4 #2 0x42515dc0 in KConfigBackEnd::changeFileName(QString const&, char const*, bool) () from /opt/kde3/lib/libkdecore.so.4 #3 0x42515f5b in KConfigBackEnd::KConfigBackEnd(KConfigBase*, QString const&, char const*, bool) () from /opt/kde3/lib/libkdecore.so.4 #4 0x4251387e in KConfig::KConfig(QString const&, bool, bool, char const*) () from /opt/kde3/lib/libkdecore.so.4 #5 0x452a3b5e in KEMailSettings::KEMailSettings() () from /opt/kde3/lib/libkio.so.4 #6 0x45127ab5 in ?? () from /disk3/oo/SRC680_m172/program/kdebe1.uno.so #7 0x43e3cfa3 in component_getFactory () from /disk3/oo/SRC680_m172/program/configmgr2.uno.so The system where it crashes in SUSE Linux 9.0, with KDE 3.1.4. OOC680_m5 starts there without problems.
pl->ebischoff: obr told me that you would know something about this component. Could you please have a look ? I guess you could use the same method as the kde plugin, namely disabling the service if qt version is below 3.2.2.
No problem with taking this bug. Yes, I also suspect a KDE too old. Can you please tell me against which version of KDE your m172 was compiled ? Was it on the same machine or on some other machine ? The strange thing is, the KEMailSettings::KEmailSettings() constructor has not changed since KDE 3.1.4 !!!
Pavel, Also, could you please copy here your compilation flags ? (especially the ones related to KDE) Thanks in advance
Pavel, And finally, could you test the attached patch? Tell me if it goes any better. It's not a fix, it's just to try to understand.
Created attachment 37036 [details] Test to see if the problem is a missing KApplication object
It was compiled on the same system, yes. The environment file used is at: ftp://ftp.linux.cz/pub/localization/OpenOffice.org/devel/680/SRC680_m172/Build-1/build/LinuxIntelEnv.Set.sh
After applying pavel.diff and using newly built kdebe1.uno.so it starts.
Okay, great! It seems that the problem is not "your KDE is too old", like we thought at the beginning, but "you lack a KApplication object". Normally, this object is created by kendy's VCL. Can you please try this second patch? It will enable us to verify that VCL is called before the settings code. It will also enable us to know whether the problem is some memory corruption, a bug in VCL, or something else. VERY IMPORTANT: remove or rename you "~/.openoffice.org2" directory before you run the patched OOo, because we have to make sure that the system-wide settings are not cached. The second patch will output important information on stdout. Can you please copy'n'paste it to your answer? Thanks a lot for your help,
Created attachment 37088 [details] Second patch to narrow the problem
Results here: oo@oo:~/SRC680_m172-new/program> ./soffice Test from Eric for Pavel; kdebe here (creation) KApplication = 0 Test from Eric for Pavel; kdebe here (creation) KApplication = 0 Test from Eric for Pavel; kdebe here (usage) KApplication = 0 oo@oo:~/SRC680_m172-new/program>
Okay, then it is apparently a bug in VCL, the KApplication creation code is not called. I will investigate that with kendy. Stay tuned.
Pardon me, but that is not a bug at all. VCL does not use KDE for KDE < 3.2.2 and falls back to generic handling in that case. Of course there is no KApplication created then either since Pavel's KDE is 3.1.4. Or am i missing something here ?
Hi Philip, You do not miss anything. Now we fully understand what's happening. I and kendy are currently considering two alternatives : 1) add && KApplication::kApplication() != NULL to the test in shell/soource/backends/kdebe/kdebecdef.cxx, or, as Kendy said, "do not support the dinosaurs" ;-) 2) create our own KApplication object if missing. We already do that in the KDE address book driver, but it also makes more sense since you might want your KDE address book from GNOME. We'll come very soon with the solving patch. Thanks for the help.
Created attachment 37107 [details] Fix - Can you please test, Pavel?
Comitted 'pavel3.diff' to CWS kdesettings2.
Fix verified in kdesettings2 - OOo now finally starts again here :-) Thanks everone.
Integrated in m174