app failed to initialize issue (ogg/vorbis related?)

app failed to initialize issue (ogg/vorbis related?)

Discuss the source code and development of Spring Engine in general from a technical point of view. Patches go here too.

Moderator: Moderators

Post Reply
Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

app failed to initialize issue (ogg/vorbis related?)

Post by Tobi »

With latest SVN builds there appeared to be a major issue. Many people get an error "Application failed to initialize (0xc0150002). Click on OK to end the application.".

imbaczek tracked this down to r4865 (thanks imbaczek!), which is the revision in which ogg/vorbis support was enabled.

So my hypothesis is that the Crystal Space ogg/vorbis DLLs possibly have some issue in their DLL initialization code.

However, I don't have really much time to investigate, so if anyone can figure this out many people would be very grateful. Cause if this can not be tracked down and fixed, it'll mean no music support in next version after all, which would kinda suck :-)

Anyway, use this thread for centralized discussion on possible cause/fixes etc.

Original H&B threads:
http://spring.clan-sy.com/phpbb/viewtopic.php?t=12896
http://spring.clan-sy.com/phpbb/viewtopic.php?t=12864
User avatar
KDR_11k
Game Developer
Posts: 8293
Joined: 25 Jun 2006, 08:44

Post by KDR_11k »

Just wanted to mention that I have no trouble with the mingwlibs dlls.
User avatar
LordMatt
Posts: 3393
Joined: 15 May 2005, 04:26

Post by LordMatt »

I had this problem also.
tombom
Posts: 1933
Joined: 18 Dec 2005, 20:21

Post by tombom »

KDR_11k wrote:Just wanted to mention that I have no trouble with the mingwlibs dlls.
Yeah, no troubles on my end. I'll try a full installer.

Worked fine.
Kloot
Spring Developer
Posts: 1867
Joined: 08 Oct 2006, 16:58

Post by Kloot »

e: solved

@Tobi: there are precompiled mingw libs and
dll's in the Ogg-Vorbis SDK available here (and
some older versions in the packages linked to
from here), maybe compiling/linking Spring against
those will help the situation?
Last edited by Kloot on 12 Dec 2007, 21:52, edited 3 times in total.
Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Post by Tobi »

DOT reported that he can run SVN Spring after he installed TortoiseSVN.

Almost sounds like a missing DLL on which vorbis/ogg DLLs depend, though windows usually comes up with a better error message then.
User avatar
FLOZi
MC: Legacy & Spring 1944 Developer
Posts: 6242
Joined: 29 Apr 2005, 01:14

Post by FLOZi »

I had a similar issue in previous SVN revs with the Devil library. I swapped out the dll for the older one I had in my spring install and then it worked fine.
Kloot
Spring Developer
Posts: 1867
Joined: 08 Oct 2006, 16:58

Post by Kloot »

TortoiseSVN dumps the following dll's into
%windir%\system32 AFAICS:
  • mfc80CHS.dll
    mfc80CHT.dll
    mfc80DEU.dll
    mfc80.dll
    mfc80ENU.dll
    mfc80ESP.dll
    mfc80FRA.dll
    mfc80ITA.dll
    mfc80JPN.dll
    mfc80KOR.dll
    mfc80u.dll
    mfcm80.dll
    mfcm80u.dll

    msvcm80.dll
    msvcp80.dll
    msvcr80.dll
ie. a bunch of MFC stuff and the MSVC8 runtime libs,
which are also contained in vcredist_x86.exe (link).
It would probably still be a good idea to search for
replacement dll's that don't depend on them (or at
least not on those versions) even if the exception
goes away after getting those files however, since
they don't seem to be commonly present on Windows
installations yet. Guess we have until christmas. ;)
User avatar
LordMatt
Posts: 3393
Joined: 15 May 2005, 04:26

Post by LordMatt »

Installing the latest version of TortoiseSVN fixed the error for me also.
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

In that case recompiling the appropriate libs using mingw32 should correct the problem.
Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Post by Tobi »

Kloot wrote:TortoiseSVN dumps the following dll's into
%windir%\system32 AFAICS:
  • mfc80CHS.dll
    mfc80CHT.dll
    mfc80DEU.dll
    mfc80.dll
    mfc80ENU.dll
    mfc80ESP.dll
    mfc80FRA.dll
    mfc80ITA.dll
    mfc80JPN.dll
    mfc80KOR.dll
    mfc80u.dll
    mfcm80.dll
    mfcm80u.dll

    msvcm80.dll
    msvcp80.dll
    msvcr80.dll
Seems to be msvcr80.dll
Doesn't seem unreasonably to include that in the installer.

(In particular if we can get msvcp71.dll and msvcr71.dll out of the installer; that would require a recompile of settings.exe and SelectionEditor.exe with VC8 tho, which is impossible for me (needs MFC))
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Post by Tobi »

And I just figured out that (quite possibly) they don't even need any MSVC runtime :shock:

Can't give a 100% guarantee tho, but dumpbin /imports didn't list msvc*.dll's. So maybe they were just there for the old MSVC compiled unitsync, seems these executables only depend on standard windows stuff like advapi.dll user32.dll kernel32.dll gdi32.dll etc.

I even compared dumpbin output of your new executables and it's about the same, just some hex addresses changed.

So I think I will just take the risk to remove the msvcrt DLLs from the installer.

And I'll try kloots ogg SDK thing for mingwlibs.

So if someone discovers something needs MSVC*.dll anyway, please say so. (Maybe someone could test this in a virtualized, clean Win XP install?)
imbaczek
Posts: 3629
Joined: 22 Aug 2006, 16:19

Post by imbaczek »

Tobi: Dependency Walker clearly shows msvcr80.dll in all vorbis-related files that were included in the installer when the issue was first reported.
Post Reply

Return to “Engine”