Resolved black window on startup, then vanishes

logisch

New Member
i was trying the latest release and the somewhat older unstable build.
here is what i've found in the log file:

Code:
18:35:24.021 [main] INFO org.terasology.game.TerasologyEngine - Initializing Terasology...
 
18:35:24.081 [main] INFO org.terasology.game.TerasologyEngine - [buildNumber=677, buildId=2013-09-28_17-01-46, buildTag=jenkins-Terasology-677, buildUrl=[url]http://jenkins.movingblocks.net/job/Terasology/677/[/url], jobName=Terasology, gitBranch=develop, gitCommit=f158c16206595ff1ecdf13d113e9d8e3cc220454, dateTime=2013-09-28T15:02:21Z, displayVersion=pre-alpha]
 
18:35:24.082 [main] INFO org.terasology.game.TerasologyEngine - Home path: C:\Users\<user>\Saved Games\Terasology
 
18:35:24.083 [main] INFO org.terasology.game.TerasologyEngine - Install path: C:\Users\<user>\Terasology\NIGHTLY\Terasology\677
 
18:35:25.728 [main] WARN org.terasology.game.TerasologyEngine - Could not load TeraOVR native library. No worries... It's completely optional.
 
18:35:28.357 [main] INFO o.t.audio.openAL.OpenALManager - Initializing OpenAL audio manager
 
18:35:30.660 [main] INFO o.t.audio.openAL.OpenALManager - OpenAL 1.1 initialized!
 
18:35:30.661 [main] INFO o.t.audio.openAL.OpenALManager - Using OpenAL: Software by Creative Labs Inc.
 
18:35:30.664 [main] INFO o.t.audio.openAL.OpenALManager - Using device: Generic Software
 
18:35:30.665 [main] INFO o.t.audio.openAL.OpenALManager - Available AL extensions: EAX EAX2.0 EAX3.0 EAX4.0 EAX5.0 EAX3.0EMULATED EAX4.0EMULATED AL_EXT_OFFSET AL_EXT_LINEAR_DISTANCE AL_EXT_EXPONENT_DISTANCE
 
18:35:30.666 [main] INFO o.t.audio.openAL.OpenALManager - Available ALC extensions: ALC_ENUMERATION_EXT ALC_EXT_CAPTURE
 
18:35:30.686 [main] ERROR org.terasology.game.Terasology - Uncaught Exception
 
org.lwjgl.openal.OpenALException: Invalid Enum
 
at org.lwjgl.openal.Util.checkALCError(Util.java:55) ~[lwjgl-2.9.0.jar:na]
 
at org.lwjgl.openal.ALC10.alcGetInteger(ALC10.java:184) ~[lwjgl-2.9.0.jar:na]
 
at org.terasology.audio.openAL.OpenALManager.<init>(OpenALManager.java:99) ~[Terasology.jar:677, develop, 2013-09-28_17-01-46, pre-alpha]
 
at org.terasology.game.TerasologyEngine.initOpenAL(TerasologyEngine.java:342) ~[Terasology.jar:677, develop, 2013-09-28_17-01-46, pre-alpha]
 
at org.terasology.game.TerasologyEngine.init(TerasologyEngine.java:124) ~[Terasology.jar:677, develop, 2013-09-28_17-01-46, pre-alpha]
 
at org.terasology.game.Terasology.main(Terasology.java:55) ~[Terasology.jar:677, develop, 2013-09-28_17-01-46, pre-alpha]
 

logisch

New Member
some additional information i might have missed in the posting above:
OS: Windows Vista
graphics: some older ATI mobile adapter for laptops
affected item: download-game

i tried the online browser embedded version and it ran for me without much fuzz until it did no longer respond to the mouse but only to keystrokes (which was bad in terms of menu interaction like "exit").

i further tried the editor(?) TeraEd.exe but it freezes in any version when showing the left pane in black for the first time.
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
Huh, that's an unusual error

org.lwjgl.openal.OpenALException: Invalid Enum
Have you noticed any sound-related issues on that computer before? Did sound work OK when running out of the browser version?
 

logisch

New Member
sound is normally fine on that computer.
when running the web version sound for effects and for music is there.
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
Hmm, this is a tricky one :)

A quick Google search actually shows this thread on the first page already, heh.

It sounds like it may be similar to this link for a Minecraft issue where sound works under some circumstances but not others. May relate to the version of LWJGL plus your sound device. Does MC work normally?

