-
Notifications
You must be signed in to change notification settings - Fork 5
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
add reverse converter #224
Conversation
related: ShiftLeftSecurity/overflowdb#439 |
readNode(legacyIdToNewId, stringInterner, node.id(), bytes, byLabel, storage) | ||
} catch { | ||
case exc: Throwable => | ||
println(s"fuck ${node.seq()} / ${node.nodeKind} / ${node.label()} / ${node.id()}") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i guess this is part of your "debug output" that will be removed / censored before merge? :)
Seems to work!
Then converted with this PR to overflowdb:
Then loaded into joern master (to verify that it'll fail):
Then again on joern master with ShiftLeftSecurity/overflowdb#439 applied:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
after you removed all swear words
Swear words censored, added a debug option to dump the manifest (very useful if something goes wrong). |
This does three things:
When testing, note that we don't recreate the odb indices on conversion. Odb notices that, and then eagerly deserializes all nodes. If any nodes have latent schema violations, then this will immediately throw on cpg loading, as opposed to the behavior on loading a "real" cpg. This came out because I used a very old ocular version for testing, and CONTAINS edges in IMPLICIT_CALL nodes are new ;)
This still contains some debug code that I'll remove before merging.