View Issue Details

IDProjectCategoryView StatusLast Update
0001428FSSCP---------public2007-08-02 07:58
ReporterMr_Maniac Assigned ToBackslash  
PrioritynormalSeveritycrashReproducibilityalways
Status resolvedResolutionno change required 
Product Version3.6.10 
Summary0001428: SIGSEGV in control_get_axes_readings() (CVS HEAD)
DescriptionHi!
Like the title already says, I get an SIGSEGV every time I want to start a mission.
fs2_open is starting up fine and I can even load the mission. But when I click on "Start Mission" in the briefing, the game crashes with a SIGSEGV.
This happens since a few weeks (not too much CVS-Changes in this time ;) ).

I'll upload the fs2_open.log and the gdb-backtrace. As far as I can see, there's nothing suspicious in the fs2_open.log.
Additional Information1. As you can see, I'm using the new 100.x.x nVidia-Driver. But this happened with the older Version, too...
2. In May I've upgraded my Hardware. Now I have a Core2Dual and I'm running a 64bit Linux. At this time, fs2_open compiled fine and ran fine.
3. I've changed the build-host from x86_64-unknown-linux-gnu at one time. Now I've tried to change it back, but it still segfaults (why are most programs detecting x86_64-unknown-linux-gnu, anyway? My whole System was compiled with x86_64-pc-linux-gnu!)
TagsNo tags attached.

Relationships

has duplicate 0001429 resolvedBackslash Unhandled exception in control_get_axes_readings() with no joystick 

Activities

2007-06-25 13:48

 

gdb.txt (2,782 bytes)   
(gdb) file fs2_open_noinf_d
Reading symbols from /home/maniac/.fs2_open/fs2_open_noinf_d...done.
Using host libthread_db library "/lib/libthread_db.so.1".
(gdb) run -window -nograb
Starting program: /home/maniac/.fs2_open/fs2_open_noinf_d -window -nograb
[Thread debugging using libthread_db enabled]
[New Thread 47149354173888 (LWP 29096)]
Future debug output directed to: /home/maniac/.fs2_open/data/fs2_open.log
[New Thread 1082140992 (LWP 29099)]
[New Thread 1090533696 (LWP 29100)]
WARNING: "Weapon 'Hornet#Weak' requires the "player allowed" flag, but it's not listed!  Adding it by default." at weapon/weapons.cpp:3821
WARNING: "Weapon 'Harpoon#Weak' requires the "player allowed" flag, but it's not listed!  Adding it by default." at weapon/weapons.cpp:3821
WARNING: "Use of 'ballistic primaries' flag for Ship Class 'GTF Phoenix' - this flag is no longer needed." at ship/ship.cpp:4073
WARNING: "Pbank capacity specified for non-ballistic-primary-enabled ship GTF Phoenix. Resetting capacities to 0." at ship/ship.cpp:5197
WARNING: "Use of 'ballistic primaries' flag for Ship Class 'GTF Erinyes MK II' - this flag is no longer needed." at ship/ship.cpp:4073
WARNING: "Pbank capacity specified for non-ballistic-primary-enabled ship GTF Erinyes MK II. Resetting capacities to 0." at ship/ship.cpp:5197

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 47149354173888 (LWP 29096)]
0x0000000000471ac0 in control_get_axes_readings (axis=0x192cf60) at controlconfig/controlsconfig.cpp:2574
2574                                    axis[i] = joy_get_scaled_reading(axes_values[Axis_map_to[i]], Axis_map_to[i]);
(gdb) backtrace
#0  0x0000000000471ac0 in control_get_axes_readings (axis=0x192cf60) at controlconfig/controlsconfig.cpp:2574
#1  0x00000000006a75e2 in playercontrol_read_stick (axis=0x7fffdc739070, frame_time=0.25) at playerman/playercontrol.cpp:935
#2  0x00000000006a88d6 in read_keyboard_controls (ci=0x191068c, frame_time=0.25, pi=0x17ff408) at playerman/playercontrol.cpp:1191
#3  0x00000000006a9045 in read_player_controls (objp=0x17ff378, frametime=0.25) at playerman/playercontrol.cpp:1423
#4  0x00000000004175fe in game_frame (paused=0) at freespace2/freespace.cpp:6267
#5  0x0000000000417cb2 in game_do_frame () at freespace2/freespace.cpp:6736
#6  0x0000000000417eb9 in game_do_state (state=2) at freespace2/freespace.cpp:8550
#7  0x000000000048d048 in gameseq_process_events () at gamesequence/gamesequence.cpp:651
#8  0x0000000000415005 in game_main (cmdline=0x215d060 "-window") at freespace2/freespace.cpp:9110
#9  0x000000000041518d in main (argc=3, argv=0x7fffdc7394c8) at freespace2/freespace.cpp:9247
(gdb) continue
Continuing.