This could be tricky to sort out, might need to test alternative LWJGL versions to see if we can narrow it down. I don't see any new LWJGL releases lately, we might be overdue for one, maybe there's a known issue with a fix pending. Would take some time to sort out though, I'm afraid :)

The part about applet vs. download is really weird - I wonder if somehow the applet ends up loading a different OpenAL version
 

logisch

New Member
Thats the log created from wa web run - it has a different OpenAL (and i quite probably dont have a Creative sound device but a Realtek one; quoting a few component library errors as well):

Code:
02:36:09.294 [Thread-18] INFO  org.terasology.game.TerasologyEngine - Initializing Terasology...
02:36:09.551 [Thread-18] INFO  org.terasology.game.TerasologyEngine - [buildNumber=484, buildId=2013-09-28_17-03-04, buildTag=jenkins-TerasologyApplet-484, buildUrl=http://jenkins.movingblocks.net/job/TerasologyApplet/484/, jobName=TerasologyApplet, gitBranch=develop, gitCommit=f158c16206595ff1ecdf13d113e9d8e3cc220454, dateTime=2013-09-28T15:03:39Z, displayVersion=pre-alpha]
02:36:09.552 [Thread-18] INFO  org.terasology.game.TerasologyEngine - Home path: C:\Users\<user>\Saved Games\Terasology
02:36:09.553 [Thread-18] INFO  org.terasology.game.TerasologyEngine - Install path: C:\Users\<user>\AppData\Local\Temp\lwjglcache\blog.movingblocks.net\Terasology
02:36:12.930 [Thread-18] WARN  org.terasology.game.TerasologyEngine - Could not load TeraOVR native library. No worries... It's completely optional.
02:36:16.525 [Thread-18] INFO  o.t.audio.openAL.OpenALManager - Initializing OpenAL audio manager
02:36:16.838 [Thread-18] INFO  o.t.audio.openAL.OpenALManager - OpenAL 1.1 ALSOFT 1.14 initialized!
02:36:16.839 [Thread-18] INFO  o.t.audio.openAL.OpenALManager - Using OpenAL: OpenAL Soft by OpenAL Community
02:36:16.842 [Thread-18] INFO  o.t.audio.openAL.OpenALManager - Using device: OpenAL Soft
02:36:16.842 [Thread-18] INFO  o.t.audio.openAL.OpenALManager - Available AL extensions: AL_EXT_ALAW AL_EXT_DOUBLE AL_EXT_EXPONENT_DISTANCE AL_EXT_FLOAT32 AL_EXT_IMA4 AL_EXT_LINEAR_DISTANCE AL_EXT_MCFORMATS AL_EXT_MULAW AL_EXT_MULAW_MCFORMATS AL_EXT_OFFSET AL_EXT_source_distance_model AL_LOKI_quadriphonic AL_SOFT_buffer_samples AL_SOFT_buffer_sub_data AL_SOFTX_deferred_updates AL_SOFT_direct_channels AL_SOFT_loop_points
02:36:16.843 [Thread-18] INFO  o.t.audio.openAL.OpenALManager - Available ALC extensions: ALC_ENUMERATE_ALL_EXT ALC_ENUMERATION_EXT ALC_EXT_CAPTURE ALC_EXT_DEDICATED ALC_EXT_disconnect ALC_EXT_EFX ALC_EXT_thread_local_context ALC_SOFT_loopback
02:36:16.844 [Thread-18] INFO  o.t.audio.openAL.OpenALManager - Max mono sources: 255
02:36:16.845 [Thread-18] INFO  o.t.audio.openAL.OpenALManager - Max stereo sources: 1
02:36:16.845 [Thread-18] INFO  o.t.audio.openAL.OpenALManager - Mixer frequency: 48000
02:36:17.077 [Thread-18] DEBUG org.reflections.Reflections - going to scan these urls:
    jar:file:/C:/Users/<user>/AppData/Local/Temp/lwjglcache/blog.movingblocks.net/Terasology/Terasology.jar!/
 
02:36:20.302 [Thread-18] INFO  org.reflections.Reflections - Reflections took 3222 ms to scan 1 urls, producing 220 keys and 1059 values
02:36:20.921 [Thread-18] INFO  org.terasology.logic.mod.ModManager - Discovered mod: Adventure Mod (hasCode = true)
02:36:20.937 [Thread-18] INFO  org.terasology.logic.mod.ModManager - Discovered mod: Block Networks (hasCode = true)
02:36:20.952 [Thread-18] INFO  org.terasology.logic.mod.ModManager - Discovered mod: Books and Bookcases (hasCode = true)
[...]
02:39:04.546 [Thread-18] INFO  o.t.r.a.GLSLShaderProgramInstance - Shader 'shader:engine:block' successfully compiled.
02:39:04.591 [Thread-18] INFO  o.t.r.a.GLSLShaderProgramInstance - Compiled 2 permutations.
02:39:08.319 [Thread-18] ERROR o.t.e.metadata.ComponentLibraryImpl - Unable to register field of type Texture: no publicly accessible default constructor
02:39:08.357 [Thread-18] ERROR o.t.e.metadata.ComponentLibraryImpl - Unsupported field type in component type BlockParticleEffectComponent, texture : class org.terasology.rendering.assets.Texture
02:39:08.358 [Thread-18] WARN  o.t.e.metadata.ComponentLibraryImpl - Handling serialization of type class javax.vecmath.Vector4f via MappedContainer
02:39:08.361 [Thread-18] WARN  o.t.e.metadata.ComponentLibraryImpl - Handling serialization of type class org.terasology.components.BlockParticleEffectComponent$Particle via MappedContainer
02:39:08.363 [Thread-18] WARN  o.t.e.metadata.ComponentLibraryImpl - Handling serialization of type class javax.vecmath.Vector4f via MappedContainer
02:39:08.402 [Thread-18] WARN  o.t.e.metadata.ComponentLibraryImpl - Handling serialization of type class org.terasology.world.chunks.MiniatureChunk via MappedContainer
02:39:08.403 [Thread-18] WARN  o.t.e.metadata.ComponentLibraryImpl - Handling serialization of type class org.terasology.rendering.world.BlockGrid via MappedContainer
02:39:08.404 [Thread-18] ERROR o.t.e.metadata.ComponentLibraryImpl - Set field is not parameterized, or holds unsupported type
02:39:08.406 [Thread-18] ERROR o.t.e.metadata.ComponentLibraryImpl - Unsupported field type in component type BlockGrid, gridPositions : java.util.Set<org.terasology.rendering.world.BlockGrid$GridPosition>
02:39:09.291 [Thread-18] WARN  o.t.e.p.EntityPersisterHelperImpl - Unable to deserialise unknown component type: CraftRecipe
02:39:09.292 [Thread-18] WARN  o.t.e.p.EntityPersisterHelperImpl - Unable to deserialise unknown component type: CraftRecipe
02:39:10.793 [Thread-18] WARN  o.t.e.p.EntityPersisterHelperImpl - Unable to deserialise unknown component type: CraftRecipe
02:39:10.794 [Thread-18] WARN  o.t.e.p.EntityPersisterHelperImpl - Unable to deserialise unknown component type: CraftRecipe
02:39:10.884 [Thread-18] WARN  o.t.e.p.EntityPersisterHelperImpl - Unable to deserialise unknown component type: CraftRecipe
02:39:10.884 [Thread-18] WARN  o.t.e.p.EntityPersisterHelperImpl - Unable to deserialise unknown component type: CraftRecipe
02:39:10.981 [Thread-18] WARN  o.t.e.p.EntityPersisterHelperImpl - Unable to deserialise unknown component type: Hunger
02:39:10.981 [Thread-18] WARN  o.t.e.p.EntityPersisterHelperImpl - Unable to deserialise unknown component type: Hunger
02:39:13.207 [Thread-18] WARN  o.t.e.p.EntityPersisterHelperImpl - Unable to deserialise unknown component type: CraftRecipe
02:39:13.207 [Thread-18] WARN  o.t.e.p.EntityPersisterHelperImpl - Unable to deserialise unknown component type: CraftRecipe
02:39:13.526 [Thread-18] WARN  o.t.e.p.EntityPersisterHelperImpl - Unable to deserialise unknown component type: CraftRecipe
02:39:13.526 [Thread-18] WARN  o.t.e.p.EntityPersisterHelperImpl - Unable to deserialise unknown component type: CraftRecipe
02:39:14.363 [Thread-18] INFO  o.t.g.m.l.InitialiseWorld - World seed: "4536"
02:39:14.432 [Thread-18] INFO  o.terasology.game.types.SurvivalType - Normal started
02:39:14.698 [Thread-18] INFO  o.t.rendering.world.WorldRenderer - It took 225 ms to load chunks from file C:\Users\<user>\Saved Games\Terasology\worlds\World1\World1.chunks
02:39:14.720 [Thread-18] INFO  o.t.w.c.provider.LocalChunkProvider - CACHE_SIZE = 1979 for nearby chunks
02:47:22.347 [Thread-18] INFO  o.t.c.items.InventorySystem - Receiving item Sand for toolbar
02:47:29.731 [Thread-18] INFO  o.t.c.items.InventorySystem - Receiving item Sand for toolbar
[...]
 

logisch

New Member
Checking the game directories for "OpenAL*.*" pops up with a 32 and 64 bit version - consistent in file size across all present installs.
Inspecting properties on that files does not unveil any vendor to me. A check with a hex editor (HxD) unveils pretty the same "nothing".
Size is about 381 and 374 kB with dates from the bundling or install.

Checking for the same keyword in C:\Windows and subdirs pops up with a single OpenAL32.dll.
The file sits in system32 subdir. Size is 84 kB. Date is 2009-07-04.
Properties reports "Standard OpenAL(TM) Implementation/Library" and version 6.14.357.11 with copyright 2000 to 2005.
Checking again with hex editor shows that unicode sequences:

S.t.r.i.n.g.F.i.l.e.I.n.f.o.........0.4.0.9.0.4.b.0.........
C.o.m.m.e.n.t.s...‚.1...
C.o.m.p.a.n.y.N.a.m.e.....P.o.r.t.i.o.n.s. .(.C.). .C.r.e.a.t.i.v.e. .L.a.b.s. .I.n.c... .a.n.d. .N.V.I.D.I.A. .C.o.r.p.......n.#...
F.i.l.e.D.e.s.c.r.i.p.t.i.o.n.....S.t.a.n.d.a.r.d. .O.p.e.n.A.L.(.T.M.). .I.m.p.l.e.m.e.n.t.a.t.i.o.n.....:.....
F.i.l.e.V.e.r.s.i.o.n.....6...1.4...0.3.5.7...1.1..... .....
I.n.t.e.r.n.a.l.N.a.m.e...T.....
L.e.g.a.l.C.o.p.y.r.i.g.h.t...C.o.p.y.r.i.g.h.t. .(.C.). .2.0.0.0.-.2.0.0.5...(.....
L.e.g.a.l.T.r.a.d.e.m.a.r.k.s <snipp>​


Now renaming that file to *_disabled ... -> still finding the Creative version (SFP did not come in.)
Stopping Firefox just in case it blocks something. -> still finding the Creative version
Copying the DLL from the game to the global location. -> the game finally works now (using the launcher for the test) and sounds are fine.
 

logisch

New Member
checking further i found some other application providing this:
C:\Minetest\bin\OpenAL32.dll​
the file size is 107 kB and it has a copyright with creative and nvidia.
the path variable for cmd.exe currently seems not having that included
but maybe for locating such components via java & lwjgl there might apply some extended rules.
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
Thanks for all the extra details - taking a little while to find the time to review and help debug further :)
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
Copying the DLL from the game to the global location. -> the game finally works now (using the launcher for the test) and sounds are fine.
Missed this part on my brief initial skim. We had hit similar issues waaaaaaaaay long ago but I thought the bundled natives should always have priority now.

Immortius - any idea?

In short:
  • Applet worked - used bundled OpenAL
  • Local game failed as it got a bad version of OpenAL from the local system (not the bundled native)
    • Develop build #677 is the one immediately before the restructure changes (so a legacy build)
  • Overwriting the global OpenAL file in system32 fixed the local game version
If you would consider that an accurate summary, logisch ? :)
 

Immortius

Lead Software Architect
Contributor
Architecture
GUI
Hmm... we append the bundled path to the end of the existing java.library.path property. We should actually add it to the front (by default it has the windows system32 directory and a half dozen other locations in it). I'll fix this up.
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
Thanks Immortius !

logisch - the fix is in the latest build now. You already fixed it locally by updating the OpenAL in your System32, but anyway :)

If you do update sometime keep in mind that the latest build is vastly different than the one you downloaded previously - it now includes all the multiplayer stuff etc. Likely needs a game data dir reset.
 
Top