After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 730028 - Totem crash everytime it is launched
Totem crash everytime it is launched
Status: RESOLVED FIXED
Product: grilo
Classification: Other
Component: plugins
unspecified
Other Linux
: High critical
: ---
Assigned To: grilo-maint
grilo-maint
: 743525 759390 763680 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2014-05-12 20:25 UTC by Maël Lavault
Modified: 2016-04-15 09:47 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Totem stack trace (21.53 KB, text/plain)
2014-05-13 22:23 UTC, Maël Lavault
  Details
Proposed patch/workaround (2.08 KB, patch)
2014-10-31 22:14 UTC, Sjoerd Simons
rejected Details | Review
tracker-info output that was crashing totem for me (3.02 KB, application/octet-stream)
2014-12-15 18:14 UTC, Owen Taylor
  Details
tracker: Ensure that Video is preferred to Image (2.82 KB, patch)
2014-12-16 08:13 UTC, Bastien Nocera
none Details | Review
tracker: Fix type of media when it has multiple types (7.86 KB, patch)
2016-03-15 13:37 UTC, Bastien Nocera
committed Details | Review
[0.2.x] tracker: Fix type of media when it has multiple types (7.87 KB, patch)
2016-03-15 13:41 UTC, Bastien Nocera
committed Details | Review

Description Maël Lavault 2014-05-12 20:25:06 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 !
Comment 1 Bastien Nocera 2014-05-12 21:44:09 UTC
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!
Comment 2 Maël Lavault 2014-05-13 22:20:45 UTC
Here is the stack trace generated following your link instructions :

Thread 13 (Thread 0x7fffc8de3700 (LWP 3026))

  • #0 __lll_lock_wait
    from /lib64/libpthread.so.0
  • #1 _L_lock_874
    from /lib64/libpthread.so.0
  • #2 pthread_mutex_lock
    from /lib64/libpthread.so.0
  • #3 gst_video_decoder_merge_tags
    from /lib64/libgstvideo-1.0.so.0
  • #4 gst_video_decoder_sink_event_default
    from /lib64/libgstvideo-1.0.so.0
  • #5 gst_pad_send_event_unchecked
    from /lib64/libgstreamer-1.0.so.0
  • #6 gst_pad_push_event_unchecked
    from /lib64/libgstreamer-1.0.so.0
  • #7 push_sticky
    from /lib64/libgstreamer-1.0.so.0
  • #8 events_foreach
    from /lib64/libgstreamer-1.0.so.0
  • #9 gst_pad_push_event
    from /lib64/libgstreamer-1.0.so.0
  • #10 gst_base_transform_sink_eventfunc
    from /lib64/libgstbase-1.0.so.0
  • #11 gst_pad_send_event_unchecked
    from /lib64/libgstreamer-1.0.so.0
  • #12 gst_pad_push_event_unchecked
    from /lib64/libgstreamer-1.0.so.0
  • #13 push_sticky
    from /lib64/libgstreamer-1.0.so.0
  • #14 events_foreach
    from /lib64/libgstreamer-1.0.so.0
  • #15 gst_pad_push_event
    from /lib64/libgstreamer-1.0.so.0
  • #16 gst_base_parse_push_frame
    from /lib64/libgstbase-1.0.so.0
  • #17 gst_base_parse_chain
    from /lib64/libgstbase-1.0.so.0
  • #18 gst_pad_push_data
    from /lib64/libgstreamer-1.0.so.0
  • #19 gst_multi_queue_loop
    from /usr/lib64/gstreamer-1.0/libgstcoreelements.so
  • #20 gst_task_func
    from /lib64/libgstreamer-1.0.so.0
  • #21 g_thread_pool_thread_proxy
    from /lib64/libglib-2.0.so.0
  • #22 g_thread_proxy
    from /lib64/libglib-2.0.so.0
  • #23 start_thread
    from /lib64/libpthread.so.0
  • #24 clone
    from /lib64/libc.so.6

Comment 3 Maël Lavault 2014-05-13 22:23:06 UTC
Created attachment 276483 [details]
Totem stack trace
Comment 4 Bastien Nocera 2014-05-14 12:02:00 UTC
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.
Comment 5 Maël Lavault 2014-05-14 16:45:45 UTC
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:

Thread 14 (Thread 0x7fffc4b1a700 (LWP 5695))

  • #0 __lll_lock_wait
  • #1 _L_lock_874
    from /lib64/libpthread.so.0
  • #2 __GI___pthread_mutex_lock
    at ../nptl/pthread_mutex_lock.c line 114
  • #3 gst_video_decoder_merge_tags
    from /lib64/libgstvideo-1.0.so.0
  • #4 gst_video_decoder_sink_event_default
    from /lib64/libgstvideo-1.0.so.0
  • #5 gst_pad_send_event_unchecked
    at gstpad.c line 5036
  • #6 gst_pad_push_event_unchecked
    at gstpad.c line 4731
  • #7 push_sticky
    at gstpad.c line 3370
  • #8 events_foreach
    at gstpad.c line 530
  • #9 check_sticky
    at gstpad.c line 3426
  • #10 gst_pad_push_event
  • #11 gst_base_transform_sink_eventfunc
    at gstbasetransform.c line 1879
  • #12 gst_pad_send_event_unchecked
    at gstpad.c line 5036
  • #13 gst_pad_push_event_unchecked
    at gstpad.c line 4731
  • #14 push_sticky
    at gstpad.c line 3370
  • #15 events_foreach
    at gstpad.c line 530
  • #16 check_sticky
    at gstpad.c line 3426
  • #17 gst_pad_push_event
    at gstpad.c line 4849
  • #18 gst_base_parse_post_bitrates
    at gstbaseparse.c line 1583
  • #19 gst_base_parse_update_bitrates
    at gstbaseparse.c line 1667
  • #20 gst_base_parse_push_frame
    at gstbaseparse.c line 2242
  • #21 gst_base_parse_chain
    at gstbaseparse.c line 2806
  • #22 gst_pad_chain_data_unchecked
    at gstpad.c line 3760
  • #23 gst_pad_push_data
    at gstpad.c line 3990
  • #24 gst_pad_push
    at gstpad.c line 4093
  • #25 gst_single_queue_push_one
    at gstmultiqueue.c line 1089
  • #26 gst_multi_queue_loop
    at gstmultiqueue.c line 1338
  • #27 gst_task_func
    at gsttask.c line 316
  • #28 g_thread_pool_thread_proxy
    at gthreadpool.c line 307
  • #29 g_thread_proxy
    at gthread.c line 764
  • #30 start_thread
    at pthread_create.c line 309
  • #31 clone
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S line 111

Thread 1 (Thread 0x7ffff665c9c0 (LWP 5675))

  • #0 __GI_raise
    at ../nptl/sysdeps/unix/sysv/linux/raise.c line 56
  • #1 __GI_abort
    at abort.c line 89
  • #2 g_assertion_message
    at gtestutils.c line 2291
  • #3 g_assertion_message_expr
    at gtestutils.c line 2306
  • #4 browse_cb
    at totem-grilo.c line 708
  • #5 queue_process
  • #6 g_main_dispatch
    at gmain.c line 3064
  • #7 g_main_context_dispatch
    at gmain.c line 3663
  • #8 g_main_context_iterate
    at gmain.c line 3734
  • #9 g_main_context_iteration
    at gmain.c line 3795
  • #10 g_application_run
    at gapplication.c line 2114
  • #11 main
    at totem.c line 282

Comment 6 Bastien Nocera 2014-05-14 17:15:48 UTC


  • #4 browse_cb
    at totem-grilo.c line 708

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.
Comment 7 Maël Lavault 2014-05-14 17:27:38 UTC
What do you mean by the image ? I see a list of 35 video files (one of them is actually a .pdf file)
Comment 8 Bastien Nocera 2014-05-15 10:28:15 UTC
(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"?
Comment 9 Maël Lavault 2014-05-19 17:59:16 UTC
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'
Comment 10 Maël Lavault 2014-06-02 16:15:03 UTC
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.
Comment 11 Bastien Nocera 2014-06-02 16:20:04 UTC
(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.
Comment 12 Maël Lavault 2014-08-06 17:29:21 UTC
If other people hit this issue:

tracker-control -r
tracker-control -s

solved my issue, I wish I had know that.

Thanks !
Comment 13 Bastien Nocera 2014-08-08 09:09:41 UTC
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?
Comment 14 Sjoerd Simons 2014-10-31 22:14:33 UTC
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
Comment 15 Bastien Nocera 2014-11-01 00:03:34 UTC
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...
Comment 16 Debarshi Ray 2014-11-01 02:43:50 UTC
(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.
Comment 17 Bastien Nocera 2014-11-03 07:36:02 UTC
(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.
Comment 18 Bastien Nocera 2014-11-03 13:41:10 UTC
Still can't reproduce...
Comment 19 Owen Taylor 2014-12-15 18:14:59 UTC
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.
Comment 20 Carlos Garnacho 2014-12-15 22:16:40 UTC
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 :/
Comment 21 Bastien Nocera 2014-12-16 08:13:30 UTC
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.
Comment 22 Bastien Nocera 2014-12-16 08:14:58 UTC
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...
Comment 23 uwe+gnome 2015-01-26 10:29:43 UTC
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
Comment 24 Carlos Garnacho 2015-01-26 10:39:04 UTC
(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' }}"
Comment 25 uwe+gnome 2015-01-26 10:49:16 UTC
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
  • #0 __GI_raise
    at ../nptl/sysdeps/unix/sysv/linux/raise.c line 56
  • #1 __GI_abort
    at abort.c line 89
  • #2 g_assertion_message
    at /tmp/buildd/glib2.0-2.42.1/./glib/gtestutils.c line 2291
  • #3 g_assertion_message_expr
    at /tmp/buildd/glib2.0-2.42.1/./glib/gtestutils.c line 2306
  • #4 browse_cb
    at totem-grilo.c line 710
  • #5 queue_process
    at grl-source.c line 2082
  • #6 g_main_dispatch
    at /tmp/buildd/glib2.0-2.42.1/./glib/gmain.c line 3111
  • #7 g_main_context_dispatch
    at /tmp/buildd/glib2.0-2.42.1/./glib/gmain.c line 3710
  • #8 g_main_context_iterate
    at /tmp/buildd/glib2.0-2.42.1/./glib/gmain.c line 3781
  • #9 g_main_context_iteration
    at /tmp/buildd/glib2.0-2.42.1/./glib/gmain.c line 3842
  • #10 g_application_run
    at /tmp/buildd/glib2.0-2.42.1/./gio/gapplication.c line 2282
  • #11 main
    at totem.c line 266

> 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
Comment 26 Bastien Nocera 2015-01-26 11:19:36 UTC
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.
Comment 27 Bastien Nocera 2015-04-07 10:11:12 UTC
*** Bug 743525 has been marked as a duplicate of this bug. ***
Comment 28 Jan-Michael Brummer 2016-01-05 15:20:59 UTC
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.
Comment 29 Zdeněk Janeček 2016-02-19 12:07:26 UTC
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 }"
Comment 30 Carlos Garnacho 2016-02-19 12:16:31 UTC
(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...
Comment 31 Zdeněk Janeček 2016-02-19 13:37:34 UTC
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
Comment 32 Bastien Nocera 2016-03-15 13:06:09 UTC
*** Bug 763680 has been marked as a duplicate of this bug. ***
Comment 33 Bastien Nocera 2016-03-15 13:37:57 UTC
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 34 Bastien Nocera 2016-03-15 13:39:04 UTC
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.
Comment 35 Bastien Nocera 2016-03-15 13:41:21 UTC
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
Comment 36 Bastien Nocera 2016-03-15 13:42:41 UTC
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 37 Bastien Nocera 2016-03-21 22:58:40 UTC
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
Comment 38 Bastien Nocera 2016-04-15 09:47:57 UTC
*** Bug 759390 has been marked as a duplicate of this bug. ***