Skip to content

HTML parse crashes with a specific document #153

Closed
@krichprollsch

Description

@krichprollsch
<html
	class="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa">
	<head>
		<meta charset="UTF-8">
	</head>
</html>
$ zig build -Dengine=v8 get -- http://127.0.0.1:1234
steps [7/13] zig build-exe browsercore-get Debug native... LLD Link... 

steps [10/13] install browsercore-wpt... debug(browser): starting GET http://127.0.0.1:1234
info(browser): GET http://127.0.0.1:1234/ http.Status.ok
debug(browser): parse html
thread 39593 panic: reached unreachable code
/home/pierre/wrk/browsercore/src/netsurf.zig:1392:17: 0xb23610 in parserErr (browsercore-get)
        else => unreachable,
                ^
/home/pierre/wrk/browsercore/src/netsurf.zig:1427:18: 0xb23426 in documentHTMLParse__anon_142656 (browsercore-get)
        parserErr(err) catch |e| {
                 ^
/home/pierre/wrk/browsercore/src/netsurf.zig:1400:33: 0xb23aaf in documentHTMLParseFromStr (browsercore-get)
    return try documentHTMLParse(fbs.reader());
                                ^
/home/pierre/wrk/browsercore/src/browser/browser.zig:211:61: 0xb2961e in loadHTMLDoc (browsercore-get)
        const html_doc = try parser.documentHTMLParseFromStr(result.body.?);
                                                            ^
/home/pierre/wrk/browsercore/src/browser/browser.zig:202:33: 0xb308ef in navigate (browsercore-get)
            try self.loadHTMLDoc(&result);
                                ^
/home/pierre/wrk/browsercore/src/main_get.zig:64:22: 0xb345a0 in main (browsercore-get)
    try page.navigate(url);
                     ^
/usr/local/zig-0.12.0-dev.1773+8a8fd47d2/lib/std/start.zig:585:37: 0xb34fb6 in main (browsercore-get)
            const result = root.main() catch |err| {
                                    ^
???:?:?: 0x7f7651e0f6c9 in ??? (libc.so.6)
Unwind information for `libc.so.6:0x7f7651e0f6c9` was not available, trace may be incomplete

run browsercore-get: error: the following command terminated unexpectedly:
/home/pierre/wrk/browsercore/zig-out/bin/browsercore-get http://127.0.0.1:1234 
Build Summary: 11/13 steps succeeded; 1 failed (disable with --summary none)
get transitive failure
└─ run browsercore-get failure
error: the following build command failed with exit code 1:
/home/pierre/wrk/browsercore/zig-cache/o/12de510c38c92406bae7a9ba4d6c1b0a/build /usr/local/zig-0.12.0-dev.1773+8a8fd47d2/zig /home/pierre/wrk/browsercore /home/pierre/wrk/browsercore/zig-cache /home/pierre/.cache/zig --seed 0xb0a074f1 -Dengine=v8 get -- http://127.0.0.1:1234

Metadata

Metadata

Assignees

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