Debian Bug report logs - #593422
openarena: Segfaults unless pulseaudio is installed and running.

version graph

Package: libasound2; Maintainer for libasound2 is Debian ALSA Maintainers <pkg-alsa-devel@lists.alioth.debian.org>; Source for libasound2 is src:alsa-lib (PTS, buildd, popcon).

Affects: openarena, libportaudio2

Reported by: Jordan Metzmeier <jordan@linuxgen.com>

Date: Wed, 18 Aug 2010 02:45:01 UTC

Severity: grave

Tags: patch

Merged with 589896

Found in version alsa-lib/1.0.23-1

Fixed in version alsa-lib/1.0.23-2.1

Done: Simon McVittie <smcv@debian.org>

Bug is archived. No further changes may be made.

Forwarded to https://bugtrack.alsa-project.org/alsa-bug/view.php?id=4426

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, Debian Games Team <pkg-games-devel@lists.alioth.debian.org>:
Bug#593422; Package openarena. (Wed, 18 Aug 2010 02:45:04 GMT) (full text, mbox, link).


Acknowledgement sent to Jordan Metzmeier <jordan@linuxgen.com>:
New Bug report received and forwarded. Copy sent to Debian Games Team <pkg-games-devel@lists.alioth.debian.org>. (Wed, 18 Aug 2010 02:45:04 GMT) (full text, mbox, link).


Message #5 received at submit@bugs.debian.org (full text, mbox, reply):

From: Jordan Metzmeier <jordan@linuxgen.com>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: openarena: Segfaults unless pulseaudio is installed and running.
Date: Tue, 17 Aug 2010 22:43:26 -0400
Package: openarena
Version: 0.8.5-3
Severity: grave
Justification: renders package unusable


After the upgrade to 0.8.5 the package becomes completely unusable. It 
attempts to load pulseaudio, then segfaults. This occurs on systems
that do not have pulseaudio installed or running.

openarena does not depend nor recommend pulseaudio.

This might be related, or a duplicate of #589896


jordan@tesla ~ $ openarena
ioq3+oa 1.36 linux-i386 Aug  8 2010
----- FS_Startup -----
Current search path:
/home/jordan/.openarena/baseoa
/usr/lib/games/openarena/baseoa/pak6-patch085.pk3 (559 files)
/usr/lib/games/openarena/baseoa/pak6-misc.pk3 (229 files)
/usr/lib/games/openarena/baseoa/pak5-TA.pk3 (139 files)
/usr/lib/games/openarena/baseoa/pak4-textures.pk3 (1753 files)
/usr/lib/games/openarena/baseoa/pak2-players.pk3 (669 files)
/usr/lib/games/openarena/baseoa/pak2-players-mature.pk3 (231 files)
/usr/lib/games/openarena/baseoa/pak1-maps.pk3 (100 files)
/usr/lib/games/openarena/baseoa/pak0.pk3 (1042 files)
/usr/lib/games/openarena/baseoa

----------------------
4722 files in pk3 files
execing default.cfg
execing q3config.cfg
couldn't exec autoexec.cfg
Hunk_Clear: reset the hunk ok
----- Client Initialization -----
Couldn't read q3history.
----- Initializing Renderer ----
-------------------------------
QKEY found.
----- Client Initialization Complete -----
----- R_Init -----
SDL using driver "x11"
Initializing OpenGL display
Estimated display aspect: 1.600
...setting mode -1: 1920 1200
Using 8/8/8 Color bits, 24 depth, 0 stencil display.
Available modes: '320x200 640x400 720x450 840x525 960x600 1440x900 1680x1050 1920x1200 800x512 1600x1024 680x384 1360x768 960x540 1920x1080 360x200 720x400 320x175 640x350 320x240 400x300 416x312 512x384 576x432 640x480 700x525 800x600 832x624 896x672 928x696 960x720 1024x768 1152x864 1280x960 1400x1050 1600x1200 640x512 1280x1024'
GL_RENDERER: GeForce GTX 260/PCI/SSE2
Initializing OpenGL extensions
...ignoring GL_EXT_texture_compression_s3tc
...ignoring GL_S3_s3tc
...using GL_EXT_texture_env_add
...using GL_ARB_multitexture
...using GL_EXT_compiled_vertex_array
...using GL_EXT_texture_filter_anisotropic (max: 16)

