Bug 220618

Summary: audio/sdl2_mixer: crashes in OGG_playAudio() with security.bsd.stack_guard_page=16
Product: Ports & Packages Reporter: Jan Beich <jbeich>
Component: Individual Port(s)Assignee: Dmitry Marakasov <amdmi3>
Status: Closed FIXED    
Severity: Affects Only Me CC: w.schwarzenfeld
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   
Bug Depends on:    
Bug Blocks: 220493    

Description Jan Beich freebsd_committer freebsd_triage 2017-07-11 03:21:05 UTC
$ pkg install abbayedesmor
$ sysctl security.bsd.stack_guard_page=16
$ gdb abbayev2
(gdb) run
Starting program: /usr/local/bin/abbayev2
[New LWP 100725 of process 32551]

Thread 2 "SDLAudioDev1" received signal SIGSEGV, Segmentation fault.
[Switching to LWP 100725 of process 32551]
0x0000000800dfe0f2 in OGG_getsome (
    music=<error reading variable: Cannot access memory at address 0x7fffdfffcd88>)
    at music_ogg.c:120
120     {
(gdb) bt f
#0  0x0000000800dfe0f2 in OGG_getsome (
    music=<error reading variable: Cannot access memory at address 0x7fffdfffcd88>)
    at music_ogg.c:120
        section = <error reading variable section (Cannot access memory at address 0x7fffdfffcd84)>
        len = <error reading variable len (Cannot access memory at address 0x7fffdfffcd80)>
        data = <error reading variable data (Cannot access memory at address 0x7fffdfffcd90)>
        cvt = <error reading variable cvt (Cannot access memory at address 0x7fffdfffcd78)>
#1  0x0000000800dfdfdc in OGG_playAudio (music=0x80a045800, snd=0x805cd7000 "", len=16384)
    at music_ogg.c:173
        mixable = 14652957
#2  0x0000000800df944e in music_mixer (udata=0x0, stream=0x805cd7000 "", len=16384) at music.c:317
        left = 0
#3  0x0000000800df63d2 in mix_channels (udata=0x0, stream=0x805cd7000 "", len=16384) at mixer.c:319
        mix_input = 0x7fffdfffdec0 "@\337\377\337\377\177"
        i = 8
        mixable = 97270736
        volume = 128
        sdl_ticks = 0
#4  0x0000000800854dca in SDL_RunAudio (devicep=0x805cc3b00)
    at /usr/ports/devel/sdl20/work/SDL2-2.0.5/src/audio/SDL_audio.c:759
        sdl_assert_data = {always_ignore = 0, trigger_count = 0,
          condition = 0x800986816 "!device->iscapture", filename = 0x0, linenum = 0,
          function = 0x0, next = 0x0}
        device = 0x805cc3b00
        silence = 0
        delay = 92
        stream_len = 16384
        stream = 0x805cd7000 ""
        udata = 0x0
        callback = 0x800df6360 <mix_channels>
#5  0x00000008008fcaf4 in SDL_RunThread (data=0x800704aa0)
    at /usr/ports/devel/sdl20/work/SDL2-2.0.5/src/thread/SDL_thread.c:283
        args = 0x800704aa0
        userfunc = 0x800854ba0 <SDL_RunAudio>
        userdata = 0x805cc3b00
        thread = 0x800678a80
        statusloc = 0x800678a90
#6  0x0000000800984835 in RunThread (data=0x800704aa0)
    at /usr/ports/devel/sdl20/work/SDL2-2.0.5/src/thread/pthread/SDL_systhread.c:74
No locals.
#7  0x0000000801c49c05 in thread_start (curthread=0x80066f900)
    at /a/freebsd/lib/libthr/thread/thr_create.c:289
        set = {__bits = {0, 0, 0, 0}}
#8  0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: Cannot access memory at address 0x7fffdfffe000
Comment 1 Jan Beich freebsd_committer freebsd_triage 2017-07-11 03:33:32 UTC
Trying more games the crash maybe OGG-related e.g., renpy (tutorial) and manaplus crash but gigalomania doesn't.

(In reply to Jan Beich from comment #0)
> $ pkg install abbayedesmor

Typo: games/abbayedesmorts.
Comment 2 Dmitry Marakasov freebsd_committer freebsd_triage 2019-03-11 20:40:48 UTC
Is this still a problem? Latest version doesn't seem to crash.
Comment 3 Jan Beich freebsd_committer freebsd_triage 2019-03-13 21:05:24 UTC
I can't reproduce after ports r450461. Probably was a SDL bug.