Open mothran opened 9 years ago
Very nice find. This is exactly the type of bug I am expecting to find in ECFS. I have suspicions about the root cause actually, and I will test as soon as I can.
As far as the non-ecfs core file being marked as ET_NONE? fucking bizzare, did you run 'readelf -S' on it to see if it had section headers? If so, then it WAS still an ECFS file.
Talk to ya soon man
% readelf -S ./core.17854
There are no sections in this file.
I am damn sure its just a core file, but yeah weird. Even more weird is that I just reran it and it was back to CORE. Must have been something I missed.
I just verified in some of my own tests, there are inconsistencies with the stack, and possibly other segments as they are being written to disk. This happens in a particularly complicated part of the code base, but based on some previous issues I was having, I think I have some idea possibly as to what's happening. This may be a major pain in the ass, but worst case I should be able to get it fixed within a week or less. I'm doing some debugging and testing.
I was testing a few different possible crashes and I found a very interesting edge case:
compile:
Then running the binary with the ECFS x64 collector enabled I get the ecfs file, after flipping the core type to CORE and opening it in gdb:
At first I thought this was just a very messed up crash. But then I enabled the regular core pattern:
then opened the core file (weirdly this standard core file was marked NONE and had to use et_filp):
So it appears that the registers contain address that point to null and this means I am unable to unwind the stack in this case. Thanks.