Hi Rodrigo,

Rodrigo Arias <rodar...@gmail.com> wrote:

> >This is an example of a page which uses large embedded jpegs:
> >https://www.da.vidbuchanan.co.uk/blog/dram-emfi.html
> >When you view the source in Dillo, the issue should be evident.  
> 
> I cannot reproduce this (attached). Does it always happens to you?
> Which FLTK version are you on?

Yeah, it seems to happen every time the same.

$ fltk-config --version
1.3.3

I saved the above page to a local file, and am using that for testing.

I now noticed that this page also makes Dillo segfault when I reload it
several times:

** WARNING **: CCC: call on already finished chain. Flags=CCC_Ended
CCC_Aborted a_Nav_expect_done: reload!
READ Failed with -1: Connection reset by peer
** WARNING **: Unused CCC
WRITE Failed with -1: Connection reset by peer
** WARNING **: Maximum number of classes per element exceeded.
** WARNING **: Maximum number of classes per element exceeded.
** WARNING **: Maximum number of classes per element exceeded.
** WARNING **: Maximum number of classes per element exceeded.
** WARNING **: Maximum number of classes per element exceeded.
HTTP warning: Content-Length (657000) does NOT match message body
(640616) for file:/tmp/dillo-vsource-overflow.html WRITE Failed with
-1: Broken pipe Nav_open_url: new
url='file:/tmp/dillo-vsource-overflow.html' dillo(27095) in free():
double free 0x4f5cf02b980 Abort trap (core dumped)
EXIT: 134

backtrace:

#0  thrkill () at /tmp/-:2
No locals.
#1  0x3d7553619f488131 in ?? ()
No symbol table info available.
#2  0x000003f2234105ab in _libc_abort () at
/usr/src/lib/libc/stdlib/abort.c:51 sa = {__sigaction_u = {__sa_handler
= 0x3000000010, __sa_sigaction = 0x3000000010}, sa_mask = 1035724304,
sa_flags = 30747} mask = 4294967263
#3  0x000003f2233df3e4 in wrterror (d=0x3f23a5428f8, msg=0x3f223341697
"double free %p") at /usr/src/lib/libc/stdlib/malloc.c:378
        ap = {{gp_offset = 24, fp_offset = 48, overflow_arg_area =
0x781b3dbbe710, reg_save_area = 0x781b3dbbe610}}
        saved_errno = 9
#4  0x000003f2233e0f09 in ofree (argpool=<optimized out>, p=<optimized
out>, clear=<optimized out>, check=<optimized out>, argsz=<optimized
out>out>)
    at /usr/src/lib/libc/stdlib/malloc.c:1690
        pool = 0x3f23a5428f8
        saved_function = 0xb86fc82ea4cf34f8 <error: Cannot access
memory at address 0xb86fc82ea4cf34f8> r = <optimized out>
        sz = <optimized out>
#5  0x000003f2233e0633 in _libc_free (ptr=0x3f192293480) at
/usr/src/lib/libc/stdlib/malloc.c:1747 saved_errno = 9
        d = 0x3f23a5428f8
#6  0x000003ef75793a5b in a_Chain_bcb (Op=0, Info=<optimized out>,
Data1=0x781b3dbbe460, Data2=0x0) at chain.c:139
        ret = <error reading variable ret (Cannot access memory at
address 0x0)> #7  0x000003ef757d967b in a_Dpi_ccc (Op=5, Branch=2,
Dir=2, Info=0x3f1a76eef40, Data1=<optimized out>, Data2=0x0) at
dpi.c:745 SockFD = <error reading variable SockFD (Cannot access memory
at address 0xffffffffffffffff)> conn = <optimized out>
        st = <optimized out>
#8  0x000003ef75793a5b in a_Chain_bcb (Op=0, Info=<optimized out>,
Data1=0x781b3dbbe460, Data2=0x0) at chain.c:139
        ret = <error reading variable ret (Cannot access memory at
address 0x0)> #9  0x000003ef7579acb3 in a_Capi_ccc (Op=<optimized out>,
Branch=<optimized out>, Dir=<optimized out>, Info=<optimized out>,
Data1=<optimized out>, Data2=<optimized out>) at capi.c:754
        conn = 0x3f17c4a0240
        dbuf = <optimized out>
        finished = <optimized out>
#10 0x000003ef7579bea0 in a_Capi_stop_client (Key=6, force=4) at
capi.c:630 Client = 0x0
#11 0x000003ef7578a91b in a_Bw_stop_clients (bw=0x3f1f1195280,
flags=<optimized out>) at bw.c:197 data = 0x0
#12 0x000003ef757873cc in a_UIcmd_close_bw ()
No symbol table info available.
#13 0x000003ef75787678 in a_UIcmd_close_all_bw ()
No symbol table info available.
#14 0x000003f18adea990 in Fl::wait(double) () from
/usr/local/lib/libfltk.so.8.0 No symbol table info available.
#15 0x000003f18adeac4d in Fl::run() () from
/usr/local/lib/libfltk.so.8.0
No symbol table info available.
#16 0x000003ef75782365 in main ()
No symbol table info available.

