Crash at startup, fedora 13

Discussion about the game and its default mods.
Post Reply
PhoibDS
Posts: 12
Joined: Fri Dec 10, 2010 10:17 pm

Crash at startup, fedora 13

Post by PhoibDS »

New install using Fedora RPM, crash at startup:

Code: Select all

[emiel@Athena ~]$ /usr/bin/openra
Using Gl renderer
Available mods:
	cnc: C&C (release-20110320)
	ra: Red Alert (release-20110320)

Unhandled Exception: System.DllNotFoundException: libopenal.so.1
  at (wrapper managed-to-native) Tao.OpenAl.Alc:alcOpenDevice (string)
  at OpenRA.OpenAlSoundEngine..ctor &#40;&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at OpenRA.Sound.Create &#40;&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at OpenRA.Game.Initialize &#40;OpenRA.Arguments args&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at OpenRA.Program.Run &#40;System.String&#91;&#93; args&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at OpenRA.Program.Main &#40;System.String&#91;&#93; args&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 

beedee
Posts: 94
Joined: Mon Sep 06, 2010 5:02 am
Location: Wellington
Contact:

Post by beedee »

Is the openal package installed?

EDIT: Never mind, it's listed in the dependencies as it should be. What is the output of running `ls /usr/lib | grep openal` in a shell?

PhoibDS
Posts: 12
Joined: Fri Dec 10, 2010 10:17 pm

Post by PhoibDS »

[emiel@Athena ~]$ ls /usr/lib |grep openal
libopenal.so.1
libopenal.so.1.12.854

[edit]Did a yum update openal* and a yum update, same result for the ls | grep.

[edit2]At least the crash now looks different. Running openra as root:

Code: Select all

&#91;root@Athena emiel&#93;# openra
Using Gl renderer
Available mods&#58;
	cnc&#58; C&C &#40;release-20110320&#41;
	ra&#58; Red Alert &#40;release-20110320&#41;
Loading mods&#58; ra

Unhandled Exception&#58; System.ArgumentNullException&#58; Argument cannot be null.
Parameter name&#58; stream
  at System.IO.StreamReader.Initialize &#40;System.IO.Stream stream, System.Text.Encoding encoding, Boolean detectEncodingFromByteOrderMarks, Int32 bufferSize&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at System.IO.StreamReader..ctor &#40;System.IO.Stream stream, System.Text.Encoding encoding, Boolean detectEncodingFromByteOrderMarks, Int32 bufferSize&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at System.IO.StreamReader..ctor &#40;System.IO.Stream stream&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at &#40;wrapper remoting-invoke-with-check&#41; System.IO.StreamReader&#58;.ctor &#40;System.IO.Stream&#41;
  at OpenRA.FileFormats.MiniYaml.FromStream &#40;System.IO.Stream s&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at OpenRA.Map..ctor &#40;System.String path&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at OpenRA.ModData.FindMaps &#40;System.String&#91;&#93; mods&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at OpenRA.ModData.ReloadMaps &#40;&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at OpenRA.ModData.LoadInitialAssets &#40;&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at OpenRA.Game.InitializeWithMods &#40;System.String&#91;&#93; mods&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at OpenRA.Game.Initialize &#40;OpenRA.Arguments args&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at OpenRA.Program.Run &#40;System.String&#91;&#93; args&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at OpenRA.Program.Main &#40;System.String&#91;&#93; args&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
AL lib&#58; ALc.c&#58;1879&#58; exit&#40;&#41;&#58; closing 1 Device
AL lib&#58; ALc.c&#58;1808&#58; alcCloseDevice&#40;&#41;&#58; destroying 1 Context&#40;s&#41;
AL lib&#58; ALc.c&#58;1420&#58; alcDestroyContext&#40;&#41;&#58; deleting 32 Source&#40;s&#41;
And as user:

Code: Select all

&#91;emiel@Athena ~&#93;$ openra
Using Gl renderer
Available mods&#58;
	cnc&#58; C&C &#40;release-20110320&#41;
	ra&#58; Red Alert &#40;release-20110320&#41;
Loading mods&#58; ra

