Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update mdb_v8 to support V8 4.4.x, and possibly 4.5.x #23

Closed
misterdjules opened this issue Sep 4, 2015 · 1 comment
Closed

update mdb_v8 to support V8 4.4.x, and possibly 4.5.x #23

misterdjules opened this issue Sep 4, 2015 · 1 comment

Comments

@misterdjules
Copy link
Contributor

nodejs/node upgraded V8 to 4.4.63.30 in the 4.x branch, and to V8 4.5.x in the master branch.

mdb_v8 does not support these new V8 versions correctly:

$ node --version
v5.0.0-pre
$ node -e 'setTimeout(function foo() { process.abort(); }, 10);'
Abort (core dumped)
$ mdb /var/cores/core.node.71508 
Loading modules: [ libumem.so.1 libc.so.1 ld.so.1 ]
> ::load v8
V8 version: 4.5.103.30
mdb: failed to read "v8dbg_AsciiStringTag": unknown symbol name
mdb: couldn't find class "Map", field "constructor"
mdb: failed to autoconfigure from target; commands may have incorrect results!
C++ symbol demangling enabled
> ::jsstack
native: libc.so.1`_lwp_kill+0xa
native: libc.so.1`raise+0x20
native: libc.so.1`abort+0x98
        (1 internal frame elided)
native: v8::internal::FunctionCallbackArguments::Call+0x98
native: _ZN2v88internalL19HandleApiCallHelperILb0EEENS0_11MaybeHandleINS...
native: _ZN2v88internalL21Builtin_HandleApiCallEiPPNS0_6ObjectEPNS0_7Iso...
        (1 internal frame elided)
js:     ?o
js:     ??????t
        (1 internal frame elided)
        (1 internal frame elided)
native: v8::internal::Execution::Call+0x107
native: v8::Function::Call+0xff
native: v8::Function::Call+0x41
native: node::AsyncWrap::MakeCallback+0x10e
native: node::TimerWrap::OnTimeout+0x96
native: uv__run_timers+0x7d
native: uv_run+0x35a
native: node::Start+0x528
native: _start+0x6c
> 

I have a set of changes ready that fix these issues, and so far all tests pass for 64bits and 32bits builds. I will submit a PR with these changes shortly.

It's not clear to me yet with which V8 version node 4.x LTS will ship, even though it seems likely that it'll ship with V8 4.5.x. From my tests, the fixes needed to make mdb_v8 work with V8 4.4.x are sufficient to make it work with V8 4.5.x (all tests pass).

misterdjules pushed a commit to misterdjules/mdb_v8 that referenced this issue Sep 4, 2015
misterdjules pushed a commit to misterdjules/mdb_v8 that referenced this issue Sep 4, 2015
misterdjules added a commit to misterdjules/mdb_v8 that referenced this issue Sep 4, 2015
misterdjules pushed a commit to misterdjules/mdb_v8 that referenced this issue Sep 8, 2015
misterdjules added a commit to misterdjules/mdb_v8 that referenced this issue Sep 8, 2015
misterdjules added a commit to misterdjules/mdb_v8 that referenced this issue Sep 8, 2015
misterdjules pushed a commit to misterdjules/mdb_v8 that referenced this issue Sep 8, 2015
misterdjules added a commit to misterdjules/mdb_v8 that referenced this issue Sep 8, 2015
misterdjules pushed a commit to misterdjules/mdb_v8 that referenced this issue Sep 8, 2015
misterdjules added a commit to misterdjules/mdb_v8 that referenced this issue Sep 9, 2015
Hardcode handling of V8_SCOPEINFO_IDX_FIRST_VARS' fallback value for
different versions of V8.
Do not rely on V8's metadata for getting
V8_SCOPEINFO_OFFSET_STACK_LOCALS' value, use V8_CONSTANT_FALLBACK
instead.
misterdjules pushed a commit to misterdjules/mdb_v8 that referenced this issue Sep 9, 2015
Hardcode handling of V8_SCOPEINFO_IDX_FIRST_VARS' fallback value for
different versions of V8.
Do not rely on V8's metadata for getting
V8_SCOPEINFO_OFFSET_STACK_LOCALS' value, use V8_CONSTANT_FALLBACK
instead.
misterdjules pushed a commit to misterdjules/mdb_v8 that referenced this issue Sep 9, 2015
Hardcode handling of V8_SCOPEINFO_IDX_FIRST_VARS' fallback value for
different versions of V8.
Do not rely on V8's metadata for getting
V8_SCOPEINFO_OFFSET_STACK_LOCALS' value, use V8_CONSTANT_FALLBACK
instead.
misterdjules pushed a commit to misterdjules/mdb_v8 that referenced this issue Sep 9, 2015
Hardcode handling of V8_SCOPEINFO_IDX_FIRST_VARS' fallback value for
different versions of V8.
Do not rely on V8's metadata for getting
V8_SCOPEINFO_OFFSET_STACK_LOCALS' value, use V8_CONSTANT_FALLBACK
instead.
misterdjules pushed a commit to misterdjules/mdb_v8 that referenced this issue Sep 9, 2015
Hardcode handling of V8_SCOPEINFO_IDX_FIRST_VARS' fallback value for
different versions of V8.
Do not rely on V8's metadata for getting
V8_SCOPEINFO_OFFSET_STACK_LOCALS' value, use V8_CONSTANT_FALLBACK
instead.
misterdjules pushed a commit to misterdjules/mdb_v8 that referenced this issue Sep 9, 2015
@misterdjules
Copy link
Contributor Author

Landed as 5a189dd, but there are still significant issues that need to be fixed to make mdb_v8 usable with V8 4.5.x and node v4.x. See #32 for more details.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants