"glibc detected python: double free or corruption"

Hi,
I’m running hardy 8.04, with a standard python 2.5.2.
I installed the newest panda from the i386 deb, and pview works fine, but
when trying to run the python samples i get:

DirectStart: Starting the game.
Warning: DirectNotify: category ‘Interval’ already exists
Known pipe types:
glxGraphicsPipe
(all display modules loaded.)
*** glibc detected *** python: double free or corruption (out): 0x088bf100 ***

Regards,
gzy

Hi,
Could you maybe add this line to the top of /etc/Config.prc:

notify-level debug

(replace “debug” with “spam” to spit out even more debug info)
And give us the last few lines of the output?

Thanks for the quick reply, here’s what i got with debug:

grzes@toshi:/usr/share/panda3d/samples/Looking-and-Gripping$ python Tut-Looking-and-Gripping.py
DirectStart: Starting the game.
:interrogatedb(debug): Creating interrogate database
:interrogatedb(debug): Got interrogate data for module libexpress
(… different libs)

:pnmimage:png(debug): PNG version 10215
:pnmimage:tiff(debug): LIBTIFF, Version 3.8.2
Copyright © 1988-1996 Sam Leffler
Copyright © 1991-1996 Silicon Graphics, Inc.
:interrogatedb(debug): Got interrogate data for module libparametrics
(… different libs)

Warning: DirectNotify: category ‘Interval’ already exists
:pgraph(debug): Constructing 0x81d02ec, hidden
(… a bunch of similiar lines )
:pgraph(debug): Constructing 0x86605dc, a2dpBottomRight
:display: loading display module: libpandagl.so
Known pipe types:
glxGraphicsPipe
(all display modules loaded.)
:display(debug): DisplayRegion::do_compute_pixels(800, 600)
:display(debug): DisplayRegion::do_compute_pixels(800, 600)
:display(debug): Creating new window window1
:display(debug): Created glxGraphicsWindow 0x868045c
:display(debug): Windows resorted: window1(0)
window1(0)
:display:gsg:glgsg(debug): GL_VENDOR = NVIDIA Corporation
:display:gsg:glgsg(debug): GL_RENDERER = GeForce FX Go5200 32M/64M/AGP/SSE2
:display:gsg:glgsg(debug): GL_VERSION = 2.1.2 NVIDIA 173.14.12
:display:gsg:glgsg(debug): GL_VERSION = 2.1.2 NVIDIA 173.14.12, decoded to 2.1.2
:display:gsg:glgsg(debug): GLX_VENDOR (client) = NVIDIA Corporation
:display:gsg:glgsg(debug): GLX_VERSION (client) = 1.4
:display:gsg:glgsg(debug): GLX_VENDOR (server) = NVIDIA Corporation
:display:gsg:glgsg(debug): GLX_VERSION (server) = 1.4
:display:gsg:glgsg(debug): GLX_VERSION = 1.3
:display:gsg:glgsg(debug): GL Extensions:
(… a bunch of gl extensions)
:display:gsg:glgsg(debug): HAS EXT GL_EXT_texture_mirror_clamp 0
:display:gsg:glgsg(debug): max texture dimension = 4096, max 3d texture = 512, max cube map = 4096
:display:gsg:glgsg(debug): max_elements_vertices = 1048576, max_elements_indices = 1048576
:display:gsg:glgsg(debug): vertex buffer objects are supported.
:display:gsg:glgsg(debug): Supported compressed texture formats:
GL_COMPRESSED_RGB_S3TC_DXT1_EXT
GL_COMPRESSED_RGBA_S3TC_DXT3_EXT
GL_COMPRESSED_RGBA_S3TC_DXT5_EXT
:display:gsg:glgsg(debug): HAS EXT GL_EXT_stencil_wrap 1
:display:gsg:glgsg(debug): HAS EXT GL_EXT_stencil_two_side 1
:display:gsg:glgsg(debug): max lights = 8
:display:gsg:glgsg(debug): max clip planes = 6
:display:gsg:glgsg(debug): max texture stages = 4
:display:gsg:glgsg(debug):
Cg vertex profile = vp30 id = 6148
Cg pixel profile = fp30 id = 6149
shader model = 3
:display:gsg:glgsg(debug): HAS EXT GLX_SGI_swap_control 1
:display:glxdisplay(debug): Raw mice not requested.
:display(debug): DisplayRegion::do_compute_pixels(800, 600)
:pgraph(debug): Constructing 0x88a317c, camera
:pgraph(debug): Constructing 0x88a343c, cam
:display(debug): DisplayRegion::do_compute_pixels(800, 600)
:display(debug): DisplayRegion::do_compute_pixels(800, 600)
:pgraph(debug): Constructing 0x88a419c, keyboard/mouse
:pgraph(debug): Constructing 0x88a43bc, keyboard/mouse
:pgraph(debug): Constructing 0x88a4bd4, keyboard/mouse
:pgraph(debug): Constructing 0x88a4e9c, trackball
:pgraph(debug): Constructing 0x88a511c, drive
:pgraph(debug): Constructing 0x88a574c, mouse2cam
:pgraph(debug): Constructing 0x88a58d4, timeButtons
:display(debug): DisplayRegion::do_compute_pixels(800, 600)
:display(debug): DisplayRegion::do_compute_pixels(800, 600)
:pgraph(debug): Constructing 0x88a6004, cam2d
:pgraph(debug): Constructing 0x88a6174, camera2d
:display(debug): DisplayRegion::do_compute_pixels(800, 600)
:display(debug): DisplayRegion::do_compute_pixels(800, 600)
:pgraph(debug): Constructing 0x88a6944, cam2dp
:pgraph(debug): Constructing 0x88a6ab4, camera2dp
:display: Unable to set window properties: !undecorated
:audio(debug): create_AudioManager()
audio_library_name=“p3openal_audio”
:audio(debug): dl_name=“libp3openal_audio.so”
*** glibc detected *** python: double free or corruption (out): 0x088c2588 ***

I didn’t know exactly which lines are goiing to tell you something so i cut most of the repetitive stuff…

Ah. This appears to be a bug in Panda3D; it accidentally got configured to use OpenAL instead of FMOD. I’ll put it on the bug list for 1.5.4.

To fix this, you just need to find this line in your /etc/Config.prc:

audio-library-name p3openal_audio

Change that into:

audio-library-name p3fmod_audio

You can also remove the notify-level line you just added.
I’ll bet my bottom dollar that it will work now. :slight_smile:

If not then there might be something wrong with the heron build. I had problems with it segfaulting on me so I switched to the gibbon build.

The heron build came from me too, so err, if you have further problems with it, I’ll be over there doing me some hara-kiri. :stuck_out_tongue:

awesome, worked like a charm thanks so much.

Regards,
Greg