LWJGL
June 17, 2013, 21:53:57 *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: LWJGL 2.9.0 released!
 
   Home   Help Search Login Register  



Pages: 1 [2] 3
  Print  
Author Topic: [FIXED] OpenAl crashes while unloading since 2.8.1  (Read 11187 times)
Cero
Newbie
*
Posts: 22


« Reply #15 on: March 03, 2012, 11:06:38 »

Testing LWJGL version I have laying around:
2.8.4 nightly, error occurs
2.8.2 error occurs
2.8.0 error doesnt occur.

happens when closing the game, sound works fine (hence unloading)

also,
this total crash only happens like once every 10 times I try to exit a game, sometimes more often

but I always know when it CAN happen because I get this
Code:
AL lib: FreeContext: (1E5B0D88) Deleting 64 Source(s)
last line at all, this line only happens when its broken, so that sometimes, this crash occurs
Logged
Cero
Newbie
*
Posts: 22


« Reply #16 on: March 03, 2012, 11:18:23 »

I also read a thread in the Slick forum on cleaning up audio nicely.
So this involves a couple of commands, one of them

Code:
public static void detachBuffer(int sourceID) {
        //detach a buffer if it exists
        AL10.alSourceStop(sourceID);
        AL10.alSourcei(sourceID, AL10.AL_BUFFER, 0);
    }

now, AL10.alSourceStop(sourceID);, results in a
Code:
UnsatisfiedLinkError: org.lwjgl.openal.AL10.nalSourceStop(I)V
for me.

And yeah even with latest 2.8.4 & natives.

I even tried the very latest OpenAL32.dll
http://www.newdawnsoftware.com/jenkins/view/OpenAL/job/OpenAL-win32/
which seems to be triple size, that the one contained within the nightly lwjgl, but still this UnsatisfiedLinkError comes up.
Logged
Matzon
Administrator
Demigod
*****
Posts: 2239



« Reply #17 on: March 03, 2012, 12:51:31 »

as per http://lwjgl.org/forum/index.php?topic=4311.0 - try setting debug for lwjgl and openal
Logged

Cero
Newbie
*
Posts: 22


« Reply #18 on: March 03, 2012, 20:03:04 »

Code:
AL lib: GetConfigValue: Key general:hrtf_tables not found
AL lib: GetConfigValue: Key general:rt-prio not found
AL lib: GetConfigValue: Key general:resampler not found
AL lib: GetConfigValue: Key general:trap-alc-error not found
AL lib: GetConfigValue: Key general:trap-al-error not found
AL lib: GetConfigValue: Key reverb:boost not found
AL lib: GetConfigValue: Key reverb:emulate-eax not found
AL lib: GetConfigValue: Key general:drivers not found
AL lib: MMDevApiMsgProc: Starting message thread
AL lib: MMDevApiMsgProc: Starting message loop
AL lib: alc_initconfig: Initialized backend "mmdevapi"
AL lib: alc_initconfig: Added "mmdevapi" for playback
AL lib: alc_initconfig: Initialized backend "dsound"
AL lib: alc_initconfig: Added "dsound" for capture
AL lib: GetConfigValue: Key general:excludefx not found
AL lib: GetConfigValue: Key general:default-reverb not found
AL lib: GetConfigValue: Key general:channels not found
AL lib: GetConfigValue: Key general:sample-type not found
AL lib: GetConfigValue: Key general:format not found
AL lib: GetConfigValue: Key general:frequency not found
AL lib: GetConfigValue: Key general:periods not found
AL lib: GetConfigValue: Key general:period_size not found
AL lib: GetConfigValue: Key general:sources not found
AL lib: GetConfigValue: Key general:slots not found
AL lib: GetConfigValue: Key general:sends not found
AL lib: GetConfigValue: Key general:cf_level not found
AL lib: MMDevApiMsgProc: Got message 1024
AL lib: alcOpenDevice: Created device 0FAE0048, "Speakers (High Definition Audio
 Device)"
