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 785701 - tracker crash on existing gnome.
tracker crash on existing gnome.
Status: RESOLVED FIXED
Product: tracker
Classification: Core
Component: General
git master
Other Linux
: Normal normal
: ---
Assigned To: tracker-general
tracker-general
Depends on:
Blocks:
 
 
Reported: 2017-08-01 16:09 UTC by Hussam Al-Tayeb
Modified: 2017-09-29 12:52 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
libtracker-miner: Use TrackerDecorator variable after checking cancellable (1.33 KB, patch)
2017-09-25 09:03 UTC, Carlos Garnacho
committed Details | Review

Description Hussam Al-Tayeb 2017-08-01 16:09:38 UTC
First of all, this doesn't happen if I tracker daemon -k.
I am seeing this on logging off gnome:

coredumpctl gdb 1147
Hint: You are currently not seeing messages from other users and the system.
      Users in groups 'adm', 'systemd-journal', 'wheel' can see all messages.
      Pass -q to turn off this notice.
           PID: 1147 (tracker-extract)
           UID: 1000 (hussam)
           GID: 100 (users)
        Signal: 11 (SEGV)
     Timestamp: Tue 2017-08-01 19:02:45 EEST (3min 17s ago)
  Command Line: /usr/lib/tracker/tracker-extract
    Executable: /usr/lib/tracker/tracker-extract
 Control Group: /user.slice/user-1000.slice/session-c3.scope
          Unit: session-c3.scope
         Slice: user-1000.slice
       Session: c3
     Owner UID: 1000 (hussam)
       Boot ID: 3c90965e51044238a43fe1e7e2d6c281
    Machine ID: efb490e643e2436d9d1138df1745a008
      Hostname: hades
       Storage: /var/lib/systemd/coredump/core.tracker-extract.1000.3c90965e51044238a43fe1e7e2d6c281.1147.1501603365000000.lz4
       Message: Process 1147 (tracker-extract) of user 1000 dumped core.
                
                Stack trace of thread 1553:
                #0  0x00007f19ccaae927 decorator_query_remaining_items_cb (libtracker-miner-2.0.so.0)
                #1  0x00007f19cc363d2c g_task_return_now (libgio-2.0.so.0)
                #2  0x00007f19cc3649e7 g_task_return (libgio-2.0.so.0)
                #3  0x00007f19cccdb324 tracker_sparql_backend_real_query_async_co (libtracker-sparql-2.0.so.0)
                #4  0x00007f19cc363d2c g_task_return_now (libgio-2.0.so.0)
                #5  0x00007f19cc363d69 complete_in_idle_cb (libgio-2.0.so.0)
                #6  0x00007f19cb96cb76 g_main_dispatch (libglib-2.0.so.0)
                #7  0x00007f19cb96cf49 g_main_context_iterate (libglib-2.0.so.0)
                #8  0x00007f19cb96cfde g_main_context_iteration (libglib-2.0.so.0)
                #9  0x00007f19ccceffb8 tracker_direct_connection_real_query_async_co (libtracker-sparql-2.0.so.0)
                #10 0x00007f19cccf010d __lambda6_ (libtracker-sparql-2.0.so.0)
                #11 0x00007f19cb96dd55 g_main_context_invoke_full (libglib-2.0.so.0)
                #12 0x00007f19cccee1cd __lambda5_ (libtracker-sparql-2.0.so.0)
                #13 0x00007f19cc33a2de io_job_thread (libgio-2.0.so.0)
                #14 0x00007f19cc364b19 g_task_thread_pool_thread (libgio-2.0.so.0)
                #15 0x00007f19cb995b33 g_thread_pool_thread_proxy (libglib-2.0.so.0)
                #16 0x00007f19cb9950fa g_thread_proxy (libglib-2.0.so.0)
                #17 0x00007f19cb70afd9 start_thread (libpthread.so.0)
                #18 0x00007f19cb44db3f __clone (libc.so.6)
                
                Stack trace of thread 1170:
                #0  0x00007f19cb443acd poll (libc.so.6)
                #1  0x00007f19cb96cec3 g_main_context_poll (libglib-2.0.so.0)
                #2  0x00007f19cb96cfde g_main_context_iteration (libglib-2.0.so.0)
                #3  0x00007f19c33b4b0e n/a (libdconfsettings.so)
                #4  0x00007f19cb9950fa g_thread_proxy (libglib-2.0.so.0)
                #5  0x00007f19cb70afd9 start_thread (libpthread.so.0)
                #6  0x00007f19cb44db3f __clone (libc.so.6)
                
                Stack trace of thread 1181:
                #0  0x00007f19cb448c59 syscall (libc.so.6)
                #1  0x00007f19cb9b3bfd g_cond_wait_until (libglib-2.0.so.0)
                #2  0x00007f19cb9407e3 g_async_queue_pop_intern_unlocked (libglib-2.0.so.0)
                #3  0x00007f19cb940dce g_async_queue_timeout_pop (libglib-2.0.so.0)
                #4  0x00007f19cb995c11 g_thread_pool_wait_for_new_pool (libglib-2.0.so.0)
                #5  0x00007f19cb9950fa g_thread_proxy (libglib-2.0.so.0)
                #6  0x00007f19cb70afd9 start_thread (libpthread.so.0)
                #7  0x00007f19cb44db3f __clone (libc.so.6)
                
                Stack trace of thread 1295:
                #0  0x00007f19cb448c59 syscall (libc.so.6)
                #1  0x00007f19cb9b3ae1 g_cond_wait (libglib-2.0.so.0)
                #2  0x00007f19cb940804 g_async_queue_pop_intern_unlocked (libglib-2.0.so.0)
                #3  0x00007f19cb940c58 g_async_queue_pop (libglib-2.0.so.0)
                #4  0x00007f19ccceeb7d tracker_direct_connection_thread_func (libtracker-sparql-2.0.so.0)
                #5  0x00007f19cb9950fa g_thread_proxy (libglib-2.0.so.0)
                #6  0x00007f19cb70afd9 start_thread (libpthread.so.0)
                #7  0x00007f19cb44db3f __clone (libc.so.6)
                
                Stack trace of thread 1164:
                #0  0x00007f19cb443acd poll (libc.so.6)
                #1  0x00007f19cb96cec3 g_main_context_poll (libglib-2.0.so.0)
                #2  0x00007f19cb96d282 g_main_loop_run (libglib-2.0.so.0)
                #3  0x00007f19cc3aa108 gdbus_shared_thread_func (libgio-2.0.so.0)
                #4  0x00007f19cb9950fa g_thread_proxy (libglib-2.0.so.0)
                #5  0x00007f19cb70afd9 start_thread (libpthread.so.0)
                #6  0x00007f19cb44db3f __clone (libc.so.6)
                
                Stack trace of thread 1147:
                #0  0x00007f19a4380ac0 _ZN10x265_12bit4LockD1Ev (libx265.so.130)
                #1  0x00007f19cb3964e8 __run_exit_handlers (libc.so.6)
                #2  0x00007f19cb39653a exit (libc.so.6)
                #3  0x00007f19cb380511 __libc_start_main (libc.so.6)
                #4  0x0000004cf2bcfa0a _start (tracker-extract)
                
                Stack trace of thread 1554:
                #0  0x00007f19cb44db31 __clone (libc.so.6)
                #1  0x00007f19cb97cb19 msort_with_tmp (libglib-2.0.so.0)
                #2  0xa05987a99416a700 n/a (n/a)

