pmdk
pmdk copied to clipboard
pmreorder treats c++ operators as markers
ISSUE: pmreorder treats c++ operators as markers
Environment Information
- PMDK package version(s): 1.8, master
Please provide a reproduction of the bug:
Use pmdk version from https://github.com/igchor/pmdk/tree/pmreorder_problem cd src/test/pmreorder_simple make TEST0
How often bug is revealed: always
Actual behavior:
Incorrect marker format =(three_field&, int) (pmreorder_simple.cpp:34), suffix is missing.
Expected behavior:
No error
Details
The problem is that pmreorded assumes that function names cannot have |
character.
Additional information about Priority and Help Requested:
Are you willing to submit a pull request with a proposed change? (Yes, No)
Requested priority: (Showstopper, High, Medium, Low)
Only operators that have "|" in the name are treated like that - "|" is an event separator in pmemcheck output and nobody has thought "|" could be part of a stacktrace.
This needs to be fixed on both sides. pmemcheck needs to start escaping "|" and pmreorder needs to understand escaping.
As a temporary workaround, before giving pmemcheck output to pmreorder, you can replace "operator|=" by something else.
@igchor is this fixed? if so, please close the issue.
I don't think it;s fixed - we only have a workaround on pmemkv side.
This improvement is not considered vital at the moment. So, we do not have the resources to fulfil your request. Sorry.