GL_VENDOR: NVIDIA Corporation
GL_RENDERER: GeForce GTX 260/PCI/SSE2
GL_VERSION: 3.2.0 NVIDIA 195.36.24
GL_EXTENSIONS: GL_ARB_color_buffer_float GL_ARB_compatibility GL_ARB_copy_buffer GL_ARB_depth_buffer_float GL_ARB_depth_clamp GL_ARB_depth_texture GL_ARB_draw_buffers GL_ARB_draw_elements_base_vertex GL_ARB_draw_instanced GL_ARB_fragment_coord_conventions GL_ARB_fragment_program GL_ARB_fragment_program_shadow GL_ARB_fragment_shader GL_ARB_framebuffer_object GL_ARB_framebuffer_sRGB GL_ARB_geometry_shader4 GL_ARB_half_float_pixel GL_ARB_half_float_vertex GL_ARB_imaging GL_ARB_map_buffer_range GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query GL_ARB_pixel_buffer_object GL_ARB_point_parameters GL_ARB_point_sprite GL_ARB_provoking_vertex GL_ARB_seamless_cube_map GL_ARB_shader_objects GL_ARB_shading_language_100 GL_ARB_shadow GL_ARB_sync GL_ARB_texture_border_clamp GL_ARB_texture_buffer_object GL_ARB_texture_compression GL_ARB_texture_compression_rgtc GL_ARB_texture_cube_map GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_ARB_texture_float GL_ARB_texture_mirrored_repeat GL_ARB_texture_multisample GL_ARB_texture_non_power_of_two GL_ARB_texture_rectangle GL_ARB_texture_rg GL_ARB_transpose_matrix GL_ARB_uniform_buffer_object GL_ARB_vertex_array_bgra GL_ARB_vertex_array_object GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_vertex_shader GL_ARB_window_pos GL_ATI_draw_buffers GL_ATI_texture_float GL_ATI_texture_mirror_once GL_S3_s3tc GL_EXT_texture_env_add GL_EXT_abgr GL_EXT_bgra GL_EXT_bindable_uniform GL_EXT_blend_color GL_EXT_blend_equation_separate GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_compiled_vertex_array GL_EXT_Cg_shader GL_EXT_depth_bounds_test GL_EXT_direct_state_access GL_EXT_draw_buffers2 GL_EXT_draw_instanced GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXTX_framebuffer_mixed_formats GL_EXT_framebuffer_object GL_EXT_framebuffer_sRGB GL_EXT_geometry_shader4 GL_EXT_gpu_program_parameters GL_EXT_gpu_shader4 GL_EXT_multi_draw_arrays GL_EXT_packed_depth_stencil GL_EXT_packed_float GL_EXT_packed_pixels GL_EXT_pixel_buffer_object GL_EXT_point_parameters GL_EXT_provoking_vertex GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_shader_objects GL_EXT_separate_specular_color GL_EXT_shadow_funcs GL_EXT_stencil_two_side GL_EXT_stencil_wrap GL_EXT_texture3D GL_EXT_texture_array GL_EXT_texture_buffer_object GL_EXT_texture_compression_latc GL_EXT_texture_compression_rgtc GL_EXT_texture_compression_s3tc GL_EXT_texture_cube_map GL_EXT_texture_edge_clamp GL_EXT_texture_env_combine GL_EXT_texture_env_dot3 GL_EXT_texture_filter_anisotropic GL_EXT_texture_integer GL_EXT_texture_lod GL_EXT_texture_lod_bias GL_EXT_texture_mirror_clamp GL_EXT_texture_object GL_EXT_texture_shared_exponent GL_EXT_texture_sRGB GL_EXT_texture_swizzle GL_EXT_timer_query GL_EXT_transform_feedback2 GL_EXT_vertex_array GL_EXT_vertex_array_bgra GL_IBM_rasterpos_clip GL_IBM_texture_mirrored_repeat GL_KTX_buffer_region GL_NV_blend_square GL_NV_conditional_render GL_NV_copy_depth_to_color GL_NV_copy_image GL_NV_depth_buffer_float GL_NV_depth_clamp GL_NV_explicit_multisample GL_NV_fence GL_NV_float_buffer GL_NV_fog_distance GL_NV_fragment_program GL_NV_fragment_program_option GL_NV_fragment_program2 GL_NV_framebuffer_multisample_coverage GL_NV_geometry_shader4 GL_NV_gpu_program4 GL_NV_half_float GL_NV_light_max_exponent GL_NV_multisample_coverage GL_NV_multisample_filter_hint GL_NV_occlusion_query GL_NV_packed_depth_stencil GL_NV_parameter_buffer_object GL_NV_parameter_buffer_object2 GL_NV_pixel_data_range GL_NV_point_sprite GL_NV_primitive_restart GL_NV_register_combiners GL_NV_register_combiners2 GL_NV_shader_buffer_load GL_NV_texgen_reflection GL_NV_texture_barrier GL_NV_texture_compression_vtc GL_NV_texture_env_combine4 GL_NV_texture_expand_normal GL_NV_texture_rectangle GL_NV_texture_shader GL_NV_texture_shader2 GL_NV_texture_shader3 GL_NV_transform_feedback GL_NV_transform_feedback2 GL_NV_vertex_array_range GL_NV_vertex_array_range2 GL_NV_vertex_buffer_unified_memory GL_NV_vertex_prograGL_MAX_TEXTURE_SIZE: 8192
GL_MAX_TEXTURE_UNITS_ARB: 4