AL lib: UpdateDeviceParams: Format pre-setup: Stereo, Float, 44100hz, 1024 updat
e size x4
AL lib: MMDevApiMsgProc: Got message 1025
AL lib: UpdateDeviceParams: Format post-setup: Stereo, Float, 44100hz, 448 updat
e size x9
AL lib: GetConfigValue: Key general:layout_stereo not found
AL lib: GetConfigValue: Key general:layout not found
AL lib: GetConfigValue: Key general:hrtf not found
AL lib: UpdateDeviceParams: HRTF disabled
AL lib: UpdateDeviceParams: BS2B disabled
AL lib: UpdateDeviceParams: Stereo duplication disabled
AL lib: alcCreateContext: Created context 0FB0CD38
Sun Mar 04 05:01:50 CET 2012 INFO:- Sound works
Sun Mar 04 05:01:50 CET 2012 INFO:- 64 OpenAL source available
Sun Mar 04 05:01:50 CET 2012 INFO:- Sounds source generated
AL lib: FreeContext: 0FB0CD38
AL lib: FreeContext: (0FB0CD38) Deleting 64 Source(s)
AL lib: MMDevApiMsgProc: Got message 1026
AL lib: MMDevApiMsgProc: Got message 1027
AL lib: FreeDevice: 0FAE0048
AL lib: FreeDevice: (0FAE0048) Deleting 20 Buffer(s)
AL lib: alcMMDevApiDeinit: Sending WM_QUIT to Thread 0ec4
AL lib: MMDevApiMsgProc: Message loop finished
Logged
Cero
Newbie
*
Posts: 22


« Reply #19 on: March 03, 2012, 20:06:24 »

On my Windows XP laptop, OpenAl doesnt crash, but I still get that "AL lib: FreeContext: (0E45D108) Deleting 64 Source(s)" message.

Here the debug from there:
Code:
AL lib: GetConfigValue: Key general:hrtf_tables not found
AL lib: GetConfigValue: Key general:rt-prio not found
AL lib: GetConfigValue: Key general:resampler not found
AL lib: GetConfigValue: Key general:trap-alc-error not found
AL lib: GetConfigValue: Key general:trap-al-error not found
AL lib: GetConfigValue: Key reverb:boost not found
AL lib: GetConfigValue: Key reverb:emulate-eax not found
AL lib: GetConfigValue: Key general:drivers not found
AL lib: MMDevApiMsgProc: Starting message thread
AL lib: MMDevApiMsgProc: Failed to create IMMDeviceEnumerator instance: 0x800401
54
AL lib: alc_initconfig: Failed to initialize backend "mmdevapi"
AL lib: alc_initconfig: Initialized backend "dsound"
AL lib: alc_initconfig: Added "dsound" for playback
AL lib: alc_initconfig: Added "dsound" for capture
AL lib: GetConfigValue: Key general:excludefx not found
AL lib: GetConfigValue: Key general:default-reverb not found
AL lib: GetConfigValue: Key general:channels not found
AL lib: GetConfigValue: Key general:sample-type not found
AL lib: GetConfigValue: Key general:format not found
AL lib: GetConfigValue: Key general:frequency not found
AL lib: GetConfigValue: Key general:periods not found
AL lib: GetConfigValue: Key general:period_size not found
AL lib: GetConfigValue: Key general:sources not found
AL lib: GetConfigValue: Key general:slots not found
AL lib: GetConfigValue: Key general:sends not found
AL lib: GetConfigValue: Key general:cf_level not found
AL lib: DSoundEnumPlaybackDevices: Got device "SoundMAX HD Audio", GUID "{BD6DD7
1A-3DEB-11D1-B171-00C04FC20000}"
AL lib: alcOpenDevice: Created device 0E430048, "SoundMAX HD Audio"
AL lib: UpdateDeviceParams: Format pre-setup: Stereo, Float, 44100hz, 1024 updat
e size x4
AL lib: UpdateDeviceParams: Format post-setup: Stereo, Float, 44100hz, 1024 upda
te size x4
AL lib: GetConfigValue: Key general:layout_stereo not found
AL lib: GetConfigValue: Key general:layout not found
AL lib: GetConfigValue: Key general:hrtf not found
AL lib: UpdateDeviceParams: HRTF disabled
AL lib: UpdateDeviceParams: BS2B disabled
AL lib: UpdateDeviceParams: Stereo duplication disabled
AL lib: alcCreateContext: Created context 0E45D108
Sun Mar 04 04:59:32 CET 2012 INFO:- Sound works
Sun Mar 04 04:59:32 CET 2012 INFO:- 64 OpenAL source available
Sun Mar 04 04:59:32 CET 2012 INFO:- Sounds source generated
AL lib: FreeContext: 0E45D108
AL lib: FreeContext: (0E45D108) Deleting 64 Source(s)
AL lib: FreeDevice: 0E430048
AL lib: FreeDevice: (0E430048) Deleting 20 Buffer(s)
AL lib: alcMMDevApiDeinit: Sending WM_QUIT to Thread 0150
Logged
Cero
Newbie
*
Posts: 22


