I am currently running a test similar to your test. It does a lot of writes, reads, serial polls, and takes a session on and off. I am running it against the SimpleDevice that comes with NI-Device 1.1 running on Windows NT4. So far, I have been unable to reproduce any crash (I have run it for about 30 minutes).
There are two possibilities.
1) The crash is actually in your application. When you do serial polls, you may have a race condition that causes this.
2) I have not run it long enough or my test does things differently.
To attempt to narrow down problem 1, you can try to run your tests against the Example that is provided with NI-Device. If you have a debug version of your application, that could help as well. Also, if you have a
good debugger, such as SoftICE, you can get a stack trace once the crash occurs to see if you can isolate which component is causing the crash.
To narrow down problem 2, I will continue testing to see if continuing to run the test causes the crash to occur. I will also create a new test that runs the commands a bit tighter in a loop to more simulate your timing conditions.
One other thing to note. We now recommend that you no longer use the StatusByteRequestedCallback and instead use the UpdateStatusByte method. This is because Serial Polls have unique timing characteristics and delaying too long in the callback can cause the timing to be missed and bus errors to be received. This is actually more apparent on other buses, but is applicable to GPIB as well. In some cases (such as creating a translator application that needs to propegate the status request across the bus) the callback is necessary. However, if it is not necessary, we recommend using the other method. Does this ma
ke sense? I can clarify it more if necessary.