PIXELFORMAT: color(24-bits) Z(24-bit) stencil(0-bits)
MODE: -1, 1920 x 1200 fullscreen hz:N/A
GAMMA: hardware w/ 0 overbright bits
rendering primitives: single glDrawElements
texturemode: GL_LINEAR_MIPMAP_LINEAR
picmip: 0
texture bits: 32
multitexture: enabled
compiled vertex arrays: enabled
texenv add: enabled
compressed textures: disabled
Initializing Shaders
----- finished R_Init -----
------ Initializing Sound ------
Failed to open OpenAL device 'PulseAudio Software', trying default.
Allocated 96 sources.
OpenAL default capture device is 'PulseAudio Capture'
Segmentation fault


-- System Information:
Debian Release: squeeze/sid
  APT prefers experimental
  APT policy: (990, 'experimental'), (990, 'testing'), (500, 'stable'), (1, 'unstable')
Architecture: i386 (i686)

Kernel: Linux 2.6.32-5-686-bigmem (SMP w/4 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages openarena depends on:
ii  libc6                   2.11.2-2         Embedded GNU C Library: Shared lib
ii  libcurl3-gnutls         7.21.0-1         Multi-protocol file transfer libra
ii  libgl1-mesa-glx [libgl1 7.7.1-4          A free implementation of the OpenG
ii  libogg0                 1.2.0~dfsg-1     Ogg bitstream library
ii  libopenal1              1:1.12.854-2     Software implementation of the Ope
ii  libsdl1.2debian         1.2.14-6         Simple DirectMedia Layer
ii  libspeex1               1.2~rc1-1        The Speex codec runtime library
ii  libspeexdsp1            1.2~rc1-1        The Speex extended runtime library
ii  libvorbis0a             1.3.1-1          The Vorbis General Audio Compressi
ii  libvorbisfile3          1.3.1-1          The Vorbis General Audio Compressi
ii  openarena-data          0.8.5-2          OpenArena game data
ii  openarena-server        0.8.5-3          server and game logic for the game
ii  zlib1g                  1:1.2.3.4.dfsg-3 compression library - runtime

openarena recommends no packages.

openarena suggests no packages.

-- no debconf information




Information forwarded to debian-bugs-dist@lists.debian.org, Debian Games Team <pkg-games-devel@lists.alioth.debian.org>:
Bug#593422; Package openarena. (Wed, 18 Aug 2010 21:45:05 GMT) (full text, mbox, link).


Acknowledgement sent to Jordan Metzmeier <titan8990@gmail.com>:
Extra info received and forwarded to list. Copy sent to Debian Games Team <pkg-games-devel@lists.alioth.debian.org>. (Wed, 18 Aug 2010 21:45:05 GMT) (full text, mbox, link).


Message #10 received at 593422@bugs.debian.org (full text, mbox, reply):

From: Jordan Metzmeier <titan8990@gmail.com>
To: pkg-games-devel@lists.alioth.debian.org
Subject: Re: Bug#593422: openarena: Segfaults unless pulseaudio is installed and running.
Date: Wed, 18 Aug 2010 17:44:54 -0400
[Message part 1 (text/plain, inline)]
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

On 08/18/2010 05:09 AM, Bruno Kleinert wrote:
> Am Dienstag, den 17.08.2010, 22:43 -0400 schrieb Jordan Metzmeier:
>> ------ Initializing Sound ------
>> Failed to open OpenAL device 'PulseAudio Software', trying default.
>> Allocated 96 sources.
>> OpenAL default capture device is 'PulseAudio Capture'
>> Segmentation fault
> Have you configured OpenAL to use ALSA instead of PulseAudio as primary
> audio interface? That's the "drivers=xyz" line
> in /etc/openal/alsoft.conf
> 

I checked this file and nothing like that is explicitly set. Nothing was
changed from default values. My copy of the configuration file is
attached. It consists mostly of comments.

Thanks for looking.

Regards,
- -- 
Jordan Metzmeier

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)

iQIcBAEBCAAGBQJMbFRSAAoJEKj/C3qNthmTy5MP/1y++Xwxy5S+b98tczikW1O5
baPFzWega+4YC22kOHWxabO5+8A4fL1X4tzY5fYcGR/40GK/fYnMAQXgUkzmvzwy
N0K1Nb+OZGCLDttZhjXGk1sS8/qoNwUGLy6rTA7O+0lG3cYaOdlvlUWQ2Bf9HndX
p6i33BrLlTexMYhBAQ4Pgjh9srUTEBXsQ7DW1Yjwr8/ynnHbL8JRGq/G70mHAj1e
JJerF6KQcNewYrNdlcpgwkR5t6IeyMo5AiFHjEeF/QYhRY1rMoBEXb4xbKLsTSwM
J4OHARpZR6J5fp9w3+Y7Alu712J+WZP8lcsBNxLCCyH6zaiBEcfv1w9vUtmiFro4
YQF6zFyJkukCYxyilNDTYXK/2psOPqIoZXKA7iWsCUCrw3crSCOuy6hGy/p5MKyQ
GAGhtV4e5WhiiIwPGr0K3mC0KrEczgTJ8Z2gPrnV6RCce5hOhuSlXQ9e9/17wIsA
dQheriPYduVTXLDoJf8mVU6l2hSflL4eRJC9rhoq++L+BtgsLj0giouuvrjI5CoV
6p8v4FAXClgY5fTcIqvt8TPIT+91HEKlCCNz0zWVs5m8o8mkwyWv1nvIUGHfCc2w
ms87wYRqdMPp2YhDCjlH3UryD9kULnDK4zC7wFR/EC6k90dPuMeNijFohII4n/qF
YKq5IR8bV1AyMwCty6Tk
=8+mD
-----END PGP SIGNATURE-----
[alsoft.conf (text/plain, attachment)]

Information forwarded to debian-bugs-dist@lists.debian.org, Debian Games Team <pkg-games-devel@lists.alioth.debian.org>:
Bug#593422; Package openarena. (Thu, 19 Aug 2010 20:15:03 GMT) (full text, mbox, link).


Acknowledgement sent to Simon McVittie <smcv@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian Games Team <pkg-games-devel@lists.alioth.debian.org>. (Thu, 19 Aug 2010 20:15:03 GMT) (full text, mbox, link).


Message #15 received at 593422@bugs.debian.org (full text, mbox, reply):

From: Simon McVittie <smcv@debian.org>
To: Jordan Metzmeier <jordan@linuxgen.com>, 593422@bugs.debian.org
Subject: Re: Bug#593422: openarena: Segfaults unless pulseaudio is installed and running.
Date: Thu, 19 Aug 2010 21:11:53 +0100
severity 589896 grave
merge 589896 593422
thanks

On Tue, 17 Aug 2010 at 22:43:26 -0400, Jordan Metzmeier wrote:
> ------ Initializing Sound ------
> Failed to open OpenAL device 'PulseAudio Software', trying default.
> Allocated 96 sources.
> OpenAL default capture device is 'PulseAudio Capture'
> Segmentation fault

I think this is the same bug as #589896, and I'm not sure it's really OA's
fault; it might be either OpenAL, PulseAudio, or the OpenAL PulseAudio backend.

Your OpenAL has the default drivers, which according to the comment
are:

    drivers = pulse,alsa,oss,solaris,dsound,winmm,port,wave

The next-in-line after pulse is alsa, so you have ALSA output and Pulse input,
which is exactly the situation that broke OA for me.

To confirm, I'd like to see the output of this command:

    grep '\<s_' ~/.openarena/baseoa/q3config.cfg | sort -u

After doing that, if my theory is right, you'll be able to work around this
crash by running:

    openarena +set s_alCapture 0

(This setting is saved to your .openarena/baseoa/q3config.cfg after you've
used it once.)

As a worst-case hack, we could work around this for squeeze very easily, by
making s_alCapture default to 0; people who want VoIP support could (carefully)
turn it on and see if it works.

Regards,
    Simon




Merged 589896 593422. Request was from Simon McVittie <smcv@debian.org> to control@bugs.debian.org. (Thu, 19 Aug 2010 20:15:08 GMT) (full text, mbox, link).


Information forwarded to debian-bugs-dist@lists.debian.org, Debian Games Team <pkg-games-devel@lists.alioth.debian.org>:
Bug#593422; Package openarena. (Thu, 19 Aug 2010 22:39:05 GMT) (full text, mbox, link).


Acknowledgement sent to Simon McVittie <smcv@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian Games Team <pkg-games-devel@lists.alioth.debian.org>. (Thu, 19 Aug 2010 22:39:05 GMT) (full text, mbox, link).


Message #22 received at 593422@bugs.debian.org (full text, mbox, reply):

From: Simon McVittie <smcv@debian.org>
To: Jordan Metzmeier <jordan@linuxgen.com>, 593422@bugs.debian.org
Subject: Re: Bug#593422: openarena: Segfaults unless pulseaudio is installed and running.
Date: Thu, 19 Aug 2010 23:35:47 +0100
Here's a traceback (this is ioquake3 running Quake III Arena, not openarena,
but it's basically the same), with debug symbols for as much as I could get,
and ioquake3 and SDL rebuilt with debug. I've added a bit of commentary but
not deleted anything from the traceback.

This is with s_alDevice "ALSA Software".

> ------ Initializing Sound ------
> [New Thread 0x7fffe359e710 (LWP 1504)]
> [Thread 0x7fffe359e710 (LWP 1504) exited]
> [New Thread 0x7fffe359e710 (LWP 1505)]
> [Thread 0x7fffe359e710 (LWP 1505) exited]
> [New Thread 0x7fffe359e710 (LWP 1506)]
> [Thread 0x7fffe359e710 (LWP 1506) exited]
> [New Thread 0x7fffe359e710 (LWP 1507)]
> [Thread 0x7fffe359e710 (LWP 1507) exited]
> [New Thread 0x7fffe359e710 (LWP 1508)]
> [New Thread 0x7fffe2d9d710 (LWP 1509)]
> Allocated 96 sources.
> [New Thread 0x7fffde376710 (LWP 1510)]
> [Thread 0x7fffde376710 (LWP 1510) exited]
> [New Thread 0x7fffde376710 (LWP 1511)]
> [Thread 0x7fffde376710 (LWP 1511) exited]
> [New Thread 0x7fffde376710 (LWP 1512)]
> [Thread 0x7fffde376710 (LWP 1512) exited]
> [New Thread 0x7fffde376710 (LWP 1513)]
> [Thread 0x7fffde376710 (LWP 1513) exited]
> OpenAL default capture device is 'PulseAudio Capture'
> 
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 0x7fffe359e710 (LWP 1508)]
> 0x00007fffe77369b0 in ?? ()

