Summary: | Nepomuk crash in Nepomuk::RemoveResourcesCommand::~RemoveResourcesCommand | ||
---|---|---|---|
Product: | nepomuk | Reporter: | Thilo-Alexander Ginkel <thilo> |
Component: | storage | Assignee: | Sebastian Trueg <sebastian> |
Status: | RESOLVED UNMAINTAINED | ||
Severity: | crash | CC: | bladud, keever, me, trueg |
Priority: | NOR | ||
Version: | 4.7 | ||
Target Milestone: | --- | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Attachments: | New crash information added by DrKonqi |
Description
Thilo-Alexander Ginkel
2011-11-05 14:36:56 UTC
Created attachment 66186 [details]
New crash information added by DrKonqi
nepomukservicestub (0.2) on KDE Platform 4.7.3 (4.7.3) using Qt 4.7.4
- What I was doing when the application crashed:
Logged into KDE after a default reboot. This happens after every reboot
-- Backtrace (Reduced):
#6 0x00007f2f2ead2b05 in __GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#7 0x00007f2f2ead3f7b in __GI_abort () at abort.c:93
[...]
#9 0x00007f2f2eb127f6 in malloc_printerr (action=3, str=0x7f2f2ebe95d8 "double free or corruption (fasttop)", ptr=<optimized out>) at malloc.c:6283
#10 0x00007f2f2eb166ec in __GI___libc_free (mem=<optimized out>) at malloc.c:3738
#11 0x00007f2f31145acc in QString::free (d=0x7f2f1c0025b0) at tools/qstring.cpp:1186
(In reply to comment #1) > Created an attachment (id=66186) [details] > New crash information added by DrKonqi > > nepomukservicestub (0.2) on KDE Platform 4.7.3 (4.7.3) using Qt 4.7.4 > > - What I was doing when the application crashed: > > Logged into KDE after a default reboot. This happens after every reboot > > -- Backtrace (Reduced): > #6 0x00007f2f2ead2b05 in __GI_raise (sig=6) at > ../nptl/sysdeps/unix/sysv/linux/raise.c:64 > #7 0x00007f2f2ead3f7b in __GI_abort () at abort.c:93 > [...] > #9 0x00007f2f2eb127f6 in malloc_printerr (action=3, str=0x7f2f2ebe95d8 "double > free or corruption (fasttop)", ptr=<optimized out>) at malloc.c:6283 > #10 0x00007f2f2eb166ec in __GI___libc_free (mem=<optimized out>) at > malloc.c:3738 > #11 0x00007f2f31145acc in QString::free (d=0x7f2f1c0025b0) at > tools/qstring.cpp:1186 Actually this is a different crash. :/ doh :/ i will open a new report xD *** Bug 286725 has been marked as a duplicate of this bug. *** Is this a crash due to QUrl being non-thread-safe, even for reading? Each RemoveResourcesCommand is being run in its own thread, with a QList<QUrl> originally allocated in the calling thread. If the QUrl memory is being implicitly shared in the calling thread, several RemoveResourcesCommand threads could easily be reading the same memory, which Vishesh told me is not safe for QUrl. Not sure how to fix it - maybe move QUrl decoding into the RemoveResourcesCommand constructor? (In reply to comment #5) > Is this a crash due to QUrl being non-thread-safe, even for reading? > > Each RemoveResourcesCommand is being run in its own thread, with a > QList<QUrl> originally allocated in the calling thread. Is this really a problem? From what I see those QUrls are temporarily created, and then they are no longer used in the calling thread. Isn't that the case? @Simeon: Ping? Sorry - I think you are right that the QUrl thing is not a problem. I never did figure out exactly what was going on here. Thank you for taking the time to file a bug report. The Nepomuk project is no longer included in the KDE Software Compilation. With Plasma 5, we have replaced most of the underlying technology with Baloo and other components. Hopefully this will have addressed your concern. We encourage you to try out Plasma 5 (+Baloo) and let us know if your problem persists. |