GNU gdb (GDB) 8.0
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/lib/tracker/tracker-extract...done.
[New LWP 1553]
[New LWP 1170]
[New LWP 1181]
[New LWP 1295]
[New LWP 1164]
[New LWP 1147]
[New LWP 1554]
[New LWP 1163]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Core was generated by `/usr/lib/tracker/tracker-extract'.
Program terminated with signal SIGSEGV, Segmentation fault.

Thread 8 (Thread 0x7f19c45bc700 (LWP 1163))

  • #0 wake_source
    at gmain.c line 5012
  • #1 dispatch_unix_signals_unlocked
    at gmain.c line 5101
  • #2 dispatch_unix_signals
    at gmain.c line 5112
  • #3 glib_worker_main
    at gmain.c line 5742
  • #4 g_thread_proxy
    at gthread.c line 784
  • #5 start_thread
  • #6 clone

Comment 2 Hussam Al-Tayeb 2017-09-25 08:11:44 UTC
I'm now getting this crash (is it the same?):


Thread 8 (Thread 0x7fa79bc0c700 (LWP 20831))

  • #0 syscall
  • #1 g_cond_wait_until
    at gthread-posix.c line 1442
  • #2 g_async_queue_pop_intern_unlocked
    at gasyncqueue.c line 422
  • #3 g_async_queue_timeout_pop_unlocked
    at gasyncqueue.c line 570
  • #4 g_thread_pool_wait_for_new_task
    at gthreadpool.c line 262
  • #5 g_thread_pool_thread_proxy
    at gthreadpool.c line 296
  • #6 g_thread_proxy
    at gthread.c line 784
  • #7 start_thread
  • #8 clone

Thread 6 (Thread 0x7fa79c629700 (LWP 21625))

  • #0 syscall
  • #1 g_cond_wait
    at gthread-posix.c line 1395
  • #2 g_async_queue_pop_intern_unlocked
    at gasyncqueue.c line 419
  • #3 g_async_queue_pop
    at gasyncqueue.c line 453
  • #4 tracker_direct_connection_thread_func
    at /home/hussam/cache/gnome/tracker/src/tracker/src/libtracker-direct/tracker-direct.vala line 151
  • #5 _tracker_direct_connection_thread_func_gthread_func
    at tracker-direct.c line 1137
  • #6 g_thread_proxy
    at gthread.c line 784
  • #7 start_thread
  • #8 clone

Thread 5 (Thread 0x7fa7d9ffb700 (LWP 21616))

  • #0 syscall
  • #1 g_cond_wait_until
    at gthread-posix.c line 1442
  • #2 g_async_queue_pop_intern_unlocked
    at gasyncqueue.c line 422
  • #3 g_async_queue_timeout_pop
    at gasyncqueue.c line 543
  • #4 g_thread_pool_wait_for_new_pool
    at gthreadpool.c line 167
  • #5 g_thread_pool_thread_proxy
    at gthreadpool.c line 364
  • #6 g_thread_proxy
    at gthread.c line 784
  • #7 start_thread
  • #8 clone

Thread 2 (Thread 0x7fa7f15597c0 (LWP 21603))

  • #0 _fini
  • #1 _dl_fini
  • #2 __run_exit_handlers
  • #3 0x00007fa7ef9f33da in
  • #4 __libc_start_main
  • #5 _start

Thread 1 (Thread 0x7fa79b40b700 (LWP 20832))

  • #0 decorator_query_remaining_items_cb
    at tracker-decorator.c line 796
  • #1 g_task_return_now
    at gtask.c line 1145
  • #2 g_task_return
    at gtask.c line 1203
  • #3 tracker_sparql_backend_real_query_async_co
    at /home/hussam/cache/gnome/tracker/src/tracker/src/libtracker-sparql-backend/tracker-backend.vala line 79
  • #4 g_task_return_now
    at gtask.c line 1145
  • #5 complete_in_idle_cb
    at gtask.c line 1159
  • #6 g_main_dispatch
    at gmain.c line 3148
  • #7 g_main_context_dispatch
    at gmain.c line 3813
  • #8 g_main_context_iterate
    at gmain.c line 3886
  • #9 g_main_context_iteration
    at gmain.c line 3947
  • #10 tracker_direct_connection_real_query_async_co
    at /home/hussam/cache/gnome/tracker/src/tracker/src/libtracker-direct/tracker-direct.vala line 291
  • #11 __lambda6_
    at /home/hussam/cache/gnome/tracker/src/tracker/src/libtracker-direct/tracker-direct.vala line 273
  • #12 ___lambda6__gsource_func
    at tracker-direct.c line 1808
  • #13 g_main_context_invoke_full
    at gmain.c line 5717
  • #14 __lambda5_
    at /home/hussam/cache/gnome/tracker/src/tracker/src/libtracker-direct/tracker-direct.vala line 272
  • #15 ___lambda5__gio_scheduler_job_func
    at tracker-direct.c line 1985
  • #16 io_job_thread
    at gioscheduler.c line 85
  • #17 g_task_thread_pool_thread
    at gtask.c line 1328
  • #18 g_thread_pool_thread_proxy
    at gthreadpool.c line 307
  • #19 g_thread_proxy
    at gthread.c line 784
  • #20 start_thread
  • #21 clone

Comment 3 Carlos Garnacho 2017-09-25 09:03:26 UTC
Yeah, quite similar... except now it's cancelled. I'm attaching a patch.
Comment 4 Carlos Garnacho 2017-09-25 09:03:52 UTC
Created attachment 360334 [details] [review]
libtracker-miner: Use TrackerDecorator variable after checking cancellable

It may be actually destroyed if the decorator was cancelled.
Comment 5 Carlos Garnacho 2017-09-29 12:52:20 UTC
Attachment 360334 [details] pushed as 720b3c3 - libtracker-miner: Use TrackerDecorator variable after checking cancellable