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

Newegg Daily Deals

Reply
 
Thread Tools
Old 10-25-06, 06:57 AM   #1
evena
Registered User
 
Join Date: Feb 2004
Posts: 14
Default glReadPixels SEGV, GeForce 6800 / 1.0.8756 /

Hello,

I have one GeForce 6800,

Two pairs of { display connection to :0.0 / XWindow / GLXContext / thread }
(I know this is not efficient, it is for testing only)

I am seeing a crash when both threads call glReadPixels at the same time

Other symptoms I have seen is corrupted textures, and complete
system lock up.

I believe the buffers are allocated correctly and do not overlap

(There are also corresponding glDrawPixel calls)


Any ideas of how to proceed ?

Attached nvidia-bug-report.log


---

holoSeis.Linux_[6598]: segfault at 0000000000000030 rip 00002b452fb0b2f4 rsp 000000004580b2e8 error 4

---

(gdb) thread 1
[Switching to thread 1 (process 6598)]#9 0x0000000000f954c2 in SrMpuPartitionInfo::readPixels (this=0x4b88520, projectionID=1,
eyeNo=0) at SrMpuPartitionInfo.h:121
121 glReadPixels(
(gdb) where
#0 0x00002b452fb0b2f4 in _nv000380gl () from //usr/lib64/opengl/nvidia/lib/libGLcore.so.1
#1 0x00002b452fb2494e in _nv000380gl () from //usr/lib64/opengl/nvidia/lib/libGLcore.so.1
#2 0x00002b452faf912c in _nv001202gl () from //usr/lib64/opengl/nvidia/lib/libGLcore.so.1
#3 0x00002b452faf99e8 in _nv001202gl () from //usr/lib64/opengl/nvidia/lib/libGLcore.so.1
#4 0x00002b452fb03bc1 in _nv000380gl () from //usr/lib64/opengl/nvidia/lib/libGLcore.so.1
#5 0x00002b452e73d08d in _nv000003gl () from //usr/lib64/opengl/nvidia/lib/libGL.so.1
#6 0x00002b452f993850 in _nv000377gl () from //usr/lib64/opengl/nvidia/lib/libGLcore.so.1
#7 0x00002b452f97e425 in _nv000374gl () from //usr/lib64/opengl/nvidia/lib/libGLcore.so.1
#8 0x00002b452f6f74e8 in _nv001194gl () from //usr/lib64/opengl/nvidia/lib/libGLcore.so.1
#9 0x0000000000f954c2 in SrMpuPartitionInfo::readPixels (this=0x4b88520, projectionID=1, eyeNo=0) at SrMpuPartitionInfo.h:121
#10 0x0000000000f8eab7 in SrMpu::channelDrawAllProjections (this=0x1c6a410, displayChannel=0x1c80f70, displayID=0x4b88480,
eyeNumber=0) at SrMpu.C:3471
#11 0x0000000000f952e7 in SrMpu::channelUpdate (this=0x1c6a410, channel=0x1c80f70, displayID=0x4b88480, eyeNumber=0,
isMonster=true) at SrMpu.h:200
#12 0x0000000000f8df60 in SrMpu::windowUpdateMono (this=0x1c6a410, window=0x1c80d90) at SrMpu.C:3172
#13 0x0000000000f804e9 in windowUpdateMonoCB (window=0x1c80d90, data=0x1c6a410) at SrMpu.C:256
#14 0x000000000111da5d in mpWindowUpdate (window=0x1c80d90) at window.c:271
#15 0x000000000111ac60 in mpPipeLoop (vpipe=0x1c80cc0) at pipe.c:369
#16 0x00002b452f2d503b in start_thread () from /lib/tls/libpthread.so.0
#17 0x00002b452f49bcd3 in clone () from /lib/tls/libc.so.6
#18 0x0000000000000000 in ?? ()
(gdb) thread 2
[Switching to thread 2 (process 6606)]#0 0x00002b452f488d09 in sched_yield () from /lib/tls/libc.so.6
(gdb) where
#0 0x00002b452f488d09 in sched_yield () from /lib/tls/libc.so.6
#1 0x00002b452e70d519 in ?? () from //usr/lib64/opengl/nvidia/lib/libGL.so.1
#2 0x00002b452f94e741 in _nv000352gl () from //usr/lib64/opengl/nvidia/lib/libGLcore.so.1
#3 0x00002b452fb046c4 in _nv000380gl () from //usr/lib64/opengl/nvidia/lib/libGLcore.so.1
#4 0x00002b452fb0431a in _nv000380gl () from //usr/lib64/opengl/nvidia/lib/libGLcore.so.1
#5 0x00002b452faf944b in _nv001202gl () from //usr/lib64/opengl/nvidia/lib/libGLcore.so.1
#6 0x00002b452faf99e8 in _nv001202gl () from //usr/lib64/opengl/nvidia/lib/libGLcore.so.1
#7 0x00002b452fb03bc1 in _nv000380gl () from //usr/lib64/opengl/nvidia/lib/libGLcore.so.1
#8 0x00002b452e73d08d in _nv000003gl () from //usr/lib64/opengl/nvidia/lib/libGL.so.1
#9 0x00002b452f993850 in _nv000377gl () from //usr/lib64/opengl/nvidia/lib/libGLcore.so.1
#10 0x00002b452f97e425 in _nv000374gl () from //usr/lib64/opengl/nvidia/lib/libGLcore.so.1
#11 0x00002b452f6f74e8 in _nv001194gl () from //usr/lib64/opengl/nvidia/lib/libGLcore.so.1
#12 0x0000000000f954c2 in SrMpuPartitionInfo::readPixels (this=0x4b8a640, projectionID=0, eyeNo=0) at SrMpuPartitionInfo.h:121
#13 0x0000000000f8eab7 in SrMpu::channelDrawAllProjections (this=0x1c6a410, displayChannel=0x1c815a0, displayID=0x4b8a5a0,
eyeNumber=0) at SrMpu.C:3471
#14 0x0000000000f952e7 in SrMpu::channelUpdate (this=0x1c6a410, channel=0x1c815a0, displayID=0x4b8a5a0, eyeNumber=0,
isMonster=true) at SrMpu.h:200
#15 0x0000000000f8df60 in SrMpu::windowUpdateMono (this=0x1c6a410, window=0x1c813c0) at SrMpu.C:3172
#16 0x0000000000f804e9 in windowUpdateMonoCB (window=0x1c813c0, data=0x1c6a410) at SrMpu.C:256
#17 0x000000000111da5d in mpWindowUpdate (window=0x1c813c0) at window.c:271
#18 0x000000000111ac60 in mpPipeLoop (vpipe=0x1c812f0) at pipe.c:369
#19 0x00002b452f2d503b in start_thread () from /lib/tls/libpthread.so.0
#20 0x00002b452f49bcd3 in clone () from /lib/tls/libc.so.6
#21 0x0000000000000000 in ?? ()
Attached Files
File Type: log nvidia-bug-report.log (93.5 KB, 114 views)
evena is offline   Reply With Quote
Old 10-25-06, 11:29 AM   #2
netllama
NVIDIA Corporation
 
