문제

We're trying to investigate memory corruption on an application and the exact issue we're seeing can be seen in the live memory of the application (i.e. debug code which has been added displays the corrupted information), however when we look through the core dumps which get taken at this point the data doesn't have the corruption.

From my rudimentary understanding of the core dump process this could be due to the OS flushing every buffer, finishing off partial writes and so on.

Can anyone go into detail on exactly what occurs and if there's anyway to determine what is causing the corruption?

mprotect() blocks all writes, not just non owning processes and this is data which has a lot of R/W access by our application (and is only have problems on new machines)

도움이 되었습니까?

해결책

Turned out to be RHEL4 and the Kernel it was running on, customer upgraded to RHEL5 with the latest Kernel and the problem vanished

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top