Repository navigation
node --prof-process does not work on node 8.x #22825
Description
Activity
At a guess, I suspect we need to backport #19285.
Reacted by Anna HenningsenThe commit applies cleanly, so I’ve pushed it to v8.x-staging (2ae98ce)
On a local Linux system I can recreate the issue described with a built from source
v8.12.0using the isolate logs in the OP. Interestingly alltick-processortests pass though, which suggests a gap in our testing (althoughtick-processoris in the ignored suitesso I'm not even sure when the last time it was run onLines 1539 to 1552 in 1519657
# these suites represent special cases that should not be run as part of the # default JavaScript test-run, e.g., internet/ requires a network connection, # addons/ requires compilation. IGNORED_SUITES = [ 'addons', 'addons-napi', 'doctool', 'gc', 'internet', 'pummel', 'test-known-issues', 'tick-processor', 'timers' ] v8.x).With the current
v8.x-staging(i.e. with 2ae98ce) the provided isolate logs are processed with errors (which is whyprintErrwas being called) but does not hang.I was able to workaround this in 0x by filtering out extremely long lines: davidmarkclements/0x#172.
I finally got around to installing 8.12.0 and I still get this issue. What 8.x is this fixed in, that this issue got closed?
evalmachine.:2770
printErr(str);
^ReferenceError: printErr is not defined
at TickProcessor.printError (evalmachine.:2770:3)
at TickProcessor.LogReader.processLog_ (evalmachine.:2522:12)
at TickProcessor.LogReader.processLogLine (evalmachine.:2405:10)
at TickProcessor.processLogFile (evalmachine.:2798:10)
at evalmachine.:3980:15
at internal/v8_prof_processor.js:41:28
at NativeModule.compile (bootstrap_node.js:613:7)
at Function.NativeModule.require (bootstrap_node.js:558:18)
at startup (bootstrap_node.js:150:20)
at bootstrap_node.js:625:3
Processing file isolate-0x103000000-v8.log
evalmachine.:2770
printErr(str);
^ReferenceError: printErr is not defined
at TickProcessor.printError (evalmachine.:2770:3)
at TickProcessor.LogReader.processLog_ (evalmachine.:2522:12)
at TickProcessor.LogReader.processLogLine (evalmachine.:2405:10)
at TickProcessor.processLogFile (evalmachine.:2798:10)
at evalmachine.:3980:15
at internal/v8_prof_processor.js:41:28
at NativeModule.compile (bootstrap_node.js:613:7)
at Function.NativeModule.require (bootstrap_node.js:558:18)
at startup (bootstrap_node.js:150:20)
at bootstrap_node.js:625:3
Processing file isolate-0x103800000-v8.log
evalmachine.:2770
printErr(str);
^ReferenceError: printErr is not defined
at TickProcessor.printError (evalmachine.:2770:3)
at TickProcessor.LogReader.processLog_ (evalmachine.:2522:12)
at TickProcessor.LogReader.processLogLine (evalmachine.:2405:10)
at TickProcessor.processLogFile (evalmachine.:2798:10)
at evalmachine.:3980:15
at internal/v8_prof_processor.js:41:28
at NativeModule.compile (bootstrap_node.js:613:7)
at Function.NativeModule.require (bootstrap_node.js:558:18)
at startup (bootstrap_node.js:150:20)
at bootstrap_node.js:625:3@joseph-jja This issue isn't closed yet. The fix has gone into the
v8.x-stagingbranch but is not in a release.cc @nodejs/lts
@richardlau ok, your comment with the red closed confused me :)
Do we know when this will be released? And do we have an alternative until then?
@nodejs/lts when do you think a new patch release of 8 could be issued?
+1 on a fix for this please
I have found that the files produced bynode --profon 8.12 can be processed under node 11, so that's a possible workaround if testing is required (and both versions are available to the person testing?)Reacted by JoeReacted by Ollie ReadyI'm also affected by this issue. Thanks for the workaround, @darknz!
This might be fixed in later 8.x versions?
I wan't able to process a v8 log in 8.11 but was able to in 8.14? Maybe it was just a fluke, idk.
8.13.0 contains the backported fix for the
ReferenceError: printErr is not definederror.Ok, seems like this has been fixed.
node 8.11.x
mac 10.11.6
uname -a => Darwin FSCAM1VFG8WM 15.6.0 Darwin Kernel Version 15.6.0: Tue Jan 9 20:12:05 PST 2018; root:xnu-3248.73.5~1/RELEASE_X86_64 x86_64
Run your app with node -prof and it generates the isolate* log file(s)
Then run node --prof-process and it either hangs ( 8.11.x ) or spits out the error below (8.12.rc-x)
ReferenceError: printErr is not defined
at TickProcessor.printError (evalmachine.:2770:3)
at TickProcessor.LogReader.processLog_ (evalmachine.:2522:12)
at TickProcessor.LogReader.processLogLine (evalmachine.:2405:10)
at TickProcessor.processLogFile (evalmachine.:2798:10)
at evalmachine.:3980:15
at internal/v8_prof_processor.js:41:28
at NativeModule.compile (bootstrap_node.js:613:7)
at Function.NativeModule.require (bootstrap_node.js:558:18)
at startup (bootstrap_node.js:150:20)
at bootstrap_node.js:625:3
try running node prof process with node 8.11.3 or later on these files. It just hangs after spitting out a bunch of text about code mode events for unknown.
isolate-0x102804600-v8.log
isolate-0x103800000-v8.log