Battling the Heisenbug – Part 1

Last night Rick ( a colleague of mine from IceTV ) and I were working on adding the Topfield TF5000PVRt Terestrial Digital PVR to our unified development environment.

After much stuffing around due to some serious oddities in the libraries provided by Topfield, like standard C functions in the header files that are not included in the library making it hard to define your own replacement versions !!!, we ended up discovering a Heisenbug.

The symptoms are that our test program would only run successfully if another completely unrelated application was also running on the PVR!

That’s some freaky shit….

Initially we thought it might be the fact that the other app is ~ 64Kb in size and is pushing the test app into another section of memory, to test this we tried creating a bogus app that did nothing except allocate 64Kb of memory into a buffer.

We ran this app INSTEAD of the one that resulted in a working system, unfortunately this didn’t result in a working test program so the answer is something else.

I intend to dig into the problem tonight and see if I can resolve it.

Watch this space …..

This entry was posted in Technology. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.