[OpenIndiana-discuss] Firefox68esr for testing

Bill Sommerfeld sommerfeld at hamachi.org
Fri Mar 19 04:24:59 UTC 2021


On 03/18/21 21:03, Joshua M. Clulow via openindiana-discuss wrote:
>> (if I'm reading it correctly, it trapped in strlen()).
> 
> It does look that way.  If you add a "-v" to ::findstack you might see
> arguments, which can be helpful.  If there aren't arguments this
> program may need to be built with -msave-args.
No arguments in the firefox code, but we do have them in libc and that 
lets us get the siginfo_t and ucontext_t out of 
sigacthandler()/call_user_handler():

[ 00007fffa8fee070 libc.so.1`_lwp_kill+0xa() ]
   00007fffa8fee0a0 libc.so.1`raise+0x1e(b)
   00007fffa8fee0f0 libxul.so`nsProfileLock::FatalSignalHandler+0xcb()
   00007fffa8fee180 libxul.so`WasmTrapHandler+0xf2()
   00007fffa8fee190 libc.so.1`__sighndlr+6()
   00007fffa8fee230 libc.so.1`call_user_handler+0x1db(b, 7fffa8fee608, 
7fffa8fee2a0)
   00007fffa8fee280 libc.so.1`sigacthandler+0xee(b, 7fffa8fee608, 
7fffa8fee2a0)
   00007fffa8fee7f0 libc.so.1`strlen+0x30()
   00007fffa8fee860 libspeechd.so.2.6.0`spd_list_synthesis_voices+0x1d()
   00007fffa8feeb80 
libxul.so`mozilla::dom::SpeechDispatcherService::Setup+0xc8()
   00007fffa8feeb90 
libxul.so`mozilla::detail::RunnableMethodImpl<mozilla::dom::SpeechDispatcherService*, 
void +0x27()
   00007fffa8feec90 libxul.so`nsThread::ProcessNextEvent+0x63a()
   00007fffa8feecc0 libxul.so`NS_ProcessNextEvent+0x2d()
   00007fffa8feed00 
libxul.so`mozilla::ipc::MessagePumpForNonMainThreads::Run+0x116()
   00007fffa8feed10 libxul.so`MessageLoop::RunInternal+0x13()
   00007fffa8feed60 libxul.so`MessageLoop::Run+0x37()
   00007fffa8feef70 libxul.so`nsThread::ThreadFunc+0xd8()
   00007fffa8feefb0 libnspr4.so`_pt_root+0xcb()
   00007fffa8feefe0 libc.so.1`_thrp_setup+0x6c(7fffab768a40)
   00007fffa8feeff0 libc.so.1`_lwp_start()

 > 7fffa8fee608::siginfo
   signal    11 (SEGV)
   code       1 (from kernel)
   errno      0 (Error 0)
   fault address = 0x0
   trapno = 0
   instruction address = 0x0
 > 7fffa8fee2a0::ucontext
   flags    = 0xf <UC_SIGMASK,UC_STACK,UC_CPU,UC_FPU>
   link     = 0x0
   sigmask  = 0x00000000 0x00000000 0x00000000 0x00000000
   stack    = sp 0x7fffa8faf000 size 0x40000 flags 0
   mcontext = 0x7fffa8fee2e0
 > 7fffa8fee2a0::regs -u
%rax = 0x00007fffa8fee7b8       %r8  = 0x0000000000000017
%rbx = 0x00007fff9d1eed00       %r9  = 0x000000004543494f
%rcx = 0x0000000000000000       %r10 = 0x0000000000000d53
%rdx = 0x0000000001000000       %r11 = 0x000000000000000a
%rsi = 0x0000000000000000       %r12 = 0x0000000000000000
%rdi = 0x0000000000000000       %r13 = 0x00007fff9d1eed00
                                 %r14 = 0x00000000124d8e00
                                 %r15 = 0x0000000000000000

%cs = 0x0053    %fs = 0x0000    %gs = 0x0000
%ds = 0x004b    %es = 0x004b    %ss = 0x004b

%rip = 0x00007fffaf35bab0 libc.so.1`strlen+0x30
%rbp = 0x00007fffa8fee7f0
%rsp = 0x00007fffa8fee788

%rflags = 0x00010246
   id=0 vip=0 vif=0 ac=0 vm=0 rf=1 nt=0 iopl=0x0
   status=<of,df,IF,tf,sf,ZF,af,PF,cf>

%gsbase = 0x0000000000000000
%fsbase = 0x00007fffab768a40
%trapno = 0xe
    %err = 0x4

Faulting instruction is:
libc.so.1`strlen+0x30:          pcmpeqb (%rsi),%xmm0

%rsi is 0

my read: spd_list_synthesis_voices() is most likely calling strlen(NULL).



More information about the openindiana-discuss mailing list