Join Date: Dec 2004
Posts: 8,763
Default Re: glReadPixels SEGV, GeForce 6800 / 1.0.8756 /

Does this problem reproduce with the 1.0-9626 or 1.0-8776 drivers?
How can this be reproduced?

Thanks,
Lonni
netllama is offline   Reply With Quote
Old 10-26-06, 03:36 AM   #3
evena
Registered User
 
Join Date: Feb 2004
Posts: 14
Default Re: glReadPixels SEGV, GeForce 6800 / 1.0.8http://www.nvnews.net/vbulle756 / 1.0.8776

I am able to reproduce the problem with 8776.

If I change the format/type in glReadPixels from:
GL_RGBA/GL_UNSIGNED_INT_8_8_8_8 to
GL_BGRA/GL_UNSIGNED_INT_8_8_8_8

The problem seems to occur less frequent.
(The call stack below is for GL_RGBA)

I guess this could make sense if the problem is time
related and the switch th BGRA reduces the time of
the call.

The concurrent calls in this case are:
Thread 1
glReadPixels ( -> _nv000094gl)

Thread 2
pthread_mutex_lock ( ->__lll_mutex_lock_wait )
Waiting for readpixels to complete, will eventually call glDrawPixels

(
The values of
GL_PACK_ALIGNMENT == 8
GL_UNPACK_ALIGNMENT == 8
)

This is the call to glReadPixels

glReadPixels(
0,
0,
(GLsizei)windowSize[0],
(GLsizei)windowSize[1],
GL_RGBA,
GL_UNSIGNED_INT_8_8_8_8,
(void *)projectionBuffer[projectionID][eyeNo]);

(gdb) print windowSize $2 = {data = {768, 480}}
(gdb) print projectionID $4 = 0
(gdb) print eyeNo $5 = 0
(gdb) print projectionBuffer[projectionID][eyeNo] $3 = (volatile unsigned char *) 0x2aaabf0bb010 ""


I currently have no test case, If the problem is not apparent from
the call stack, I can try to write one.

The way to reproduce it would be to have
N X ( Display / Window / GLXContext / thread)
each looping calling glReadPixels / glDrawPixels


evena@jenny:/research/evena/VR2.9.16.10/VR2/QC2> gdb /usr/local/holoSeis/holoSeis.9.16.10.d core.14640
GNU gdb 6.4
Copyright 2005 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu"...Using host libthread_db library "/lib/tls/libthread_db.so.1".


