cobalt icon indicating copy to clipboard operation
cobalt copied to clipboard

Update V8 from Chromium 90.0.4430.218

Open dahlstrom-g opened this issue 1 year ago • 3 comments

b/156155426

dahlstrom-g avatar Feb 05 '24 15:02 dahlstrom-g

Apparently, this change breaks debugger_breakpoint in WebDebuggerTest:

Caught signal: SIGSEGV (11)
	<unknown> [0x7f5f8fe48730]
	v8::internal::Isolate::main_thread_local_heap() [0x557d8e4dd31b]
	v8::internal::interpreter::BytecodeArrayAccessor::BytecodeArrayAccessor() [0x557d8e8a307f]
	v8::internal::BreakIterator::SetDebugBreak() [0x557d8e3b4017]
	v8::internal::Debug::ApplyBreakPoints() [0x557d8e3bc91a]
	v8::internal::Debug::SetBreakpoint() [0x557d8e3bbc52]

jellefoks avatar Feb 05 '24 18:02 jellefoks

Apparently, this change breaks debugger_breakpoint in WebDebuggerTest:

Yes. This morning when asking for help with that I mentioned these related changes: https://crrev.com/c/2509593 https://crrev.com/c/2543937 https://crrev.com/c/2546682 https://crrev.com/c/2543399

dahlstrom-g avatar Feb 05 '24 20:02 dahlstrom-g

ASAN is enabled on the modular build https://github.com/youtube/cobalt/actions/runs/7786435421/job/21231885101?pr=2377

It's not a null pointer, but a 'nearly null' address, so probably the object of a class that holds the member being dereferenced (or inception) is nullptr. Maybe we are missing a v8 specific initialization somewhere for the thread that this call comes from.

==5273==ERROR: AddressSanitizer: SEGV on unknown address 0x00000000d8b0 (pc 0x7f7a9f80469b bp 0x7f7a80e47a50 sp 0x7f7a80e47a50 T43)
==5273==The signal is caused by a READ memory access.
    #0 0x7f7a9f80469b in v8::internal::Isolate::main_thread_local_heap() (/__w/cobalt/cobalt/out/linux-x64x11_devel/libcobalt.so+0x130a69b)
    #1 0x7f7a9fb6065e in v8::internal::interpreter::BytecodeArrayAccessor::BytecodeArrayAccessor(v8::internal::Handle<v8::internal::BytecodeArray>, int) (/__w/cobalt/cobalt/out/linux-x64x11_devel/libcobalt.so+0x166665e)
    #2 0x7f7a9f711856 in v8::internal::BreakIterator::SetDebugBreak() (/__w/cobalt/cobalt/out/linux-x64x11_devel/libcobalt.so+0x1217856)
    #3 0x7f7a9f71a279 in v8::internal::Debug::ApplyBreakPoints(v8::internal::Handle<v8::internal::DebugInfo>) (/__w/cobalt/cobalt/out/linux-x64x11_devel/libcobalt.so+0x1220279)
    #4 0x7f7a9f7195b1 in v8::internal::Debug::SetBreakpoint(v8::internal::Handle<v8::internal::SharedFunctionInfo>, v8::internal::Handle<v8::internal::BreakPoint>, int*) (/__w/cobalt/cobalt/out/linux-x64x11_devel/libcobalt.so+0x121f5b1)
    #5 0x7f7a9f71a662 in v8::internal::Debug::SetBreakPointForScript(v8::internal::Handle<v8::internal::Script>, v8::internal::Handle<v8::internal::String>, int*, int*) (/__w/cobalt/cobalt/out/linux-x64x11_devel/libcobalt.so+0x1220662)
    

jellefoks avatar Feb 06 '24 22:02 jellefoks