nodejs / llnode

An lldb plugin for Node.js and V8, which enables inspection of JavaScript states for insights into Node.js processes and their core dumps.
Other
1.15k stars 99 forks source link

ci: Failing node-14.x and node-15.x #375

Closed amdoku closed 2 years ago

amdoku commented 3 years ago

The inspect-scenario test is failing if the member hashmap is inspected with v8 inspect <address>. This is due to the removal of symbol class_JSArrayBufferView__buffer__Object

This was done in https://chromium-review.googlesource.com/c/v8/v8/+/1278014 and https://github.com/nodejs/node-v8/pull/84 - was this deliberate as JSArrayBufferView has been deprecated?

Testing with Node14.3.0:

(lldb) v8 inspect 0x61722ff3b1
[llnode][LoadConstant ../src/constants.cc:88] Failed to load constant prop_type_mask, default to -1
0x61722ff3b1:<Object: Class properties {
    .x=<Smi: 1>,
    .y=123.456000,
    .hashmap=0x61722ff511:<Object: Object>}>
(lldb) v8 inspect 0x61722ff511
[llnode][LoadConstant ../src/constants.cc:88] Failed to load constant jsarray_buffer_was_neutered_mask, default to -1
[llnode][LoadConstant ../src/constants.cc:88] Failed to load constant jsarray_buffer_was_neutered_shift, default to -1
[llnode][LoadConstant ../src/constants.cc:88] Failed to load constant class_JSArrayBufferView__buffer__Object, default to -1
error: The value 0x00000061722ffe8f is not a valid N6llnode2v813JSArrayBufferE | 0x000daa661c183100
(lldb) image lookup -r -s v8dbg_class_JSArrayBuffer
4 symbols match the regular expression 'v8dbg_class_JSArrayBuffer' in /home/cn/.nvm/versions/node/v14.13.0/bin/node:
        Address: node[0x000000000444a3a4] (node.PT_LOAD[1]..data + 45988)
        Summary: v8dbg_class_JSArrayBufferView__byte_offset__size_t        Address: node[0x000000000444a3b0] (node.PT_LOAD[1]..data + 46000)
        Summary: v8dbg_class_JSArrayBuffer__backing_store__uintptr_t        Address: node[0x000000000444a3ac] (node.PT_LOAD[1]..data + 45996)
        Summary: v8dbg_class_JSArrayBuffer__byte_length__size_t        Address: node[0x000000000444a3a8] (node.PT_LOAD[1]..data + 45992)
        Summary: v8dbg_class_JSArrayBufferView__byte_length__size_t

Testing with Node12.18.4:

(lldb) v8 inspect 0x270d82dc7049
[llnode][LoadConstant ../src/constants.cc:88] Failed to load constant prop_type_mask, default to -1
0x270d82dc7049:<Object: Class properties {
    .x=<Smi: 1>,
    .y=123.456000,
    .hashmap=0x270d82dc7151:<Object: Object>}>
(lldb) v8 inspect 0x270d82dc7151
[llnode][Failure ../src/error.cc:37] Couldn't get ScopeInfo
[llnode][LoadConstant ../src/constants.cc:88] Failed to load constant jsarray_buffer_was_neutered_mask, default to -1
[llnode][LoadConstant ../src/constants.cc:88] Failed to load constant jsarray_buffer_was_neutered_shift, default to -1
[llnode][GetBase /home/cn/repo/llnode/src/llv8-inl.h:683] ALOHA
[llnode][GetExternal /home/cn/repo/llnode/src/llv8-inl.h:668] OHALO
0x270d82dc7151:<Object: Object elements {
    [0]=0x117c03001b9:<null>,
    [4]=0x117c03004b1:<undefined>,
    [23]=0x270d82dccf71:<JSRegExp source=/regexp/>,
...
(lldb) image lookup -r -s v8dbg_class_JSArrayBuffer
5 symbols match the regular expression 'v8dbg_class_JSArrayBuffer' in /home/cn/.nvm/versions/node/v12.18.4/bin/node:
        Address: node[0x0000000002c8b4c0] (node.PT_LOAD[1]..data + 42176)
        Summary: v8dbg_class_JSArrayBufferView__byte_offset__size_t        Address: node[0x0000000002c8b4cc] (node.PT_LOAD[1]..data + 42188)
        Summary: v8dbg_class_JSArrayBuffer__backing_store__uintptr_t        Address: node[0x0000000002c8b4c8] (node.PT_LOAD[1]..data + 42184)
        Summary: v8dbg_class_JSArrayBuffer__byte_length__size_t        Address: node[0x0000000002c8b4c4] (node.PT_LOAD[1]..data + 42180)
        Summary: v8dbg_class_JSArrayBufferView__byte_length__size_t        Address: node[0x0000000002c8b594] (node.PT_LOAD[1]..data + 42388)
        Summary: v8dbg_class_JSArrayBufferView__buffer__Object
No9 commented 2 years ago

Fixed and Merged #398