Forums » Bugs
Segfault after changing joystick settings
When trying to change one of the available commands to use a joystick button, after I've completed the configuration and quit, vendetta segfaults and fails to write out my changed config.
Steps to reproduce:
Start with the joystick section of the config.ini given below (I didn't provide the full config.ini, as I don't know what might be "sensitive" info)
Run 'vendetta' on the command line
Click 'Play Vendetta'
Click 'Options'
Click 'Controls'
Change to the keyboard tab
Double-click 'Select Next in Front'
Press joystick button 4 (JOYBUTTON3)
Answer Yes to the "already used" question
Click OK
Click Close
Click Quit
Observed behaviour: segmentation fault with the below backtrace, no changes written to config.ini
Expected behaviour: no segfault, changes to button bindings persisted to config.ini
Quirks: If I press joystick button 5 (JOYBUTTON4) then the problem does not occur. I attempted to manually edit config.ini so that JOYBUTTON3 was empty, but the game "helpfully" turned it back into a turbo button for me, so I don't know if it's button-specific or overwrite-specific. I have, however, overridden other buttons without ill-effect.
System details:
Debian GNU/Linux 5.0 amd64
Lenovo Thinkpad T61
Current vendetta release
Logitech Attack 3 joystick
----- START config.ini -----
[Logitech Logitech Attack 3 (/dev/input/js0)]
enabled=1
JOYX=Turn
xaxisinvert=1
xaxiscenter=0
xaxismindeadzone=-3
xaxisdeadzone=3
xaxisminsaturation=-100
xaxissaturation=100
JOYY=Pitch
yaxisinvert=0
yaxiscenter=0
yaxismindeadzone=-3
yaxisdeadzone=3
yaxisminsaturation=-100
yaxissaturation=100
JOYZ=Throttle
zaxisinvert=1
zaxiscenter=0
zaxismindeadzone=0
zaxisdeadzone=0
zaxisminsaturation=-100
zaxissaturation=100
JOYBUTTON0=+Shoot2
JOYBUTTON1=+Turbo
JOYBUTTON2=+Shoot1
JOYBUTTON3=+Turbo
JOYBUTTON4=
JOYBUTTON5=Weapon2
JOYBUTTON6=Weapon1
JOYBUTTON7=
JOYBUTTON8=
JOYBUTTON9=
JOYBUTTON10=
----- END config.ini -----
----- START backtrace -----
#0 0x00007f7c750d6b73 in ?? ()
#1 0x000000000057fea6 in ?? ()
#2 0x0000000000580028 in ?? ()
#3 0x0000000000429726 in ?? ()
#4 0x000000000046864f in ?? ()
#5 0x00000000004686c5 in ?? ()
#6 0x000000000044854d in ?? ()
#7 0x00000000005e39a5 in ?? ()
#8 0x00000000005f2c0e in ?? ()
#9 0x00000000005e408d in ?? ()
#10 0x00000000005e2ece in ?? ()
#11 0x00000000005e4660 in ?? ()
#12 0x00000000005e0eb5 in ?? ()
#13 0x0000000000606d87 in ?? ()
#14 0x000000000057fe9e in ?? ()
#15 0x0000000000580028 in ?? ()
#16 0x0000000000429726 in ?? ()
#17 0x0000000000429e4f in ?? ()
#18 0x0000000000430f2b in ?? ()
#19 0x00007f7c748a41a6 in __libc_start_main () from /lib/libc.so.6
#20 0x0000000000419569 in ?? ()
#21 0x00007fff7e04af98 in ?? ()
#22 0x000000000000001c in ?? ()
#23 0x0000000000000001 in ?? ()
#24 0x00007fff7e04d2ae in ?? ()
#25 0x0000000000000000 in ?? ()
----- END backtrace -----
Steps to reproduce:
Start with the joystick section of the config.ini given below (I didn't provide the full config.ini, as I don't know what might be "sensitive" info)
Run 'vendetta' on the command line
Click 'Play Vendetta'
Click 'Options'
Click 'Controls'
Change to the keyboard tab
Double-click 'Select Next in Front'
Press joystick button 4 (JOYBUTTON3)
Answer Yes to the "already used" question
Click OK
Click Close
Click Quit
Observed behaviour: segmentation fault with the below backtrace, no changes written to config.ini
Expected behaviour: no segfault, changes to button bindings persisted to config.ini
Quirks: If I press joystick button 5 (JOYBUTTON4) then the problem does not occur. I attempted to manually edit config.ini so that JOYBUTTON3 was empty, but the game "helpfully" turned it back into a turbo button for me, so I don't know if it's button-specific or overwrite-specific. I have, however, overridden other buttons without ill-effect.
System details:
Debian GNU/Linux 5.0 amd64
Lenovo Thinkpad T61
Current vendetta release
Logitech Attack 3 joystick
----- START config.ini -----
[Logitech Logitech Attack 3 (/dev/input/js0)]
enabled=1
JOYX=Turn
xaxisinvert=1
xaxiscenter=0
xaxismindeadzone=-3
xaxisdeadzone=3
xaxisminsaturation=-100
xaxissaturation=100
JOYY=Pitch
yaxisinvert=0
yaxiscenter=0
yaxismindeadzone=-3
yaxisdeadzone=3
yaxisminsaturation=-100
yaxissaturation=100
JOYZ=Throttle
zaxisinvert=1
zaxiscenter=0
zaxismindeadzone=0
zaxisdeadzone=0
zaxisminsaturation=-100
zaxissaturation=100
JOYBUTTON0=+Shoot2
JOYBUTTON1=+Turbo
JOYBUTTON2=+Shoot1
JOYBUTTON3=+Turbo
JOYBUTTON4=
JOYBUTTON5=Weapon2
JOYBUTTON6=Weapon1
JOYBUTTON7=
JOYBUTTON8=
JOYBUTTON9=
JOYBUTTON10=
----- END config.ini -----
----- START backtrace -----
#0 0x00007f7c750d6b73 in ?? ()
#1 0x000000000057fea6 in ?? ()
#2 0x0000000000580028 in ?? ()
#3 0x0000000000429726 in ?? ()
#4 0x000000000046864f in ?? ()
#5 0x00000000004686c5 in ?? ()
#6 0x000000000044854d in ?? ()
#7 0x00000000005e39a5 in ?? ()
#8 0x00000000005f2c0e in ?? ()
#9 0x00000000005e408d in ?? ()
#10 0x00000000005e2ece in ?? ()
#11 0x00000000005e4660 in ?? ()
#12 0x00000000005e0eb5 in ?? ()
#13 0x0000000000606d87 in ?? ()
#14 0x000000000057fe9e in ?? ()
#15 0x0000000000580028 in ?? ()
#16 0x0000000000429726 in ?? ()
#17 0x0000000000429e4f in ?? ()
#18 0x0000000000430f2b in ?? ()
#19 0x00007f7c748a41a6 in __libc_start_main () from /lib/libc.so.6
#20 0x0000000000419569 in ?? ()
#21 0x00007fff7e04af98 in ?? ()
#22 0x000000000000001c in ?? ()
#23 0x0000000000000001 in ?? ()
#24 0x00007fff7e04d2ae in ?? ()
#25 0x0000000000000000 in ?? ()
----- END backtrace -----
Thanks, for the report. Sorry for the issue. We'll take a look.