« Reply #20 on: March 05, 2012, 18:20:00 »

And tested on yet another PC, some Intel dual core with asus onboard sound

Code:
d:\DIST>java -Djava.library.path=lib -Xms128m -Xmx128m -jar jo.jar
Tue Mar 06 03:13:42 PST 2012 INFO:Initialising sounds..
AL lib: GetConfigValue: Key general:hrtf_tables not found
AL lib: GetConfigValue: Key general:rt-prio not found
AL lib: GetConfigValue: Key general:resampler not found
AL lib: GetConfigValue: Key general:trap-alc-error not found
AL lib: GetConfigValue: Key general:trap-al-error not found
AL lib: GetConfigValue: Key reverb:boost not found
AL lib: GetConfigValue: Key reverb:emulate-eax not found
AL lib: GetConfigValue: Key general:drivers not found
AL lib: MMDevApiMsgProc: Starting message thread
AL lib: MMDevApiMsgProc: Starting message loop
AL lib: alc_initconfig: Initialized backend "mmdevapi"
AL lib: alc_initconfig: Added "mmdevapi" for playback
AL lib: alc_initconfig: Initialized backend "dsound"
AL lib: alc_initconfig: Initialized backend "winmm"
AL lib: alc_initconfig: Added "winmm" for capture
AL lib: GetConfigValue: Key general:excludefx not found
AL lib: GetConfigValue: Key general:frequency not found
AL lib: GetConfigValue: Key general:format not found
AL lib: GetConfigValue: Key general:periods not found
AL lib: GetConfigValue: Key general:period_size not found
AL lib: GetConfigValue: Key general:sources not found
AL lib: GetConfigValue: Key general:slots not found
AL lib: GetConfigValue: Key general:sends not found
AL lib: GetConfigValue: Key general:cf_level not found
AL lib: MMDevApiMsgProc: Got message 1024
AL lib: alcOpenDevice: Created device 04F80048
AL lib: UpdateDeviceParams: Format pre-setup: Stereo, Signed Short, 44100hz, 102
4 update size x4
AL lib: MMDevApiMsgProc: Got message 1025
AL lib: UpdateDeviceParams: Format post-setup: Stereo, Signed Short, 44100hz, 89
6 update size x5
AL lib: GetConfigValue: Key general:layout_STEREO not found
AL lib: GetConfigValue: Key general:layout not found
AL lib: GetConfigValue: Key general:hrtf not found
AL lib: UpdateDeviceParams: HRTF disabled
AL lib: UpdateDeviceParams: BS2B disabled
AL lib: UpdateDeviceParams: Stereo duplication disabled
AL lib: alcCreateContext: Created context 04D40E80
Tue Mar 06 03:13:42 PST 2012 INFO:- Sound works
Tue Mar 06 03:13:42 PST 2012 INFO:- 64 OpenAL source available
Tue Mar 06 03:13:42 PST 2012 INFO:- Sounds source generated
AL lib: FreeContext: 04D40E80
AL lib: FreeContext: (04D40E80) Deleting 64 Source(s)
AL lib: MMDevApiMsgProc: Got message 1026
AL lib: MMDevApiMsgProc: Got message 1027
AL lib: FreeDevice: 04F80048
AL lib: FreeDevice: (04F80048) Deleting 1 Buffer(s)
AL lib: alcMMDevApiDeinit: Sending WM_QUIT to Thread 080c

