EmuNewz Network

Full Version: Critical error: Invalid Device
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
This very rare error appears when the user clicks on an encrypted EBOOT.PBP game on the UMD Browser. It might also be possible that this error can appear when the user clicks on a disk image as well.

The following error message appears on the console after the user selects the game and clicks on "Load":
Code:
AL lib: (EE) DoReset: Failed to initialize audio client: 0x88890017
org.lwjgl.openal.OpenALException: Invalid Device
    at org.lwjgl.openal.Util.checkALCError(Util.java:55)
    at org.lwjgl.openal.ALC10.alcCreateContext(ALC10.java:251)
    at org.lwjgl.openal.AL.init(AL.java:173)
    at org.lwjgl.openal.AL.create(AL.java:143)
    at org.lwjgl.openal.AL.create(AL.java:102)
    at org.lwjgl.openal.AL.create(AL.java:206)
    at jpcsp.sound.SoundChannel.init(SoundChannel.java:68)
    at jpcsp.HLE.modules.sceAudio.start(sceAudio.java:59)
    at jpcsp.HLE.HLEModuleManager.startModules(HLEModuleManager.java:541)
    at jpcsp.Emulator.initCpu(Emulator.java:211)
    at jpcsp.Emulator.load(Emulator.java:185)
    at jpcsp.Emulator.load(Emulator.java:154)
    at jpcsp.MainGUI.loadUMD(MainGUI.java:1847)
    at jpcsp.MainGUI.loadUMDGame(MainGUI.java:2024)
    at jpcsp.MainGUI.loadUMD(MainGUI.java:1902)
    at jpcsp.MainGUI.loadAndRunUMD(MainGUI.java:1880)
    at jpcsp.GUI.UmdBrowser.loadSelectedfile(UmdBrowser.java:773)
    at jpcsp.GUI.UmdBrowser.loadButtonActionPerformed(UmdBrowser.java:1090)
    at jpcsp.GUI.UmdBrowser.access$1900(UmdBrowser.java:65)
    at jpcsp.GUI.UmdBrowser$6.actionPerformed(UmdBrowser.java:966)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$300(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue$4.run(Unknown Source)
    at java.awt.EventQueue$4.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.WaitDispatchSupport$2.run(Unknown Source)
    at java.awt.WaitDispatchSupport$4.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.awt.WaitDispatchSupport.enter(Unknown Source)
    at java.awt.Dialog.show(Unknown Source)
    at java.awt.Component.show(Unknown Source)
    at java.awt.Component.setVisible(Unknown Source)
    at java.awt.Window.setVisible(Unknown Source)
    at java.awt.Dialog.setVisible(Unknown Source)
    at jpcsp.MainGUI.openUmdActionPerformed(MainGUI.java:1772)
    at jpcsp.MainGUI.access$500(MainGUI.java:104)
    at jpcsp.MainGUI$7.actionPerformed(MainGUI.java:450)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.AbstractButton.doClick(Unknown Source)
    at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
    at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$300(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue$4.run(Unknown Source)
    at java.awt.EventQueue$4.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)

While I was checking options in the emulator to see if they still work, the option "Unpack PBP on load" doesn't do anything with an encrypted EBOOT.PBP file. I'm assuming that if a PBP file is loaded, the emulator would unpack its contents into a directory (unless it only works with homebrew EBOOT.PBP files).
Strange, I never saw that error. I found the same error reported in a Microsoft forum

https://social.msdn.microsoft.com/Forums...evelopment

This is not related to lwjgl, but maybe lwjgl only reports the error code it is receiving from the Windows API. Is it happening only on a weak PC/Laptop?
Since I only have one computer (which is considered below mid-range in specifications), I don't know if this issue would affect a computer or laptop that has better specifications than mine. It is possible that it could be a operating system issue: https://steamcommunity.com/app/215080/di...1247306654

Quote:If you are playing on Windows 7, there is something about Win7 that makes Windows Audio sometimes go into a coma for some reason or another, and that can also cause this error to happen.
How do you resolve the issue when it happens? Is it sufficient just to restart Jpcsp or do you need to do something at the Windows level?
If a restart of Jpcsp is sufficient, I could try to perform the audio initialization in Jpcsp multiple times in case it is failing...
(12-19-2017 11:15 AM)DragonNeos Wrote: [ -> ]While I was checking options in the emulator to see if they still work, the option "Unpack PBP on load" doesn't do anything with an encrypted EBOOT.PBP file. I'm assuming that if a PBP file is loaded, the emulator would unpack its contents into a directory (unless it only works with homebrew EBOOT.PBP files).
I found a place where this option was not considered. Is it now resolved in a3ed731?
Since it is a very rare error, when I do encounter the issue, I just close and restart the emulator. After restarting the emulator, there aren't any issues when I select a game or application.

Although the option "Unpack PBP on load" now works with encrypted EBOOT.PBP files, it should probably be listed somewhere on the README.txt that the -Xmx Size should be increased to a greater capacity (depending on the size of the EBOOT) when using this option or else the following occurs:
Code:
Exception in thread "Umd Browser - Umd Info Loader" java.lang.OutOfMemoryError: Java heap space
    at jpcsp.util.Utilities.readAsByteBuffer(Utilities.java:1901)
    at jpcsp.filesystems.umdiso.UmdIsoReader.init(UmdIsoReader.java:79)
    at jpcsp.filesystems.umdiso.UmdIsoReader.<init>(UmdIsoReader.java:56)
    at jpcsp.GUI.UmdBrowser.loadUmdInfo(UmdBrowser.java:453)
    at jpcsp.GUI.UmdBrowser.access$800(UmdBrowser.java:65)
    at jpcsp.GUI.UmdBrowser$UmdInfoLoader.run(UmdBrowser.java:802)

For example, I had to raise the -Xmx Size to 2560 MB in order for the emulator to dump the contents of Final Fantasy Type-0 Trial [Zeroshiki] into the unpacked-pbp directory.

A similar error may appear when selecting an encrypted EBOOT.PBP from the UMD Browser:
Code:
Exception in thread "GUI" java.lang.OutOfMemoryError: Java heap space
    at jpcsp.util.Utilities.readAsByteBuffer(Utilities.java:1901)
    at jpcsp.filesystems.umdiso.UmdIsoReader.init(UmdIsoReader.java:79)
    at jpcsp.filesystems.umdiso.UmdIsoReader.<init>(UmdIsoReader.java:56)
    at jpcsp.GUI.UmdBrowser.onSelectionChanged(UmdBrowser.java:524)
    at jpcsp.GUI.UmdBrowser.access$1600(UmdBrowser.java:65)
    at jpcsp.GUI.UmdBrowser$3.valueChanged(UmdBrowser.java:340)
    at javax.swing.DefaultListSelectionModel.fireValueChanged(Unknown Source)
    at javax.swing.DefaultListSelectionModel.fireValueChanged(Unknown Source)
    at javax.swing.DefaultListSelectionModel.fireValueChanged(Unknown Source)
    at javax.swing.DefaultListSelectionModel.changeSelection(Unknown Source)
    at javax.swing.DefaultListSelectionModel.changeSelection(Unknown Source)
    at javax.swing.DefaultListSelectionModel.setSelectionInterval(Unknown Source)
    at javax.swing.JTable.changeSelectionModel(Unknown Source)
    at javax.swing.JTable.changeSelection(Unknown Source)
    at javax.swing.plaf.basic.BasicTableUI$Handler.adjustSelection(Unknown Source)
    at javax.swing.plaf.basic.BasicTableUI$Handler.mousePressed(Unknown Source)
    at java.awt.AWTEventMulticaster.mousePressed(Unknown Source)
    at java.awt.AWTEventMulticaster.mousePressed(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
Exception in thread "GUI" java.lang.OutOfMemoryError: Java heap space
    at jpcsp.util.Utilities.readAsByteBuffer(Utilities.java:1901)
    at jpcsp.filesystems.umdiso.UmdIsoReader.init(UmdIsoReader.java:79)
    at jpcsp.filesystems.umdiso.UmdIsoReader.<init>(UmdIsoReader.java:56)
    at jpcsp.GUI.UmdBrowser.onSelectionChanged(UmdBrowser.java:524)
    at jpcsp.GUI.UmdBrowser.access$1600(UmdBrowser.java:65)
    at jpcsp.GUI.UmdBrowser$3.valueChanged(UmdBrowser.java:340)
    at javax.swing.DefaultListSelectionModel.fireValueChanged(Unknown Source)
    at javax.swing.DefaultListSelectionModel.fireValueChanged(Unknown Source)
    at javax.swing.DefaultListSelectionModel.setValueIsAdjusting(Unknown Source)
    at javax.swing.plaf.basic.BasicTableUI$Handler.setValueIsAdjusting(Unknown Source)
    at javax.swing.plaf.basic.BasicTableUI$Handler.mouseReleased(Unknown Source)
    at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
    at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$300(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)

The first error seems to occur when the -Xmx Size is never touched (UMD Browser displays a white screen and is frozen). The second error seems to occur after the -Xmx Size has changed to a lower value (I lowered the value from 2560 MB back to 1024 MB). Both cases require using the Task Manager to close the emulator.
(12-23-2017 08:45 PM)DragonNeos Wrote: [ -> ]Although the option "Unpack PBP on load" now works with encrypted EBOOT.PBP files, it should probably be listed somewhere on the README.txt that the -Xmx Size should be increased to a greater capacity (depending on the size of the EBOOT) when using this option or else the following occurs:
The memory consumption of "Unpack PBP" has been improved in 737acb7. No change of -Xmx should be required now for "Unpack PBP".
Is it possible to make the option "Unpack PBP on load" only activate on the UMD Browser after a user selects a game and clicks "Load"? For example, I have more than one encrypted EBOOT.PBP in the ms0/PSP/GAME directory. As soon as I open the UMD Browser, I am greeted with a white screen from the UMD Browser as the emulator is attempting to unpack a random EBOOT.PBP.

The option "Unpack PBP on load" works fine when a user selects a game from the UMD Browser beforehand and chooses to load it from the option "Load recent...".
(12-29-2017 04:55 PM)DragonNeos Wrote: [ -> ]Is it possible to make the option "Unpack PBP on load" only activate on the UMD Browser after a user selects a game and clicks "Load"? For example, I have more than one encrypted EBOOT.PBP in the ms0/PSP/GAME directory. As soon as I open the UMD Browser, I am greeted with a white screen from the UMD Browser as the emulator is attempting to unpack a random EBOOT.PBP.
OK, this should now work as expected in dbe2ca4. Thank you for your reports Smile
I can confirm that the option "Unpack PBP on load" works properly when it is used while on the UMD Browser. Could an option for the reverse (repack PBP) be added as well?
Pages: 1 2
Reference URL's