Unhandled Exception&#58; System.ArgumentNullException&#58; Argument cannot be null.
Parameter name&#58; stream
  at System.IO.StreamReader.Initialize &#40;System.IO.Stream stream, System.Text.Encoding encoding, Boolean detectEncodingFromByteOrderMarks, Int32 bufferSize&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at System.IO.StreamReader..ctor &#40;System.IO.Stream stream, System.Text.Encoding encoding, Boolean detectEncodingFromByteOrderMarks, Int32 bufferSize&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at System.IO.StreamReader..ctor &#40;System.IO.Stream stream&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at &#40;wrapper remoting-invoke-with-check&#41; System.IO.StreamReader&#58;.ctor &#40;System.IO.Stream&#41;
  at OpenRA.FileFormats.MiniYaml.FromStream &#40;System.IO.Stream s&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at OpenRA.Map..ctor &#40;System.String path&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at OpenRA.ModData.FindMaps &#40;System.String&#91;&#93; mods&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at OpenRA.ModData.ReloadMaps &#40;&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at OpenRA.ModData.LoadInitialAssets &#40;&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at OpenRA.Game.InitializeWithMods &#40;System.String&#91;&#93; mods&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at OpenRA.Game.Initialize &#40;OpenRA.Arguments args&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at OpenRA.Program.Run &#40;System.String&#91;&#93; args&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at OpenRA.Program.Main &#40;System.String&#91;&#93; args&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
AL lib&#58; ALc.c&#58;1879&#58; exit&#40;&#41;&#58; closing 1 Device
AL lib&#58; ALc.c&#58;1808&#58; alcCloseDevice&#40;&#41;&#58; destroying 1 Context&#40;s&#41;
AL lib&#58; ALc.c&#58;1420&#58; alcDestroyContext&#40;&#41;&#58; deleting 32 Source&#40;s&#41;

User avatar
Sleipnir
Posts: 878
Joined: Wed Apr 10, 2002 11:52 pm
Contact:

Post by Sleipnir »

OpenRA is still very stupid about loading maps - it assumes any directories, zip files, or .oramap files in <openra dir>/<mod>/maps/ and ~/.openra/maps/<mod>/ are valid map containers, and will crash like above if it encounters one that isn't. In this case, it looks like you have a stray directory in one of these locations.

PhoibDS
Posts: 12
Joined: Fri Dec 10, 2010 10:17 pm

Post by PhoibDS »

that worked, rm -rf ~/.openra and rm -rf /usr/share/openra.

However, after downloading it I get denied messages :P

And after a chmod -R 777 it works. Yay
Last edited by PhoibDS on Mon Mar 21, 2011 7:48 pm, edited 1 time in total.

User avatar
Sleipnir
Posts: 878
Joined: Wed Apr 10, 2002 11:52 pm
Contact:

Post by Sleipnir »

Can you elaborate on the denied messages?

PhoibDS
Posts: 12
Joined: Fri Dec 10, 2010 10:17 pm

Post by PhoibDS »

Code: Select all

&#91;emiel@Athena share&#93;$ openra
Using Gl renderer
Available mods&#58;
	cnc&#58; C&C &#40;release-20110320&#41;
	ra&#58; Red Alert &#40;release-20110320&#41;
Loading mods&#58; ra

Unhandled Exception&#58; System.UnauthorizedAccessException&#58; Access to the path "/usr/share/openra/mods/ra/packages/allies.mix" is denied.
  at System.IO.FileStream..ctor &#40;System.String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean anonymous, FileOptions options&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at System.IO.FileStream..ctor &#40;System.String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at &#40;wrapper remoting-invoke-with-check&#41; System.IO.FileStream&#58;.ctor &#40;string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,int&#41;
  at System.IO.File.Create &#40;System.String path, Int32 bufferSize&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at System.IO.File.Create &#40;System.String path&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at OpenRA.Utility.Util.ExtractZip &#40;ICSharpCode.SharpZipLib.Zip.ZipInputStream z, System.String destPath, System.Collections.Generic.List`1 extracted&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at OpenRA.Utility.Command.ExtractZip &#40;System.String&#91;&#93; args&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at OpenRA.Utility.Program.Main &#40;System.String&#91;&#93; args&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 

