Matthew Hodgson
Matthew Hodgson
So it crashed again last night (at 03:22:35), but it didn't dump a core (despite following @justkwin's instructions at https://developer.apple.com/forums/thread/694233). However, did get another datapoint simply from having run Electron...
So i can get naive core dumps okay following Apple's instructions: ``` matthew@shadowfax ~ % cat crash.c #include int main() { char * c = 0; printf("%c", *c); return(0); }...
So it looks like the reason the core dumps failed for the renderer process is that i failed to set the entitlements correctly: ``` matthew@shadowfax MacOS % codesign -s -...
Having poked further at `codesign` it turns out it barfed because the `tmp.entitlements` file was in the cwd - the "code object is not signed at all" was referring to...
(of course, having done this, it didn't crash overnight; v8 heap is 700MB in the morning)
good news - it crashed overnight (2022-05-13 02:48:28.7125 +0100). bad news: it still didn't dump core. Perhaps the rlimits got reset on the child process, or perhaps there's something daft...
Testing with a new crash test jig (infinite loop), signed with the same entitlements as used on the renderer process, it dumps core as expected when killed with signal 5:...
Right, off we go: ``` matthew@shadowfax ~ % csrutil status System Integrity Protection status: disabled. % ps axuw | fgrep -i '(renderer)' | grep -i nightly matthew 6517 263.9 1.9...
So i tried with llnode (`brew install llnode`, and then `plugin load /opt/homebrew/opt/llnode/llnode.dylib` on lldb run), but `v8 bt` doesn't give any different info to a normal `bt`, even when...
Just in case I can't attach the v8 debugger successfully (because it's busy tightlooping and OOMing to death), i had a quick look around the stacks of the backtrace above,...