java.nio.BufferUnderflowException on java v21.x
RMS version:
0.5 (TwilacsNowIn3D.2022.03.12)
JAVA version:
openjdk 21.0.1 2023-10-17 LTS OpenJDK Runtime Environment Temurin-21.0.1+12 (build 21.0.1+12-LTS) OpenJDK 64-Bit Server VM Temurin-21.0.1+12 (build 21.0.1+12-LTS, mixed mode, sharing)
i am getting the following error upon opening an mdx file:
Unknown error occurred: java.nio.BufferUnderflowException at java.base/java.nio.Buffer.nextGetIndex(Buffer.java:713) at java.base/java.nio.HeapByteBuffer.get(HeapByteBuffer.java:172) at com.hiveworkshop.rms.util.BinaryReader.readUInt8(BinaryReader.java:86) at com.hiveworkshop.rms.util.BinaryReader.readUInt8Array(BinaryReader.java:155) at com.hiveworkshop.rms.util.BinaryReader.readUInt8Array(BinaryReader.java:162) at com.hiveworkshop.rms.parsers.mdlx.MdlxUnknownChunk.<init>(MdlxUnknownChunk.java:13) at com.hiveworkshop.rms.parsers.mdlx.MdxLoadSave.loadMdx(MdxLoadSave.java:78) at com.hiveworkshop.rms.parsers.mdlx.MdlxModel.load(MdlxModel.java:65) at com.hiveworkshop.rms.parsers.mdlx.MdlxModel.<init>(MdlxModel.java:59) at com.hiveworkshop.rms.parsers.mdlx.util.MdxUtils.loadMdlx(MdxUtils.java:15) at com.hiveworkshop.rms.parsers.mdlx.util.MdxUtils.loadEditable(MdxUtils.java:39) at com.hiveworkshop.rms.ui.application.ModelLoader.getMdxlModel(ModelLoader.java:226) at com.hiveworkshop.rms.ui.application.ModelLoader.loadFile(ModelLoader.java:187) at com.hiveworkshop.rms.ui.application.ModelLoader.loadFile(ModelLoader.java:171) at com.hiveworkshop.rms.ui.application.FileDialog.openFile(FileDialog.java:485) at com.hiveworkshop.rms.ui.application.FileDialog.onClickOpen(FileDialog.java:404) at com.hiveworkshop.rms.ui.application.FileDialog.onClickOpen(FileDialog.java:338) at com.hiveworkshop.rms.ui.application.ToolBar$1.actionPerformed(ToolBar.java:83) at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972) at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2314) at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:407) at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262) at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279) at com.jtattoo.plaf.BaseButtonListener.mouseReleased(BaseButtonListener.java:65) at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297) at java.desktop/java.awt.Component.processMouseEvent(Component.java:6621) at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3398) at java.desktop/java.awt.Component.processEvent(Component.java:6386) at java.desktop/java.awt.Container.processEvent(Container.java:2266) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4996) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828) at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948) at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575) at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310) at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714) at java.base/java.security.AccessController.doPrivileged(AccessController.java:400) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:98) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745) at java.base/java.security.AccessController.doPrivileged(AccessController.java:400) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
I suggest filing your same issue here: https://github.com/tw1lac/ReterasModelStudio/issues
You are probably also going to want to provide the developer(s) of the twilac fork with the model. Hitting an unknown chunk in the model with an unexpected length might be due to multiple possible issues, but it suggests that something about your model is outside the scope of the expected formatting, potentially including an unknown chunk type such as from a WoW Alpha MDX, or something.