GNOME Bugzilla – Bug 730028
Totem crash everytime it is launched
Last modified: 2016-04-15 09:47:57 UTC
Hi, For some times, I cannot use totem at all. When i try to open it directly or launch a video, the UI appears for like 2 seconds and disappears. Both release 3.12 and 3.12.1. But it does not seems to be related to a code change, since 3.12 was working fine before. Here is the error i get when launching from a terminal : Totem:ERROR:totem-grilo.c:708:browse_cb: code should not be reached Abandon (core dumped) Any thoughts ? Thanks !
Thanks for taking the time to report this bug. Without a stack trace from the crash it's very hard to determine what caused it. Can you get us a stack trace? Please see http://live.gnome.org/GettingTraces for more information on how to do so. Thanks in advance!
Here is the stack trace generated following your link instructions :
+ Trace 233597
Thread 13 (Thread 0x7fffc8de3700 (LWP 3026))
Created attachment 276483 [details] Totem stack trace
Your backtrace is missing debug information. Your bug is likely a duplicate of: https://bugzilla.gnome.org/show_bug.cgi?id=729787 But there's really not enough information in the debug trace to show that. Launching grilo-test-ui-0.2 and removing the images from the bookmarks section should fix it if that's indeed the problem.
I don't have any iamges in bookmarks section. I tried to delete recent elements but buttons are insensitive and del doesnt works. I also tried rm ~/.local/share/grilo-plugins/grl-bookmarks.db* with no success. Here is a complete stack trace:
+ Trace 233600
Thread 14 (Thread 0x7fffc4b1a700 (LWP 5695))
Thread 1 (Thread 0x7ffff665c9c0 (LWP 5675))
+ Trace 233601
It's from the grilo Tracker plugin. Can you launch grilo-test-ui-0.2, disable all the categories except the "Video" one (the tickboxes), then browse to the "Tracker" source. Do you see the image in the list there? If so, select it, and note down the "tracker-urn". Then run "tracker-info urn" where urn is the one you grabbed just above, and attach the output.
What do you mean by the image ? I see a list of 35 video files (one of them is actually a .pdf file)
(In reply to comment #7) > What do you mean by the image ? I see a list of 35 video files (one of them is > actually a .pdf file) I say image because the backtrace actually shows an image type: https://bugzilla.gnome.org/page.cgi?id=trace.html&trace_id=233601 eg: browse_cb (source=0x272f610 [GrlTrackerSource], browse_id=<optimized out>, media=0x208ca00 GrlMediaImage], remaining=4294967260, user_data=0x93cc80, error=<optimized out>) Can you do what was requested in comment 5 on that pdf? Which distribution and versions of grilo-plugins are you using? Can you reproduce the problem again, and get the output of "print grl_tracker_show_documents"?
I'm using fedora 20 with 3.12 copr repo. The result is strange, it seems that tracker mixed 2 files. One is a pdf file which doesn't exist anymore and the second a movie which still exist. The print grl_tracker_show_documents command in gdb give me this: $1 = 0 'http://purl.org/dc/elements/1.1/contributor' = '106231' 'http://purl.org/dc/elements/1.1/creator' = '106231' 'http://purl.org/dc/elements/1.1/date' = '2013-05-13T19:38:39Z' 'http://purl.org/dc/elements/1.1/date' = '2013-05-13T19:44:33Z' 'http://purl.org/dc/elements/1.1/date' = '2014-04-09T17:48:21Z' 'http://purl.org/dc/elements/1.1/date' = '2014-04-10T05:49:20Z' 'http://purl.org/dc/elements/1.1/source' = 'urn:nepomuk:datasource:9291a450-1d49-11de-8c30-0800200c9a66' 'http://purl.org/dc/elements/1.1/source' = 'gd:goa-account:account_1350308261' 'http://purl.org/dc/elements/1.1/title' = 'TP4_MakeyMakey.pdf' 'nao:identifier' = 'https://docs.google.com/feeds/id/pdf%3A0B5Z28LBOs9WmQTZsdTlhYTVlWk0' 'tracker:added' = '2013-05-13T19:44:35Z' 'tracker:modified' = '1' 'rdf:type' = 'http://www.w3.org/2000/01/rdf-schema#Resource' 'rdf:type' = 'http://www.semanticdesktop.org/ontologies/2007/01/19/nie#DataObject' 'rdf:type' = 'http://www.semanticdesktop.org/ontologies/2007/01/19/nie#InformationElement' 'rdf:type' = 'http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Document' 'rdf:type' = 'http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject' 'rdf:type' = 'http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Media' 'rdf:type' = 'http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Visual' 'rdf:type' = 'http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Audio' 'rdf:type' = 'http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#TextDocument' 'rdf:type' = 'http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#RemoteDataObject' 'rdf:type' = 'http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#PaginatedTextDocument' 'rdf:type' = 'http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Video' 'rdf:type' = 'http://www.tracker-project.org/temp/nmm#Video' 'nie:byteSize' = '738705408' 'nie:dataSource' = 'urn:nepomuk:datasource:9291a450-1d49-11de-8c30-0800200c9a66' 'nie:dataSource' = 'gd:goa-account:account_1350308261' 'nie:isPartOf' = 'urn:uuid:ebbdb810-1cde-f880-bfcf-90d206612c86' 'nie:url' = 'file:///home/moimael/T%C3%A9l%C3%A9chargements/Movie.43.2013.DVDRip.XviD-3LT0N/Movie.43.2013.DVDRip.XviD-3LT0N.avi' 'nfo:belongsToContainer' = 'urn:uuid:ebbdb810-1cde-f880-bfcf-90d206612c86' 'tracker:available' = 'true' 'nie:contentCreated' = '2014-04-09T17:48:21Z' 'nie:contentLastModified' = '2014-04-10T05:49:20Z' 'nie:informationElementDate' = '2014-04-09T17:48:21Z' 'nie:informationElementDate' = '2014-04-10T05:49:20Z' 'nie:isStoredAs' = 'urn:uuid:743fd777-f8a1-97ba-1af8-a59f7c28e38d' 'nie:mimeType' = 'application/pdf' 'nie:title' = 'TP4_MakeyMakey.pdf' 'nco:contributor' = 'urn:uuid:4b5454ef-3cc6-617c-6ea0-ffe1a2079144' 'nco:creator' = 'urn:uuid:4b5454ef-3cc6-617c-6ea0-ffe1a2079144' 'nfo:fileLastAccessed' = '2013-05-13T19:38:39Z' 'nfo:fileLastModified' = '2013-05-13T19:44:33Z' 'nfo:fileName' = 'Movie.43.2013.DVDRip.XviD-3LT0N.avi' 'nfo:fileSize' = '738705408' 'nfo:duration' = '5899' 'nfo:aspectRatio' = '1.0' 'nfo:height' = '336' 'nfo:width' = '624' 'nfo:channels' = '2' 'nfo:sampleRate' = '48000.0' 'nfo:frameRate' = '23.0'
Is there at least a workaround ? I tried reinstalling totem and grilo and the issue is still there. I can't use my totem anymore which is really annoying.
(In reply to comment #10) > Is there at least a workaround ? I tried reinstalling totem and grilo and the > issue is still there. I can't use my totem anymore which is really annoying. Not that I know. The tracker bug causing this is being tracked in bug 727759.
If other people hit this issue: tracker-control -r tracker-control -s solved my issue, I wish I had know that. Thanks !
I don't know how to reproduce the problem, which makes it pretty complicated to find where the problem actually lies. Debarshi, do you have a sure-fire way to reproduce this problem?
Created attachment 289763 [details] [review] Proposed patch/workaround I hit this as well with some stale data in my tracker database. Solved/worked-around by attached patch
Review of attachment 289763 [details] [review]: Except that it breaks the number of items returned, and is still a bug in the grilo plugin. If you can reproduce it, I'd appreciate if you could try and fix the grilo bug instead. I can't reproduce it myself...
(In reply to comment #13) > I don't know how to reproduce the problem, which makes it pretty complicated to > find where the problem actually lies. Debarshi, do you have a sure-fire way to > reproduce this problem? If you are talking about a way to reproduce bug 727759 , then yes, and it is there on the bug report.
(In reply to comment #16) > (In reply to comment #13) > > I don't know how to reproduce the problem, which makes it pretty complicated to > > find where the problem actually lies. Debarshi, do you have a sure-fire way to > > reproduce this problem? > > If you are talking about a way to reproduce bug 727759 , then yes, and it is > there on the bug report. Then those are the instructions I couldn't reproduce then, and still cannot now.
Still can't reproduce...
Created attachment 292762 [details] tracker-info output that was crashing totem for me I ran into this problem too - I have a dozen or so files on my system (both photos and videos) which are *both*: 'rdf:type' = 'http://www.tracker-project.org/temp/nmm#Video' 'rdf:type' = 'http://www.tracker-project.org/temp/nmm#Photo' Can search for them with: tracker-sparql -q "SELECT ?url WHERE { ?x a nfo:Video . ?x a nfo:Image . ?x nie:url ?url }" running tracker-extract -f on the files produces the right output, so it is apparently somehow a corrupted tracker database. The files are in a few clumps in similar directory location. It would be nice to know *how* this corruption got created - it seems to be some tracker indexer bug? files=`tracker-sparql -q "SELECT ?url WHERE { ?x a nfo:Video . ?x a nfo:Image . ?x nie:url ?url }" | sed s@file://@@ | grep -v Results:` for f in $files ; do tracker-sparql -u -q "delete { ?u rdf:type ?t } where { ?u nie:url 'file://$f' ; rdf:type ?t }" ; tracker-control -f $f ; done Got my database back in condition.
From a tracker perspective, I find this puzzling. The indexing process is the following: - The tracker-miner-fs finds a file, basic details are extracted. Out of the mimetype, the tracker-miner-fs process also includes the relevant rdf:types poking the extractor rules in /usr/share/tracker/extract-rules/ - An insertion in the DB happens, the only field that does point to the file is nie:url, this property is a nrl:InverseFunctionalProperty, which makes urls unique (no two subjects may share the same nie:url object), other data like the resource URN remain "anonymous" until insertion time, and chances of uuid collision are extremely unlikely. - Some time after the insertion, tracker-store emits GraphUpdated signal notifying (amongst others) of the inserted file through their tracker:id. As an implementation detail, that's the rowid of the element in the global Resources table, so pretty much unique. - tracker-extract picks up the elements in the dbus signal, gets the nie:url of the tracker:id, reads the file, and inserts the additional missing data. Of this process, the only weak point is #1, where the rdf:types are found out. Particularly, any older bugs in tracker-extract rules might lurk in db in the files that were extracted at that time (file updates end up in quite selective deletes/inserts, so a bug here would just persist). If anyone else is currently reproducing it, or finds it in the future, IMO there's 2 things worthwhile to check: 1) would be nice to attach the output of tracker-sparql -q "select ?g ?t { graph ?g { ?u a ?t ; nie:url 'file://uri/to/affected/file' }}", this should tell which graph/app does the rdf:type come from. 2) short of ideas, and just in case this is something that actually happens intermitently, I can just recommend to update to most recent tracker that's possible, clear the tracker database through tracker-control -rs, and wait for it to happen again :/
Created attachment 292792 [details] [review] tracker: Ensure that Video is preferred to Image When creating a new object, prefer creating a Video to creating an Image when the object has both RDF types.
This patch to grilo might help. That means that object detected as both image and video will get created as Video objects. It will work-around Totem's crash because the items coming back from the search will be of the expected type, but I don't know whether it will be a problem for something like Photos or not...
Hello, I hit the (probably) same problem. I reported it originally to https://bugs.debian.org/776038. I can reproduce it 100%, the commands from Comment #c12 didn't help. Best regards Uwe
(In reply to comment #23) > Hello, > > I hit the (probably) same problem. I reported it originally to > https://bugs.debian.org/776038. > > I can reproduce it 100%, the commands from Comment #c12 didn't help. It is interesting that the error persists for you across reindexing, could you run: - tracker-sparql -q "SELECT ?url WHERE { ?x a nfo:Video . ?x a nfo:Image . ?x nie:url ?url }" - tracker-sparql -q "select ?g ?t { graph ?g { ?u a ?t ; nie:url 'file://any/file/returned/above' }}"
Hello, (In reply to comment #24) > (In reply to comment #23) > > Hello, > > > > I hit the (probably) same problem. I reported it originally to > > https://bugs.debian.org/776038. > > > > I can reproduce it 100%, the commands from Comment #c12 didn't help. Note that my problem is slightly different, i.e. totem doesn't crash instantly for me. I have to browse to a DLNA share to make totem crash. I should have quoted the original report to Debian. Maybe this is a different problem? (My guess: If I had the radiostation in my tracker history, totem would crash instantly, too, so I'd say it's the same bug.) From my original report: I can reproducibly crash totem by starting it without parameters, select "Channels", then my router's DLNA icon -> Internetradio -> $radiostation. I can play this stream with vlc just fine. This is the backtrace as catched by gdb: (gdb) run Starting program: /usr/bin/totem [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". [New Thread 0x7fffe550a700 (LWP 18149)] [New Thread 0x7fffe4d09700 (LWP 18150)] [New Thread 0x7fffd6f02700 (LWP 18151)] [New Thread 0x7fffd6701700 (LWP 18152)] [New Thread 0x7fffd5f00700 (LWP 18153)] [New Thread 0x7fffd56ff700 (LWP 18154)] [New Thread 0x7fffd4efe700 (LWP 18155)] [New Thread 0x7fffcffff700 (LWP 18156)] [New Thread 0x7fffcf7fe700 (LWP 18157)] [New Thread 0x7fffc4994700 (LWP 18158)] [Thread 0x7fffcf7fe700 (LWP 18157) exited] [New Thread 0x7fffcf7fe700 (LWP 18165)] [Thread 0x7fffc4994700 (LWP 18158) exited] [Thread 0x7fffcf7fe700 (LWP 18165) exited] ** Totem:ERROR:totem-grilo.c:710:browse_cb: code should not be reached Program received signal SIGABRT, Aborted. 0x00007ffff0066107 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory. (gdb) bt
+ Trace 234587
> It is interesting that the error persists for you across reindexing, could you > run: > > - tracker-sparql -q "SELECT ?url WHERE { ?x a nfo:Video . ?x a nfo:Image . ?x > nie:url ?url }" This command just tells: Result: None Best regards Uwe
Uwe, if it only happens when browsing a UPnP share, please file a separate bug. It's most likely a bug in the UPnP server.
*** Bug 743525 has been marked as a duplicate of this bug. ***
Bastien, do you still insist on the code not reached assert? I know we have already talked about it last year (see #743525) and i'm aware that this is not an issue of totem but grilo/nas. But as this issue hits me again on every startup of totem i cannot use it any longer on Fedora 23 without patching it. Please keep in mind the users. No one is happy with a crashing app and we should always expect errors from other system parts. It would be much more user friendly to show a warning message (if any) and gently handle this case. I do not expect the NAS systems to change anytime soon, so we have to handle this issue more sustainable.
I have this problem too. This assert in browse_cb is irritating. For example regular OGG file is both nfo#Video and nfo#Audio. What about just ignore this assert? problematic files are: tracker sparql -q "SELECT ?url WHERE { ?x a nfo:Video . ?x a nfo:Audio . ?x nie:url ?url }"
(In reply to Zdeněk Janeček from comment #29) > I have this problem too. This assert in browse_cb is irritating. For example > regular OGG file is both nfo#Video and nfo#Audio. What about just ignore > this assert? > > problematic files are: > tracker sparql -q "SELECT ?url WHERE { ?x a nfo:Video . ?x a nfo:Audio . ?x > nie:url ?url }" This should in turn never happen. Let me remit you to comment #20. I'd find more interesting the result of that query, and possibly a sample...
This query returns a lot of files, even mov, avi or mp4. More interesting is this: tracker sparql -q "select ?g ?t { graph ?g { ?u a ?t ; nie:url 'file:///home/haswi/Videa/durian_render_farm_tour.ogg' }}" Results: urn:uuid:472ed0cc-40ff-4e37-9c0c-062d78656540, http://www.w3.org/2000/01/rdf-schema#Resource urn:uuid:472ed0cc-40ff-4e37-9c0c-062d78656540, http://www.semanticdesktop.org/ontologies/2007/01/19/nie#DataObject urn:uuid:472ed0cc-40ff-4e37-9c0c-062d78656540, http://www.semanticdesktop.org/ontologies/2007/01/19/nie#InformationElement urn:uuid:472ed0cc-40ff-4e37-9c0c-062d78656540, http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject urn:uuid:472ed0cc-40ff-4e37-9c0c-062d78656540, http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Media urn:uuid:472ed0cc-40ff-4e37-9c0c-062d78656540, http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Visual urn:uuid:472ed0cc-40ff-4e37-9c0c-062d78656540, http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Audio urn:uuid:472ed0cc-40ff-4e37-9c0c-062d78656540, http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Video urn:uuid:472ed0cc-40ff-4e37-9c0c-062d78656540, http://www.tracker-project.org/temp/nmm#MusicPiece urn:uuid:472ed0cc-40ff-4e37-9c0c-062d78656540, http://www.tracker-project.org/temp/nmm#Video This file is from http://durian.blender.org/wp-content/uploads/durian_render_farm_tour.ogg. I cleaned all and reindexed, still the same problem. Tracker 1.6.1 totem 3.18.1 ArchLinux
*** Bug 763680 has been marked as a duplicate of this bug. ***
Created attachment 323983 [details] [review] tracker: Fix type of media when it has multiple types To avoid a Video application receiving an audio file, when a file is tagged in Tracker as having both types, and possibly shifting the problem to another type if we were to have a simple "priority" list, check what the application wants through the GrlTypeFilter it sets, and prefer creating a video file if the app prefers videos. This should stop totem receiving GrlMediaAudios when it only ever expects GrlMediaVideo or containers.
Comment on attachment 292792 [details] [review] tracker: Ensure that Video is preferred to Image The new patch is much better as the resulting type will actually depend on what the application wants, rather than favouring videos app (and in particular totem) here.
Created attachment 323985 [details] [review] [0.2.x] tracker: Fix type of media when it has multiple types To avoid a Video application receiving an audio file, when a file is tagged in Tracker as having both types, and possibly shifting the problem to another type if we were to have a simple "priority" list, check what the application wants through the GrlTypeFilter it sets, and prefer creating a video file if the app prefers videos. This should stop totem receiving GrlMediaAudios when it only ever expects GrlMediaVideo or containers. https://bugzilla.gnome.org/show_bug.cgi?id=730028 Conflicts: src/tracker/grl-tracker-utils.c
Above are patches for the master (0.3.x) and 0.2.x branches. If you have users hitting this, please have them test those versions and report back here.
Comment on attachment 323983 [details] [review] tracker: Fix type of media when it has multiple types Attachment 323983 [details] pushed as cacc7c4 - tracker: Fix type of media when it has multiple types
*** Bug 759390 has been marked as a duplicate of this bug. ***