(Does this mean the SEGV was provoked by LWP 1508?)

Not sure what this next thread does... it might not have initialized its stack
properly yet?

> [New Thread 0x7fffde376710 (LWP 1514)]
> 
> Thread 12 (Thread 0x7fffde376710 (LWP 1514)):
> #0  clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:84
> No locals.
> #1  0x00007ffff4c0c800 in ?? () at pthread_create.c:217
>    from /lib/libpthread.so.0
> No symbol table info available.
> #2  0x00007fffde376710 in ?? ()
> No symbol table info available.
> #3  0x0000000000000000 in ?? ()
> No symbol table info available.

This looks like an ALSA output thread:

> Thread 7 (Thread 0x7fffe2d9d710 (LWP 1509)):
> #0  0x00007ffff5c2d103 in *__GI___poll (fds=<value optimized out>, 
>     nfds=<value optimized out>, timeout=-1)
>     at ../sysdeps/unix/sysv/linux/poll.c:87
>         _a3 = -1
>         _a1 = 140736999312608
>         resultvar = <value optimized out>
>         _a2 = 1
>         oldtype = 0
>         result = <value optimized out>
> #1  0x00007fffe798f4da in ?? () from /usr/lib/libasound.so.2
> No symbol table info available.
> #2  0x00007fffe798f7bd in ?? () from /usr/lib/libasound.so.2
> No symbol table info available.
> #3  0x00007fffe79cd9ab in ?? () from /usr/lib/libasound.so.2
> No symbol table info available.
> #4  0x00007ffff745bc48 in ALSANoMMapProc (ptr=<value optimized out>)
>     at /build/andres-openal-soft_1.12.854-2-amd64-LKOA6y/openal-soft-1.12.854/Alc/alsa.c:453
>         ret = -516
>         state = <value optimized out>
>         pDevice = 0x7fffe7c1f010
>         data = 0x23ba520
>         avail = <value optimized out>
>         WritePtr = 0x270f410 ""
> #5  0x00007ffff74599aa in StarterFunc (ptr=0x2713700)
>     at /build/andres-openal-soft_1.12.854-2-amd64-LKOA6y/openal-soft-1.12.854/Alc/alcThread.c:95
> No locals.
> #6  0x00007ffff4c0c8ba in start_thread (arg=<value optimized out>)
>     at pthread_create.c:300
>         __res = <value optimized out>
>         pd = 0x7fffe2d9d710
>         unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736999315216, 
>                 2632053607707369331, 140737299705632, 0, 140737354125376, 3, 
>                 -2632024695615070349, -2632064475428102285}, 
>               mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, 
>             data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
>         not_first_call = <value optimized out>
>         freesize = <value optimized out>
>         __PRETTY_FUNCTION__ = "start_thread"
> #7  0x00007ffff5c3801d in clone ()
>     at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
> No locals.
> #8  0x0000000000000000 in ?? ()
> No symbol table info available.

