Go Back   nV News Forums > Linux Support Forums > NVIDIA Linux

Newegg Daily Deals

Reply
 
Thread Tools
Old 11-19-09, 03:27 AM   #1
Khym Chanur
Registered User
 
Join Date: Nov 2009
Posts: 7
Default SDL crash in libGLcore.so after un-minimize

My SDL app was mostly working, except that it would frequently start up with a blank window, and the only way to get SDL to draw to it would be to minimize the window and then restore it, after which everything worked fine (the blankness was the only problem; it would respond to keystrokes just fine). But after a while, not only did the blank window start happening all the time, but un-minimizing the window would cause a crash in libGLcore.so. Restarting the X server got rid of the crashes happening all the time, but I can still duplicate the crash by repeatedly minimizing and restoring the window while the program is still in it's splash-screen.

The stack trace looks like:
Code:
#0  0xb6adf57f in ?? () from /usr/lib/libGLcore.so.1
#1  0xb5aeb008 in ?? ()
#2  0x09694eb8 in ?? ()
#3  0x00000000 in ?? ()
There are two threads, with the second being:

Code:
#0  0xffffe430 in __kernel_vsyscall ()
#1  0xb728b786 in nanosleep () from /lib/i686/libc.so.6
#2  0xb77271f3 in SDL_Delay (ms=1) at src/timer/unix/SDL_systimer.c:118
#3  0xb7727244 in RunTimer (unused=0x0) at src/timer/unix/SDL_systimer.c:203
#4  0xb76c5a61 in SDL_RunThread (data=0x9627cf0) at src/thread/SDL_thread.c:202
#5  0xb7723abb in RunThread (data=0x9627cf0)
	at src/thread/pthread/SDL_systhread.c:47
#6  0xb71e0885 in start_thread () from /lib/i686/libpthread.so.0
#7  0xb72cb57e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
Running my app in valgrind when the crash happens gives these memory errors:

Code:
==3092== Invalid read of size 4
==3092==	at 0x4F04425: ??? (in /usr/lib/libGLcore.so.190.42)
==3092==  Address 0x623cc78 is 1,952 bytes inside a block of size 3,032 free'd
==3092==	at 0x4024536: free (vg_replace_malloc.c:325)
==3092==	by 0x4223F9B: ??? (in /usr/lib/libGL.so.190.42)
==3092==	by 0x623C4FF: ???
==3092==
==3092== Invalid read of size 4
==3092==	at 0x4F0442B: ??? (in /usr/lib/libGLcore.so.190.42)
==3092==  Address 0x7 is not stack'd, malloc'd or (recently) free'd
The crashes happened in these places (a different place each time):
* 0x523eedd
* 0xb6a5a57f
* 0xb6c1157f
* 0xb6a9c57f
* 0xb6a6357f
* 0xb6adf57f

System/software:
* Mandriva 2010.0
* 2.6.31.5 Kernel
* 32 bit AMD Athlon 7550 Dual-Core Processor
* nvidia 190.42
* mesa 7.5.2-2
* libSDL1.2_0-1.2.13-13
* libSDL_image1.2_0-1.2.7-2
Khym Chanur is offline   Reply With Quote
Old 11-19-09, 10:58 AM   #2
AaronP
NVIDIA Corporation
 
AaronP's Avatar
 
Join Date: Mar 2005
Posts: 2,487
Default Re: SDL crash in libGLcore.so after un-minimize

Can you please generate and attach a bug report log file and a test application that reproduces the problem? Thanks!
AaronP is offline   Reply With Quote
Old 11-19-09, 06:19 PM   #3
Khym Chanur
Registered User
 
Join Date: Nov 2009
Posts: 7
Default Re: SDL crash in libGLcore.so after un-minimize

I'm not sure if I'll be able to make a test case, since I'm not at all familiar with SDL or OpenGL; the app is an Open Source project I work on which has both text-only and SDL versions, and I discovered the crash while trying out the SDL version.

I have attached the result of running nvidia-bug-report.sh, assuming that's what you mean by "bug report log file".
Attached Files
File Type: gz nvidia-bug-report.log.gz (61.7 KB, 106 views)
Khym Chanur is offline   Reply With Quote
Old 11-19-09, 07:52 PM   #4
AaronP
NVIDIA Corporation
 
AaronP's Avatar
 
Join Date: Mar 2005
Posts: 2,487
Default Re: SDL crash in libGLcore.so after un-minimize

Thanks. I don't see anything obviously wrong in your bug report file, so I'll need to reproduce the problem with your application to be able to help.
AaronP is offline   Reply With Quote
Old 11-20-09, 12:07 AM   #5
Khym Chanur
Registered User
 
Join Date: Nov 2009
Posts: 7
Default Re: SDL crash in libGLcore.so after un-minimize

It's available via git. Use these commands:

Code:
git clone git://crawl-ref.git.sourceforge.net/gitroot/crawl-ref/crawl-ref
cd crawl-ref/
git submodule update --init
cd crawl-ref/source
make TILES=1 NEEDS_PCRE=y MAKECMDGOALS=wizard
./crawl
Might also need gcc 4.4.1, if that contributes to causing the crash.

Also, I've found that the "starts with a blank window" problem, which is a prerequisite for crashing, doesn't happen unless you've rapidly switched back and forth a bunch of times between a suspended and un-suspended X server. On my Mandriva 2010.0 KDE desktop, this can be done by pressing Ctrl-Alt-F12 to suspend the X server and go to a text-console showing /var/log/*, and then pressing Ctrl-Alt-F7 to bring back the X server. Even after doing that, you might have to start the app two to four times before the window comes up blank (though it seems if I suspend/un-suspended the X server enough times it gets into a state where the app's window always comes up blank (or maybe that happens after the app has crashed enough times)). If you then re-start the X server the problem goes away.

The switching back-and-forth causes messages like this in /var/log/messages:

Code:
Nov 19 21:34:03 localhost acpid: client 8445[0:0] has disconnected
Nov 19 21:34:03 localhost acpid: client 8445[0:0] has disconnected
Nov 19 21:34:03 localhost acpid: client connected from 8445[0:0]
Nov 19 21:34:03 localhost acpid: 1 client rule loaded
Nov 19 21:34:03 localhost acpid: client connected from 8445[0:0]
Nov 19 21:34:03 localhost acpid: 1 client rule loaded
And these messages in /var/log/user.log

Code:
Nov 19 21:34:13 localhost klogd: CPU0 attaching NULL sched-domain.
Nov 19 21:34:13 localhost klogd: CPU1 attaching NULL sched-domain.
Nov 19 21:34:13 localhost klogd: CPU0 attaching sched-domain:
Nov 19 21:34:13 localhost klogd:  domain 0: span 0-1 level MC
Nov 19 21:34:13 localhost klogd:   groups: 0 1
Nov 19 21:34:13 localhost klogd: CPU1 attaching sched-domain:
Nov 19 21:34:13 localhost klogd:  domain 0: span 0-1 level MC
Nov 19 21:34:13 localhost klogd:   groups: 1 0
Even without the blank-window-then-crash, running the app under valgrind gives this memory error:

Code:
==3790== Conditional jump or move depends on uninitialised value(s)
==3790==    at 0x4EE78ED: ??? (in /usr/lib/libGLcore.so.190.42)
Khym Chanur is offline   Reply With Quote
Old 11-20-09, 12:23 AM   #6
Khym Chanur
Registered User
 
Join Date: Nov 2009
Posts: 7
Default Re: SDL crash in libGLcore.so after un-minimize

Correction: suspending/un-suspending the X server to enable the blank-window problem worked only once. Additionally, when I restarted my X server, the app window would sometimes start out blank, but minimizing and restoring it wouldn't crash. When I then suspended/un-suspended my X server, the blank-window problem went away. However, before restarting my X server (as reported in the previous comment) the blank-window problem didn't appear until after suspending/un-suspending.
Khym Chanur is offline   Reply With Quote
Old 11-20-09, 12:30 AM   #7
Khym Chanur
Registered User
 
Join Date: Nov 2009
Posts: 7
Default Re: SDL crash in libGLcore.so after un-minimize

Another correction: I think suspending/un-suspending the X server actually worked twice, not just once, since the reason I even though of it in the first place is that the crash started happening after the first time I'd ever suspended the X server.
Khym Chanur is offline   Reply With Quote
Old 11-20-09, 02:27 AM   #8
Khym Chanur
Registered User
 
Join Date: Nov 2009
Posts: 7
Default Re: SDL crash in libGLcore.so after un-minimize

I tried doing some other stuff with my desktop for an hour or two, did the suspsend/un-suspend X server thing again, and the first time I ran the app it got a blank-window without crashing on un-minimizing, but all subsequent launches of the apps crashed on un-minimize. It doesn't crash while running under valgrind, but it does produce a slew of "invalid read from free'd memory" errors (attaching valgrind logfile).

Oh, and then doing the suspend/un-suspend again fixed the problem, so that there isn't any blank, and valgrind only reports the single "Conditional jump or move depends on uninitialised value" error. And then the next suspend/un-suspend started the problem again. However, subsequent tries suspend/un-suspended left the app with a blank window on startup and crashing after minimizing/un-minimizing. I then did some other stuff on my desktop for a while, and the next time I launched the app it started with a blank window, but minimizing/un-minimizing didn't crash it, but all subsequent attempts did crash.

Argh, and now another suspend/un-suspend cycle fixed the problem, and it took a bunch more cycles before the problem started again! I can't find any rhyme or reason to it.
Attached Files
File Type: bz2 grind.log.bz2 (6.6 KB, 106 views)
Khym Chanur is offline   Reply With Quote

Old 11-20-09, 05:37 AM   #9
Khym Chanur
Registered User
 
Join Date: Nov 2009
Posts: 7
Default Re: SDL crash in libGLcore.so after un-minimize

The crash happens during the call to SDL_GL_SwapBuffers(), at line 1307 of crawl-ref/crawl-ref/source/tilesdl.cc
Khym Chanur is offline   Reply With Quote
Old 06-14-10, 05:31 AM   #10
Heinz Willi
Registered User
 
Join Date: Jun 2010
Posts: 1
Default Re: SDL crash in libGLcore.so after un-minimize

Thank you so much for bringing this topic up, I've been having the same problem and it's really getting to my nerves. I hope that there will be some really helpful fixes that will be posted here.
Heinz Willi is offline   Reply With Quote
Old 07-09-10, 08:08 AM   #11
Debt Consolidat
Registered User
 
Join Date: Jul 2010
Posts: 1
Default Re: SDL crash in libGLcore.so after un-minimize

Hi! is there any screen shots? I am having problems with this crash too... I am a beginner and I really need help.. It says "Invalid read"
Debt Consolidat is offline   Reply With Quote
Reply


Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 08:19 AM.


Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Copyright 1998 - 2014, nV News.