Since this seems to work everywhere, I made this Dist you can run yourself to get this error:
http://www.mediafire.com/?65pm3itxc6q25ms
It differs how many times you have to run it to get a crash, sometimes its only 2 times, sometimes 12.
But here its very fast and its always < 20 for me.

All I do here is:
Code:
public static void main(String[] args) throws SlickException
{
SoundStore.get().init();
Sound snd = new Sound("content/audio/sound/novashot.ogg");
AL.destroy();
}
Logged
Matzon
Administrator
Demigod
*****
Posts: 2239



« Reply #21 on: March 06, 2012, 12:30:50 »

no crashing here... just the obligatory AL lib: FreeContext: message after lots of runs I get it too ... checking
Logged

Matzon
Administrator
Demigod
*****
Posts: 2239



« Reply #22 on: March 07, 2012, 02:38:31 »

I've been debugging it last night with chris from openal. No clean fix yet.

The issue SEEMS to happen in the DllMain detach part when shutting down - specifically, the worker thread for the mmdev backend - we think - is scheduled to die (posting WM_QUIT), and is then run when the dll is unloaded (basically invalid address space).

Its not easy to fix, because openal does not have a "destroy" method to do cleanup in.

a simple fix, seems to do a Sleep(100) after posting the WM_QUIT message - but its ugly as hell, so probably wont go into OpenAL-Soft Smiley

So... shit out of luck for now .. .working on a fix ...
Logged

kappa
Administrator
Nerdus Imperius
*****
Posts: 1117



« Reply #23 on: March 15, 2012, 02:59:32 »

was able to reproduce the above bug on my vista machine too.
Logged
Cero
Newbie
*
Posts: 22


« Reply #24 on: March 15, 2012, 08:30:29 »

is it odd that the older version of lwjgl do not have this behavior ?
I understand you changed something with OpenAL @ 2.8.2
Logged
Matzon
Administrator
Demigod
*****
Posts: 2239



« Reply #25 on: March 15, 2012, 12:27:50 »

try an older version of openal
Logged

Matzon
Administrator
Demigod
*****
Posts: 2239



« Reply #26 on: March 16, 2012, 16:48:25 »

Please try the latest version of OpenAL (soon 1.14): http://www.newdawnsoftware.com/jenkins/view/OpenAL/
I cannot reproduce it anymore.
Logged

Cero
Newbie
*
Posts: 22


« Reply #27 on: March 18, 2012, 06:57:05 »

seems fine now
Logged
kappa
Administrator
Nerdus Imperius
*****
Posts: 1117



« Reply #28 on: May 21, 2012, 13:57:18 »

should be fixed in nightly builds too now.
Logged
cmasupra
Newbie
*
Posts: 5


« Reply #29 on: June 28, 2012, 23:18:25 »

I have tested this using 2.8.4 and the 2.8.5 1714 nightly. I am still getting the error every time I close my game.

Edit: I tried replacing the 2.8.5 1714 nightly OpenAL dll files with the OpenAL dll files from 2.7.1, and I no longer got the "Deleting 64 source(s)" error. As soon as I switched back to the 2.8.5 OpenAL dll files, the error came back.
Logged
Pages: 1 [2] 3
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines
SMFAds for Free Forums
Valid XHTML 1.0! Valid CSS!