This one looks like the interesting one: it's the PA thread:

> Thread 6 (Thread 0x7fffe359e710 (LWP 1508)):
> #0  0x00007fffe77369b0 in ?? ()
> No symbol table info available.
> #1  0x00007ffff574c9c7 in pa_command_request (pd=<value optimized out>, 
>     command=<value optimized out>, tag=<value optimized out>, t=0x270edf0, 
>     userdata=0x270a740) at pulse/stream.c:745

Here's the code:

744    if (s->requested_bytes > 0 && s->write_callback)
745        s->write_callback(s, (size_t) s->requested_bytes, s->write_userdata);

So it looks as though s->write_callback is somehow broken.

I've seen a similar crash for o->stream->latency_update_callback in
stream_get_timing_info_callback.

>         s = 0x270e3c0
>         bytes = 5344
>         channel = 0
>         __func__ = "pa_command_request"
>         __PRETTY_FUNCTION__ = "pa_command_request"
> #2  0x00007ffff2ea05a6 in pa_pdispatch_run (pd=0x2712f00, 
>     packet=<value optimized out>, creds=<value optimized out>, 
>     userdata=0x270a740) at pulsecore/pdispatch.c:331
>         tag = 4294967295
>         command = 61
>         ts = 0x270edf0
>         ret = 0
>         __func__ = "pa_pdispatch_run"
>         __PRETTY_FUNCTION__ = "pa_pdispatch_run"
> #3  0x00007ffff5734d9d in pstream_packet_callback (p=<value optimized out>, 
>     packet=0x273f240, creds=0x2713200, userdata=0x270a740)
>     at pulse/context.c:360
>         __func__ = "pstream_packet_callback"
>         __PRETTY_FUNCTION__ = "pstream_packet_callback"
> #4  0x00007ffff2ea4314 in do_read (p=0x27130b0) at pulsecore/pstream.c:816
>         release_memblock = 0x0
>         d = <value optimized out>
>         l = 20
>         r = 20
> #5  do_something (p=0x27130b0) at pulsecore/pstream.c:184
>         __func__ = "do_something"
>         __PRETTY_FUNCTION__ = "do_something"
> #6  0x00007ffff5741bdd in dispatch_pollfds (m=0x2709df0)
>     at pulse/mainloop.c:688
>         e = 0x271fb00
>         k = 0
>         r = 1
> #7  pa_mainloop_dispatch (m=0x2709df0) at pulse/mainloop.c:933
>         dispatched = 0
>         __func__ = "pa_mainloop_dispatch"
>         __PRETTY_FUNCTION__ = "pa_mainloop_dispatch"
> #8  0x00007ffff5741f68 in pa_mainloop_iterate (m=0x2709df0, 
>     block=<value optimized out>, retval=0x0) at pulse/mainloop.c:964
>         r = <value optimized out>
>         __func__ = "pa_mainloop_iterate"
>         __PRETTY_FUNCTION__ = "pa_mainloop_iterate"
> #9  0x00007ffff5742010 in pa_mainloop_run (m=0x2709df0, retval=0x0)
>     at pulse/mainloop.c:979
>         r = <value optimized out>
> #10 0x00007ffff57508eb in thread (userdata=0x2722380)
>     at pulse/thread-mainloop.c:94
>         mask = {__val = {18446744067267100671, 
>             18446744073709551615 <repeats 15 times>}}
> #11 0x00007ffff2eb1700 in internal_thread_func (userdata=0x2724dc0)
>     at pulsecore/thread-posix.c:72
>         __func__ = "internal_thread_func"
>         __PRETTY_FUNCTION__ = "internal_thread_func"
> #12 0x00007ffff4c0c8ba in start_thread (arg=<value optimized out>)
>     at pthread_create.c:300
>         __res = <value optimized out>
>         pd = 0x7fffe359e710
>         unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737007707920, 
>                 2632053607707369331, 140737299705632, 0, 140737354125376, 3, 
>                 -2632027993613082765, -2632064475428102285}, 
>               mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, 
>             data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
>         not_first_call = <value optimized out>
>         freesize = <value optimized out>
>         __PRETTY_FUNCTION__ = "start_thread"
> #13 0x00007ffff5c3801d in clone ()
>     at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
> No locals.
> #14 0x0000000000000000 in ?? ()
> No symbol table info available.

This is the main thread:

> Thread 1 (Thread 0x7ffff7fc2780 (LWP 1499)):
> #0  clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:84
> No locals.
> #1  0x00007ffff4c0cb24 in do_clone (pd=0x7fffde376710, attr=0x7ffff4c16f20, 
>     stackaddr=0x7fffde3769e0, stopped=1, fct=<value optimized out>, 
>     clone_flags=<value optimized out>)
>     at ../nptl/sysdeps/pthread/createthread.c:75
> No locals.
> #2  0x00007ffff4c0d0d2 in create_thread (newthread=<value optimized out>, 
>     attr=<value optimized out>, start_routine=<value optimized out>, 
>     arg=<value optimized out>) at ../nptl/sysdeps/pthread/createthread.c:205
>         stopped = <value optimized out>
> #3  __pthread_create_2_1 (newthread=<value optimized out>, 
>     attr=<value optimized out>, start_routine=<value optimized out>, 
>     arg=<value optimized out>) at pthread_create.c:561
>         stackaddr = 0x7fffde3769e0
>         iattr = 0x7ffff4c16f20
>         pd = 0x7fffde376710
>         err = -134229952
> #4  0x00007ffff2eb1825 in pa_thread_new (thread_func=0x7ffff57508b0 <thread>, 
>     userdata=0x2722410) at pulsecore/thread-posix.c:89
>         t = <value optimized out>
>         __func__ = "pa_thread_new"
>         __PRETTY_FUNCTION__ = "pa_thread_new"
> #5  0x00007ffff5750805 in pa_threaded_mainloop_start (m=0x2722410)
>     at pulse/thread-mainloop.c:148
>         __func__ = "pa_threaded_mainloop_start"
>         __PRETTY_FUNCTION__ = "pa_threaded_mainloop_start"
> #6  0x00007ffff7462ce3 in pulse_open (device=0x7fffe78a9010, 
>     device_name=0x7ffff7469b90 "PulseAudio Capture")
>     at /build/andres-openal-soft_1.12.854-2-amd64-LKOA6y/openal-soft-1.12.854/Alc/pulseaudio.c:462
>         data = 0x27412b0
>         state = <value optimized out>
> #7  0x00007ffff7464ca7 in pulse_open_capture (device=0x7fffe78a9010, 
>     device_name=0x7ffff7469b90 "PulseAudio Capture")
>     at /build/andres-openal-soft_1.12.854-2-amd64-LKOA6y/openal-soft-1.12.854/Alc/pulseaudio.c:775
>         data = <value optimized out>
>         state = <value optimized out>
>         chanmap = {channels = 255 '\377', map = {PA_CHANNEL_POSITION_MONO, 
>             -169058648, 32767, -169058752, 32767, 590040, 
>             PA_CHANNEL_POSITION_MONO, -10928, 126, 
>             PA_CHANNEL_POSITION_REAR_LEFT, PA_CHANNEL_POSITION_MONO, 590080, 
>             PA_CHANNEL_POSITION_MONO, PA_CHANNEL_POSITION_MONO, 36878, 
>             17971456, PA_CHANNEL_POSITION_MONO, PA_CHANNEL_POSITION_MONO, 
>             PA_CHANNEL_POSITION_MONO, 59424, PA_CHANNEL_POSITION_MONO, 
>             41166816, PA_CHANNEL_POSITION_MONO, 590040, 
>             PA_CHANNEL_POSITION_MONO, -169058752, 32767, -169058752, 32767, 
>             -172101806, 32767, 1786}}
> #8  0x00007ffff7440207 in alcCaptureOpenDevice (deviceName=0x0, 
>     frequency=<value optimized out>, format=<value optimized out>, 
>     SampleSize=<value optimized out>)
>     at /build/andres-openal-soft_1.12.854-2-amd64-LKOA6y/openal-soft-1.12.854/Alc/ALc.c:712
>         device = 0x7fffe78a9010
>         i = <value optimized out>
> #9  0x0000000000476a08 in S_AL_Init (si=0xbfe900)
>     at code/client/snd_openal.c:2463
>         device = <value optimized out>
> #10 0x000000000047388c in S_Init () at code/client/snd_main.c:504
>         cv = 0x5ea
>         started = <value optimized out>
> #11 0x0000000000428d7d in CL_StartHunkUsers (rendererOnly=qfalse)
>     at code/client/cl_main.c:2852
> No locals.
> #12 0x000000000044bddd in Com_Init (commandLine=<value optimized out>)
>     at code/qcommon/common.c:2797
>         s = <value optimized out>
>         qport = -922537196
> #13 0x0000000000539adb in main (argc=8, argv=0x7fffffffe030)
>     at code/sys/sys_main.c:578
>         i = 8
>         commandLine = "\000set fs_basepath /usr/share/games/quake3 \000set s_alDevice \"ALSA Software\" ", '\000' <repeats 950 times>
>         ver = <value optimized out>




