Skip to content

Conversation

@krichprollsch
Copy link
Member

Backports #1171

@krichprollsch
Copy link
Member Author

I have a assert with the cdp scenario.

/usr/local/zig-0.15.2/lib/std/debug.zig:559:14: 0x31082cd in assert (lightpanda)
    if (!ok) unreachable; // assertion failure
             ^
/home/pierre/wrk/browser-review/src/browser/js/ExecutionWorld.zig:76:21: 0x31c4901 in createContext (lightpanda)
    std.debug.assert(self.context == null);
                    ^
/home/pierre/wrk/browser-review/src/browser/Page.zig:227:55: 0x31d3652 in reset__anon_41078 (lightpanda)
    self.js = try self._session.executor.createContext(self, true, JS.GlobalMissingCallback.init(&self._polyfill_loader));
                                                      ^
/home/pierre/wrk/browser-review/src/browser/Page.zig:270:23: 0x31e18eb in navigate (lightpanda)
        try self.reset(false);
                      ^
/home/pierre/wrk/browser-review/src/cdp/domains/page.zig:183:22: 0x323d910 in navigate__anon_51372 (lightpanda)
    try page.navigate(params.url, .{
                     ^
/home/pierre/wrk/browser-review/src/cdp/domains/page.zig:43:37: 0x323dc3d in processMessage__anon_49534 (lightpanda)
        .navigate => return navigate(cmd),
                                    ^
/home/pierre/wrk/browser-review/src/cdp/cdp.zig:201:93: 0x323e53a in dispatchCommand__anon_49444 (lightpanda)
                    asUint(u32, "Page") => return @import("domains/page.zig").processMessage(command),
                                                                                            ^
/home/pierre/wrk/browser-review/src/cdp/cdp.zig:163:32: 0x324078e in dispatch__anon_49250 (lightpanda)
                dispatchCommand(&command, input.method) catch |err| {
                               ^
/home/pierre/wrk/browser-review/src/cdp/cdp.zig:111:33: 0x3240be7 in processMessage (lightpanda)
            return self.dispatch(arena.allocator(), self, msg);
                                ^
/home/pierre/wrk/browser-review/src/cdp/cdp.zig:104:32: 0x31b06a7 in handleMessage (lightpanda)
            self.processMessage(msg) catch return false;
                               ^
/home/pierre/wrk/browser-review/src/Server.zig:459:56: 0x31b057d in processWebsocketMessage (lightpanda)
                .text, .binary => if (cdp.handleMessage(msg.data) == false) {
                                                       ^
/home/pierre/wrk/browser-review/src/Server.zig:253:63: 0x31c03b1 in processData (lightpanda)
            .cdp => |*cdp| return self.processWebsocketMessage(cdp),
                                                              ^
/home/pierre/wrk/browser-review/src/Server.zig:242:32: 0x31c057f in readSocket (lightpanda)
        return self.processData(n) catch false;
                               ^
/home/pierre/wrk/browser-review/src/Server.zig:151:42: 0x31c0aa5 in readLoop (lightpanda)
                if (try client.readSocket() == false) {
                                         ^
/home/pierre/wrk/browser-review/src/Server.zig:109:22: 0x31c176c in run (lightpanda)
        self.readLoop(socket, timeout_ms) catch |err| {
                     ^
/home/pierre/wrk/browser-review/src/main.zig:116:23: 0x32123e3 in run (lightpanda)
            server.run(address, timeout) catch |err| {
                      ^
/home/pierre/wrk/browser-review/src/main.zig:45:8: 0x3213b36 in main (lightpanda)
    run(allocator, main_arena.allocator()) catch |err| {
       ^
/usr/local/zig-0.15.2/lib/std/start.zig:627:37: 0x32142fd in main (lightpanda)
            const result = root.main() catch |err| {

Support url parameter on createTarget. we now navigate on createTarget
to dispatch events correctly, even in case of about:blank
@krichprollsch krichprollsch force-pushed the cdp-lifecycle-backport branch from 09eda3b to 3769715 Compare December 9, 2025 11:25
@krichprollsch
Copy link
Member Author

I changed Page.reset in 3769715 to handle the case.
@karlseguin if you want to review them 🙏

@karlseguin
Copy link
Collaborator

page.reset has always seemed fragile. I'd like to rework that, but for now, this change seems fine. Besides more memory, I can't think of any real harm in keeping the v8 context around for longer.

👍

@krichprollsch krichprollsch merged commit a7e0110 into zigdom Dec 9, 2025
9 of 10 checks passed
@krichprollsch krichprollsch deleted the cdp-lifecycle-backport branch December 9, 2025 12:35
@github-actions github-actions bot locked and limited conversation to collaborators Dec 9, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants