Hi,

I report this error as it is the first time I saw it when a coredump is
generated.

It occurs reproductibly with my current profile (but not with a fresh
profile) when firefox crashs (currently when I visit
https://locka99.gitbooks.io/a-guide-to-porting-c-to-rust with JS
activated).

Please note that my point isn't the firefox crash, but the kernel error
message.

(launch firefox and visit url above)
$ firefox

(firefox:76129): Gdk-ERROR **: The program 'firefox' received an X Window 
System error.
This probably reflects a bug in the program.
The error was 'RenderBadPicture (invalid Picture parameter)'.
  (Details: serial 59593 error_code 143 request_code 139 (RENDER) minor_code 7)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the GDK_SYNCHRONIZE environment
   variable to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)
[Child 4704] ###!!! ABORT: Aborting on channel error.: file 
/usr/obj/ports/firefox-51.0/firefox-51.0/ipc/glue/MessageChannel.cpp, line 2056
[Child 4704] ###!!! ABORT: Aborting on channel error.: file 
/usr/obj/ports/firefox-51.0/firefox-51.0/ipc/glue/MessageChannel.cpp, line 2056
Trace/BPT trap


When it occurs, I have these errors messages in dmesg buffer:

coredump of firefox(76129), write failed: errno 14
coredump of firefox(4704), write failed: errno 14



A firefox.core is generated, and gdb is able to open it:

$ gdb firefox firefox.core      
GNU gdb 6.3
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "amd64-unknown-openbsd6.0"...(no debugging symbols 
found)

Core was generated by `firefox'.
Program terminated with signal 4, Illegal instruction.
Cannot access memory at address 0x9f1bbf0bf08
#0  0x0000000000000000 in ?? ()
(gdb)


The kernel error message comes from coredump_write() function inside
sys/kern/kern_sig.c:1619.

Errno 14 is the error code from vn_rdwr(9). It is EFAULT, and occurs
when a bad address is encountered.

As I don't expect the kernel trying to do something at bad address (even
with a bad program), I prefer to report the error message.


My firefox profile has electrolysis enabled (multiprocesses). Here the
two processes (pid 76129 and 4704) have crashed at same time. Maybe it
is a race somewhere ? I dunno.

I also quickly deep inside the generated coredump to see if all content
belong to firefox and it seems ok.

Thanks.
-- 
Sebastien Marie

Reply via email to