In my app I use a RichEdit control (RICHED20.DLL
) with syntax highlighting implemented on top of it. Quite a lot of code was necessary to make this work correctly. Internally, everything is stored as RTF and reformatted on the fly. This code has been working stable for over 10 years now in lots of different environments.
However, recently one user has managed to make my app freeze. He even managed to come up with a description of steps that can be used to clearly reproduce the freeze. Thus, I was able to debug it with WinDbg and got the report that it hangs in CTxtEdit::TxSendMessage
. This is what WinDbg says when I break the program as soon as it hangs and do a !analyze -hang
in WinDbg:
Probably caused by : RICHED20.DLL ( riched20!CTxtEdit::TxSendMessage+132e )
So does this look like a bug in the RichEdit control? Is there anything else I could debug here? I don't really know where to look because the hang is apparently not in my app. I've already checked and made sure that neither the WndProc
of my RichEdit control nor the WndProc
of the top-level receive any messages during the hang. It really seems to hang in RICHED20.DLL
so to me it looks like a RichEdit control bug.
Could that be the case or what else could I try to debug the issue further? I'm out of ideas here.