Sunday, October 27, 2019

thunderbird: Abort trap on empty promises

Just upgraded my X230 incl. packages as usual, however thunderbird dies
almost immediately upon start:

$ sysctl -n kern.version
OpenBSD 6.6-current (GENERIC.MP) #402: Sat Oct 26 22:53:27 MDT 2019
deraadt@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP

$ pkg_info thunderbird | head -n1
Information for inst:thunderbird-68.2.0
$ thunderbird
Abort trap (core dumped)

The core dump is useless and a cannot rebuild with symbols at the moment.
However:

$ tail -n1 /var/log/messages
Oct 27 16:43:58 eru /bsd: thunderbird[84106]: pledge "stdio", syscall 87
$ grep -w 87 /sys/kern/syscalls.c
"clock_gettime", /* 87 = clock_gettime */
$ ktrace -di thunderbird
Abort trap (core dumped)
$ kdump
...
10377 thunderbird CALL pledge(0xc5e1686e484,0)
10377 thunderbird STRU promise=""
10377 thunderbird RET pledge 0
10377 thunderbird CALL clock_gettime(CLOCK_MONOTONIC,0x7f7fffff96d8)
10377 thunderbird PLDG clock_gettime, "stdio", errno 1 Operation not permitted
10377 thunderbird PSIG SIGABRT SIG_DFL
...

Thunderbird's WRKSRC only contains one pledge(2) call:

dom/ipc/ContentChild.cpp
3948: if (pledge(promisesString.get(), NULL) == -1) {

This stuff is Rust and i have no clue of either that language or
Thunderbird internals - does anyone else see crashes?

Do you need more information from my system?
My last upgrade is about 12 days behind on this machine, I have not
bisected anything so far.

No comments:

Post a Comment