warning: core file may not match specified executable file.
Core was generated by `/usr/local/holoSeis/holoSeis.9.16.10.d -mpcfile /research/evena/VR2.9.27.0/VR2/'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/lib64/libGLU.so.1...done.
Loaded symbols for /usr/lib/libGLU.so.1
Reading symbols from /usr/lib64/libGL.so.1...done.
Loaded symbols for /usr/lib/libGL.so.1
Reading symbols from /usr/lib64/libXext.so.6...done.
Loaded symbols for /usr/lib/libXext.so.6
Reading symbols from /usr/lib64/libX11.so.6...done.
Loaded symbols for /usr/lib/libX11.so.6
Reading symbols from /usr/lib64/libXi.so.6...done.
Loaded symbols for /usr/lib/libXi.so.6
Reading symbols from /lib64/tls/librt.so.1...done.
Loaded symbols for /lib/tls/librt.so.1
Reading symbols from /lib64/libdl.so.2...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /usr/lib64/libstdc++-v3/libstdc++.so.5...done.
Loaded symbols for /usr/lib64/libstdc++-v3/libstdc++.so.5
Reading symbols from /lib64/tls/libm.so.6...done.
Loaded symbols for /lib/tls/libm.so.6
Reading symbols from /lib64/libgcc_s.so.1...done.
Loaded symbols for /lib/libgcc_s.so.1
Reading symbols from /lib64/tls/libpthread.so.0...done.
Loaded symbols for /lib/tls/libpthread.so.0
Reading symbols from /lib64/tls/libc.so.6...done.
Loaded symbols for /lib/tls/libc.so.6
Reading symbols from /usr/lib64/gcc/x86_64-pc-linux-gnu/3.4.6/libstdc++.so.6...done.
Loaded symbols for /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.6/libstdc++.so.6
Reading symbols from /usr/lib64/libGLcore.so.1...done.
Loaded symbols for /usr/lib/libGLcore.so.1
Reading symbols from /usr/lib64/tls/libnvidia-tls.so.1...done.
Loaded symbols for /usr/lib/tls/libnvidia-tls.so.1
Reading symbols from /lib64/ld-linux-x86-64.so.2...done.
Loaded symbols for /lib64/ld-linux-x86-64.so.2
Reading symbols from /lib64/libnss_compat.so.2...done.
Loaded symbols for /lib/libnss_compat.so.2
Reading symbols from /lib64/libnsl.so.1...done.
Loaded symbols for /lib/libnsl.so.1
Reading symbols from /lib64/libnss_nis.so.2...done.
Loaded symbols for /lib/libnss_nis.so.2
Reading symbols from /lib64/libnss_files.so.2...done.
Loaded symbols for /lib/libnss_files.so.2
Reading symbols from /usr/lib64/X11/locale/lib64/common/xlcDef.so.2...done.
Loaded symbols for /usr/lib64/X11/locale/lib64/common/xlcDef.so.2
#0 0x00002afea13a58f4 in _nv000094gl () from /usr/lib/libGLcore.so.1
(gdb) where
#0 0x00002afea13a58f4 in _nv000094gl () from /usr/lib/libGLcore.so.1
#1 0x00002afea13bef4e in _nv000094gl () from /usr/lib/libGLcore.so.1
#2 0x00002afea1393959 in _nv000044gl () from /usr/lib/libGLcore.so.1
#3 0x00002afea1393fa8 in _nv000044gl () from /usr/lib/libGLcore.so.1
#4 0x00002afea139e181 in _nv000094gl () from /usr/lib/libGLcore.so.1
#5 0x00002afe9fe0345d in _nv000003gl () from /usr/lib/libGL.so.1
#6 0x00002afea122de20 in _nv000091gl () from /usr/lib/libGLcore.so.1
#7 0x00002afea12189a5 in _nv000088gl () from /usr/lib/libGLcore.so.1
#8 0x00002afea0f8fd38 in _nv001205gl () from /usr/lib/libGLcore.so.1
#9 0x0000000000f8995e in SrMpuPartitionInfo::readPixels (this=0x4b64e80, projectionID=0, eyeNo=0)
at SrMpuPartitionInfo.h:121
#10 0x0000000000f829e7 in SrMpu::channelDrawAllProjections (this=0x1c5a870, displayChannel=0x1c712a0,
displayID=0x4b64de0, eyeNumber=0) at SrMpu.C:3471
#11 0x0000000000f8948f in SrMpu::channelUpdate (this=0x1c5a870, channel=0x1c712a0, displayID=0x4b64de0,
eyeNumber=0, isMonster=true) at SrMpu.h:200
#12 0x0000000000f81ee0 in SrMpu::windowUpdateMono (this=0x1c5a870, window=0x1c710c0) at SrMpu.C:3172
#13 0x0000000000f74659 in windowUpdateMonoCB (window=0x1c710c0, data=0x1c5a870) at SrMpu.C:256
#14 0x0000000001109c25 in mpWindowUpdate (window=0x1c710c0) at window.c:271
#15 0x0000000001106e31 in mpPipeLoop (vpipe=0x1c70ff0) at pipe.c:369
#16 0x00002afea098303b in start_thread () from /lib/tls/libpthread.so.0
#17 0x00002afea0b49cd3 in clone () from /lib/tls/libc.so.6
#18 0x0000000000000000 in ?? ()
(gdb) info threads
13 process 14640 0x00002afea0988585 in __nanosleep_nocancel () from /lib/tls/libpthread.so.0
12 process 14641 0x00002afea098721f in sem_wait () from /lib/tls/libpthread.so.0
11 process 14642 0x00002afea098721f in sem_wait () from /lib/tls/libpthread.so.0
10 process 14643 0x00002afea098721f in sem_wait () from /lib/tls/libpthread.so.0
9 process 14644 0x00002afea098721f in sem_wait () from /lib/tls/libpthread.so.0
8 process 14645 0x00002afea098721f in sem_wait () from /lib/tls/libpthread.so.0
7 process 14646 0x00002afea098721f in sem_wait () from /lib/tls/libpthread.so.0
6 process 14647 0x00002afea098721f in sem_wait () from /lib/tls/libpthread.so.0
5 process 14648 0x00002afea098721f in sem_wait () from /lib/tls/libpthread.so.0
4 process 14652 0x00002afea098721f in sem_wait () from /lib/tls/libpthread.so.0
3 process 14653 0x00002afea098721f in sem_wait () from /lib/tls/libpthread.so.0
2 process 14655 0x00002afea09878fb in __lll_mutex_lock_wait () from /lib/tls/libpthread.so.0
* 1 process 14663 0x00002afea13a58f4 in _nv000094gl () from /usr/lib/libGLcore.so.1
Attached Files
File Type: log nvidia-bug-report.log (135.8 KB, 96 views)
evena is offline   Reply With Quote
Old 10-26-06, 04:05 AM   #4
evena
Registered User
 
Join Date: Feb 2004
Posts: 14
Default Re: glReadPixels SEGV, GeForce 6800 / 1.0.8756 / 1.0.9625

Here are the results of running with 9625


libGLcore aborts in _nv000109gl


736.013u 22.185s 12:47.58 98.7% 0+0k 0+0io 0pf+0w
gdb /usr/local/holoSeis/holoSeis.9.16.10.d core.16427
GNU gdb 6.4
Copyright 2005 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu"...Using host libthread_db library "/lib/tls/libthread_db.so.1".


warning: core file may not match specified executable file.
Core was generated by `/usr/local/holoSeis/holoSeis.9.16.10.d -mpcfile /research/evena/VR2.9.27.0/VR2/'.
Program terminated with signal 6, Aborted.
Reading symbols from /usr/lib64/libGLU.so.1...done.
Loaded symbols for /usr/lib/libGLU.so.1
Reading symbols from /usr/lib64/libGL.so.1...done.
Loaded symbols for /usr/lib/libGL.so.1
Reading symbols from /usr/lib64/libXext.so.6...done.
Loaded symbols for /usr/lib/libXext.so.6
Reading symbols from /usr/lib64/libX11.so.6...done.
Loaded symbols for /usr/lib/libX11.so.6
Reading symbols from /usr/lib64/libXi.so.6...done.
Loaded symbols for /usr/lib/libXi.so.6
Reading symbols from /lib64/tls/librt.so.1...done.
Loaded symbols for /lib/tls/librt.so.1
Reading symbols from /lib64/libdl.so.2...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /usr/lib64/libstdc++-v3/libstdc++.so.5...done.
Loaded symbols for /usr/lib64/libstdc++-v3/libstdc++.so.5
Reading symbols from /lib64/tls/libm.so.6...done.
Loaded symbols for /lib/tls/libm.so.6
Reading symbols from /lib64/libgcc_s.so.1...done.
Loaded symbols for /lib/libgcc_s.so.1
Reading symbols from /lib64/tls/libpthread.so.0...done.
Loaded symbols for /lib/tls/libpthread.so.0
Reading symbols from /lib64/tls/libc.so.6...done.
Loaded symbols for /lib/tls/libc.so.6
Reading symbols from /usr/lib64/gcc/x86_64-pc-linux-gnu/3.4.6/libstdc++.so.6...done.
Loaded symbols for /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.6/libstdc++.so.6
Reading symbols from /usr/lib64/libGLcore.so.1...done.
Loaded symbols for /usr/lib/libGLcore.so.1
Reading symbols from /usr/lib64/tls/libnvidia-tls.so.1...done.
Loaded symbols for /usr/lib/tls/libnvidia-tls.so.1
Reading symbols from /lib64/ld-linux-x86-64.so.2...done.
Loaded symbols for /lib64/ld-linux-x86-64.so.2
Reading symbols from /lib64/libnss_compat.so.2...done.
Loaded symbols for /lib/libnss_compat.so.2
Reading symbols from /lib64/libnsl.so.1...done.
Loaded symbols for /lib/libnsl.so.1
Reading symbols from /lib64/libnss_nis.so.2...done.
Loaded symbols for /lib/libnss_nis.so.2
Reading symbols from /lib64/libnss_files.so.2...done.
Loaded symbols for /lib/libnss_files.so.2
Reading symbols from /usr/lib64/X11/locale/lib64/common/xlcDef.so.2...done.
Loaded symbols for /usr/lib64/X11/locale/lib64/common/xlcDef.so.2
#0 0x00002ad8e45da279 in raise () from /lib/tls/libc.so.6
(gdb) info threads
13 process 16427 0x00002ad8e44a021f in sem_wait () from /lib/tls/libpthread.so.0
12 process 16428 0x00002ad8e44a021f in sem_wait () from /lib/tls/libpthread.so.0
11 process 16429 0x00002ad8e44a021f in sem_wait () from /lib/tls/libpthread.so.0
10 process 16430 0x00002ad8e44a021f in sem_wait () from /lib/tls/libpthread.so.0
9 process 16431 0x00002ad8e44a021f in sem_wait () from /lib/tls/libpthread.so.0
8 process 16432 0x00002ad8e44a021f in sem_wait () from /lib/tls/libpthread.so.0
7 process 16433 0x00002ad8e44a021f in sem_wait () from /lib/tls/libpthread.so.0
6 process 16434 0x00002ad8e44a021f in sem_wait () from /lib/tls/libpthread.so.0
5 process 16435 0x00002ad8e44a021f in sem_wait () from /lib/tls/libpthread.so.0
4 process 16439 0x00002ad8e44a021f in sem_wait () from /lib/tls/libpthread.so.0
3 process 16440 0x00002ad8e44a021f in sem_wait () from /lib/tls/libpthread.so.0
2 process 16442 0x00002ad8e44a08fb in __lll_mutex_lock_wait () from /lib/tls/libpthread.so.0
* 1 process 16447 0x00002ad8e45da279 in raise () from /lib/tls/libc.so.6
(gdb) thread 1
[Switching to thread 1 (process 16447)]#0 0x00002ad8e45da279 in raise () from /lib/tls/libc.so.6
(gdb) where
#0 0x00002ad8e45da279 in raise () from /lib/tls/libc.so.6
#1 0x00002ad8e45db43c in abort () from /lib/tls/libc.so.6
#2 0x00002ad8e4d96449 in _nv000109gl () from /usr/lib/libGLcore.so.1
#3 0x00002ad8e4f11215 in _nv000103gl () from /usr/lib/libGLcore.so.1
#4 0x00002ad8e4f0d192 in _nv000103gl () from /usr/lib/libGLcore.so.1
#5 0x00002ad8e4f01fd3 in _nv000049gl () from /usr/lib/libGLcore.so.1
#6 0x00002ad8e4f024fd in _nv000049gl () from /usr/lib/libGLcore.so.1
#7 0x00002ad8e4f0c9e1 in _nv000103gl () from /usr/lib/libGLcore.so.1
#8 0x00002ad8e391812d in _nv000004gl () from /usr/lib/libGL.so.1
#9 0x00002ad8e4d94759 in _nv000099gl () from /usr/lib/libGLcore.so.1
#10 0x00002ad8e4d791d6 in _nv000096gl () from /usr/lib/libGLcore.so.1
#11 0x00002ad8e4ab7ec8 in _nv001247gl () from /usr/lib/libGLcore.so.1
#12 0x0000000000f8995e in SrMpuPartitionInfo::readPixels (this=0x2aaac0672730, projectionID=0, eyeNo=0) at SrMpuPartitionInfo.h:121
#13 0x0000000000f829e7 in SrMpu::channelDrawAllProjections (this=0x1c5a890, displayChannel=0x1c712c0, displayID=0x2aaac0672690, eyeNumber=0)
at SrMpu.C:3471
#14 0x0000000000f8948f in SrMpu::channelUpdate (this=0x1c5a890, channel=0x1c712c0, displayID=0x2aaac0672690, eyeNumber=0, isMonster=true) at SrMpu.h:200
#15 0x0000000000f81ee0 in SrMpu::windowUpdateMono (this=0x1c5a890, window=0x1c710e0) at SrMpu.C:3172
#16 0x0000000000f74659 in windowUpdateMonoCB (window=0x1c710e0, data=0x1c5a890) at SrMpu.C:256
#17 0x0000000001109c25 in mpWindowUpdate (window=0x1c710e0) at window.c:271
#18 0x0000000001106e31 in mpPipeLoop (vpipe=0x1c71010) at pipe.c:369
#19 0x00002ad8e449c03b in start_thread () from /lib/tls/libpthread.so.0
#20 0x00002ad8e4662cd3 in clone () from /lib/tls/libc.so.6
#21 0x0000000000000000 in ?? ()
(gdb) thread 2
[Switching to thread 2 (process 16442)]#0 0x00002ad8e44a08fb in __lll_mutex_lock_wait () from /lib/tls/libpthread.so.0
(gdb) where
#0 0x00002ad8e44a08fb in __lll_mutex_lock_wait () from /lib/tls/libpthread.so.0
#1 0x000000004580be50 in ?? ()
#2 0x0000000000000001 in ?? ()
#3 0x000000004580bd40 in ?? ()
#4 0x000000000077ebd5 in SrRawVector<8ul>::byteCapacity (this=0x80ec8148388d4990) at SrRawVector.h:398
#5 0x48388d49fffffedc in ?? ()
#6 0xbde800000080ec81 in ?? ()
#7 0x0080c4814800002d in ?? ()
#8 0x48388d4991eb0000 in ?? ()
#9 0xa5e800000080ec81 in ?? ()
#10 0x0080c4814800002d in ?? ()
#11 0x01107f83b3eb0000 in ?? ()
#12 0x3100000001ba2774 in ?? ()
#13 0x75c08517b10ff0c0 in ?? ()
#14 0x00009025048b6412 in ?? ()
#15 0x010c478308478900 in ?? ()
#16 0x00000010b8c3c031 in ?? ()
#17 0x000090250c8b64c3 in ?? ()
#18 0x01ba1e74084f3900 in ?? ()
#19 0xb10ff0c031000000 in ?? ()
#20 0x0c4783de75c08517 in ?? ()
#21 0x010447c7084f8901 in ?? ()
#22 0xb804578bc3000000 in ?? ()
---Type <return> to continue, or q <return> to quit---q
Attached Files
File Type: log nvidia-bug-report.log (138.1 KB, 97 views)
evena is offline   Reply With Quote
Old 10-26-06, 07:59 AM   #5
evena
Registered User
 
Join Date: Feb 2004
Posts: 14
Default Re: glReadPixels SEGV, GeForce 6800 / 1.0.8756 /

Not sure what happened to my previous reply,
I'll try again

Attached test case
Attached bug report

Compile with g++ -g -D_REENTRANT -pthread -o bug main.C -lpthread -lGL -lX11

Cause crash by moving windows around (no need to resize them)



evena@jenny:/research/evena/bugs/nvidia_6800/glReadPixels> ./bug
Opened display
Opened display
Opened display
Opened display
Segmentation fault (core dumped)
egdb ./bug core.23667
GNU gdb 6.4
Copyright 2005 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu"...Using host libthread_db library "/lib/tls/libthread_db.so.1".

Core was generated by `./bug'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /lib64/tls/libpthread.so.0...done.
Loaded symbols for /lib/tls/libpthread.so.0
Reading symbols from /usr/lib64/libGL.so.1...done.
Loaded symbols for /usr/lib/libGL.so.1
Reading symbols from /usr/lib64/libX11.so.6...done.
Loaded symbols for /usr/lib/libX11.so.6
Reading symbols from /usr/lib64/gcc/x86_64-pc-linux-gnu/3.4.6/libstdc++.so.6...done.
Loaded symbols for /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.6/libstdc++.so.6
Reading symbols from /lib64/tls/libm.so.6...done.
Loaded symbols for /lib/tls/libm.so.6
Reading symbols from /lib64/libgcc_s.so.1...done.
Loaded symbols for /lib/libgcc_s.so.1
Reading symbols from /lib64/tls/libc.so.6...done.
Loaded symbols for /lib/tls/libc.so.6
Reading symbols from /lib64/ld-linux-x86-64.so.2...done.
Loaded symbols for /lib64/ld-linux-x86-64.so.2
Reading symbols from /usr/lib64/libGLcore.so.1...done.
Loaded symbols for /usr/lib/libGLcore.so.1
Reading symbols from /usr/lib64/tls/libnvidia-tls.so.1...done.
Loaded symbols for /usr/lib/tls/libnvidia-tls.so.1
Reading symbols from /usr/lib64/libXext.so.6...done.
Loaded symbols for /usr/lib/libXext.so.6
Reading symbols from /lib64/libdl.so.2...done.
Loaded symbols for /lib/libdl.so.2
#0 0x00002b9bb8832f69 in _nv000103gl () from /usr/lib/libGLcore.so.1
(gdb) where
#0 0x00002b9bb8832f69 in _nv000103gl () from /usr/lib/libGLcore.so.1
#1 0x00002b9bb884cbb3 in _nv000103gl () from /usr/lib/libGLcore.so.1
#2 0x00002b9bb8820cd5 in _nv000049gl () from /usr/lib/libGLcore.so.1
#3 0x00002b9bb88214fd in _nv000049gl () from /usr/lib/libGLcore.so.1
#4 0x00002b9bb882b9e1 in _nv000103gl () from /usr/lib/libGLcore.so.1
#5 0x00002b9bb794412d in _nv000004gl () from /usr/lib/libGL.so.1
#6 0x00002b9bb86b3759 in _nv000099gl () from /usr/lib/libGLcore.so.1
#7 0x00002b9bb86981d6 in _nv000096gl () from /usr/lib/libGLcore.so.1
#8 0x00002b9bb83d6ec8 in _nv001247gl () from /usr/lib/libGLcore.so.1
#9 0x0000000000401dcb in nn_readBuffer (pos=0x5027f0) at main.C:199
#10 0x0000000000402074 in runThread (vpos=0x5027f0) at main.C:323
#11 0x00002b9bb77c003b in start_thread () from /lib/tls/libpthread.so.0
#12 0x00002b9bb816bcd3 in clone () from /lib/tls/libc.so.6
#13 0x0000000000000000 in ?? ()

(gdb) info threads
5 process 23667 0x00002b9bb77c0f97 in pthread_join () from /lib/tls/libpthread.so.0
4 process 23668 0x00002b9bb8165d46 in select () from /lib/tls/libc.so.6
3 process 23669 0x00002b9bb8165d46 in select () from /lib/tls/libc.so.6
2 process 23670 0x00002b9bb8165d46 in select () from /lib/tls/libc.so.6
* 1 process 23671 0x00002b9bb8832f69 in _nv000103gl () from /usr/lib/libGLcore.so.1
Attached Files
File Type: log nvidia-bug-report.log (139.7 KB, 99 views)
File Type: gz main.C.gz (2.0 KB, 98 views)
evena is offline   Reply With Quote
Old 10-26-06, 08:29 AM   #6
evena
Registered User
 
Join Date: Feb 2004
Posts: 14
Default Re: glReadPixels SEGV, GeForce 6800 / 1.0.8756 /

Result of running valgrind
Attached Files
File Type: log valgrind.log (30.3 KB, 102 views)
evena is offline   Reply With Quote
Old 10-26-06, 11:27 AM   #7
netllama
NVIDIA Corporation
 
Join Date: Dec 2004
Posts: 8,763
Default Re: glReadPixels SEGV, GeForce 6800 / 1.0.8756 /

I'm not having any success reproducing this crash here. I've tried in both FC & SuSE, and I can move the windows around quite a bit without any issues in 1.0-9626.

One thing that I noticed in your bug report is a large amount of kernel backtraces appearing for nearly every process on the system (with no references to the nvidia kernel module). Have you investigated what is triggering that instability?

Thanks,
Lonni
netllama is offline   Reply With Quote
Old 10-27-06, 03:19 AM   #8
evena
Registered User
 
Join Date: Feb 2004
Posts: 14
Default Re: glReadPixels SEGV, GeForce 6800 / 1.0.8756 /

Attached messages.log
Attached config.log
Attached Xorg.0.log

Note that I am running 1.0-9625 (Not 9626 since I couldn't find it)

The backtraces in the kernel is caused by me pressing SysRq-t,
I have compiled the kernel with some of the debug options enabled.


Could the following be a problem ?
--- Xorg.0.log---
...
(II) Bus -1: bridge is at (0:31:0), (0,-1,-1), BCTRL: 0x0008 (VGA_EN is set)
(--) PCI:*(3:0:0) nVidia Corporation unknown chipset (0x00f9) rev 162, Mem @ 0xfd000000/24, 0xc0000000/28, 0xfc000000/24, BIOS @ 0xfeae0000/17
(II) Addressable bus resource ranges are
...
--- Xorg.0.log ---

--- messages.log ---
Oct 25 15:03:47 jenny NVRM: Xid (0003:00): 3, C 00000002 SC 00000003 M 00000180 Data beef0340
Oct 25 15:03:47 jenny NVRM: Xid (0003:00): 28, L1 -> L0
Oct 25 15:05:17 jenny holoSeis.Linux_[10685]: segfault at 00002aaabaa49002 rip 0000000000f8c351 rsp 00007fffffeda2b0 error 4
Oct 25 15:08:29 jenny NVRM: Xid (0003:00): 3, C 00000002 SC 00000003 M 00000180 Data beef0340
Oct 25 15:08:29 jenny NVRM: Xid (0003:00): 28, L1 -> L0
...
Oct 25 15:13:58 jenny spurious 8259A interrupt: IRQ7.
...
Oct 26 12:35:27 jenny NVRM: os_map_kernel_space: can't map 0xe0020000, invalid context!
Oct 26 12:35:27 jenny NVRM: Xid (0003:00): 3, C 00000002 SC 00000003 M 00000180 Data beef0340
Oct 26 12:35:27 jenny NVRM: Xid (0003:00): 29, L1 -> L0
...
----------- messages.log ------------

Or maybe these could be investigated.

(The first one isn't necessarily a problem, but
the last one is).

==23777== Conditional jump or move depends on uninitialised value(s)
==23777== at 0x5753426: (within /usr/lib64/libGLcore.so.1.0.9625)
==23777== by 0x574EF6A: (within /usr/lib64/libGLcore.so.1.0.9625)
==23777== by 0x59F999F: (within /usr/lib64/libGLcore.so.1.0.9625)
==23777== by 0x5738EC7: (within /usr/lib64/libGLcore.so.1.0.9625)
==23777== by 0x401DCA: nn_readBuffer(Position const*) (main.C:199)
==23777== by 0x402073: runThread(void*) (main.C:323)
==23777== by 0x4B2403A: start_thread (in /lib64/tls/libpthread.so)
==23777== by 0x54CDCD2: clone (in /lib64/tls/libc.so)
==23777==
==23777== ---- Print suppression ? --- [Return/N/n/Y/y/C/c] ---- n
--23777-- memcheck GC: 1024 nodes, 1024 survivors (100.0%)
--23777-- memcheck GC: increase table size to 2048
==23777==
==23777== Invalid read of size 8
==23777== at 0x5B94F69: (within /usr/lib64/libGLcore.so.1.0.9625)
==23777== by 0x5BAEBB2: (within /usr/lib64/libGLcore.so.1.0.9625)
==23777== by 0x5B82CD4: (within /usr/lib64/libGLcore.so.1.0.9625)
==23777== by 0x5B834FC: (within /usr/lib64/libGLcore.so.1.0.9625)
==23777== by 0x5B8D9E0: _nv000103gl (in /usr/lib64/libGLcore.so.1.0.9625)
==23777== by 0x4CA812C: (within /usr/lib64/libGL.so.1.0.9625)
==23777== by 0x5A15758: (within /usr/lib64/libGLcore.so.1.0.9625)
==23777== by 0x59FA1D5: (within /usr/lib64/libGLcore.so.1.0.9625)
==23777== by 0x5738EC7: (within /usr/lib64/libGLcore.so.1.0.9625)
==23777== by 0x401DCA: nn_readBuffer(Position const*) (main.C:199)
==23777== by 0x402073: runThread(void*) (main.C:323)
==23777== by 0x4B2403A: start_thread (in /lib64/tls/libpthread.so)
==23777== by 0x54CDCD2: clone (in /lib64/tls/libc.so)
==23777== Address 0x60 is not stack'd, malloc'd or (recently) free'd
=

I am also posting this on
comp.graphics.api.opengl,
comp.os.linux.development.apps
Attached Files
File Type: gz messages.log.gz (38.8 KB, 106 views)
File Type: log config.log (21.9 KB, 84 views)
File Type: log Xorg.0.log (24.6 KB, 97 views)
evena is offline   Reply With Quote

Old 10-27-06, 10:25 AM   #9
netllama
NVIDIA Corporation
 
Join Date: Dec 2004
Posts: 8,763
Default Re: glReadPixels SEGV, GeForce 6800 / 1.0.8756 /

1.0-9626 is available here:
http://www.nvidia.com/object/linux_d..._1.0-9626.html

At this point, it seems like this problem is either specific to your environment and/or your Gentoo build. It would be useful to determine whether this can be reproduced in an 'off the shelf' Linux distribution such as Debian/Ubuntu, SuSE or RH/FC.
netllama is offline   Reply With Quote
Old 11-08-06, 02:28 AM   #10
kel
Registered User
 
Join Date: Nov 2006
Posts: 27
Default Re: glReadPixels SEGV, GeForce 6800 / 1.0.8756 /

I'm seeing the same issue on Ubuntu (tested with 6.06 w/8776 and with 6.10 w/9625 & 9626)

Hardware:
Asus P5LD2 SE /w E6300 (not overclocked)
2x 1GB DDR2-400
Dell Geforce 7800 GTX

From what I can see it's a "load" dependend, on apps that cause low "load" i.e. Beryl or WoW (which is heavily cpu bound due to cedega) the problem doesn't occur, but native apps Doom3, Quake4, Spacetripper, Mutantstorm all show this problem sooner or later.
First sign is occassional freezing of the game (for 3-5s), then I usually get texture corruption and "pixel-noise" on screen, then the game freezes completely.
GPU is at 55c-60c (it usually is at 55c when/if I manage to exit the game)

glxgears doesn't freeze but I'm getting error messages when the gpu temp hits around 57-58c (reproducable):

[17183106.480000] NVRM: os_map_kernel_space: can't map 0xf0008000, invalid context!
[17183106.480000] NVRM: os_map_kernel_space: can't map 0xf0008000, invalid context!
[17183106.480000] NVRM: os_map_kernel_space: can't map 0xf0008000, invalid context!
[17183106.480000] NVRM: os_map_kernel_space: can't map 0xf0008000, invalid context!

I only recently upgraded to the e6300...never had these problems with my AMD64 3000+

Edit: just realised i forgot to add the bugreport, will upload it once I get back from the office...

Last edited by kel; 11-08-06 at 05:31 AM.
kel is offline   Reply With Quote
Old 11-08-06, 06:29 PM   #11
kel
Registered User
 
Join Date: Nov 2006
Posts: 27
Default Re: glReadPixels SEGV, GeForce 6800 / 1.0.8756 /

Installed the 9629 drivers...things "seem" to be a bit more stable but I was still able to produce the errors by running glxgears until gpu temp hit 56c...

I got the card from a friend so even though I never overclocked it myself I have no Idea what "history" the card has...but it's run stable for the last 4 months or so (w/AMD 64 3000+). Starting to fear the card may be somehow damaged...
Attached Files
File Type: bz2 nvidia-bug-report.log.tar.bz2 (27.6 KB, 99 views)
kel 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


Similar Threads
Thread Thread Starter Forum Replies Last Post
What You Can Expect From GeForce GRID News Archived News Items 0 06-04-12 04:20 PM
Nvidia GeForce 301.42 WHQL drivers DSC NVIDIA Windows Graphics Drivers 5 05-29-12 10:12 PM
Enhance Max Payne 3, Diablo III with GeForce R300 Drivers News Archived News Items 0 05-22-12 06:30 PM
New GPU from Nvidia Announced Today, the GeForce GTX 670 News Archived News Items 0 05-10-12 01:50 PM
Gainward Unleashes the Sexy GeForce GTX 670 Phantom Graphics Card, Also launches the News Archived News Items 0 05-10-12 09:28 AM

All times are GMT -5. The time now is 09:47 AM.


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