|
Bugzilla – Full Text Bug Listing |
| Summary: | missing intra-kdelibs4 dependencies | ||
|---|---|---|---|
| Product: | [openSUSE] openSUSE 11.1 | Reporter: | Lars Marowsky-Bree <lmb> |
| Component: | KDE4 Workspace | Assignee: | E-mail List <kde-maintainers> |
| Status: | RESOLVED FIXED | QA Contact: | E-mail List <qa-bugs> |
| Severity: | Major | ||
| Priority: | P1 - Urgent | CC: | wstephenson |
| Version: | Factory | ||
| Target Milestone: | Alpha 0 | ||
| Hardware: | i586 | ||
| OS: | Other | ||
| Whiteboard: | |||
| Found By: | Customer | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
|
Description
Lars Marowsky-Bree
2008-07-02 09:36:25 UTC
I cannot reproduce. Can you reproduce reliably? Does it happen with other apps (e.g. kill -ABRT on something)? Where are you trying to save the file? please also install kdelibs4-debuginfo and libqt4-debuginfo, that should help with the backtrace above. Yes, right now I can reproduce all the time. The file dialog seems to crash for all KDE4 apps. This is 11.0 with all available updates.
I installed kdelibs4-debuginfo, but libqt4-debuginfo doesn't exist.
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb611d6d0 (LWP 25006)]
0xb73fc63d in KCompositeJob::hasSubjobs () from /usr/lib/libkdecore.so.5
(gdb) bt
#0 0xb73fc63d in KCompositeJob::hasSubjobs () from /usr/lib/libkdecore.so.5
#1 0xb7a9757e in KIO::ListJob::slotFinished (this=0x8ac5218)
at /usr/src/debug/kdelibs-4.0.4/kio/kio/job.cpp:2358
#2 0xb7a9f023 in KIO::ListJob::qt_metacall (this=0x8ac5218,
_c=QMetaObject::InvokeMetaMethod, _id=3, _a=0xbff49b48)
at /usr/src/debug/kdelibs-4.0.4/build/kio/jobclasses.moc:747
#3 0xb72353fa in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#4 0xb7235972 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#5 0xb7b3e2d7 in KIO::SlaveInterface::finished (this=0x8a94528)
at /usr/src/debug/kdelibs-4.0.4/build/kio/slaveinterface.moc:161
#6 0xb7b40def in KIO::SlaveInterface::dispatch (this=0x8a94528, _cmd=104,
rawdata=@0xbff49ce4)
at /usr/src/debug/kdelibs-4.0.4/kio/kio/slaveinterface.cpp:176
#7 0xb7b3eb77 in KIO::SlaveInterface::dispatch (this=0x8a94528)
at /usr/src/debug/kdelibs-4.0.4/kio/kio/slaveinterface.cpp:90
#8 0xb7b32600 in KIO::Slave::gotInput (this=0x8a94528)
at /usr/src/debug/kdelibs-4.0.4/kio/kio/slave.cpp:319
#9 0xb7b32973 in KIO::Slave::qt_metacall (this=0x8a94528,
_c=QMetaObject::InvokeMetaMethod, _id=2, _a=0xbff49dd8)
at /usr/src/debug/kdelibs-4.0.4/build/kio/slave.moc:75
#10 0xb72353fa in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#11 0xb7235972 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#12 0xb7a6d597 in KIO::Connection::readyRead (this=0x8b07990)
at /usr/src/debug/kdelibs-4.0.4/build/kio/connection.moc:84
#13 0xb7a6efd2 in KIO::ConnectionPrivate::dequeue (this=0x8ae3be0)
at /usr/src/debug/kdelibs-4.0.4/kio/kio/connection.cpp:82
#14 0xb7a6f626 in KIO::Connection::qt_metacall (this=0x8b07990,
_c=QMetaObject::InvokeMetaMethod, _id=1, _a=0x8a515f0)
at /usr/src/debug/kdelibs-4.0.4/build/kio/connection.moc:72
#15 0xb723033b in QMetaCallEvent::placeMetaCall () from /usr/lib/libQtCore.so.4
#16 0xb7231ed1 in QObject::event () from /usr/lib/libQtCore.so.4
#17 0xb6786ecc in QApplicationPrivate::notify_helper ()
from /usr/lib/libQtGui.so.4
#18 0xb678d31e in QApplication::notify () from /usr/lib/libQtGui.so.4
#19 0xb77af39d in KApplication::notify (this=0xbff4b5dc, receiver=0x8b07990,
event=0x8b08118)
at /usr/src/debug/kdelibs-4.0.4/kdeui/kernel/kapplication.cpp:314
#20 0xb7223b51 in QCoreApplication::notifyInternal ()
from /usr/lib/libQtCore.so.4
#21 0xb7224411 in QCoreApplicationPrivate::sendPostedEvents ()
from /usr/lib/libQtCore.so.4
#22 0xb72245ad in QCoreApplication::sendPostedEvents ()
from /usr/lib/libQtCore.so.4
#23 0xb681100f in ?? () from /usr/lib/libQtGui.so.4
#24 0xb72222ca in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4
#25 0xb722248a in QEventLoop::exec () from /usr/lib/libQtCore.so.4
#26 0xb6b8e27f in QDialog::exec () from /usr/lib/libQtGui.so.4
#27 0xb7b7009e in KFileDialog::getSaveFileName (dir=@0xbff4a6dc,
filter=@0xbff4a754, parent=0x815ee20, caption=@0xbff4a750)
at /usr/src/debug/kdelibs-4.0.4/kio/kfile/kfiledialog.cpp:385
#28 0x0805132d in _start ()
Looks like the same crash in your bug 405749 so I guess there is something specific to your setup that causes KIO to crash, we should sort this one. *** Bug 405749 has been marked as a duplicate of this bug. *** reporter had mixed versions of kde packages installed. See group of newer packages at the bottom of this list. This indicates a BIC change happened. > bundle-lang-kde-en-11.0-126.1 > compiz-kde-0.7.4-31.1 > compiz-kde4-0.7.4-31.2 > kde4-akregator-4.0.80-9.3 > kde4-ark-4.0.4-19.1 > kde4-dolphin-4.0.4-22.4 > kde4-gwenview-4.0.4-14.1 > kde4-kaddressbook-4.0.80-9.3 > kde4-kcalc-4.0.4-19.1 > kde4-kcm_gtk-1.1-40.1 > kde4-kcolorchooser-4.0.4-14.1 > kde4-kdm-4.0.4-69.2 > kde4-kdm-branding-openSUSE-11.0-93.2 > kde4-kdnssd-4.0.4-19.20 > kde4-keditbookmarks-4.0.4-22.4 > kde4-kfind-4.0.4-22.4 > kde4-kgamma-4.0.4-14.1 > kde4-kget-4.0.4-19.20 > kde4-kgpg-4.0.4-19.1 > kde4-kio_audiocd-4.0.4-15.1 > kde4-kio_iso-1.80.99-32.1 > kde4-kio_kamera-4.0.4-14.1 > kde4-kio_sysinfo-11.0-93.2 > kde4-kio_sysinfo-branding-openSUSE-11.0-93.2 > kde4-kmahjongg-4.0.4-16.1 > kde4-kmail-4.0.80-9.3 > kde4-kmines-4.0.4-16.1 > kde4-kmix-4.0.4-15.1 > kde4-knewsticker-4.0.4-19.20 > kde4-knotes-4.0.80-9.3 > kde4-konqueror-4.0.4-22.4 > kde4-konqueror-plugins-4.0.svn819877-2.2 > kde4-konsole-4.0.4-22.4 > kde4-kontact-4.0.80-9.3 > kde4-kopete-4.0.4-19.20 > kde4-korganizer-4.0.80-9.3 > kde4-kpat-4.0.4-16.1 > kde4-krdc-4.0.4-19.20 > kde4-kreversi-4.0.4-16.1 > kde4-krfb-4.0.4-19.20 > kde4-kscd-4.0.4-15.1 > kde4-ksnapshot-4.0.4-14.1 > kde4-ksudoku-4.0.4-16.1 > kde4-kwalletmanager-4.0.4-19.1 > kde4-kwin-4.0.4-69.2 > kde4-kwrite-4.0.4-22.4 > kde4-okular-4.0.4-14.1 > kde4-opensuse-updater-0.7.17-6.2 > kdeaddons3-kicker-3.5.9-4 > kdeaddons3-konqueror-3.5.9-4 > kdeartwork3-kscreensaver-3.5.9-47.1 > kdeartwork3-xscreensaver-3.5.9-47.1 > kdeartwork4-screensaver-4.0.4-14.1 > kdebase3-3.5.9-65.1 > kdebase3-kdm-3.5.9-65.1 > kdebase3-runtime-3.5.9-65.1 > kdebase3-samba-3.5.9-65.1 > kdebase3-SuSE-branding-openSUSE-11.0-117.1 > kdebase4-4.0.4-22.4 > kdebase4-nsplugin-4.0.4-22.4 > kdebase4-openSUSE-11.0-93.2 > kdebase4-runtime-4.0.4-20.1 > kdebase4-workspace-4.0.4-69.2 > kdebase4-workspace-branding-openSUSE-11.0-93.2 > kdebase4-workspace-plasmoids-4.0.1-74.18 > kdebluetooth-1.0_beta8-109.1 > kdebluetooth-lang-1.0_beta8-109.1 > kdegames3-3.5.9-39.1 > kdegames3-card-3.5.9-39.1 > kdegames4-4.0.4-16.1 > kdegraphics3-3.5.9-53.1 > kdegraphics3-extra-3.5.9-53.1 > kdegraphics3-fax-3.5.9-53.1 > kdegraphics3-imaging-3.5.9-53.1 > kdegraphics3-kamera-3.5.9-53.1 > kdegraphics3-pdf-3.5.9-53.1 > kdegraphics3-postscript-3.5.9-53.1 > kdegraphics3-scan-3.5.9-53.1 > kdelibs3-3.5.9-49.1 > kdelibs3-arts-3.5.9-49.1 > kdelibs3-default-style-3.5.9-49.1 > kdelibs3-doc-3.5.9-49.1 > kdelibs4-4.0.4-26.2 > kdelibs4-debuginfo-4.0.4-26.2 > kdemultimedia3-3.5.9-43.1 > kdemultimedia3-arts-3.5.9-43.1 > kdemultimedia3-CD-3.5.9-43.1 > kdemultimedia3-jukebox-3.5.9-43.1 > kdemultimedia3-mixer-3.5.9-43.1 > kdemultimedia3-sound-3.5.9-43.1 > kdemultimedia3-video-xine-3.5.9-43.1 > kdemultimedia4-4.0.4-15.1 > kdenetwork3-3.5.9-39.1 > kdenetwork3-InstantMessenger-3.5.9-39.1 > kdenetwork3-news-3.5.9-39.1 > kdenetwork3-vnc-3.5.9-39.1 > kdenetwork4-filesharing-4.0.4-19.20 > kdepim4-4.0.80-9.3 > kdepim4-wizards-4.0.80-9.3 > kdepimlibs4-4.0.72-14.1 > kdetv-0.8.9-181.1 > kdeutils3-3.5.9-47.1 > kdeutils3-laptop-3.5.9-47.1 > libkde4-4.0.4-26.2 > libkdegames4-4.0.4-16.1 > libkdepim4-4.0.82-11.1 > libkdepimlibs4-4.0.72-14.1 > NetworkManager-kde-0.7r821737-0.1 > OpenOffice_org-kde-2.4.1.6-1.1 > opensuse-kdequick_en-11.0-6.2 > PolicyKit-kde-0.0.svn810196-5.1 > qtcurve-kde-0.59.2-3.2 > taskjuggler-kde-2.4.1-2.2 > libkdecore4-4.0.82-4.1 > kdelibs4-core-4.0.82-4.1 > kde4-filesystem-4.0.82-2.1 > kdebase4-libkonq-4.0.82-6.1 > kdebase4-session-4.0.80-1.3 > kdegames4-carddecks-default-4.0.82-9.1 > kdegames4-carddecks-other-4.0.82-9.1 > kdebase4-workspace-ksysguardd-4.0.82-18.1 Confirmed. Adding libkdecore4, kdelibs4-core and kde4-filesystem from KDE4.1 to a KDE4.0 installation leads to this. I haven't found any relevant BIC yet though. Quite possibly only our packaging problem - there are parts in kdelibs, such as kdecore/network/ktcpsocket.h, which clearly broke BC, but are not installed headers, only used by e.g. libkio. Therefore we should not allow mixing of parts of kdelibs from different versions. (Gah, I forgot to press send before) There is a missing dependency between libkdecore4 and kdelibs4. kdelibs is externally BC but not there is no BC requirement inside kdelibs4. As a result libkdecore4 changed layout (added a bool) and this broke libkio. See discussion below. [13:07] <dfaure> I know what's happening [13:07] <dfaure> Job::Job() : KCompositeJob(*new JobPrivate, 0) [13:08] <dfaure> we have cross-lib inheritance of private classes, like qt does [13:08] <dfaure> so I change what I said [13:08] <dfaure> you can't upgrade kdecore if you don't upgrade the rest of kdelibs too! [13:08] <wstephenson> ok, i'll make sure the dep gets added [13:08] <dfaure> kdecore is BC to the "outside", but not to kio which uses its private classes. [13:09] <wstephenson> well spotted [13:09] <wstephenson> so how does that cause that backtrace, instead of an abort? [13:09] <dfaure> it crashes because the private objects don't have the expected size [13:09] <dfaure> so it's using memory at the wrong place [13:10] <dfaure> private objects can have BIC changes of course. [13:10] --> sharkk has joined this channel (n=sharkk@adsl-ull-193-65.49-151.net24.it). [13:10] <dfaure> a bool was added to KJobPrivate [13:11] <dfaure> but kio doesn't know so it allocates a too small KIO::JobPrivate. [13:11] <dfaure> and then I guess kdecore and kio keep overwriting the same memory when they mean to use different member variables [13:11] <wstephenson> and segfault Current dependencies: libkdecore4 >= kdelibs4-core >= kdelibs4 libkde4 >= kdelibs4 Suggested dependencies: libkdecre4 = kdelibs4-core = libkde4 = kdelibs4 Comments? Makes sense, and I also learned to use zypper dup instead of up -t packages ;-) So I set up the following dependency chain ( '=' means "required in same version by") libkdecore4 = kdelibs4-core kdelibs4-core = libkde4 libkde4 = kdelibs4 built the rpms and tried to update submitted to :Factory also in :STABLE |