Crash when EphyAddBookmarkPopover outlives EphyLocationEntry
Crash when EphyAddBookmarkPopover outlives EphyLocationEntry:
Thread 1 (Thread 0x7f9129d95cc0 (LWP 4075)):
#0 0x00007f912a4f067a in g_type_check_instance_cast (type_instance=type_instance@entry=0x41, iface_type=0x562bde673720 [EphyEmbedContainer]) at ../gobject/gtype.c:4050
#1 0x00007f912aeb54c3 in EPHY_EMBED_CONTAINER (ptr=0x41) at ../embed/ephy-embed-container.h:33
location_entry = 0x0
window = 0x41
embed = <optimized out>
view = <optimized out>
address = <optimized out>
__FUNCTION__ = "ephy_add_bookmark_popover_update_bookmarked_status_cb"
#2 0x00007f912aeb54c3 in ephy_add_bookmark_popover_update_bookmarked_status_cb (self=0x562bee8a4210 [EphyAddBookmarkPopover], bookmark=0x562be3c2db10 [EphyBookmark], manager=0x562bde9aba00 [EphyBookmarksManager]) at ../src/bookmarks/ephy-add-bookmark-popover.c:177
location_entry = 0x0
window = 0x41
embed = <optimized out>
view = <optimized out>
address = <optimized out>
__FUNCTION__ = "ephy_add_bookmark_popover_update_bookmarked_status_cb"
#6 0x00007f912a4e8973 in <emit signal ??? on instance 0x562bde9aba00 [EphyBookmarksManager]> (instance=instance@entry=0x562bde9aba00, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3447
var_args = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7fffcb2f7360, reg_save_area = 0x7fffcb2f72a0}}
#3 0x00007f912a4cb742 in g_closure_invoke (closure=0x562bee6a9820, return_value=0x0, n_param_values=2, param_values=0x7fffcb2f70a0, invocation_hint=0x7fffcb2f7020) at ../gobject/gclosure.c:810
marshal = 0x7f912a4ced20 <g_cclosure_marshal_VOID__OBJECT>
marshal_data = 0x0
in_marshal = 0
real_closure = 0x562bee6a9800
__FUNCTION__ = "g_closure_invoke"
#4 0x00007f912a4df4b4 in signal_emit_unlocked_R (node=node@entry=0x562bde9439c0, detail=detail@entry=0, instance=instance@entry=0x562bde9aba00, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffcb2f70a0) at ../gobject/gsignal.c:3635
tmp = <optimized out>
handler = 0x7f909c47b000
accumulator = 0x0
emission = {next = 0x0, instance = 0x562bde9aba00, ihint = {signal_id = 392, detail = 0, run_type = G_SIGNAL_RUN_FIRST}, state = EMISSION_RUN, chain_type = 0x4 [void]}
class_closure = 0x0
hlist = <optimized out>
handler_list = 0x562be1a28080
return_accu = 0x0
accu = {g_type = 0x0, 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 = 392
max_sequential_handler_number = 2485991
return_value_altered = 1
#5 0x00007f912a4e834d in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fffcb2f7280) at ../gobject/gsignal.c:3391
instance_and_params = 0x7fffcb2f70a0
signal_return_type = <optimized out>
param_values = 0x7fffcb2f70b8
node = <optimized out>
i = <optimized out>
n_params = <optimized out>
__FUNCTION__ = "g_signal_emit_valist"
#7 0x00007f912aebb2ca in ephy_bookmarks_manager_remove_bookmark_internal (self=0x562bde9aba00 [EphyBookmarksManager], bookmark=0x562be3c2db10 [EphyBookmark]) at ../src/bookmarks/ephy-bookmarks-manager.c:397
iter = 0x562be86dc900
position = 15
__FUNCTION__ = "ephy_bookmarks_manager_remove_bookmark_internal"
#8 0x00007f912aebb7e6 in ephy_bookmarks_manager_handle_regular_merge (deleted_bookmarks=<optimized out>, updated_bookmarks=<optimized out>, self=0x562bde9aba00 [EphyBookmarksManager]) at ../src/bookmarks/ephy-bookmarks-manager.c:870
id = 0x562bee269970 "8uX6EJLy4TY3"
url = 0x562beaabdb90 "https://www.thepostmillennial.com/b-c-childrens-hospital-claims-they-dont-require-parental-consent-for-childs-testosterone-injections/"
type = 0x562bed46e6b0 "bookmark"
parent_id = 0x562be05fb3b0 "menu"
l = 0x562bf0002240 = {0x562bf03a4250, 0x562bf03a42c0, 0x562be41d0e60, 0x562bf0702e40, 0x562be8906550, 0x562bf0702d60, 0x562be89065c0, 0x562be20eb490, 0x562be41d0c30, 0x562be41d0ed0, 0x562be20eb650, 0x562bf0702c10, 0x562be8906400, 0x562bee1ff5c0, 0x562be449b4e0, 0x562be449b710, 0x562be3c3e960, 0x562befe60020, 0x562be449b550, 0x562bee1ff710, 0x562be449b5c0, 0x562beaba9730, 0x562bedffc330, 0x562bedffc2c0, 0x562be449b630, 0x562bedffc250, 0x562bee52aca0, 0x562bedffc170, 0x562beaba96c0, 0x562bedffc020, 0x562bed644b20, 0x562bedffc100, 0x562bedffc1e0, 0x562be4d16740, 0x562bf00cc9f0, 0x562bf01e44b0, 0x562bf00cc980, 0x562bf01e4670, 0x562bf01e4750, 0x562bf01e4600, 0x562bf01e4590, 0x562be8e1c310, 0x562bf00cc910, 0x562be6609e40, 0x562bf00cc8a0, 0x562be6609c10, 0x562be6609c80, 0x562be8e1c000, 0x562be8e1c070, 0x562be6609cf0, 0x562bf00cc830, 0x562be6609870, 0x562bf00ccad0, 0x562be6609b10, 0x562be6609aa0, 0x562bf033a200, 0x562be0585d80, 0x562bf033a040, 0x562bf033a190, 0x562be1909a00, 0x562be100c560, 0x562bf033a120, 0x562bf033a2e0, 0x562be1b6e580, 0x562be03b0150, 0x562be243c0b0, 0x562be1b6e1e0, 0x562be03b0070, 0x562be1b6e250, 0x562bee443a00, 0x562bee443840, 0x562be66099c0, 0x562be13f32b0, 0x562be0c8a0f0, 0x562be13f3010, 0x562be0c8a010, 0x562bf033a270, 0x562be6609a30, 0x562be6609800, 0x562be447ab20, 0x562be89b9a00, 0x562bf0748b50, 0x562be86a8670, 0x562be89b9990, 0x562bed7066d0, 0x562bdf716d60, 0x562be0d99580, 0x562be0d99740, 0x562be20eb570, 0x562bed7065f0, 0x562be22c6150, 0x562bee5bbb10, 0x562be1b6e2c0, 0x562be1b6e5f0, 0x562be4f27040, 0x562be243c120}
to_upload = 0x562be4e14b80
bookmark = <optimized out>
timestamp = <optimized out>
__FUNCTION__ = "ephy_bookmarks_manager_handle_regular_merge"
self = 0x562bde9aba00 [EphyBookmarksManager]
to_upload = <optimized out>
#9 0x00007f912aebb7e6 in synchronizable_manager_merge (manager=<optimized out>, is_initial=<optimized out>, remotes_deleted=<optimized out>, remotes_updated=<optimized out>, callback=0x7f912a003670 <merge_collection_finished_cb>, user_data=0x562be50f5080) at ../src/bookmarks/ephy-bookmarks-manager.c:917
self = 0x562bde9aba00 [EphyBookmarksManager]
to_upload = <optimized out>
#10 0x00007f9129fffc89 in sync_collection_cb (session=<optimized out>, msg=<optimized out>, user_data=0x562be50f5080) at ../lib/sync/ephy-sync-service.c:1572
data = 0x562be50f5080
remote = <optimized out>
bundle = 0x562bee786aa0
node = 0x562bee42bb20
array = 0x562bee1d1ac0
error = 0x0
type = 0x562bde9a06b0 [EphyBookmark]
collection = <optimized out>
is_deleted = 0
#11 0x00007f9129bd12d2 in soup_session_process_queue_item (loop=<optimized out>, should_cleanup=<optimized out>, item=<optimized out>, session=<optimized out>) at ../libsoup/soup-session.c:2042
__FUNCTION__ = "soup_session_process_queue_item"
__FUNCTION__ = "soup_session_process_queue_item"
#12 0x00007f9129bd12d2 in soup_session_process_queue_item (session=<optimized out>, item=0x562be00e0600, should_cleanup=<optimized out>, loop=<optimized out>) at ../libsoup/soup-session.c:1964
__FUNCTION__ = "soup_session_process_queue_item"
#13 0x00007f9129bd1c78 in async_run_queue (session=session@entry=0x562bde831100 [SoupSession]) at ../libsoup/soup-session.c:2082
priv = 0x562bde831000
item = 0x562be00e0600
msg = <optimized out>
try_cleanup = <optimized out>
should_cleanup = 0
#14 0x00007f9129bd1d1a in idle_run_queue (user_data=user_data@entry=0x562bead5d9a0) at ../libsoup/soup-session.c:2109
wref = 0x562bead5d9a0
session = 0x562bde831100 [SoupSession]
#15 0x00007f912a3dc8eb in g_idle_dispatch (source=source@entry=0x562be10b2310, callback=0x7f9129bd1d00 <idle_run_queue>, user_data=0x562bead5d9a0) at ../glib/gmain.c:5627
again = <optimized out>
#16 0x00007f912a3dffd0 in g_main_dispatch (context=0x562bde573bb0) at ../glib/gmain.c:3189
dispatch = <optimized out>
prev_source = 0x0
was_in_call = 0
user_data = 0x562bead5d9a0
callback = 0x7f9129bd1d00 <idle_run_queue>
cb_funcs = 0x7f912a4b2280 <g_source_callback_funcs>
cb_data = 0x562be82b8e70
need_destroy = <optimized out>
source = 0x562be10b2310
current = 0x562bde5e8120
i = 0
__FUNCTION__ = "g_main_dispatch"
#17 0x00007f912a3dffd0 in g_main_context_dispatch (context=context@entry=0x562bde573bb0) at ../glib/gmain.c:3854
#18 0x00007f912a3e0368 in g_main_context_iterate (context=context@entry=0x562bde573bb0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:3927
max_priority = 0
timeout = 0
some_ready = 1
nfds = <optimized out>
allocated_nfds = 9
fds = 0x562bdfcbb9f0
#19 0x00007f912a3e0413 in g_main_context_iteration (context=context@entry=0x562bde573bb0, may_block=may_block@entry=1) at ../glib/gmain.c:3988
retval = <optimized out>
#20 0x00007f912a5f320d in g_application_run (application=0x562bde82a1e0 [EphyShell], argc=<optimized out>, argv=<optimized out>) at ../gio/gapplication.c:2516
arguments = 0x562bde80f3e0
status = 0
context = 0x562bde573bb0
acquired_context = 1
__FUNCTION__ = "g_application_run"
#21 0x0000562bde151fe1 in main (argc=<optimized out>, argv=<optimized out>) at ../src/ephy-main.c:425
option_context = <optimized out>
option_group = <optimized out>
error = 0x0
user_time = <optimized out>
arbitrary_url = <optimized out>
ctx = <optimized out>
mode = EPHY_EMBED_SHELL_MODE_BROWSER
status = <optimized out>
flags = <optimized out>
desktop_info = <optimized out>
I tried to fix this in !314 (merged), but that was wrong and introduced #772 (closed).