FS#75931 - [glib2] testing/glib2 2.74.0-1 breaks Firefox

Attached to Project: Arch Linux
Opened by Hanabishi (Hanabishi) - Saturday, 17 September 2022, 23:57 GMT
Last edited by Jan Alexander Steffens (heftig) - Sunday, 18 September 2022, 16:53 GMT
Task Type Bug Report
Category Packages: Testing
Status Closed
Assigned To Jan Alexander Steffens (heftig)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:
glib2 2.74.0-1 from testing breaks Firefox.

$ firefox
[2402, Main Thread] ###!!! ASSERTION: g_log_set_writer_func() called multiple times: 'glib assertion', file /build/firefox/src/firefox-104.0.2/toolkit/xre/nsSigHandlers.cpp:164
ExceptionHandler::GenerateDump cloned child 2424
ExceptionHandler::SendContinueSignalToChild sent continue signal to child
ExceptionHandler::WaitForContinueSignal waiting for continue signal...
[1] 2402 trace trap (core dumped) firefox

Additional info:
* package version(s)
glib2 2.74.0-1
firefox 104.0.2-1
This task depends upon

Closed by  Jan Alexander Steffens (heftig)
Sunday, 18 September 2022, 16:53 GMT
Reason for closing:  Works for me
Comment by Toolybird (Toolybird) - Sunday, 18 September 2022, 01:59 GMT
> core dumped

Could you possibly get a trace [1][2]? Although, I do note firefox is not built with debug symbols [3].

[1] https://wiki.archlinux.org/title/Debuginfod
[2] https://wiki.archlinux.org/title/Debugging/Getting_traces#Debuginfod
[3] https://github.com/archlinux/svntogit-packages/commit/3a844e2a
Comment by Hanabishi (Hanabishi) - Sunday, 18 September 2022, 10:47 GMT
Here, hope I got it right:

(gdb) bt full
#0 0x00007f233364cfe8 in g_markup_vprintf_escaped
(format=<optimized out>, args=<optimized out>) at ../glib/glib/gmarkup.c:2561
after = 0x2 <error: Cannot access memory at address 0x2>
conv = 0x0
escaped = <optimized out>
format1 = 0x0
result = <optimized out>
output1 = 0x0
output2 = 0x6 <error: Cannot access memory at address 0x6>
p = 0x7ffcd01972b0 "\354\235j3#\177"
op1 = 0x7f233372bd70 <test_trap_last_stdout> ""
op2 = 0x7f233372bd00 <default_log_data> "\360\315\061\030\253U"

args2 = {{gp_offset = 4, fp_offset = 0, overflow_arg_area = 0x7f233364d623 <g_markup_collect_attributes+1075>, reg_save_area = 0x7f23336a9dec}}
#1 0x00007f23336a9d70 in () at /usr/lib/libglib-2.0.so.0
#2 0x00007f233369f0a9 in mapped_ring_buffer_new_reader () at /usr/lib/libglib-2.0.so.0
#3 0x000055ab18361120 in ()
#4 0x000055ab18480110 in ()
#5 0x0000000000000001 in ()
#6 0x00007f233364d560 in g_markup_parse_boolean
(value=<optimized out>, string=0x360 <error: Cannot access memory at address 0x360>)
at ../glib/glib/gmarkup.c:2645

falses = {0x7f2333743bd0 <weak_unbind+528> "H\213|$\020\061\366E1\344g\350 \271", 0x7f233364ea34 <g_log_writer_format_fields+1124> "\304\005", 0x3000000018 <error: Cannot access memory at address 0x3000000018>, 0x7ffcd01974e0 "\240\264f\030\253U", 0x7ffcd0197420 ""}

trues = {0x0, 0x7ffcd019be19 "1", 0x0, 0x7ffcd019be1a "", 0x1999999999999999 <error: Cannot access memory at address 0x1999999999999999>}
i = 0
mandatory = <optimized out>
value = 0x360 <error: Cannot access memory at address 0x360>
type = <optimized out>
attr = 0x0
collected = 3135141430289187072
written = 32547

ap = {{gp_offset = 0, fp_offset = 0, overflow_arg_area = 0x7f233372bd70 <test_trap_last_stdout>, reg_save_area = 0x7ffcd01976b0}}
i = <optimized out>
__func__ = "g_markup_collect_attributes"
#7 g_markup_collect_attributes
(element_name=0x55ab183f08f0 "\262", attribute_names=<optimized out>, attribute_values=0x1001, error=0x7f2333650d00 <parse_arg+1920>, first_type=32764, first_attr=<optimized out>)
at ../glib/glib/gmarkup.c:2870
--Type <RET> for more, q to quit, c to continue without paging--
mandatory = <optimized out>
value = 0x360 <error: Cannot access memory at address 0x360>
type = <optimized out>
attr = 0x0
collected = 3135141430289187072
written = 32547

ap = {{gp_offset = 0, fp_offset = 0, overflow_arg_area = 0x7f233372bd70 <test_trap_last_stdout>, reg_save_area = 0x7ffcd01976b0}}
i = <optimized out>
__func__ = "g_markup_collect_attributes"
#8 0x00007f233362886a in g_date_strftime
(s=0x0, slen=0, format=<optimized out>, d=<optimized out>) at ../glib/glib/gdate.c:2720

tm = {tm_sec = 1, tm_min = 0, tm_hour = 405454976, tm_mday = 21931, tm_mon = -803637712, tm_year = 32764, tm_wday = 863432312, tm_yday = 32547, tm_isdst = 18, tm_gmtoff = 140723799815680, tm_zone = 0x55ab00000020 <error: Cannot access memory at address 0x55ab00000020>}
locale_format_len = 140723799815728
locale_format = 0x7ffcd01976b0 "Љ(\030\253U"
tmplen = <optimized out>
tmpbuf = 0xffffffff40000002 <error: Cannot access memory at address 0xffffffff40000002>
tmpbufsize = <optimized out>
convlen = 94193333073968
convbuf = <optimized out>
error = 0x55ab182ac000
retval = <optimized out>
__func__ = "g_date_strftime"
#9 0x000055ab18288c10 in ()
#10 0x0000000000000000 in ()
Comment by Jan Alexander Steffens (heftig) - Sunday, 18 September 2022, 11:42 GMT
I can't reproduce this. It doesn't crash for me.
Comment by Hanabishi (Hanabishi) - Sunday, 18 September 2022, 15:40 GMT
Nevermind, this is actually because of custom gtk3 build I use. With gtk3 package from official repo it works.
Sorry for the false alarm.

Loading...