LadybirdBrowser/ladybird

LibJS: Empty JS::Value crash on https://feber.se/

awesomekling opened this issue · 2 comments

To reproduce, open https://feber.se/

VERIFICATION FAILED: !is_empty() at /home/kling/src/ladybird/Userland/Libraries/LibJS/Runtime/Value.cpp:548
/home/kling/src/ladybird/Build/ladybird/libexec/../lib/liblagom-ak.so.0(ak_verification_failed+0xef) [0x7406eb397bcf]
/home/kling/src/ladybird/Build/ladybird/libexec/../lib/liblagom-js.so.0 JS::Value::to_object(JS::VM&) const 0x20b) [0x7406e96fb42b]
/home/kling/src/ladybird/Build/ladybird/libexec/../lib/liblagom-js.so.0(+0x278be5) [0x7406e9478be5]
/home/kling/src/ladybird/Build/ladybird/libexec/../lib/liblagom-js.so.0 JS::Bytecode::Interpreter::run_bytecode(unsigned long) 0xc945) [0x7406e945e845]
/home/kling/src/ladybird/Build/ladybird/libexec/../lib/liblagom-js.so.0 JS::Bytecode::Interpreter::run_executable(JS::Bytecode::Executable&, AK::Optional<unsigned long>, JS::Value) 0x1fd) [0x7406e9451c0d]
/home/kling/src/ladybird/Build/ladybird/libexec/../lib/liblagom-js.so.0 JS::GeneratorObject::execute(JS::VM&, JS::Completion const&) 0x163) [0x7406e9569a53]
/home/kling/src/ladybird/Build/ladybird/libexec/../lib/liblagom-js.so.0 JS::GeneratorObject::resume(JS::VM&, JS::Value, AK::Optional<AK::StringView> const&) 0x124) [0x7406e9569ee4]
/home/kling/src/ladybird/Build/ladybird/libexec/../lib/liblagom-js.so.0 JS::AsyncFunctionDriverWrapper::continue_async_execution(JS::VM&, JS::Value, bool, JS::AsyncFunctionDriverWrapper::IsInitialExecution) 0x44) [0x7406e951d8e4]
/home/kling/src/ladybird/Build/ladybird/libexec/../lib/liblagom-js.so.0(+0x31e3b8) [0x7406e951e3b8]
/home/kling/src/ladybird/Build/ladybird/libexec/../lib/liblagom-js.so.0(+0x3d698b) [0x7406e95d698b]
/home/kling/src/ladybird/Build/ladybird/libexec/../lib/liblagom-js.so.0 JS::NativeFunction::internal_call(JS::Value, AK::Span<JS::Value const>) 0x191) [0x7406e95d64e1]
tcl3 commented

This issue appears to have the same root cause as #207 in that reverting e6b1e54 also allows this site to load without crashing.

Excellent, thanks for bisecting it, Tim!
I have a fix, just need to make a test :)