Skip to content

eventTargetHasListener crashes when fetching https://duckduckgo.com/?t=ffab  #1015

@krichprollsch

Description

@krichprollsch

The browser crashes fetching this url:

$ zig build run -- fetch --dump --with_base --noscript https://duckduckgo.com/?t=ffab
Segmentation fault at address 0x200000000
/usr/local/zig-0.15.1/lib/compiler_rt/memcpy.zig:170:17: 0x76da60a in memcpyFast (compiler_rt)
        d[i] = s[i];
                ^
/home/pierre/wrk/browser/src/browser/netsurf.zig:602:5: 0x317f2bb in eventTargetVtable (lightpanda)
    return @as([*c]const c.dom_event_target_vtable, @ptrCast(vtable_aligned)).*;
    ^
/home/pierre/wrk/browser/src/browser/netsurf.zig:681:38: 0x381fe85 in eventTargetHasListener (lightpanda)
        const err = eventTargetVtable(et).iter_event_listener.?(
                                     ^
/home/pierre/wrk/browser/src/browser/events/event.zig:293:46: 0x382045f in register (lightpanda)
        if (try parser.eventTargetHasListener(target, typ, capture, callback.id) != null) {
                                             ^
/home/pierre/wrk/browser/src/browser/dom/event_target.zig:88:38: 0x344a36b in _addEventListener (lightpanda)
        _ = try EventHandler.register(page.arena, self, typ, listener, opts);
                                     ^
/home/pierre/wrk/browser/src/runtime/js.zig:3039:13: 0x344a1e7 in method__anon_286751 (lightpanda)
            const res = @call(.auto, func, args);
            ^
/home/pierre/wrk/browser/src/runtime/js.zig:2474:34: 0x32d14b2 in callback (lightpanda)
                    caller.method(Struct, named_function, info) catch |err| {
                                 ^
???:?:?: 0x3bd88c6 in ??? (???)
Unwind error at address `:0x3bd88c6` (error.MissingFDE), trace may be incomplete

???:?:?: 0x3bd4df8 in ??? (???)
???:?:?: 0x640a18c6 in ??? (???)
???:?:?: 0x63d0a8a2 in ??? (???)
???:?:?: 0x63cba425 in ??? (???)
???:?:?: 0x63d0ac3b in ??? (???)
???:?:?: 0x63cba425 in ??? (???)
???:?:?: 0x63d0a537 in ??? (???)
???:?:?: 0x63cba425 in ??? (???)
???:?:?: 0x63d0a537 in ??? (???)
???:?:?: 0x63cba425 in ??? (???)
???:?:?: 0x63d0ac3b in ??? (???)
???:?:?: 0x63cba425 in ??? (???)
???:?:?: 0x63d0ac3b in ??? (???)
???:?:?: 0x63cba425 in ??? (???)
???:?:?: 0x63d0a537 in ??? (???)
???:?:?: 0x63cba425 in ??? (???)
???:?:?: 0x63d0ac3b in ??? (???)
???:?:?: 0x63cba425 in ??? (???)
???:?:?: 0x63d0a537 in ??? (???)
???:?:?: 0x63cba425 in ??? (???)
???:?:?: 0x63d0ac3b in ??? (???)
???:?:?: 0x63cba425 in ??? (???)
???:?:?: 0x63d0a537 in ??? (???)
???:?:?: 0x63cba425 in ??? (???)
???:?:?: 0x63d0ac3b in ??? (???)
???:?:?: 0x63cba425 in ??? (???)
???:?:?: 0x63d0a537 in ??? (???)
???:?:?: 0x63cba425 in ??? (???)
???:?:?: 0x63d0ac3b in ??? (???)
???:?:?: 0x63cba425 in ??? (???)
???:?:?: 0x63d0a537 in ??? (???)
???:?:?: 0x63cba425 in ??? (???)
???:?:?: 0x63d0a537 in ??? (???)
???:?:?: 0x63cba425 in ??? (???)
???:?:?: 0x63d0ac3b in ??? (???)
???:?:?: 0x63cba425 in ??? (???)
???:?:?: 0x63d0ac3b in ??? (???)
???:?:?: 0x63cba425 in ??? (???)
???:?:?: 0x63d0ac3b in ??? (???)
???:?:?: 0x63cba425 in ??? (???)
???:?:?: 0x63d0ac3b in ??? (???)
???:?:?: 0x63cba425 in ??? (???)
???:?:?: 0x63d0ac3b in ??? (???)
???:?:?: 0x63cba425 in ??? (???)
???:?:?: 0x63d0a537 in ??? (???)
???:?:?: 0x63cba425 in ??? (???)
???:?:?: 0x63d0ac3b in ??? (???)
???:?:?: 0x63cba425 in ??? (???)
???:?:?: 0x63d0ac3b in ??? (???)
???:?:?: 0x63cba425 in ??? (???)
???:?:?: 0x63d0ac3b in ??? (???)
???:?:?: 0x63cba425 in ??? (???)
???:?:?: 0x63d0a537 in ??? (???)
???:?:?: 0x63cba425 in ??? (???)
???:?:?: 0x63d0a537 in ??? (???)
???:?:?: 0x63cba425 in ??? (???)
???:?:?: 0x63d0afd4 in ??? (???)
???:?:?: 0x3bd4df8 in ??? (???)
???:?:?: 0x63d3f33b in ??? (???)
???:?:?: 0x63d60355 in ??? (???)
???:?:?: 0x3bd4df8 in ??? (???)
???:?:?: 0x3bd4df8 in ??? (???)
???:?:?: 0x3bd4df8 in ??? (???)
???:?:?: 0x3bd4df8 in ??? (???)
???:?:?: 0x63d64b94 in ??? (???)
???:?:?: 0x3bd4df8 in ??? (???)
???:?:?: 0x3bd4df8 in ??? (???)
???:?:?: 0x3bcba9b in ??? (???)
???:?:?: 0x3bcb7ea in ??? (???)
../../../src/src/execution/simulator.h:212:12: 0x510fe7e in Invoke (../../../src/src/execution/execution.cc)
../../../src/src/execution/execution.cc:530:10: 0x510e35c in Call (../../../src/src/execution/execution.cc)
../../../src/src/api/api.cc:5445:7: 0x3ad644f in Call (../../../src/src/api/api.cc)
../../../src/binding.cpp:1424:30: 0x398a2b4 in ??? (../../../src/binding.cpp)
/home/pierre/.cache/zig/p/v8-0.0.0-xddH6w_EAwA8vK0NAxfxfI7IcbnpkUAcXKNujn7qwnmY/src/v8.zig:856:33: 0x337db37 in call__anon_274277 (lightpanda)
        if (c.v8__Function__Call(self.handle, ctx.handle, getValueHandle(receiver_val), @as(c_int, @intCast(args.len)), c_args)) |ret| {
                                ^
/home/pierre/wrk/browser/src/runtime/js.zig:1852:63: 0x38ca687 in callWithThis__anon_355244 (lightpanda)
                const result = self.func.castToFunction().call(js_context.v8_context, js_this, js_args);
                                                              ^
/home/pierre/wrk/browser/src/runtime/js.zig:1812:41: 0x38cabc4 in tryCallWithThis__anon_355240 (lightpanda)
                return self.callWithThis(T, this, args) catch |err| {
                                        ^
/home/pierre/wrk/browser/src/runtime/js.zig:1804:44: 0x387b466 in tryCall__anon_348355 (lightpanda)
                return self.tryCallWithThis(T, self.getThis(), args, result);
                                           ^
/home/pierre/wrk/browser/src/browser/html/window.zig:433:36: 0x37c184c in run (lightpanda)
            call = self.cbk.tryCall(void, self.args, &result);
                                   ^
/home/pierre/wrk/browser/src/browser/Scheduler.zig:90:22: 0x326b224 in runQueue (lightpanda)
        if (task.func(task.ctx)) |repeat_delay| {
                     ^
/home/pierre/wrk/browser/src/browser/Scheduler.zig:66:25: 0x326b5f9 in runHighPriority (lightpanda)
    return self.runQueue(&self.primary);
                        ^
/home/pierre/wrk/browser/src/browser/page.zig:328:74: 0x326ba89 in _wait (lightpanda)
                    const ms_to_next_task = try scheduler.runHighPriority();
                                                                         ^
/home/pierre/wrk/browser/src/browser/page.zig:261:26: 0x31884cf in wait (lightpanda)
        return self._wait(wait_ms) catch |err| {
                         ^
/home/pierre/wrk/browser/src/browser/session.zig:173:29: 0x311e8a3 in wait (lightpanda)
            return page.wait(wait_ms);
                            ^
/home/pierre/wrk/browser/src/main.zig:171:29: 0x311cf86 in run (lightpanda)
            _ = session.wait(5000); // 5 seconds
                            ^
/home/pierre/wrk/browser/src/main.zig:46:8: 0x311e9c3 in main (lightpanda)
    run(alloc) catch |err| {
       ^
/usr/local/zig-0.15.1/lib/std/start.zig:627:37: 0x311f19d in main (lightpanda)
            const result = root.main() catch |err| {
                                    ^
../sysdeps/nptl/libc_start_call_main.h:58:16: 0x7ca50cc2a1c9 in __libc_start_call_main (../sysdeps/x86/libc-start.c)
../csu/libc-start.c:360:3: 0x7ca50cc2a28a in __libc_start_main_impl (../sysdeps/x86/libc-start.c)
???:?:?: 0x28ab024 in ??? (???)
run
+- run exe lightpanda failure
error: the following command terminated unexpectedly:
./.zig-cache/o/af9cecdc1ad11116d447697f4a9bef27/lightpanda fetch --dump --with_base --noscript "https://duckduckgo.com/?t=ffab"

Build Summary: 3/5 steps succeeded; 1 failed
run transitive failure
+- run exe lightpanda failure

error: the following build command failed with exit code 1:
.zig-cache/o/6132766e5bbbf67cf721c87238716a4b/build /usr/local/zig-0.15.1/zig /usr/local/zig-0.15.1/lib /home/pierre/wrk/browser .zig-cache /home/pierre/.cache/zig --seed 0x168208af -Z9c17a8a286bc9774 run -- fetch --dump --with_base --noscript https://duckduckgo.com/?t=ffab

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions