V3d_View::Remove: 100% CPU usage on SiS 651

The application I'm working on has a really undesired effect on close in a PC with a SiS 651 chipset. Backtrace is as follows:

sisgl.dll!6914cf06()
[Frames below may be incorrect and/or missing, no symbols loaded for sisgl.dll]
sisgl.dll!6914ce84()
sisgl.dll!690cfc0e()
sisgl.dll!6908a788()
sisgl.dll!69018b5c()
sisgl.dll!690090d3()
sisgl.dll!6900b887()
opengl32.dll!5f17bb73()
> TKOpenGl.dll!TxglDestroyWindow(char * disp=0x03b691d4, HWND__ * win=0x001302a2) Line 961 C
TKOpenGl.dll!call_subr_close_ws(CALL_DEF_VIEW * aview=0x0012f3b4) Line 752 + 0x10 bytes C
TKOpenGl.dll!call_togl_removeview(CALL_DEF_VIEW * aview=0x0012f3b4) Line 15 + 0x9 bytes C
TKOpenGl.dll!OpenGl_GraphicDriver::RemoveView(const CALL_DEF_VIEW & ACView={...}) Line 305 + 0xc bytes C++
TKV3d.dll!Visual3d_View::Remove() Line 589 C++
TKV3d.dll!V3d_View::Remove() Line 534 C++

The offending line being:

wglDeleteContext ( hte -> hGLRC );

It doesn't happen in another PC using an Intel 915G chipset.

I'm using the latest drivers in both PCs.

If I remove the call to Remove, it hangs later, but it still hangs on exit.

Any ideas?

Paul Jimenez's picture

I forgot to add: it happens when there is more than 1 view.