Skip to content

Possible regression with newer libgcc versions #3794

@a9ix

Description

@a9ix

Hello,

I've performed some additional testing after #3785. While everything else worked as expected, I noticed an issue with SteamWorld Dig (specificly the GOG version), where something is causing a SIGABRT before the game launches. The first version of libgcc where this occurs, for Debian, is 12.2.0-4, and judging from the differences between 12.2.0-3 and the logs below, this seems to be somehow related to the unwind functions. For context, I'm using RPI4 (RPi OS Trixie).

(compacted for readability):

[BOX32] Last calls
[BOX32] 2599|PltResolver "_Unwind_RaiseException" => return 0x44315FA0
[BOX32] 2612|0x8073a72: Calling pthread_cond_timedwait (435D51D8, 435D5208, 30DBFF1C...) => return 0x6E
[BOX32] 2599|PltResolver "_Unwind_Find_FDE" => return 0x401C1D17
[BOX32] 2599|PltResolver "_dl_find_object" => return 0x3081EB58
[BOX32] 2599|0x401c39d8: Calling _dl_find_object (401C1D17, 3081EB58, 00000023...) => return 0x0
[BOX32] 2612|0x807339d: Calling __pthread_mutex_unlock (435D5208, 435D5220, 30DBFF1C...) => return 0x0
[BOX32] 2599|PltResolver "abort" => return 0x5
[BOX32] 2599|0x401a83ad: Calling abort (3081EE98, 401A0000, 3081ECB8...) => return 
[BOX32] 2612|0x80734a7: Calling alSourcef (0000002D, 0000100A, 3E99999A...) => return 0x2D
[BOX32] 2612|0x80734ac: Calling alGetError (0000002D, 0000100A, 3E99999A...) => return 0x0
[BOX32] 2612|0x80734ce: Calling alGetSourcei (0000002D, 00001016, 30DBFF48...) => return 0x2D
[BOX32] 2612|0x80735dd: Calling alGetError (0000002D, 00001016, 30DBFF48...) => return 0x0
[BOX32] 2612|0x8073790: Calling alGetError (0000002D, 00001016, 30DBFF48...) => return 0x0
[BOX32] 2612|0x80732bd: Calling pthread_mutex_lock(0x435d5208) => return 0x0
[BOX32] 2612|0x8073a72: Calling pthread_cond_timedwait (435D51D8, 435D5208, 30DBFF1C...) => return 
[BOX32] 2599|PltResolver "_ZSt13get_terminatev" => return 

...

[BOX32] 2599|SIGABRT @0x7fac4f7d80 (__pthread_mutex_unlock) (x64pc=0x30015153/"box64/abort + 0x13", rsp=0x3081ec2c, stack=0x30020000:0x30820000 own=(nil) fp=0x3081ef20), for accessing 0x3e800000a27 (code=-6/prot=0), db=(nil)((nil):(nil)/(nil):(nil)/???:clean, hash:0/0) handler=(nil)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions