Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 337068 - Race-condition in Intel GMA drivers with panda3d engine not in 'debug' or 'spam' mode
Summary: Race-condition in Intel GMA drivers with panda3d engine not in 'debug' or 'sp...
Status: RESOLVED LATER
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Unspecified (show other bugs)
Hardware: AMD64 Linux
: High major (vote)
Assignee: Gentoo X packagers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-09-13 12:08 UTC by nurbs999
Modified: 2010-10-23 00:50 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
a backtrace of the crash (backtrace_gdb,7.03 KB, text/plain)
2010-09-13 12:09 UTC, nurbs999
Details

Note You need to log in before you can comment on or make changes to this bug.
Description nurbs999 2010-09-13 12:08:18 UTC
I always get a segfault if i try to start the panda3d engine with notify-level not set to "debug" or "spam". spoken to panda3d developers it seems to be a race-condition in the intel gma driver, specially openGL related. a gdb backtrace is attached.

Reproducible: Always

Steps to Reproduce:
1.install panda3d-sdk-1.7.0 or cvs-version of panda. latest testet at 12. Sep 2010
2.start python 2.6
3.in python console: "import direct.directbase.DirectStart"

Actual Results:  
>>> import direct.directbase.DirectStart 
DirectStart: Starting the game.
Known pipe types:
  glxGraphicsPipe
(all display modules loaded.)
:display:gsg:glgsg(warning): glPointParameterfv advertised as supported by OpenGL runtime, but could not get pointers to extension functions.
:display:gsg:glgsg(warning): glDrawRangeElements advertised as supported by OpenGL runtime, but could not get pointers to extension functions.
:display:gsg:glgsg(warning): 3-D textures advertised as supported by OpenGL runtime, but could not get pointers to extension functions.
:display:gsg:glgsg(warning): Compressed textures advertised as supported by OpenGL runtime, but could not get pointers to extension functions.
:display:gsg:glgsg(warning): Multitexture advertised as supported by OpenGL runtime, but could not get pointers to extension functions.
:display:gsg:glgsg(warning): Buffers advertised as supported by OpenGL runtime, but could not get pointers to extension functions.
:display:gsg:glgsg(warning): Occlusion queries advertised as supported by OpenGL runtime, but could not get pointers to extension functions.
:display:gsg:glgsg(warning): BlendEquation advertised as supported by OpenGL runtime, but could not get pointers to extension function.
:display:gsg:glgsg(warning): BlendColor advertised as supported by OpenGL runtime, but could not get pointers to extension function.
:display:glxdisplay(error): Driver claims to support GLX_SGI_swap_control extension, but does not define all functions.
zsh: segmentation fault  python2.6

Expected Results:  
engine should start with openGL

emerge --info:

Portage 2.1.9.1 (default/linux/amd64/10.0, gcc-4.4.4, glibc-2.12.1-r1, 2.6.35-gentoo-r2 x86_64)
=================================================================
System uname: Linux-2.6.35-gentoo-r2-x86_64-Intel-R-_Core-TM-2_Quad_CPU_Q9550_@_2.83GHz-with-gentoo-2.0.1
Timestamp of tree: Sat, 11 Sep 2010 13:00:01 +0000
distcc 3.1 x86_64-pc-linux-gnu [disabled]
ccache version 2.4 [enabled]
app-shells/bash:     4.1_p7
dev-java/java-config: 2.1.11
dev-lang/python:     2.6.5-r3, 3.1.2-r4
dev-util/ccache:     2.4-r8
dev-util/cmake:      2.8.1-r2
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.6.3
sys-apps/sandbox:    2.3-r1
sys-devel/autoconf:  2.13, 2.65-r1
sys-devel/automake:  1.4_p6-r1, 1.8.5-r4, 1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.20.1-r1
sys-devel/gcc:       4.4.4-r1
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.10
sys-devel/make:      3.81-r2
virtual/os-headers:  2.6.35 (sys-kernel/linux-headers)
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=core2 -msse3 -mssse3 -msse4.1"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/portage /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe -march=core2 -msse3 -mssse3 -msse4.1"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--quiet --jobs=4"
FEATURES="assume-digests ccache distlocks fixlafiles fixpackages news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
GENTOO_MIRRORS="http://de-mirror.org/distro/gentoo/ http://gentoo.mneisen.org/ http://gentoo.tiscali.nl/"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="de"
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X acl acpi alsa amd64 apache2 bash-completion berkdb bzip2 cli cracklib crypt cups cxx dbus dri dvb ffmpeg fortran fuse gd gdbm gnome gpm gtk hal iconv jack mmx mmxext modules mudflap multilib mysql ncurses nls nptl nptlonly nsplugin opengl openmp pam pcre perl php policykit pppd python readline reflection ruby session sse sse2 sse3 ssl ssse3 sysfs tcpd unicode xorg xvmc zlib" ALSA_CARDS="emu10k1" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" DVB_CARDS="usb-dib0700" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="intel" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" 
Unset:  CPPFLAGS, CTARGET, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Comment 1 nurbs999 2010-09-13 12:09:07 UTC
Created attachment 247114 [details]
a backtrace of the crash
Comment 2 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2010-09-22 17:54:52 UTC
Could you clarify which package installs these drivers?
Comment 3 nurbs999 2010-09-22 22:19:30 UTC
which drivers do you mean? the intel-gma-drivers? they get installed if you either install xorg-server with VIDEO_CARDS="intel" or without VIDEO_CARDS flag. in the second case all video drivers get installed but xorg-server loads the one needed which is in my case the intel gma drivers
Comment 4 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2010-09-23 07:49:27 UTC
Ah, the xorg drivers, that's what I needed.
Comment 5 nurbs999 2010-10-14 21:16:52 UTC
just updates to new versions panda3d-engine, xf86-video-intel-2.13.0 and xorg-server-1.9.0.901 and things are even worse

here a backtrace

Program received signal SIGSEGV, Segmentation fault. 
0x00007fffe7c99273 in glXMakeCurrentReadSGI () from //usr/lib64/opengl/xorg-x11/lib/libGL.so.1 
(gdb) backtrace 
#0  0x00007fffe7c99273 in glXMakeCurrentReadSGI () from //usr/lib64/opengl/xorg-x11/lib/libGL.so.1 
#1  0x00007fffe5d1d132 in glxGraphicsWindow::open_window() () from /usr/local/lib64/panda3d/libpandagl.so 
#2  0x00007ffff3b8392e in GraphicsWindow::set_properties_now(WindowProperties&) () from /usr/local/lib64/panda3d/libpanda.so 
#3  0x00007fffe5cd7307 in x11GraphicsWindow::set_properties_now(WindowProperties&) () from /usr/local/lib64/panda3d/libpandagl.so 
#4  0x00007ffff3b83e68 in GraphicsWindow::process_events() () from /usr/local/lib64/panda3d/libpanda.so 
#5  0x00007fffe5cd7dd6 in x11GraphicsWindow::process_events() () from /usr/local/lib64/panda3d/libpandagl.so 
#6  0x00007ffff3b64a31 in GraphicsEngine::process_events(ov_set<PointerTo<GraphicsOutput>, IndirectLess<GraphicsOutput> > const&, Thread*) () 
   from /usr/local/lib64/panda3d/libpanda.so 
#7  0x00007ffff3b70417 in GraphicsEngine::WindowRenderer::do_windows(GraphicsEngine*, Thread*) () from /usr/local/lib64/panda3d/libpanda.so 
#8  0x00007ffff3b7d6ce in GraphicsEngine::open_windows() () from /usr/local/lib64/panda3d/libpanda.so 
#9  0x00007ffff3b98721 in GraphicsEngine::make_output(GraphicsPipe*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, FrameBufferProperties const&, WindowProperties const&, int, GraphicsStateGuardian*, GraphicsOutput*) () from /usr/local/lib64/panda3d/libpanda.so 
#10 0x00007ffff3bede3e in Dtool_GraphicsEngine_make_output_552(_object*, _object*, _object*) () from /usr/local/lib64/panda3d/libpanda.so 
#11 0x00007ffff7b15875 in PyEval_EvalFrameEx () from /usr/lib/libpython2.6.so.1.0 
#12 0x00007ffff7b176b7 in PyEval_EvalCodeEx () from /usr/lib/libpython2.6.so.1.0 
#13 0x00007ffff7aaadad in ?? () from /usr/lib/libpython2.6.so.1.0 
#14 0x00007ffff7a83102 in PyObject_Call () from /usr/lib/libpython2.6.so.1.0 
#15 0x00007ffff7b1447b in PyEval_EvalFrameEx () from /usr/lib/libpython2.6.so.1.0 
#16 0x00007ffff7b176b7 in PyEval_EvalCodeEx () from /usr/lib/libpython2.6.so.1.0 
#17 0x00007ffff7aaadad in ?? () from /usr/lib/libpython2.6.so.1.0 
#18 0x00007ffff7a83102 in PyObject_Call () from /usr/lib/libpython2.6.so.1.0 
#19 0x00007ffff7b1447b in PyEval_EvalFrameEx () from /usr/lib/libpython2.6.so.1.0 
#20 0x00007ffff7b176b7 in PyEval_EvalCodeEx () from /usr/lib/libpython2.6.so.1.0 
#21 0x00007ffff7b15a81 in PyEval_EvalFrameEx () from /usr/lib/libpython2.6.so.1.0 
#22 0x00007ffff7b176b7 in PyEval_EvalCodeEx () from /usr/lib/libpython2.6.so.1.0 
#23 0x00007ffff7aaacb0 in ?? () from /usr/lib/libpython2.6.so.1.0 
#24 0x00007ffff7a83102 in PyObject_Call () from /usr/lib/libpython2.6.so.1.0 
#25 0x00007ffff7a95b7d in ?? () from /usr/lib/libpython2.6.so.1.0 
#26 0x00007ffff7a83102 in PyObject_Call () from /usr/lib/libpython2.6.so.1.0 
#27 0x00007ffff7b0fc82 in PyEval_CallObjectWithKeywords () from /usr/lib/libpython2.6.so.1.0 
#28 0x00007ffff7a95346 in PyInstance_New () from /usr/lib/libpython2.6.so.1.0 
#29 0x00007ffff7a83102 in PyObject_Call () from /usr/lib/libpython2.6.so.1.0 
#30 0x00007ffff7b152ac in PyEval_EvalFrameEx () from /usr/lib/libpython2.6.so.1.0 
#31 0x00007ffff7b176b7 in PyEval_EvalCodeEx () from /usr/lib/libpython2.6.so.1.0 
#32 0x00007ffff7b17792 in PyEval_EvalCode () from /usr/lib/libpython2.6.so.1.0 
#33 0x00007ffff7b26a61 in PyImport_ExecCodeModuleEx () from /usr/lib/libpython2.6.so.1.0 
#34 0x00007ffff7b26f36 in ?? () from /usr/lib/libpython2.6.so.1.0 
#35 0x00007ffff7b283be in ?? () from /usr/lib/libpython2.6.so.1.0 
#36 0x00007ffff7b28653 in ?? () from /usr/lib/libpython2.6.so.1.0 
#37 0x00007ffff7b28cc8 in ?? () from /usr/lib/libpython2.6.so.1.0 
#38 0x00007ffff7b29a05 in PyImport_ImportModuleLevel () from /usr/lib/libpython2.6.so.1.0 
#39 0x00007ffff7b0f72f in ?? () from /usr/lib/libpython2.6.so.1.0 
#40 0x00007ffff7a83102 in PyObject_Call () from /usr/lib/libpython2.6.so.1.0 
#41 0x00007ffff7b0fc82 in PyEval_CallObjectWithKeywords () from /usr/lib/libpython2.6.so.1.0 
#42 0x00007ffff7b12878 in PyEval_EvalFrameEx () from /usr/lib/libpython2.6.so.1.0 
#43 0x00007ffff7b176b7 in PyEval_EvalCodeEx () from /usr/lib/libpython2.6.so.1.0 
#44 0x00007ffff7b17792 in PyEval_EvalCode () from /usr/lib/libpython2.6.so.1.0 
#45 0x00007ffff7b3185c in ?? () from /usr/lib/libpython2.6.so.1.0 
#46 0x00007ffff7b332ec in PyRun_InteractiveOneFlags () from /usr/lib/libpython2.6.so.1.0 
#47 0x00007ffff7b334fe in PyRun_InteractiveLoopFlags () from /usr/lib/libpython2.6.so.1.0 
#48 0x00007ffff7b3360c in PyRun_AnyFileExFlags () from /usr/lib/libpython2.6.so.1.0 
#49 0x00007ffff7b3ee7c in Py_Main () from /usr/lib/libpython2.6.so.1.0 
#50 0x00007ffff74d8d2d in __libc_start_main () from /lib/libc.so.6 
#51 0x00000000004008c9 in _start ()
Comment 6 nurbs999 2010-10-18 11:20:04 UTC
the engine starts if i set 'glx-get-proc-address 0' and 'glx-get-os-address 0' in the configfile of panda3d and the notify level is set to 'debug' or 'spam' which slows down the boot of the engine a little.
hope that helps
Comment 7 nurbs999 2010-10-23 00:50:32 UTC
downgrading mesa to 7.7.1 works. engine starts fine and i get no segfault. a bug-report concerning the mesa downgrade should already exist since i wasn't the only one with this problem.