Program terminated with signal SIGSEGV, Segmentation fault.
The program no longer exists.
(gdb)
gdb.txt (2,782 bytes)   

2007-06-25 13:49

 

fs2_open.log (490,516 bytes)

taylor

2007-06-25 17:52

administrator   ~0008193

Looks like something that Backslash broke earlier this month. Looking quickly at his changes I think that the problem is he screwed up with some of the JOY_NUM_AXES/NUM_JOY_AXIS_ACTIONS changes, but I can't tell for sure without a closer look at the code.

Assigning this to him.

Backslash

2007-06-29 00:15

developer   ~0008197

Looking into it.

Just in case, are you trying a new pilot? If the crash happens with an existing pilot that you used with a previous build, I know what the problem is.

taylor

2007-06-29 00:58

administrator   ~0008198

Your code is a little wonky there actually. There are a couple of items that you changed which you shouldn't have (ie, you made it refer to something totally different than it was before).

Backslash

2007-06-29 02:47

developer   ~0008199

Yeah... there were good reasons for most of them, or at least I thought they were good ;-) but maybe I might have misunderstood a couple, or implemented wrong.

I'm guessing you're referring to my changes of some cases of JOY_NUM_AXES to NUM_JOY_AXIS_ACTIONS?

Mr_Maniac

2007-06-29 12:39

reporter   ~0008200

Uhm... I only used my old pilot... I can try to create a new one and fly with it...

Mr_Maniac

2007-06-29 13:54

reporter   ~0008201

Okay... It only happens with an old pilot... New pilot is working just fine...

Backslash

2007-07-02 03:24

developer   ~0008202

Yeah, I've looked over my code and it makes sense. The changes were because now NUM_JOY_AXIS_ACTIONS is a higher number than JOY_NUM_AXES. The original [V] code was done wrong (IMO). (That said, I could be wrong, so corrections are welcome.)

This crash is just because of the old pilot being loaded. Known issue, I think. Mr_Maniac, thanks for the detailed report. I guess we need to make this known for users of HEAD builds.

Mr_Maniac

2007-07-02 09:33

reporter   ~0008203

Does that mean, that I can't keep my old pilot if I want to use HEAD-Builds (and future releases)?
That's sad... But not the end of the world ;)

Backslash

2007-08-02 07:57

developer   ~0008326

Ok, pretty sure this can be marked resolved. I've gone over my code and it looks like the crash is just the nature of the pilot file tweak... it's reading in the wrong information if you load an old version pilot file.

Keep your pilots separate -- HEAD builds vs 'releases'/everything else. AFAIK, 3.6.10 and probably 3.6.11 will not have the new controls. 3.7 will bring the big changes, along with probably some code that will warn if the pilot file is the wrong version.

Issue History

Date Modified Username Field Change
2007-06-25 13:48 Mr_Maniac New Issue
2007-06-25 13:48 Mr_Maniac File Added: gdb.txt
2007-06-25 13:49 Mr_Maniac File Added: fs2_open.log
2007-06-25 17:52 taylor Note Added: 0008193
2007-06-25 17:52 taylor Status new => assigned
2007-06-25 17:52 taylor Assigned To => Backslash
2007-06-28 20:53 taylor Relationship added has duplicate 0001429
2007-06-28 20:55 taylor Summary SIGSEGV when starting mission in HEAD-CVS (Linux) => SIGSEGV in control_get_axes_readings() (CVS HEAD)
2007-06-29 00:15 Backslash Note Added: 0008197
2007-06-29 00:58 taylor Note Added: 0008198
2007-06-29 02:47 Backslash Note Added: 0008199
2007-06-29 12:39 Mr_Maniac Note Added: 0008200
2007-06-29 13:54 Mr_Maniac Note Added: 0008201
2007-07-02 03:24 Backslash Note Added: 0008202
2007-07-02 09:33 Mr_Maniac Note Added: 0008203
2007-08-02 07:57 Backslash Note Added: 0008326
2007-08-02 07:58 Backslash Status assigned => resolved
2007-08-02 07:58 Backslash Resolution open => no change required