Information forwarded to debian-bugs-dist@lists.debian.org, Debian Games Team <pkg-games-devel@lists.alioth.debian.org>:
Bug#593422; Package openarena. (Thu, 19 Aug 2010 23:45:03 GMT) (full text, mbox, link).


Acknowledgement sent to Simon McVittie <smcv@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian Games Team <pkg-games-devel@lists.alioth.debian.org>. (Thu, 19 Aug 2010 23:45:03 GMT) (full text, mbox, link).


Message #27 received at 593422@bugs.debian.org (full text, mbox, reply):

From: Simon McVittie <smcv@debian.org>
To: Jordan Metzmeier <jordan@linuxgen.com>, 593422@bugs.debian.org
Cc: pkg-alsa-devel@lists.alioth.debian.org, pkg-pulseaudio-devel@lists.alioth.debian.org
Subject: Re: Bug#593422: openarena: Segfaults unless pulseaudio is installed and running.
Date: Fri, 20 Aug 2010 00:41:13 +0100
I think I somewhat understand why this is failing now, but I don't know whose
bug it is.

> This one looks like the interesting one: it's the PA thread:
> 
> > Thread 6 (Thread 0x7fffe359e710 (LWP 1508)):
> > #0  0x00007fffe77369b0 in ?? ()
> > No symbol table info available.
> > #1  0x00007ffff574c9c7 in pa_command_request (pd=<value optimized out>, 
> >     command=<value optimized out>, tag=<value optimized out>, t=0x270edf0, 
> >     userdata=0x270a740) at pulse/stream.c:745
> 
> Here's the code:
> 
> 744    if (s->requested_bytes > 0 && s->write_callback)
> 745        s->write_callback(s, (size_t) s->requested_bytes, s->write_userdata);

The crash I'm getting is that the callbacks used by the PulseAudio plugins in
openal-soft and alsa-lib are each in the corresponding plugin. It's possible
to induce something (Pulse? ALSA? who knows) to dlclose() the plugin, causing
it to drop out of OpenArena's address space, while the Pulse thread is still
happily streaming data. The next time the Pulse thread invokes the callback,
SIGSEGV ensues.

So far I've only been able to reproduce this by setting the engine to
use "ALSA Software" for output and the default "PulseAudio Capture" for
input:

  openarena +set s_alDevice \"ALSA Software\" +set s_alCapture 1

(the quoting is strange for the Quake 3 engine's benefit, do run it exactly
as given!)

On my system, which does have PulseAudio (and ALSA configured to use it),
the resulting audio paths are:

  output: openarena -> OpenAL -> libasound -> alsa-plugins' pulse plugin
  capture: openarena <- OpenAL <- OpenAL's pulse plugin

I've been able to fix the crash by hacking alsa-lib to turn snd_dlclose()
into a no-op, or by setting s_alCapture to 0 (which disables use of a capture
device in OpenAL).

If we need a hackish workaround for squeeze, I'll set s_alDevice to the empty
string on the openarena command line, which will result in auto-detection
being repeated on every run - but that's clearly not the right solution,
and I'd rather try to fix it properly.

    Simon




Bug reassigned from package 'openarena' to 'libasound2'. Request was from Simon McVittie <smcv@debian.org> to control@bugs.debian.org. (Fri, 20 Aug 2010 18:27:06 GMT) (full text, mbox, link).


Bug No longer marked as found in versions openarena/0.8.5-3 and openarena/0.8.1-7. Request was from Simon McVittie <smcv@debian.org> to control@bugs.debian.org. (Fri, 20 Aug 2010 18:27:07 GMT) (full text, mbox, link).


Bug Marked as found in versions alsa-lib/1.0.23-1. Request was from Simon McVittie <smcv@debian.org> to control@bugs.debian.org. (Fri, 20 Aug 2010 18:27:08 GMT) (full text, mbox, link).


Added indication that 593422 affects openarena and libportaudio2 Request was from Simon McVittie <smcv@debian.org> to control@bugs.debian.org. (Fri, 20 Aug 2010 18:27:10 GMT) (full text, mbox, link).


Set Bug forwarded-to-address to 'https://bugtrack.alsa-project.org/alsa-bug/view.php?id=2124'. Request was from Elimar Riesebieter <riesebie@lxtec.de> to control@bugs.debian.org. (Fri, 20 Aug 2010 21:57:04 GMT) (full text, mbox, link).


Changed Bug forwarded-to-address to 'https://bugtrack.alsa-project.org/alsa-bug/view.php?id=4426' from 'https://bugtrack.alsa-project.org/alsa-bug/view.php?id=2124' Request was from Elimar Riesebieter <riesebie@lxtec.de> to control@bugs.debian.org. (Fri, 20 Aug 2010 21:57:05 GMT) (full text, mbox, link).


Added tag(s) patch. Request was from Simon McVittie <smcv@debian.org> to control@bugs.debian.org. (Fri, 08 Oct 2010 08:30:05 GMT) (full text, mbox, link).


Added tag(s) pending. Request was from Simon McVittie <smcv@debian.org> to control@bugs.debian.org. (Fri, 08 Oct 2010 08:42:12 GMT) (full text, mbox, link).


Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Tue, 30 Nov 2010 07:32:08 GMT) (full text, mbox, link).


Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Sun Jan 7 06:57:37 2018; Machine Name: buxtehude

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.