This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: XWin Server starts but terminates shortly after


On 17/11/2015 15:13, Jon Turney wrote:
On 13/11/2015 15:13, Thomas Schweikle wrote:
Adding "-nowgl" does the trick. XWin is running again.

It seems that this problem manifests itself when running on a Windows
guest under VMWare, with their SVGA driver.

This seems to be caused by a c0000374 (STATUS_HEAP_CORRUPTION) exception
raised whilst loading the VMWare OpenGL driver.

This is easy to reduce to just the code that XWin uses to probe the capabilities of the native OpenGL renderer (attached).

$ gcc -Wall xwin-gl-probe.c -lgdi32 -lopengl32 -o xwin-gl-probe.exe

$ strace ./xwin-gl-probe.exe
[...]
--- Process 2356, exception c0000374 at 0000000077B64102
[...]

If I add a checking with HeapValidate() before the crashing call to ChoosePixelFormat(), that doesn't report any problems, so that seems to rule out the heap corruption being introduced by this code.

Compiling the same code with VS 2013 works without problems on my test VM (VMWare Player 12.0.1 + W7 x64 + VMWare SVGA driver)

This doesn't really get me any further forward though. Does this crash loading vm3dgl64 because of a bug in vm3dgl64 which is only exposed in Cygwin? or because the Cygwin environment doesn't satisfy some requirement of vm3dgl64 that it should?

This isn't the first report of a crash in this probe with various graphics drivers (although typically the exception is c0000005, which we can catch and fallback to software rendering), so while it's tempting to assume this is a problem in the graphics driver, it's possible that something systematic is wrong.

--
Jon TURNEY
Volunteer Cygwin/X X Server maintainer

Attachment: xwin-gl-probe.c
Description: Text document

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]