2019-08-18 20:59 EDT


View Issue Details Jump to Notes ] Related Changesets ]
IDProjectCategoryView StatusLast Update
0002801FSSCPgameplaypublic2013-05-21 19:48
ReporterJudikator 
Assigned Toniffiwan 
PrioritynormalSeveritycrashReproducibilityalways
StatusresolvedResolutionfixed 
Platformx64OSWindowsOS VersionWindows 7 SP2
Product Version3.6.16 
Target VersionFixed in Version 
Summary0002801: Crash in Singelplayer Mode on Mission 5
DescriptionTrying to load Mission 5 results in client crash. Worked in Version 3.6.14
Steps To ReproduceStart New Campaign, go to Mission 5
Additional InformationDebug monitor tells me that "ravens.pcx extension passed while loading"
TagsNo tags attached.
Attached Files
  • log file icon fs2_open.log (16,609 bytes) 2013-02-28 12:28
  • log file icon mr_maniac.fs2_open.log (18,092 bytes) 2013-04-04 11:30
  • zip file icon BlankSquadLogos.zip (808 bytes) 2013-05-18 15:43
  • patch file icon mantis2801-git.patch (493 bytes) 2013-05-20 23:05 -
    diff --git a/code/localization/localize.cpp b/code/localization/localize.cpp
    index e1d42e8..3325320 100644
    --- a/code/localization/localize.cpp
    +++ b/code/localization/localize.cpp
    @@ -711,7 +711,7 @@ void lcl_ext_localize_sub(char *in, char *out, int max_len, int *id)
     void lcl_ext_localize_sub(SCP_string &in, SCP_string &out, int *id)
     {
     	SCP_string text_str = "";
    -	char lookup_str[1024]="";
    +	char lookup_str[PARSE_BUF_SIZE]="";
     	int str_id;
     
     	// default (non-external string) value
    
    patch file icon mantis2801-git.patch (493 bytes) 2013-05-20 23:05 +

-Relationships
+Relationships

-Notes

~0014742

Goober5000 (administrator)

If this were really a severe crash, I think more people would have noticed it.

What are the symptoms of the crash? Is that debug message about ravens.pcx the only message you see, or is there more? Also, what happens if you run the mission on a release build?

~0014743

Judikator (reporter)

Hi, thx for your response. I just added the fs2_open.log to the report for some help. Well there are no special symptoms it just crashed at the moment when i continue the campaign. I got the Version 3.6.16.9518 but with 3.6.14.9276 it worked. Any ideas for solutions?

~0014744

Goober5000 (administrator)

Thanks for the log, but you didn't answer two of my questions:

Is that debug message about ravens.pcx the only message you see, or is there more?

Also, what happens if you run the mission on a release build?

~0014745

Judikator (reporter)

Last edited: 2013-03-02 05:14

View 3 revisions

Hi

The last message in the debug log is exactly the same in debug console. There are no other messages from the debug monitor because the whole application crash. Killing the process is the only way to return to the launcher.

What indicates a release build? I get this one from here http://www.hard-light.net/forums/index.php?topic=83577.0

Where i can download other builds to test them?
Edit: I just found the nightly build section but unfortunately there is a huge gap between 2011 and 2012. My intention was to test some of the nightly builds to see if the error occurs. It occurs in all .15 Versions since October 27. 2012

Sry, i have some problems with the usability of this site. Its hard to overview because there are so many technical topics

~0014746

Goober5000 (administrator)

I just tested the mission using your command line and didn't encounter a crash. So I think you are just mistaking the debug window for a program crash, which is not the case. Just click through and it will keep going.

I said to use a release build because it is only debug builds that check for these problems. Release builds will not have "_d" or "_debug" in their name.

You can try the latest release, 3.6.18, in this thread:
http://www.hard-light.net/forums/index.php?topic=83889.0

~0014747

Judikator (reporter)

Damn, thats frustrating :(

I tested out many cases with disabling features, unbound Media_VP's mod, etc, every time it crashes even the normal freespace 2 crashes too. I reinstalled FS2 but the problem is still there. I captured the Windows Crash Log one with debug build one with the release build. Hope this helps. I try to install Windows updates and reinstall drivers

Hera are my PC Specs:
Core2Quad Q9450 2666Mhz
4 GB DDR2 RAM
Gigabyte GA-X48-DQ6 Rev. 2.0
Nvidia GTX 580 3GB VRAM
Nvidia GT 520 (Dedicated PhysX)
Windows 7 Ultimate x64 SP2


Windows Crash Log (RELEASE_BUILD)

Problemereignisname: APPCRASH
  Anwendungsname: fs2_open_3_6_18.exe
  Anwendungsversion: 3.6.18.9546
  Anwendungszeitstempel: 5130183a
  Fehlermodulname: StackHash_2f02
  Fehlermodulversion: 0.0.0.0
  Fehlermodulzeitstempel: 00000000
  Ausnahmecode: c0000005
  Ausnahmeoffset: 73704520
  Betriebsystemversion: 6.1.7600.2.0.0.256.1
  Gebietsschema-ID: 1031
  Zusatzinformation 1: 2f02
  Zusatzinformation 2: 2f022d41ad33c0f865c627aa743600ee
  Zusatzinformation 3: be22
  Zusatzinformation 4: be22d36be1d05e4a1275853b8f5f5d2a


Windows Crash Log (DEBUG_Build)

Problemsignatur:
  Problemereignisname: BEX
  Anwendungsname: fs2_open_3_6_18_DEBUG.exe
  Anwendungsversion: 3.6.18.9546
  Anwendungszeitstempel: 51301905
  Fehlermodulname: StackHash_e98d
  Fehlermodulversion: 0.0.0.0
  Fehlermodulzeitstempel: 00000000
  Ausnahmeoffset: 6e656d6f
  Ausnahmecode: c0000005
  Ausnahmedaten: 00000008
  Betriebsystemversion: 6.1.7600.2.0.0.256.1
  Gebietsschema-ID: 1031
  Zusatzinformation 1: e98d
  Zusatzinformation 2: e98dfca8bcf81bc1740adb135579ad53
  Zusatzinformation 3: 6eab
  Zusatzinformation 4: 6eabdd9e0dc94904be3b39a1c0583635

~0014748

Goober5000 (administrator)

Try running FreeSpace with no mods and no command-line options. Then launch your mission and post the mission log.

Also, post the file name or title of the mission. "Mission 5" could have multiple interpretations.

~0014750

Judikator (reporter)

Okey here is what i get

......the same error :(

but i figured out it happens on a few missions. I discovered "SM1-05.fs2" and "loop1-1.fs2" for now, i hadn't time to test the other missions yet but i think there are more which cause the error above. I played these Missions with Version 3.6.14 without any errors. What i understand from the crash log above the application is trying to point a module that doesnt exist (anymore) and the result is a StachHash error. I dont know much about programming but i guess there was a big change in the basic functionality of the application from 3.6.14 to 3.6.15.

~0014766

Echelon9 (developer)

StackHash isn't a module that is missing, it's a symptom of a general class of memory crashes where location isn't logical or known.

http://social.msdn.microsoft.com/Forums/en-US/isv/thread/cc5ff3a6-c6d6-4965-a776-8e72875f162f/

~0014880

kugelfaenger (reporter)

Hi!

I have the same crash as mentionend above on mission "SM1-05.fs2" with 3.6.18. The same problem appears in version 3.6.16. 3.6.14 causes NO problems and the mission is loading without failures. (Perhaps the use of .14 could be a instentaneos solution for people which want to play the campaign immediately.)

Could it be that there is a problem with a ship-model? If i start FRED in .18 and .16 in DEBUG-mode, I get this error-message: "For ship 'GTF Ulysses', detail level mismatch. Table has 4, POF has 3. ..."

I would paste the whole message here but I couldnt find the "clipboard". Perhaps this bug-message is a new case.

~0014881

Yarn (developer)

Kugelfaenger, are you running the German version by any chance? I suspect that the file name for the 107th Ravens squad logo might be something other than "ravens.pcx" in that version, and recent versions of FSO could be crashing when trying to load a nonexistent logo (although I haven't yet tested whether this really can cause a crash).

If you are running the German version (or any non-English version), could you open your root.vp file (preferably with VPView) and check whether a file named "ravens.pcx" exists in the "squads" folder? If not, is it named differently?

For your reference, here is what the 107th Ravens logo looks like:
http://www.hard-light.net/wiki/index.php/File:Squad107.PNG

~0014887

Mr_Maniac (reporter)

I have this problem, too. I thought it could be the pilot-file but was too lazy to play with a new pilot at this time.
I am running the german version of fs2, but it always ran before. Well... I haven't played the campaign for a very long time, so I can't tell since what version this happens for me.
The ravens-logo is still called ravens.pcx and it is the logo displayed in the wiki.
No notable messages in the fs2_open.log if I play with debug-build. Windows just says that fs2_open isn't reacting anymore and that it's searching for a solution to this problem.
It's a hard crash where, suddenly, your Windows mouse-cursor appears on the fs2 loading-screen (Windows-Message in background) and you only get out by pressing space which will "click" the "Close program now" button.

~0014888

Mr_Maniac (reporter)

Happens in Windows 7 SP1 (64bit) and Linux (kernel 3.7.10 64bit) - same version

gdb says:
Program received signal SIGSEGV, Segmentation fault.
0x000000000040ae32 in __gnu_cxx::__exchange_and_add (__mem=0x6e6f6c6973704518, __val=-1)
    at /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.2/include/g++-v4/ext/atomicity.h:48
48 { return __atomic_fetch_add(__mem, __val, __ATOMIC_ACQ_REL); }

~0014892

Yarn (developer)

OK, so it is indeed called "ravens.pcx" in the German version. Now, make sure that your retail data files are up to date. You can do this by opening the readme.txt file and looking at the first few lines. There should be a line that reads something like "FreeSpace 2 v 1.20". If the version number is missing or is 1.00 or 1.01, you need to update your installation. The updater can be found here:

http://web.archive.org/web/20070312031237/http://www.pxo.net/files/fs21x-12.exe

And Mr_Maniac, you're missing the update files for the MediaVPs. They can be found at the release thread:

http://www.hard-light.net/forums/index.php?topic=70736.0

~0014907

Mr_Maniac (reporter)

I've updated my mediavps and my freespace2-installation (which is very old and only copied from here to there) seems to already be at 1.20 (that's what it says in the main-hall if I run the original FS2.exe).
But the crash still happens.

~0015069

Yarn (developer)

To confirm whether this problem really is related to squad logos, I have attached a zipped VP file containing blank versions of the squad logos from the English version.

Unzip the VP file to the mediavps_3612 folder. Then, with the MediaVPs enabled, create a new pilot and play through the first several missions. Let us know whether it crashes this time.

~0015071

Yarn (developer)

I found a way to cause the crash with the English version. Here's how to do it in Windows:

1. Open Registry Editor and browse to and select HKEY_LOCAL_MACHINE -> Software -> Volition -> Freespace2. (If you're using 64-bit Windows, you may need to go to HKEY_CURRENT_USER -> Software -> Classes -> VirtualStore -> MACHINE -> SOFTWARE -> Wow6432Node -> Volition -> Freespace2.)

2. Look for a string value named "Language". If it doesn't exist, create it.

3. Change the value data (not the name!) of "Language" to "German" (don't forget the capital G).

4. Launch FSO with or without the MediaVPs (but with no other mods).

5. Select any existing valid pilot or create a new one.

6. Go to the Tech Room and play "Mystery of the Trinity" (SM1-05).

7. Crash.


The problem has nothing to do with squad logos and instead appears to be that strings from tstrings.tbl are currently limited to a length of 1,024 characters, and string 730 from the German section of tstrings.tbl (one string that's causing the crash) is longer than that (the latter is definitely true). Shortening this string to less than 1,024 characters prevents the crash.

Other missions, including "Rebels & Renegades" (loop1-1), also suffer from this crash.

Here's the actual offending string (including the quotation marks) that's crashing SM1-05:

"Sie standen einer überlegenen shivanischen Flotte auf feindlichem Gebiet gegenüber. Unter diesen Umständen hätten weder Sie noch irgend jemand sonst etwas tun können, um die Trinity und unser Bergungsteam zu retten. Sie hatten Glück, dass Sie diesen Einsatz überhaupt überlebt haben, Pilot.

Wir haben nichts mehr von der Kappa-Staffel gehört, seit sie von unseren Sensoren verschwunden ist. Leider müssen wir das Schlimmste annehmen. Wir werden sie als vermisst gelten lassen, solange wir keine Beweise für ihre Vernichtung haben. Unsere Suchstaffeln haben aber keine Spur mehr von diesen Jägern gefunden.

Die Anwesenheit der Trinity vergrössert das Rätselraten um die Pläne der NTF noch mehr. Was hatte die Trinity hier draussen zu suchen, und was weiss Bosch über das Subraum-Portal?

All unsere Patrouillen haben starke shivanische Kräfte im Nebelgebiet entdeckt. Das Oberkommando wird uns mehr Kriegsschiffe durch das Subraum-Portal schicken, damit wir unsere Erkundungsmission erfolgreich abschliessen können. Die Staffeln Iota und Epsilon haben in der Nähe unserer momentanen Position zwei shivanische Kreuzer entdeckt. Sobald unsere Verstärkung eintrifft, greifen wir sie an."

~0015076

Mr_Maniac (reporter)

Last edited: 2013-05-20 12:28

View 2 revisions

Confirmed. Cutting the text will prevent the crash.

With a little grepping and SVN blaming I saw that Goober5000 implemented the function lcl_ext_localize_sub in revisision 8556 (// ditto for SCP_string) in code/localization/localize.cpp:710, where he set the character-array/string to a length of 1024. But the string that can be "returned" from lcl_ext_lookup() (which fills lookup_str) can be bigger.

The original lcl_ext_localize_sub uses PARSE_BUF_SIZE for this variable, which is 4096.

When I manually changed this value to 4096 and recompiled fs2_open, I could open and play SM1-05.

Maybe Goober got confused, because the other lcl_* functions used 1024-long strings, too.
lcl_ext_lookup and lcl_ext_lookup_sub use 1024-long strings for text / text_copy but these strings are copied together into "out".

Oh hell, I should learn more C / C++. I only write web-applications in PHP at my work and haven't touched many other programming languages in a long time...
This code gets me confused. Especially with so much reference-passing...

~0015077

niffiwan (developer)

Thanks for the thorough investigation work Yarn & Mr_Maniac!

Mr_Maniac, I've looked over the code and your assessment seems correct to me. Can you please confirm that the change you made & tested was the same as the patch I've attached?

~0015078

Mr_Maniac (reporter)

The fix in the patch seems to be right.
In the end, the contents of Ts_text will be put into lookup_str and Ts_text has the length of PARSE_TEXT_STRING_LEN which is PARSE_BUF_SIZE.
Thank you!

~0015079

niffiwan (developer)

Fix committed to trunk@9678.

~0015082

Goober5000 (administrator)

Hmm. I'm not sure how I missed that array, seeing as the specific purpose of using SCP_string is to remove character limits.

Ultimately, there should really be a SCP_string equivalent for lcl_ext_lookup too, so that the limits can be completely bypassed in that function.
+Notes

+Related Changesets

-Issue History
Date Modified Username Field Change
2013-02-27 18:15 Judikator New Issue
2013-02-27 23:17 Goober5000 Note Added: 0014742
2013-02-27 23:17 Goober5000 Priority immediate => normal
2013-02-28 12:28 Judikator File Added: fs2_open.log
2013-02-28 12:39 Judikator Note Added: 0014743
2013-02-28 21:45 Goober5000 Note Added: 0014744
2013-03-01 12:35 Judikator Note Added: 0014745
2013-03-01 13:29 Judikator Note Edited: 0014745 View Revisions
2013-03-02 05:14 Judikator Note Edited: 0014745 View Revisions
2013-03-02 14:48 Goober5000 Note Added: 0014746
2013-03-03 07:40 Judikator Note Added: 0014747
2013-03-03 14:22 Goober5000 Note Added: 0014748
2013-03-04 13:21 Judikator Note Added: 0014750
2013-03-15 09:42 Echelon9 Note Added: 0014766
2013-04-03 17:32 kugelfaenger Note Added: 0014880
2013-04-03 21:04 Yarn Note Added: 0014881
2013-04-03 23:20 Echelon9 Status new => confirmed
2013-04-04 11:30 Mr_Maniac File Added: mr_maniac.fs2_open.log
2013-04-04 11:37 Mr_Maniac Note Added: 0014887
2013-04-04 12:16 Mr_Maniac Note Added: 0014888
2013-04-04 19:56 Yarn Note Added: 0014892
2013-04-06 06:52 Mr_Maniac Note Added: 0014907
2013-05-18 15:43 Yarn Note Added: 0015069
2013-05-18 15:43 Yarn File Added: BlankSquadLogos.zip
2013-05-19 17:21 Yarn Note Added: 0015071
2013-05-20 12:27 Mr_Maniac Note Added: 0015076
2013-05-20 12:28 Mr_Maniac Note Edited: 0015076 View Revisions
2013-05-20 23:05 niffiwan File Added: mantis2801-git.patch
2013-05-20 23:08 niffiwan Note Added: 0015077
2013-05-21 00:22 Mr_Maniac Note Added: 0015078
2013-05-21 04:31 niffiwan Assigned To => niffiwan
2013-05-21 04:31 niffiwan Status confirmed => assigned
2013-05-21 04:31 niffiwan Changeset attached => fs2open trunk r9678
2013-05-21 04:31 niffiwan Note Added: 0015079
2013-05-21 04:31 niffiwan Status assigned => resolved
2013-05-21 04:31 niffiwan Resolution open => fixed
2013-05-21 19:48 Goober5000 Note Added: 0015082
+Issue History