Search code examples
node.jsprofilingv8

What does "Code move event for unknown code" mean when processing node.js profiling?


In node (v10.15.3), I've been profiling with node --prof <script> then summarizing the output with node --prof-process <output>. The resulting summary has a lot of unaccounted for ticks, which might connect to the slew of errors when running that second step, similar to the following:

...
Code move event for unknown code: 0x3663777f8b98
Code move event for unknown code: 0x3663777f9018
Code move event for unknown code: 0x3663777f9790
Code move event for unknown code: 0x36635f5fb5a8
Code move event for unknown code: 0x3663777f9b78
Code move event for unknown code: 0x3663777f9d00
Code move event for unknown code: 0x3663777fa150
Code move event for unknown code: 0x3663777fa7f8
Code move event for unknown code: 0x36635f5fe630

What does this "Code move event for unknown code" error signify? Is there a remedy to this that would give me more details in my profiling investigation?


Solution

  • Found the root cause. In my case, it was because for MacOS, the symbols are processed through c++filt and nm. The latter was not working properly because:

    » nm --version                                                                                                                                           
    Agreeing to the Xcode/iOS license requires admin privileges, please run “sudo xcodebuild -license” and then retry this command.
    

    After running this command to accept the license, the symbols resolved correctly.