Unhandled Exception&#58; System.IO.FileNotFoundException&#58; File not found&#58; redalert.mix
File name&#58; 'redalert.mix'
  at OpenRA.FileFormats.FileSystem.Open &#40;System.String filename&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at OpenRA.FileFormats.MixFile..ctor &#40;System.String filename, Int32 priority&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at OpenRA.FileFormats.FileSystem.OpenPackage &#40;System.String filename, Int32 order&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at OpenRA.FileFormats.FileSystem.OpenPackage &#40;System.String filename&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at OpenRA.FileFormats.FileSystem+<Mount>c__AnonStoreyC.<>m__F &#40;&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at OpenRA.FileFormats.FileSystem.Mount &#40;System.String name&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at OpenRA.ModData.PrepareMap &#40;System.String uid&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at OpenRA.Game.StartGame &#40;System.String mapUID&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at OpenRA.Game.LoadShellMap &#40;&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at OpenRA.Mods.RA.Widgets.Delegates.GameInitDelegate.ContinueLoading &#40;OpenRA.Widgets.Widget widget&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at OpenRA.Mods.RA.Widgets.Delegates.GameInitDelegate+<ShowDownloadDialog>c__AnonStorey58+<ShowDownloadDialog>c__AnonStorey5A.<>m__55 &#40;&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at &#40;wrapper delegate-invoke&#41; System.Action&#58;invoke_void__this__ &#40;&#41;
  at OpenRA.FileFormats.ActionQueue.PerformActions &#40;&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at OpenRA.Game.Tick &#40;OpenRA.Network.OrderManager orderManager, OpenRA.Graphics.Viewport viewPort&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at OpenRA.Game.Run &#40;&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at OpenRA.Program.Run &#40;System.String&#91;&#93; args&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
  at OpenRA.Program.Main &#40;System.String&#91;&#93; args&#41; &#91;0x00000&#93; in <filename unknown>&#58;0 
AL lib&#58; ALc.c&#58;1879&#58; exit&#40;&#41;&#58; closing 1 Device
AL lib&#58; ALc.c&#58;1808&#58; alcCloseDevice&#40;&#41;&#58; destroying 1 Context&#40;s&#41;
AL lib&#58; ALc.c&#58;1420&#58; alcDestroyContext&#40;&#41;&#58; deleting 32 Source&#40;s&#41;
Late reply, was testing Red Alert ;)

User avatar
Sleipnir
Posts: 878
Joined: Wed Apr 10, 2002 11:52 pm
Contact:

Post by Sleipnir »

It looks like the package extractor didn't elevate itself properly - it should have prompted via kdesu or gksudo. I guess that you retried as root, and it worked...

The main issue here is that none of us run fedora, so rpm packaging isn't maintained as well as it should. I'll try installing fedora in a vm sometime this week and see if we can fix this mess.

PhoibDS
Posts: 12
Joined: Fri Dec 10, 2010 10:17 pm

Post by PhoibDS »

I ran it as user when I got the error, I don't think kdesu or gksudo would have worked, at least it didn't prompt me. Work around for Fedora would be to place the mix files in a user directory, I guess.

Unfortunatly, I don't have the time to look more indepth in this. Having open red alert working now is taxing on my thesis as it is :P

beedee
Posts: 94
Joined: Mon Sep 06, 2010 5:02 am
Location: Wellington
Contact:

Post by beedee »

PhoibDS wrote: Work around for Fedora would be to place the mix files in a user directory, I guess.
We're planning on doing that on all platforms, we just haven't got around to it yet. Like a lot of things...

User avatar
Sleipnir
Posts: 878
Joined: Wed Apr 10, 2002 11:52 pm
Contact:

Post by Sleipnir »

beedee wrote:
PhoibDS wrote: Work around for Fedora would be to place the mix files in a user directory, I guess.
We're planning on doing that on all platforms, we just haven't got around to it yet. Like a lot of things...
The engine already supports this via the `SpecialPackageRoot=<path>` commandline arg. We don't use it under windows or linux because its silly to have an identical copy of the package files for each user that plays.

beedee
Posts: 94
Joined: Mon Sep 06, 2010 5:02 am
Location: Wellington
Contact:

Post by beedee »

Sleipnir wrote:
beedee wrote:
PhoibDS wrote: Work around for Fedora would be to place the mix files in a user directory, I guess.
We're planning on doing that on all platforms, we just haven't got around to it yet. Like a lot of things...
The engine already supports this via the `SpecialPackageRoot=<path>` commandline arg. We don't use it under windows or linux because its silly to have an identical copy of the package files for each user that plays.
I would argue that most systems are single user or only have a single user that plays. I suspect we need to be able to have the user decide where they want the packages.

PhoibDS
Posts: 12
Joined: Fri Dec 10, 2010 10:17 pm

Post by PhoibDS »

Simlinks perhaps?

Post Reply