TrackerChangeMonitor and ItemManager should be destroyed during shutdown
TrackerChangeMonitor keeps a reference on itself before submitting the query to resolve the Tracker IDs received from the GraphUpdated
D-Bus signal. If the application shuts down while the query is still in flight, this reference will prevent ChangeMonitor from getting destroyed at the correct stage of the shut down sequence.
It also seems like ItemManager is not getting destroyed during shutdown. Even though it uses g_signal_connect_object
to listen to ChangeMonitor::changes-pending
, it still manages to receive the signal even after the application's PhotosSearchContextState has been destroyed and reset to NULL.
Here's a sample backtrace from a Fedora bug report:
Core was generated by `/usr/bin/gnome-photos --gapplication-service'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x000055e560dc3317 in photos_query_builder_inner_where (state=0x0, state=0x0, flags=8, global=0) at photos-query-builder.c:72
[Current thread is 1 (Thread 0x7f7e4dff0700 (LWP 3107))]
Thread 1 (Thread 0x7f7e4dff0700 (LWP 3107)):
#0 0x000055e560dc3317 in photos_query_builder_inner_where (state=0x0, state=0x0, flags=8, global=0) at photos-query-builder.c:72
item_mngr_where = 0x0
sparql = <optimized out>
srch_typ_mngr_where = 0x0
item_mngr_where = <optimized out>
sparql = <optimized out>
srch_typ_mngr_where = <optimized out>
#1 photos_query_builder_where () at photos-query-builder.c:102
count_items = 0x55e560e0e921 "COUNT (?item) AS ?count"
item_defined = <optimized out>
filter = 0x0
optional = 0x0
sparql = <optimized out>
where_sparql = 0x0
#2 0x000055e560dc3577 in photos_query_builder_query () at photos-query-builder.c:134
sparql = <optimized out>
tail_sparql = 0x0
where_sparql = 0x0
#3 0x000055e560dc3b66 in photos_query_builder_single_query () at photos-query-builder.c:365
regex = 0x0
query = <optimized out>
replacement = 0x0
sparql = 0x0
tmp = 0x0
#4 0x000055e560dcd44e in photos_single_item_job_run (self=0x7f7e40188860, state=0x0, flags=8, cancellable=0x0, callback=<optimized out>, user_data=<optimized out>) at photos-single-item-job.c:217
task = 0x7f7e3c009370
query = 0x0
#5 0x000055e560da397a in photos_item_manager_item_created (urn=0x7f7e3c32d460 "file:///usr/share/applications/org.gnome.Terminal.desktop", self=0x55e56168e0d0) at photos-item-manager.c:498
app = <optimized out>
state = 0x0
wait_for_changes_size = <optimized out>
old_hidden_item = <optimized out>
job_import = 0x7f7e40188860
job_overview = 0x0
app = <optimized out>
old_hidden_item = <optimized out>
state = <optimized out>
job_import = <optimized out>
job_overview = <optimized out>
wait_for_changes_size = <optimized out>
__func__ = "photos_item_manager_item_created"
_g_boolean_var_ = <optimized out>
job_wait_for_changes = <optimized out>
#6 photos_item_manager_changes_pending_foreach () at photos-item-manager.c:560
self = 0x55e56168e0d0
change_event = <optimized out>
change_type = <optimized out>
change_urn = 0x7f7e3c32d460 "file:///usr/share/applications/org.gnome.Terminal.desktop"
#7 0x00007f7e6cf2d538 in g_hash_table_foreach (hash_table=0x55e56168ec00, func=0x55e560da3790 <photos_item_manager_changes_pending_foreach>, user_data=0x55e56168e0d0) at ghash.c:1626
node_hash = 2301479339
node_key = 0x7f7e3c330410
node_value = 0x7f7e3800d740
i = 0
version = 254
__func__ = "g_hash_table_foreach"
#8 0x00007f7e6d218add in g_closure_invoke (closure=0x55e5616c9290, return_value=0x0, n_param_values=2, param_values=0x7f7e4dfef190, invocation_hint=0x7f7e4dfef110) at gclosure.c:804
marshal = 0x7f7e6d21bd90 <g_cclosure_marshal_VOID__BOXED>
marshal_data = 0x0
in_marshal = 0
real_closure = 0x55e5616c9270
__func__ = "g_closure_invoke"
#9 0x00007f7e6d22beb3 in signal_emit_unlocked_R (node=node@entry=0x55e561690320, detail=detail@entry=0, instance=instance@entry=0x55e561690800, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7f7e4dfef190) at gsignal.c:3635
tmp = <optimized out>
handler = 0x55e561692580
accumulator = 0x0
emission = {next = 0x0, instance = 0x55e561690800, ihint = {signal_id = 27, detail = 0, run_type = G_SIGNAL_RUN_FIRST}, state = EMISSION_RUN, chain_type = 4}
class_closure = 0x0
hlist = <optimized out>
handler_list = 0x55e561692580
return_accu = 0x0
accu = {g_type = 0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
signal_id = 27
max_sequential_handler_number = 490
return_value_altered = 0
#10 0x00007f7e6d234fda in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7f7e4dfef370) at gsignal.c:3391
instance_and_params = 0x7f7e4dfef190
signal_return_type = <optimized out>
param_values = 0x7f7e4dfef1a8
node = <optimized out>
i = <optimized out>
n_params = <optimized out>
__func__ = "g_signal_emit_valist"
#11 0x00007f7e6d2355d3 in g_signal_emit (instance=instance@entry=0x55e561690800, signal_id=<optimized out>, detail=detail@entry=0) at gsignal.c:3447
var_args = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7f7e4dfef450, reg_save_area = 0x7f7e4dfef390}}
#12 0x000055e560dd9afa in photos_tracker_change_monitor_send_events (events=<optimized out>, id_table=0x55e561995cc0, self=0x55e561690800) at photos-tracker-change-monitor.c:175
l = 0x0
l = <optimized out>
change_event = <optimized out>
predicate = <optimized out>
urn = <optimized out>
predicate_id = <optimized out>
urn_id = <optimized out>
_g_boolean_var_ = <optimized out>
_g_boolean_var_ = <optimized out>
#13 photos_tracker_change_monitor_cursor_next () at photos-tracker-change-monitor.c:212
idx = <optimized out>
data = 0x55e561887d40
self = 0x55e561690800
cursor = 0x7f7e2420a6b0
iter = {dummy1 = 0x55e561995cc0, dummy2 = 0x7f7e6cf3b0e0 <g_idle_dispatch>, dummy3 = 0x7f7e3c015810, dummy4 = 64, dummy5 = 32638, dummy6 = 0x52}
valid = <optimized out>
#14 0x00007f7e6d4eace4 in g_task_return_now (task=0x7f7e3807cb40) at gtask.c:1148
No locals.
#15 0x00007f7e6d4ead1d in complete_in_idle_cb (task=task@entry=0x7f7e3807cb40) at gtask.c:1162
No locals.
#16 0x00007f7e6cf3b0fb in g_idle_dispatch (source=0x7f7e3c015810, callback=0x7f7e6d4ead10 <complete_in_idle_cb>, user_data=0x7f7e3807cb40) at gmain.c:5535
again = 1634373648
#17 0x00007f7e6cf3e7dd in g_main_dispatch (context=0x55e5616af530) at gmain.c:3177
dispatch = 0x7f7e6cf3b0e0 <g_idle_dispatch>
prev_source = 0x0
was_in_call = 0
user_data = 0x7f7e3807cb40
callback = 0x7f7e6d4ead10 <complete_in_idle_cb>
cb_funcs = 0x7f7e6d207280 <g_source_callback_funcs>
cb_data = 0x7f7e3c019450
need_destroy = 1
source = 0x7f7e3c015810
current = 0x7f7e440faa10
i = 0
current = <optimized out>
i = <optimized out>
__func__ = "g_main_dispatch"
source = <optimized out>
_g_boolean_var_ = <optimized out>
was_in_call = <optimized out>
user_data = <optimized out>
callback = <optimized out>
cb_funcs = <optimized out>
cb_data = <optimized out>
need_destroy = <optimized out>
dispatch = <optimized out>
prev_source = <optimized out>
_g_boolean_var_ = <optimized out>
#18 g_main_context_dispatch (context=context@entry=0x55e5616af530) at gmain.c:3830
No locals.
#19 0x00007f7e6cf3eba8 in g_main_context_iterate (context=context@entry=0x55e5616af530, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3903
max_priority = 0
timeout = 0
some_ready = 1
nfds = <optimized out>
allocated_nfds = 4
fds = 0x55e5616813f0
#20 0x00007f7e6cf3ec40 in g_main_context_iteration (context=0x55e5616af530, may_block=may_block@entry=1) at gmain.c:3964
retval = <optimized out>
#21 0x00007f7e6f605b06 in tracker_direct_connection_real_query_async_co (_data_=0x55e5619c43f0) at /home/carlos/Source/gnome/tracker/src/libtracker-direct/tracker-direct.vala:291
__func__ = "tracker_direct_connection_real_query_async_co"
#22 0x00007f7e6f605c21 in __lambda6_ (_data2_=<optimized out>) at /home/carlos/Source/gnome/tracker/src/libtracker-direct/tracker-direct.vala:273
self = <optimized out>
self = <optimized out>
result = <optimized out>
#23 ___lambda6__gsource_func (self=<optimized out>) at tracker-direct.c:1881
No locals.
#24 0x00007f7e6cf3f9d5 in g_main_context_invoke_full (context=0x55e5616af530, priority=0, function=0x7f7e6f605c10 <___lambda6__gsource_func>, data=0x7f7e38003320, notify=0x7f7e6f6055c0 <block2_data_unref>) at gmain.c:5748
thread_default = <optimized out>
__func__ = "g_main_context_invoke_full"
#25 0x00007f7e6f6032b4 in __lambda5_ (cancellable=<optimized out>, job=<optimized out>, _data2_=0x7f7e38003320) at /home/carlos/Source/gnome/tracker/src/libtracker-direct/tracker-direct.vala:250
self = <optimized out>
_inner_error_ = 0x0
_tmp14_ = <optimized out>
self = <optimized out>
result = <optimized out>
_tmp14_ = <optimized out>
_inner_error_ = <optimized out>
__func__ = "__lambda5_"
_g_boolean_var_ = <optimized out>
_tmp0_ = <optimized out>
_tmp1_ = <optimized out>
_tmp2_ = <optimized out>
_tmp3_ = <optimized out>
_tmp4_ = <optimized out>
_g_boolean_var_ = <optimized out>
e_io = <optimized out>
_tmp5_ = <optimized out>
_tmp6_ = <optimized out>
e_spql = <optimized out>
_tmp7_ = <optimized out>
_tmp8_ = <optimized out>
e_dbus = <optimized out>
_tmp9_ = <optimized out>
_tmp10_ = <optimized out>
e = <optimized out>
_tmp11_ = <optimized out>
_tmp12_ = <optimized out>
_g_boolean_var_ = <optimized out>
_tmp13_ = <optimized out>
#26 ___lambda5__gio_scheduler_job_func (job=<optimized out>, cancellable=<optimized out>, self=0x7f7e38003320) at tracker-direct.c:2058
result = <optimized out>
#27 0x00007f7e6d4c2a3e in io_job_thread (task=<optimized out>, source_object=<optimized out>, task_data=0x55e561a75600, cancellable=<optimized out>) at gioscheduler.c:85
job = 0x55e561a75600
result = <optimized out>
#28 0x00007f7e6d4eb8c7 in g_task_thread_pool_thread (thread_data=0x7f7e3807cc10, pool_data=<optimized out>) at gtask.c:1331
task = 0x7f7e3807cc10
#29 0x00007f7e6cf676e3 in g_thread_pool_thread_proxy (data=<optimized out>) at gthreadpool.c:307
task = 0x7f7e3807cc10
pool = 0x55e561681fa0
#30 0x00007f7e6cf66cda in g_thread_proxy (data=0x7f7e38003280) at gthread.c:784
thread = 0x7f7e38003280
__func__ = "g_thread_proxy"
#31 0x00007f7e6c4c6564 in start_thread (arg=<optimized out>) at pthread_create.c:463
pd = <optimized out>
now = 35994112016
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140180451165952, -4541392484067584006, 140722196602718, 140722196602719, 140722196602848, 140722196602848, 4469013824322000890, 4469087057218885626}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
#32 0x00007f7e6c1fa31f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:67
No locals.
#33 0x0000000000000000 in ?? ()
No symbol table info available.
Thread 2 (Thread 0x7f7e2b5a6700 (LWP 3178)):
#0 0x00007f7e6c1f4df9 in ?? () from /lib64/libc.so.6
No symbol table info available.
#1 0x00007f7e6cf8546e in g_cond_wait_until (cond=cond@entry=0x55e5616a9258, mutex=mutex@entry=0x55e5616a9250, end_time=end_time@entry=136061609) at gthread-posix.c:1449
now = {tv_sec = 135, tv_nsec = 561609187}
span = {tv_sec = 0, tv_nsec = 499999813}
sampled = 9
res = 9
#2 0x00007f7e6cf110e1 in g_async_queue_pop_intern_unlocked (queue=0x55e5616a9250, wait=wait@entry=1, end_time=136061609) at gasyncqueue.c:422
retval = 0xfffffffffffffdfc
__func__ = "g_async_queue_pop_intern_unlocked"
#3 0x00007f7e6cf1171c in g_async_queue_timeout_pop_unlocked (queue=<optimized out>, timeout=timeout@entry=500000) at gasyncqueue.c:570
end_time = <optimized out>
#4 0x00007f7e6cf67822 in g_thread_pool_wait_for_new_task (pool=<optimized out>) at gthreadpool.c:262
task = <optimized out>
task = <optimized out>
#5 g_thread_pool_thread_proxy (data=<optimized out>) at gthreadpool.c:296
task = <optimized out>
pool = 0x55e561681fa0
#6 0x00007f7e6cf66cda in g_thread_proxy (data=0x55e561711b70) at gthread.c:784
thread = 0x55e561711b70
__func__ = "g_thread_proxy"
#7 0x00007f7e6c4c6564 in start_thread (arg=<optimized out>) at pthread_create.c:463
pd = <optimized out>
now = 42949672444
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140179869951744, -4541392484067584006, 140722196604958, 140722196604959, 140722196605088, 140722196605088, 4469238980466300922, 4469087057218885626}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
#8 0x00007f7e6c1fa31f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:67
No locals.
#9 0x0000000000000000 in ?? ()
No symbol table info available.
Thread 3 (Thread 0x7f7e2bda7700 (LWP 3177)):
#0 0x00007f7e6c1f4df9 in ?? () from /lib64/libc.so.6
No symbol table info available.
#1 0x00007f7e6cf8546e in g_cond_wait_until (cond=cond@entry=0x55e5616a9258, mutex=mutex@entry=0x55e5616a9250, end_time=end_time@entry=136060920) at gthread-posix.c:1449
now = {tv_sec = 135, tv_nsec = 560920405}
span = {tv_sec = 0, tv_nsec = 499999595}
sampled = 8
res = 8
#2 0x00007f7e6cf110e1 in g_async_queue_pop_intern_unlocked (queue=0x55e5616a9250, wait=wait@entry=1, end_time=136060920) at gasyncqueue.c:422
retval = 0xfffffffffffffdfc
__func__ = "g_async_queue_pop_intern_unlocked"
#3 0x00007f7e6cf1171c in g_async_queue_timeout_pop_unlocked (queue=<optimized out>, timeout=timeout@entry=500000) at gasyncqueue.c:570
end_time = <optimized out>
#4 0x00007f7e6cf67822 in g_thread_pool_wait_for_new_task (pool=<optimized out>) at gthreadpool.c:262
task = <optimized out>
task = <optimized out>
#5 g_thread_pool_thread_proxy (data=<optimized out>) at gthreadpool.c:296
task = <optimized out>
pool = 0x55e561681fa0
#6 0x00007f7e6cf66cda in g_thread_proxy (data=0x55e5617e5b20) at gthread.c:784
thread = 0x55e5617e5b20
__func__ = "g_thread_proxy"
#7 0x00007f7e6c4c6564 in start_thread (arg=<optimized out>) at pthread_create.c:463
pd = <optimized out>
now = 38654705148
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140179878344448, -4541392484067584006, 140722196604990, 140722196604991, 140722196605120, 140722196605120, 4469237879344060410, 4469087057218885626}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
#8 0x00007f7e6c1fa31f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:67
No locals.
#9 0x0000000000000000 in ?? ()
No symbol table info available.
Thread 4 (Thread 0x7f7e722f0f00 (LWP 2608)):
#0 0x00007f7e71ec5b90 in _fini () from /lib64/libdazzle-1.0.so.0
No symbol table info available.
#1 0x00007f7e7212baa5 in _dl_fini () at dl-fini.c:143
do_audit = <optimized out>
__PRETTY_FUNCTION__ = "_dl_fini"
#2 0x00007f7e6c1396ac in __run_exit_handlers (status=0, listp=0x7f7e6c4b9718 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true, run_dtors=run_dtors@entry=true) at exit.c:108
atfct = 0x7f7e71ec5b90 <_fini>
onfct = <optimized out>
cxafct = 0x7f7e72114c88
f = <optimized out>
new_exitfn_called = 359
cur = 0x55e5616758c0
#3 0x00007f7e6c1397dc in __GI_exit (status=<optimized out>) at exit.c:139
No locals.
#4 0x00007f7e6c1231c2 in __libc_start_main (main=0x55e560d6e1d0 <main>, argc=2, argv=0x7ffc708a6da8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffc708a6d98) at ../csu/libc-start.c:342
result = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, 7724652093973583866, 94443660567232, 140722196606368, 0, 0, 4540009456710572026, 4469087867483969530}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x7ffc708a6dc0, 0x7f7e72343130}, data = {prev = 0x0, cleanup = 0x0, canceltype = 1888120256}}}
not_first_call = <optimized out>
#5 0x000055e560d6e2ea in _start () at photos-item-manager.c:88
No symbol table info available.
Thread 5 (Thread 0x7f7e4fa28700 (LWP 2672)):
#0 0x00007f7e6c1f4df9 in ?? () from /lib64/libc.so.6
No symbol table info available.
#1 0x00007f7e6cf8497c in g_mutex_lock_slowpath (mutex=mutex@entry=0x55e5616b0638) at gthread-posix.c:1320
No locals.
#2 0x00007f7e6cf85216 in g_mutex_lock (mutex=mutex@entry=0x55e5616b0638) at gthread-posix.c:1344
No locals.
#3 0x00007f7e6d51a6cc in on_worker_message_about_to_be_sent (worker=<optimized out>, message=0x7f7e38257230, user_data=0x55e5616b0620) at gdbusconnection.c:2340
connection = 0x55e5616b0620
filters = <optimized out>
n = <optimized out>
alive = <optimized out>
worker = <optimized out>
message = 0x7f7e38257230
connection = <optimized out>
filters = <optimized out>
alive = <optimized out>
user_data = 0x55e5616b0620
n = <optimized out>
connection = <optimized out>
filters = <optimized out>
n = <optimized out>
alive = <optimized out>
#4 0x00007f7e6d52fc75 in _g_dbus_worker_emit_message_about_to_be_sent (message=0x7f7e38257230, worker=0x7f7e38004cd0) at gdbusprivate.c:491
ret = <optimized out>
ret = <optimized out>
#5 continue_writing (worker=0x7f7e38004cd0) at gdbusprivate.c:1482
old_message = 0x7f7e38257230
new_blob = <optimized out>
new_blob_size = 140180082151680
error = 0x7f7e4fa27590
data = 0x7f7e3825de40
flush_async_data = 0x0
__func__ = "continue_writing"
_g_boolean_var_ = <optimized out>
#6 0x00007f7e6d53037f in write_message_cb (source_object=<optimized out>, res=<optimized out>, user_data=0x7f7e3825fac0) at gdbusprivate.c:1340
data = 0x7f7e3825fac0
error = 0x0
__func__ = "write_message_cb"
#7 0x00007f7e6d4eace4 in g_task_return_now (task=0x7f7e38005100) at gtask.c:1148
No locals.
#8 0x00007f7e6d4ead1d in complete_in_idle_cb (task=task@entry=0x7f7e38005100) at gtask.c:1162
No locals.
#9 0x00007f7e6cf3b0fb in g_idle_dispatch (source=0x7f7e400da620, callback=0x7f7e6d4ead10 <complete_in_idle_cb>, user_data=0x7f7e38005100) at gmain.c:5535
again = -512
#10 0x00007f7e6cf3e7dd in g_main_dispatch (context=0x55e5616b9b90) at gmain.c:3177
dispatch = 0x7f7e6cf3b0e0 <g_idle_dispatch>
prev_source = 0x0
was_in_call = 0
user_data = 0x7f7e38005100
callback = 0x7f7e6d4ead10 <complete_in_idle_cb>
cb_funcs = 0x7f7e6d207280 <g_source_callback_funcs>
cb_data = 0x7f7e380a5250
need_destroy = 1
source = 0x7f7e400da620
current = 0x55e5616b28a0
i = 2
current = <optimized out>
i = <optimized out>
__func__ = "g_main_dispatch"
source = <optimized out>
_g_boolean_var_ = <optimized out>
was_in_call = <optimized out>
user_data = <optimized out>
callback = <optimized out>
cb_funcs = <optimized out>
cb_data = <optimized out>
need_destroy = <optimized out>
dispatch = <optimized out>
prev_source = <optimized out>
_g_boolean_var_ = <optimized out>
#11 g_main_context_dispatch (context=context@entry=0x55e5616b9b90) at gmain.c:3830
No locals.
#12 0x00007f7e6cf3eba8 in g_main_context_iterate (context=0x55e5616b9b90, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3903
max_priority = 0
timeout = 0
some_ready = 1
nfds = <optimized out>
allocated_nfds = 3
fds = 0x55e5616bb9f0
#13 0x00007f7e6cf3eed2 in g_main_loop_run (loop=0x55e5616b9cd0) at gmain.c:4099
self = <optimized out>
__func__ = "g_main_loop_run"
#14 0x00007f7e6d52e66a in gdbus_shared_thread_func (user_data=0x55e5616b9b60) at gdbusprivate.c:275
data = 0x55e5616b9b60
#15 0x00007f7e6cf66cda in g_thread_proxy (data=0x55e561690940) at gthread.c:784
thread = 0x55e561690940
__func__ = "g_thread_proxy"
#16 0x00007f7e6c4c6564 in start_thread (arg=<optimized out>) at pthread_create.c:463
pd = <optimized out>
now = 12884901376
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140180478658304, -4541392484067584006, 140722196600846, 140722196600847, 140722196600976, 140722196600976, 4469018733469620218, 4469087057218885626}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
#17 0x00007f7e6c1fa31f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:67
No locals.
#18 0x0000000000000000 in ?? ()
No symbol table info available.
Thread 6 (Thread 0x7f7e4eff2700 (LWP 3100)):
#0 0x00007f7e6c1f4df9 in ?? () from /lib64/libc.so.6
No symbol table info available.
#1 0x00007f7e6cf85353 in g_cond_wait (cond=cond@entry=0x7f7e400051d8, mutex=mutex@entry=0x7f7e400051d0) at gthread-posix.c:1402
sampled = 0
#2 0x00007f7e6cf110fb in g_async_queue_pop_intern_unlocked (queue=queue@entry=0x7f7e400051d0, wait=wait@entry=1, end_time=end_time@entry=-1) at gasyncqueue.c:419
retval = 0xfffffffffffffe00
__func__ = "g_async_queue_pop_intern_unlocked"
#3 0x00007f7e6cf1154b in g_async_queue_pop (queue=0x7f7e400051d0) at gasyncqueue.c:453
retval = <optimized out>
__func__ = "g_async_queue_pop"
#4 0x00007f7e6f604305 in tracker_direct_connection_thread_func (self=0x55e5616a7a00) at /home/carlos/Source/gnome/tracker/src/libtracker-direct/tracker-direct.vala:151
_tmp17_ = <optimized out>
_tmp50__target = <optimized out>
task = 0x0
_tmp16_ = <optimized out>
_tmp49_ = <optimized out>
_tmp50_ = <optimized out>
_inner_error_ = 0x0
result = <optimized out>
_inner_error_ = <optimized out>
__func__ = "tracker_direct_connection_thread_func"
_g_boolean_var_ = <optimized out>
db_flags = <optimized out>
_tmp0_ = <optimized out>
_tmp2_ = <optimized out>
_tmp3_ = <optimized out>
_tmp4_ = <optimized out>
_tmp5_ = <optimized out>
_tmp6_ = <optimized out>
_tmp7_ = <optimized out>
iface = <optimized out>
_tmp8_ = <optimized out>
_tmp9_ = <optimized out>
_tmp10_ = <optimized out>
_tmp11_ = <optimized out>
_tmp1_ = <optimized out>
_g_boolean_var_ = <optimized out>
e = <optimized out>
_tmp12_ = <optimized out>
_tmp13_ = <optimized out>
_tmp14_ = <optimized out>
_tmp14__target = <optimized out>
_tmp15_ = <optimized out>
_tmp15__target = <optimized out>
_g_boolean_var_ = <optimized out>
task = <optimized out>
_tmp16_ = <optimized out>
_tmp17_ = <optimized out>
_tmp49_ = <optimized out>
_tmp50_ = <optimized out>
_tmp50__target = <optimized out>
_tmp18_ = <optimized out>
_tmp19_ = <optimized out>
update_task = <optimized out>
_tmp20_ = <optimized out>
_tmp21_ = <optimized out>
_tmp22_ = <optimized out>
_tmp23_ = <optimized out>
_tmp24_ = <optimized out>
_tmp25_ = <optimized out>
_tmp26_ = <optimized out>
_tmp27_ = <optimized out>
_g_boolean_var_ = <optimized out>
update_task = <optimized out>
_tmp28_ = <optimized out>
_tmp29_ = <optimized out>
_tmp30_ = <optimized out>
_tmp31_ = <optimized out>
_tmp32_ = <optimized out>
_tmp33_ = <optimized out>
_tmp34_ = <optimized out>
_tmp35_ = <optimized out>
_tmp36_ = <optimized out>
_tmp37_ = <optimized out>
_tmp38_ = <optimized out>
_tmp39_ = <optimized out>
_g_boolean_var_ = <optimized out>
turtle_task = <optimized out>
_tmp40_ = <optimized out>
_tmp41_ = <optimized out>
_tmp42_ = <optimized out>
_tmp43_ = <optimized out>
_tmp44_ = <optimized out>
_tmp45_ = <optimized out>
_g_boolean_var_ = <optimized out>
e = <optimized out>
_tmp46_ = <optimized out>
_tmp47_ = <optimized out>
_tmp48_ = <optimized out>
_g_boolean_var_ = <optimized out>
#5 _tracker_direct_connection_thread_func_gthread_func () at tracker-direct.c:1210
result = <optimized out>
#6 0x00007f7e6cf66cda in g_thread_proxy (data=0x55e561691230) at gthread.c:784
thread = 0x55e561691230
__func__ = "g_thread_proxy"
#7 0x00007f7e6c4c6564 in start_thread (arg=<optimized out>) at pthread_create.c:463
pd = <optimized out>
now = 4294966784
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140180467951360, -4541392484067584006, 140722196602590, 140722196602591, 140722196602720, 140722196602720, 4469020428907960314, 4469087057218885626}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
#8 0x00007f7e6c1fa31f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:67
No locals.
#9 0x0000000000000000 in ?? ()
No symbol table info available.
Thread 7 (Thread 0x7f7e4e7f1700 (LWP 3103)):
#0 g_mutex_lock (mutex=mutex@entry=0x7f7e4421b4e0) at gthread-posix.c:1341
No locals.
#1 0x00007f7e6cf3b8b8 in g_source_unref_internal (source=0x7f7e380d4860, context=0x7f7e4421b4e0, have_lock=0) at gmain.c:2083
old_cb_data = 0x0
old_cb_funcs = 0x0
__func__ = "g_source_unref_internal"
#2 0x00007f7e6cf3d0b4 in g_source_unref (source=<optimized out>) at gmain.c:2176
__func__ = "g_source_unref"
_g_boolean_var_ = <optimized out>
#3 0x00007f7e6d51cca7 in g_dbus_connection_send_message_with_reply_unlocked (connection=connection@entry=0x55e5616b0620, message=message@entry=0x7f7e381ea850, flags=flags@entry=G_DBUS_SEND_MESSAGE_FLAGS_NONE, timeout_msec=25000, timeout_msec@entry=-1, out_serial=out_serial@entry=0x7f7e4e7f0504, cancellable=cancellable@entry=0x0, callback=0x7f7e6d520350 <g_dbus_connection_call_done>, user_data=0x7f7e382b4c70) at gdbusconnection.c:1940
task = 0x7f7e382b4ba0
data = 0x55e56188cc80
error = 0x0
serial = 0
#4 0x00007f7e6d51fd66 in g_dbus_connection_send_message_with_reply (connection=0x55e5616b0620, message=0x7f7e381ea850, flags=G_DBUS_SEND_MESSAGE_FLAGS_NONE, timeout_msec=-1, out_serial=0x7f7e4e7f0504, cancellable=0x0, callback=0x7f7e6d520350 <g_dbus_connection_call_done>, user_data=0x7f7e382b4c70) at gdbusconnection.c:2008
__func__ = "g_dbus_connection_send_message_with_reply"
#5 0x00007f7e6d520129 in g_dbus_connection_call_internal (connection=0x55e5616b0620, bus_name=0x7f7e50893312 "org.freedesktop.DBus", object_path=0x7f7e50893327 "/org/freedesktop/DBus", interface_name=0x7f7e50893312 "org.freedesktop.DBus", method_name=0x7f7e50893382 "RemoveMatch", parameters=<optimized out>, reply_type=0x7f7e6d5aca37, flags=G_DBUS_CALL_FLAGS_NONE, timeout_msec=-1, fd_list=0x0, cancellable=0x0, callback=0x7f7e50891a40 <dconf_gdbus_method_call_done>, user_data=0x0) at gdbusconnection.c:5798
state = 0x55e56188cda0
task = 0x7f7e382b4c70
message = 0x7f7e381ea850
serial = 2141
__func__ = "g_dbus_connection_call_internal"
#6 0x00007f7e6d522989 in g_dbus_connection_call (connection=<optimized out>, bus_name=<optimized out>, object_path=<optimized out>, interface_name=<optimized out>, method_name=<optimized out>, parameters=<optimized out>, reply_type=0x0, flags=G_DBUS_CALL_FLAGS_NONE, timeout_msec=-1, cancellable=0x0, callback=0x7f7e50891a40 <dconf_gdbus_method_call_done>, user_data=0x0) at gdbusconnection.c:6084
No locals.
#7 0x00007f7e50891d13 in dconf_gdbus_method_call (user_data=user_data@entry=0x55e561b81600) at ../gdbus/dconf-gdbus-thread.c:250
call = <optimized out>
connection = <optimized out>
error = 0x0
#8 0x00007f7e6cf3b0fb in g_idle_dispatch (source=0x55e561a33760, callback=0x7f7e50891cb0 <dconf_gdbus_method_call>, user_data=0x55e561b81600) at gmain.c:5535
again = 1
#9 0x00007f7e6cf3e7dd in g_main_dispatch (context=0x7f7e4421b4e0) at gmain.c:3177
dispatch = 0x7f7e6cf3b0e0 <g_idle_dispatch>
prev_source = 0x0
was_in_call = 0
user_data = 0x55e561b81600
callback = 0x7f7e50891cb0 <dconf_gdbus_method_call>
cb_funcs = 0x7f7e6d207280 <g_source_callback_funcs>
cb_data = 0x55e561751ff0
need_destroy = 1
source = 0x55e561a33760
current = 0x7f7e4421d260
i = 182
current = <optimized out>
i = <optimized out>
__func__ = "g_main_dispatch"
source = <optimized out>
_g_boolean_var_ = <optimized out>
was_in_call = <optimized out>
user_data = <optimized out>
callback = <optimized out>
cb_funcs = <optimized out>
cb_data = <optimized out>
need_destroy = <optimized out>
dispatch = <optimized out>
prev_source = <optimized out>
_g_boolean_var_ = <optimized out>
#10 g_main_context_dispatch (context=context@entry=0x7f7e4421b4e0) at gmain.c:3830
No locals.
#11 0x00007f7e6cf3eba8 in g_main_context_iterate (context=context@entry=0x7f7e4421b4e0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3903
max_priority = 200
timeout = 0
some_ready = 1
nfds = <optimized out>
allocated_nfds = 1
fds = 0x7f7e440fe650
#12 0x00007f7e6cf3ec40 in g_main_context_iteration (context=context@entry=0x7f7e4421b4e0, may_block=may_block@entry=1) at gmain.c:3964
retval = <optimized out>
#13 0x00007f7e50891e4d in dconf_gdbus_worker_thread (user_data=0x7f7e4421b4e0) at ../gdbus/dconf-gdbus-thread.c:82
context = 0x7f7e4421b4e0
#14 0x00007f7e6cf66cda in g_thread_proxy (data=0x7f7e4429f320) at gthread.c:784
thread = 0x7f7e4429f320
__func__ = "g_thread_proxy"
#15 0x00007f7e6c4c6564 in start_thread (arg=<optimized out>) at pthread_create.c:463
pd = <optimized out>
now = 1
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140180459558656, -4541392484067584006, 140180467945006, 140180467945007, 140180467945136, 140180467945136, 4469021527882717178, 4469087057218885626}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
#16 0x00007f7e6c1fa31f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:67
No locals.
#17 0x0000000000000000 in ?? ()
No symbol table info available.
Thread 8 (Thread 0x7f7e50229700 (LWP 2671)):
#0 0x00007f7e6c1ef929 in __GI___poll (fds=0x55e5616a7530, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
No locals.
#1 0x000055e5616a9390 in ?? ()
No symbol table info available.
#2 0x0000000000000002 in ?? ()
No symbol table info available.
#3 0x000055e5616a7530 in ?? ()
No symbol table info available.
#4 0x00007f7e6cf3eb16 in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x55e5616a7530, timeout=<optimized out>, context=0x55e5616a7530) at gmain.c:4204
ret = <optimized out>
errsv = 1634366768
poll_func = 0x7f7e6cf4e3a0 <g_poll>
poll_func = <optimized out>
ret = <optimized out>
errsv = <optimized out>
#5 g_main_context_iterate (context=0x55e5616a7530, context@entry=0x55e5616a9390, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3898
max_priority = 2147483647
timeout = -1
some_ready = <optimized out>
nfds = 1
allocated_nfds = 2
fds = 0x55e5616a7530
#6 0x00007f7e6cf3ec40 in g_main_context_iteration (context=0x55e5616a9390, may_block=may_block@entry=1) at gmain.c:3964
retval = <optimized out>
#7 0x00007f7e6cf3ec91 in glib_worker_main (data=<optimized out>) at gmain.c:5773
No locals.
#8 0x00007f7e6cf66cda in g_thread_proxy (data=0x55e5616908a0) at gthread.c:784
thread = 0x55e5616908a0
__func__ = "g_thread_proxy"
#9 0x00007f7e6c4c6564 in start_thread (arg=<optimized out>) at pthread_create.c:463
pd = <optimized out>
now = 18446744073709551100
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140180487051008, -4541392484067584006, 140722196600462, 140722196600463, 140722196600592, 140722196600592, 4469008844844292090, 4469087057218885626}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
#10 0x00007f7e6c1fa31f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:67
No locals.
#11 0x0000000000000000 in ?? ()
No symbol table info available.
Thread 9 (Thread 0x7f7e4d7ef700 (LWP 3176)):
#0 0x00007f7e6c1f4df9 in ?? () from /lib64/libc.so.6
No symbol table info available.
#1 0x00007f7e6cf8546e in g_cond_wait_until (cond=cond@entry=0x55e5616a9258, mutex=mutex@entry=0x55e5616a9250, end_time=end_time@entry=136035987) at gthread-posix.c:1449
now = {tv_sec = 135, tv_nsec = 535988336}
span = {tv_sec = 0, tv_nsec = 499998664}
sampled = 7
res = 7
#2 0x00007f7e6cf110e1 in g_async_queue_pop_intern_unlocked (queue=0x55e5616a9250, wait=wait@entry=1, end_time=136035987) at gasyncqueue.c:422
retval = 0x0
__func__ = "g_async_queue_pop_intern_unlocked"
#3 0x00007f7e6cf1171c in g_async_queue_timeout_pop_unlocked (queue=<optimized out>, timeout=timeout@entry=500000) at gasyncqueue.c:570
end_time = <optimized out>
#4 0x00007f7e6cf67822 in g_thread_pool_wait_for_new_task (pool=<optimized out>) at gthreadpool.c:262
task = <optimized out>
task = <optimized out>
#5 g_thread_pool_thread_proxy (data=<optimized out>) at gthreadpool.c:296
task = <optimized out>
pool = 0x55e561681fa0
#6 0x00007f7e6cf66cda in g_thread_proxy (data=0x7f7e38002b70) at gthread.c:784
thread = 0x7f7e38002b70
__func__ = "g_thread_proxy"
#7 0x00007f7e6c4c6564 in start_thread (arg=<optimized out>) at pthread_create.c:463
pd = <optimized out>
now = 30064771072
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140180442773248, -4541392484067584006, 140722196604958, 140722196604959, 140722196605088, 140722196605088, 4469014923296757754, 4469087057218885626}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
#8 0x00007f7e6c1fa31f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:67
No locals.
#9 0x0000000000000000 in ?? ()
Edited by Debarshi Ray