And here is a different one:

[New process 402078]
Core was generated by `dillo'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00000fcc9d2228e8 in IO_close_fd (io=0x43203a6f6c6c6944,
CloseCode=<optimized out>) at IO.c:134
134        if ((CloseCode == IO_StopRdWr) && io->FD != -1) {
(gdb) bt full
#0  0x00000fcc9d2228e8 in IO_close_fd (io=0x43203a6f6c6c6944,
CloseCode=<optimized out>) at IO.c:134
        events = <error reading variable events (Cannot access memory
at address 0x0)> #1  a_IO_ccc (Op=5, Branch=<optimized out>, Dir=2,
Info=0xfcef07b3a80, Data1=<optimized out>, Data2=0x0) at IO.c:440
        io = 0x43203a6f6c6c6944
        dbuf = <optimized out>
        newline = <optimized out>
        msglen = <optimized out>
#2  0x00000fcc9d1dba5b in a_Chain_bcb (Op=-1659262356, Info=<optimized
out>, Data1=0xfcef07b3a80, Data2=0x0) at chain.c:139
        ret = <error reading variable ret (Cannot access memory at
address 0x0)> #3  0x00000fcc9d22167b in a_Dpi_ccc (Op=5, Branch=2,
Dir=2, Info=0xfcef07b3480, Data1=<optimized out>, Data2=0x0) at
dpi.c:745 SockFD = <error reading variable SockFD (Cannot access memory
at address 0xffffffffffffffff)> conn = <optimized out>
        st = <optimized out>
#4  0x00000fcc9d1dba5b in a_Chain_bcb (Op=-1659262356, Info=<optimized
out>, Data1=0xfcef07b3a80, Data2=0x0) at chain.c:139
        ret = <error reading variable ret (Cannot access memory at
address 0x0)> #5  0x00000fcc9d1e2cb3 in a_Capi_ccc (Op=<optimized out>,
Branch=<optimized out>, Dir=<optimized out>, Info=<optimized out>,
Data1=<optimized out>, Data2=<optimized out>) at capi.c:754
        conn = 0xfcef07bc180
        dbuf = <optimized out>
        finished = <optimized out>
#6  0x00000fcc9d1e3ea0 in a_Capi_stop_client (Key=2, force=4) at
capi.c:630 Client = 0x1
#7  0x00000fcc9d1d291b in a_Bw_stop_clients (bw=0xfcf6f89ef80,
flags=<optimized out>) at bw.c:197 data = 0x1
#8  0x00000fcc9d1cf3cc in a_UIcmd_close_bw ()
No symbol table info available.
#9  0x00000fcc9d1d072f in win_cb(Fl_Widget*, void*) ()
No symbol table info available.
#10 0x00000fcebc80351e in Fl_Widget::do_callback(Fl_Widget*, void*) ()
   from /usr/local/lib/libfltk.so.8.0
No symbol table info available.
#11 0x00000fcebc79a23b in Fl::handle_(int, Fl_Window*) () from
/usr/local/lib/libfltk.so.8.0 No symbol table info available.
#12 0x00000fcebc80c83b in fl_handle(_XEvent const&) () from
/usr/local/lib/libfltk.so.8.0 No symbol table info available.
#13 0x00000fcebc808f40 in do_queued_events() () from
/usr/local/lib/libfltk.so.8.0
No symbol table info available.
#14 0x00000fcebc808e88 in fl_wait(double) () from
/usr/local/lib/libfltk.so.8.0 No symbol table info available.
#15 0x00000fcebc798a6e in Fl::wait(double) () from
/usr/local/lib/libfltk.so.8.0 No symbol table info available.
#16 0x00000fcebc798c4d in Fl::run() () from
/usr/local/lib/libfltk.so.8.0 No symbol table info available.
#17 0x00000fcc9d1ca365 in main ()
No symbol table info available.

> Should not be related, but I notice that you are using the old DPI
> for vsource, as I changed the style a while back. Have you done `make 
> install` and set the dpi_dir in ~/.dillo/dpidrc properly? I suspect
> it may be picking up another install.

Yeah, thats true I was using an older vsource dpi. But, I did a new
clean install of everything and still see the issue. 

Maybe its OpenBSD related, or something else weird with my setup.

I'm open to suggestions :)

Regards,
Alex
_______________________________________________
Dillo-dev mailing list -- dillo-dev@mailman3.com
To unsubscribe send an email to dillo-dev-le...@mailman3.com

Reply via email to