View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0001428 | FSSCP | --------- | public | 2007-06-25 13:48 | 2007-08-02 07:58 |
| Reporter | Mr_Maniac | Assigned To | Backslash | ||
| Priority | normal | Severity | crash | Reproducibility | always |
| Status | resolved | Resolution | no change required | ||
| Product Version | 3.6.10 | ||||
| Summary | 0001428: SIGSEGV in control_get_axes_readings() (CVS HEAD) | ||||
| Description | Hi! 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 Information | 1. 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!) | ||||
| Tags | No tags attached. | ||||
|
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) |
|
2007-06-25 13:49
|
|
|
|
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. |
|
|
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. |
|
|
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). |
|
|
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? |
|
|
Uhm... I only used my old pilot... I can try to create a new one and fly with it... |
|
|
Okay... It only happens with an old pilot... New pilot is working just fine... |
|
|
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. |
|
|
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 ;) |
|
|
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. |
| 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 |