Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SoundDetailLevel 0 results in Segmentation fault #245

Closed
madebr opened this issue Nov 17, 2022 · 2 comments
Closed

SoundDetailLevel 0 results in Segmentation fault #245

madebr opened this issue Nov 17, 2022 · 2 comments

Comments

@madebr
Copy link
Collaborator

madebr commented Nov 17, 2022

Having the following in OPTIONS.TXT results in a segmentation fault at the start of a race.

SoundDetailLevel 0

Because of this, gEngine_outlet is NULL and a segmentation error later occurs.

Found when using german game data.

Original issue report:

When using German Carmageddon game data, starting a new game and playing "Walzstraße" (Maim Street), the game crashes due to a null pointer access.

outlet is null at this location:

if (!outlet->independent_pitch) {

Full backtrace:

#0  0x000000000050bb1d in S3ServiceSoundSource (src=0x294da50) at /home/maarten/programming/dethrace/src/S3/3d.c:335
        chan = 0x50afc9 <S3CopyVector3+44>
        outlet = 0x0
        desc = 0x11871e0
#1  0x000000000050b366 in S3ServiceSoundSources () at /home/maarten/programming/dethrace/src/S3/3d.c:126
        s = 0x294da50
#2  0x000000000050df9e in S3Service (inside_cockpit=0, unk1=1) at /home/maarten/programming/dethrace/src/S3/audio.c:697
        now = 22729
        c = 0x565f8a8
        o = 0xb537
        v5 = 0
#3  0x00000000004d421c in DRS3Service () at /home/maarten/programming/dethrace/src/DETHRACE/common/sound.c:304
        __FUNCTION__ = {68 'D', 82 'R', 83 'S', 51 '3', 83 'S', 101 'e', 114 'r', 118 'v', 105 'i', 99 'c', 101 'e', 0 '\000'}
#4  0x00000000004d4532 in SoundService () at /home/maarten/programming/dethrace/src/DETHRACE/common/sound.c:389
        mat = {m = {{-nan(0x7fdf90), 4.59163468e-41, -7.03881627e+33}, {4.59163468e-41, 0, 0}, {6.26437727e-39, 0, -nan(0x7fdfd0)}, {4.59163468e-41, 5.60519386e-45, 4.20389539e-45}}}
#5  0x00000000004d526f in MungeEngineNoise () at /home/maarten/programming/dethrace/src/DETHRACE/common/sound.c:618
        the_car = 0x1aa43f0
        pitch = 40960
        vol = 160
        cat = 4
        car_count = 0
        i = 0
        stop_all = 0
        type_of_engine_noise = 0
#6  0x0000000000484b09 in MainGameLoop () at /home/maarten/programming/dethrace/src/DETHRACE/common/mainloop.c:539
        camera_period = 10
        start_menu_time = 0
        frame_start_time = 22729
        result = eRace_game_abandonned
        tried_to_allocate_AR = 1
        i = 32767
        bonus = 5261241
        __FUNCTION__ = {77 'M', 97 'a', 105 'i', 110 'n', 71 'G', 97 'a', 109 'm', 101 'e', 76 'L', 111 'o', 111 'o', 112 'p', 0 '\000'}
#7  0x00000000004851c5 in DoRace () at /home/maarten/programming/dethrace/src/DETHRACE/common/mainloop.c:726
        result = eRace_game_abandonned
        __FUNCTION__ = {68 'D', 111 'o', 82 'R', 97 'a', 99 'c', 101 'e', 0 '\000'}
#8  0x00000000004e4ac6 in DoGame () at /home/maarten/programming/dethrace/src/DETHRACE/common/structur.c:540
        options_result = eSO_continue
        race_result = 32767
        second_select_race = 1
        first_summary_done = 30000
        i = 0
        __FUNCTION__ = {68 'D', 111 'o', 71 'G', 97 'a', 109 'm', 101 'e', 0 '\000'}
#9  0x00000000004e4dbb in DoProgram () at /home/maarten/programming/dethrace/src/DETHRACE/common/structur.c:647
#10 0x000000000048333e in GameMain (pArgc=4, pArgv=0x7fffffffe2e8) at /home/maarten/programming/dethrace/src/DETHRACE/common/main.c:105
        CD_dir = {0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 64 '@', -23 '\351', 107 'k', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', -128 '\200', -116 '\214', -65 '\277', -9 '\367', -1 '\377', 127 '\177', 0 '\000', 0 '\000', -64 '\300', 6 '\006', 2 '\002', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', -35 '\335', -86 '\252', -87 '\251', -9 '\367', -1 '\377', 127 '\177', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 1 '\001', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 45 '-', -98 '\236', -4 '\374', -60 '\304', 12 '\f', 79 'O', 12 '\f', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', -128 '\200', -1 '\377', -1 '\377', -1 '\377', -1 '\377', -1 '\377', -1 '\377', -1 '\377', 2 '\002', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 32 ' ', -29 '\343', -1 '\377', -1 '\377', -1 '\377', 127 '\177', 0 '\000', 0 '\000', -24 '\350', 93 ']', 102 'f', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', -48 '\320', -1 '\377', -9 '\367', -1 '\377', 127 '\177', 0 '\000', 0 '\000', 3 '\003', -47 '\321', -87 '\251', -9 '\367', -1 '\377', 127 '\177', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', -89 '\247', -112 '\220', -89 '\247', -9 '\367', -1 '\377', 127 '\177', 0 '\000', 0 '\000', -24 '\350', -30 '\342', -1 '\377', -1 '\377', -1 '\377', 127 '\177', 0 '\000', 0 '\000', -24 '\350', -30 '\342', -1 '\377', -1 '\377', -1 '\377', 127 '\177', 0 '\000', 0 '\000', 112 'p', -31 '\341', -1 '\377', -1 '\377', -1 '\377', 127 '\177', 0 '\000', 0 '\000', 100 'd', 5 '\005', 81 'Q', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', -80 '\260', -31 '\341', -1 '\377', -1 '\377', -123 '\205', 86 'V', 0 '\000', 0 '\000', 123 '{', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 123 '{', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 2 '\002', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000', -80 '\260', -31 '\341', -1 '\377', -1 '\377', -1 '\377', 127 '\177', 0 '\000', 0 '\000', 92 '\\', 7 '\a', 81 'Q', 0 '\000', 0 '\000', 0 '\000', 0 '\000', 0 '\000'...}
#11 0x0000000000504d1c in original_main (pArgc=4, pArgv=0x7fffffffe2e8) at /home/maarten/programming/dethrace/src/DETHRACE/pc-dos/dossys.c:674
        arg = 0
        i = 4
        f = 4.59163468e-41
#12 0x0000000000505acb in main (argc=4, argv=0x7fffffffe2e8) at /home/maarten/programming/dethrace/src/DETHRACE/main.c:32
#13 0x00007ffff7a29510 in __libc_start_call_main () at /lib64/libc.so.6
#14 0x00007ffff7a295c9 in __libc_start_main_impl () at /lib64/libc.so.6
#15 0x0000000000403ae5 in _start ()
@madebr madebr changed the title Segmentation fault when playing the German Carmageddon SoundDetailLevel 0 results in Segmentation fault Nov 18, 2022
@madebr
Copy link
Collaborator Author

madebr commented Nov 18, 2022

The issue is OPTIONS.TXT of the german Carmageddon contains SoundDetailLevel 0.

Changing it to 2 (as the normal Carmageddon does), makes the error go away.

dethrace-labs added a commit that referenced this issue Aug 8, 2023
@dethrace-labs
Copy link
Owner

Was fixed in the attached PR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants