If you are looking for the decompiler itself, visit https://github.com/jindrapetrik/jpexs-decompiler
NEW : You can now close your own issues and reopen them later if needed. You can also comment closed issues.
List of issues#2691 Shape Records fail to save after bulk import of PNG Shapes
Author:
Fancy2209
Fancy2209Date created:
Type: bug
Visibility: Everybody
Assigned to:
State: upgraded 

> What steps will reproduce the problem?
Download the zip attached and extract
Open the folder in a terminal and run ffdec -importShapes FPA\ 3.swf FPA3Rep.swf shapes/
It'll import the Symbols sucessfully, but then fail at saving the SWF
> What is the expected output? What do you see instead?
I'd expect FPA3Rep.swf to save sucessfully, instead when writing shape records it throws
Value is too large for UB[4]: 17 or Value is too large for UB[4]: 16.
I do aknowledge some of my PNG are wayyy too big, but even after resizing all I could to
be less than 1000x1000 pixels this is still happening
> What version of the product are you using? Is it "nightly build"? Which operating system
do you have?
Happened both on latest github commit and last stable release. Operating System is
EndeavourOS, but also happened on the latest Ubuntu LTS on github actions.
> Please provide any additional information below. If the problem is related to a SWF
file, attach it here, otherwise we can't help you.
Repainted.7z (45,052 KiB)Here is the full stack trace
[java] Apr 05, 2026 9:36:33 PM com.jpexs.decompiler.flash.gui.Main handleSaveError
[java] SEVERE: Error saving file
[java] com.jpexs.decompiler.flash.ValueTooLargeException: Value is too large for
UB[4]: 16
[java] at
com.jpexs.decompiler.flash.SWFOutputStream.writeUB(SWFOutputStream.java:489)
[java] at
com.jpexs.decompiler.flash.SWFOutputStream.writeSHAPERECORDS(SWFOutputStream.java:1607)
[java] at
com.jpexs.decompiler.flash.SWFOutputStream.writeSHAPEWITHSTYLE(SWFOutputStream.java:1568)
[java] at
com.jpexs.decompiler.flash.tags.DefineShape2Tag.getData(DefineShape2Tag.java:82)
[java] at com.jpexs.decompiler.flash.tags.Tag.getData(Tag.java:679)
[java] at com.jpexs.decompiler.flash.tags.Tag.writeTag(Tag.java:572)
[java] at
com.jpexs.decompiler.flash.SWFOutputStream.writeTags(SWFOutputStream.java:628)
[java] at com.jpexs.decompiler.flash.SWF.saveToByteArray(SWF.java:1979)
[java] at com.jpexs.decompiler.flash.SWF.saveTo(SWF.java:1834)
[java] at com.jpexs.decompiler.flash.SWF.saveTo(SWF.java:1821)
[java] at com.jpexs.decompiler.flash.gui.Main.saveFile(Main.java:1915)
[java] at com.jpexs.decompiler.flash.gui.Main.saveFile(Main.java:1888)
[java] at
com.jpexs.decompiler.flash.gui.MainFrameMenu.saveOpenable(MainFrameMenu.java:181)
[java] at
com.jpexs.decompiler.flash.gui.MainFrameMenu.saveActionPerformed(MainFrameMenu.java:209)
[java] at
org.pushingpixels.flamingo.api.common.AbstractCommandButton.fireActionPerformed(AbstractCo
mmandButton.java:616)
[java] at
org.pushingpixels.flamingo.api.common.AbstractCommandButton$ActionHandler.actionPerformed(
AbstractCommandButton.java:568)
[java] at
java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:40
5)
[java] at
org.pushingpixels.flamingo.api.common.model.ActionRepeatableButtonModel.setPressed(ActionR
epeatableButtonModel.java:123)
[java] at
org.pushingpixels.flamingo.internal.ui.common.BasicCommandButtonListener.mouseReleased(Bas
icCommandButtonListener.java:147)
[java] at
java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:299)
[java] at java.desktop/java.awt.Component.processMouseEvent(Component.java:6626)
[java] at
java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3389)
[java] at java.desktop/java.awt.Component.processEvent(Component.java:6391)
[java] at java.desktop/java.awt.Container.processEvent(Container.java:2266)
[java] at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5001)
[java] at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
[java] at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
[java] at
java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
[java] at
java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575)
[java] at
java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
[java] at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
[java] at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
[java] at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
[java] at
java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775)
[java] at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
[java] at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
[java] at
java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
[java] at
java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Pr
otectionDomain.java:86)
[java] at
java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Pr
otectionDomain.java:97)
[java] at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747)
[java] at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
[java] at
java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
[java] at
java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Pr
otectionDomain.java:86)
[java] at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744)
[java] at
java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:
203)
[java] at
java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124
)
[java] at
java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:
113)
[java] at
java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
[java] at
java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
[java] at
java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
[java]
[java] Apr 05, 2026 9:36:49 PM com.jpexs.decompiler.flash.gui.Main$42
uncaughtException
[java] SEVERE: Uncaught exception in thread: AWT-EventQueue-0
[java] com.jpexs.decompiler.flash.ValueTooLargeException: Value is too large for
UB[4]: 16
[java] at
com.jpexs.decompiler.flash.SWFOutputStream.writeUB(SWFOutputStream.java:489)
[java] at
com.jpexs.decompiler.flash.SWFOutputStream.writeSHAPERECORDS(SWFOutputStream.java:1607)
[java] at
com.jpexs.decompiler.flash.SWFOutputStream.writeSHAPEWITHSTYLE(SWFOutputStream.java:1568)F
UCKING HELL IT'S ID: 11328
[java] at
com.jpexs.decompiler.flash.tags.DefineShape2Tag.getData(DefineShape2Tag.java:82)
[java] at com.jpexs.decompiler.flash.tags.Tag.getData(Tag.java:679)
[java] at com.jpexs.decompiler.flash.tags.Tag.cloneTag(Tag.java:601)
[java] at
com.jpexs.decompiler.flash.gui.GenericTagTreePanel.setEditMode(GenericTagTreePanel.java:13
10)
[java] at
com.jpexs.decompiler.flash.gui.PreviewPanel.showDisplayEditTagPanel(PreviewPanel.java:2056
)
[java] at
com.jpexs.decompiler.flash.gui.MainPanel.showPreview(MainPanel.java:6162)
[java] at com.jpexs.decompiler.flash.gui.MainPanel.reload(MainPanel.java:6622)
[java] at
com.jpexs.decompiler.flash.gui.MainPanel.valueChanged(MainPanel.java:5809)
[java] at
com.jpexs.decompiler.flash.gui.MainPanel.valueChanged(MainPanel.java:5835)
[java] at java.desktop/javax.swing.JTree.fireValueChanged(JTree.java:3018)
[java] at
java.desktop/javax.swing.JTree$TreeSelectionRedirector.valueChanged(JTree.java:3519)
[java] at
java.desktop/javax.swing.tree.DefaultTreeSelectionModel.fireValueChanged(DefaultTreeSelect
ionModel.java:650)
[java] at
java.desktop/javax.swing.tree.DefaultTreeSelectionModel.notifyPathChange(DefaultTreeSelect
ionModel.java:1120)
[java]
[java] at
java.desktop/javax.swing.tree.DefaultTreeSelectionModel.setSelectionPaths(DefaultTreeSelec
tionModel.java:306)
[java] at
com.jpexs.decompiler.flash.gui.MainPanel$MyTreeSelectionModel.setSelectionPaths(MainPanel.
java:887)
[java] at
java.desktop/javax.swing.tree.DefaultTreeSelectionModel.setSelectionPath(DefaultTreeSelect
ionModel.java:200)
[java] at
com.jpexs.decompiler.flash.gui.MainPanel$MyTreeSelectionModel.setSelectionPath(MainPanel.j
ava:878)
[java] at java.desktop/javax.swing.JTree.setSelectionPath(JTree.java:1708)
[java] at
java.desktop/javax.swing.plaf.basic.BasicTreeUI.selectPathForEvent(BasicTreeUI.java:2764)
[java] at
java.desktop/javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection(BasicTreeUI.java:4
099)
[java] at
java.desktop/javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressed(BasicTreeUI.java:4038
)
[java] at
java.desktop/java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:290)
[java] at java.desktop/java.awt.Component.processMouseEvent(Component.java:6623)
[java] at
java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3389)
[java] at java.desktop/java.awt.Component.processEvent(Component.java:6391)
[java] at java.desktop/java.awt.Container.processEvent(Container.java:2266)
[java] at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5001)
[java] at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
[java] at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
[java] at
java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
[java] at
java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4572)
[java] at
java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
[java] at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
[java] at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
[java] at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
[java] at
java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775)
[java] at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
[java] at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
[java] at
java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
[java] at
java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Pr
otectionDomain.java:86)
[java] at
java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Pr
otectionDomain.java:97)
[java] at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747)
[java] at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
[java] at
java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
[java] at
java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Pr
otectionDomain.java:86)
[java] at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744)
[java] at
java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:
203)
[java] at
java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124
)
[java] at
java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:
113)
[java] at
java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
[java] at
java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
[java] at
java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
[java]
[java] Apr 05, 2026 9:36:55 PM com.jpexs.decompiler.flash.gui.Main$42
uncaughtException
[java] SEVERE: Uncaught exception in thread: AWT-EventQueue-0
[java] com.jpexs.decompiler.flash.ValueTooLargeException: Value is too large for
UB[4]: 16
[java] at
com.jpexs.decompiler.flash.SWFOutputStream.writeUB(SWFOutputStream.java:489)
[java] at
com.jpexs.decompiler.flash.SWFOutputStream.writeSHAPERECORDS(SWFOutputStream.java:1607)
[java] at
com.jpexs.decompiler.flash.SWFOutputStream.writeSHAPEWITHSTYLE(SWFOutputStream.java:1568)
[java] at
com.jpexs.decompiler.flash.tags.DefineShape2Tag.getData(DefineShape2Tag.java:82)
[java] at com.jpexs.decompiler.flash.tags.Tag.getData(Tag.java:679)
[java] FUCKING HELL IT'S ID: 11328
[java] at com.jpexs.decompiler.flash.tags.Tag.cloneTag(Tag.java:601)
[java] at
com.jpexs.decompiler.flash.gui.GenericTagTreePanel.setEditMode(GenericTagTreePanel.java:13
10)
[java] at
com.jpexs.decompiler.flash.gui.PreviewPanel.showDisplayEditTagPanel(PreviewPanel.java:2056
)
[java] at
com.jpexs.decompiler.flash.gui.MainPanel.showPreview(MainPanel.java:6162)
[java] at com.jpexs.decompiler.flash.gui.MainPanel.reload(MainPanel.java:6622)
[java] at
com.jpexs.decompiler.flash.gui.MainPanel.valueChanged(MainPanel.java:5809)
[java] at
com.jpexs.decompiler.flash.gui.MainPanel.valueChanged(MainPanel.java:5835)
[java] at java.desktop/javax.swing.JTree.fireValueChanged(JTree.java:3018)
[java] at
java.desktop/javax.swing.JTree$TreeSelectionRedirector.valueChanged(JTree.java:3519)
[java] at
java.desktop/javax.swing.tree.DefaultTreeSelectionModel.fireValueChanged(DefaultTreeSelect
ionModel.java:650)
[java] at
java.desktop/javax.swing.tree.DefaultTreeSelectionModel.notifyPathChange(DefaultTreeSelect
ionModel.java:1120)
[java] at
java.desktop/javax.swing.tree.DefaultTreeSelectionModel.setSelectionPaths(DefaultTreeSelec
tionModel.java:306)
[java] at
com.jpexs.decompiler.flash.gui.MainPanel$MyTreeSelectionModel.setSelectionPaths(MainPanel.
java:887)
[java] at
java.desktop/javax.swing.tree.DefaultTreeSelectionModel.setSelectionPath(DefaultTreeSelect
ionModel.java:200)
[java] at
com.jpexs.decompiler.flash.gui.MainPanel$MyTreeSelectionModel.setSelectionPath(MainPanel.j
ava:878)
[java] at java.desktop/javax.swing.JTree.setSelectionPath(JTree.java:1708)
[java] at
java.desktop/javax.swing.plaf.basic.BasicTreeUI.selectPathForEvent(BasicTreeUI.java:2764)
[java] at
java.desktop/javax.swing.plaf.basic.BasicTreeUI$Handler.handleSelection(BasicTreeUI.java:4
099)
[java] at
java.desktop/javax.swing.plaf.basic.BasicTreeUI$Handler.mousePressed(BasicTreeUI.java:4038
)
[java] at
java.desktop/java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:290)
[java] at java.desktop/java.awt.Component.processMouseEvent(Component.java:6623)
[java] at
java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3389)
[java] at java.desktop/java.awt.Component.processEvent(Component.java:6391)
[java] at java.desktop/java.awt.Container.processEvent(Container.java:2266)
[java] at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5001)
[java] at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
[java] at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
[java] at
java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
[java] at
java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4572)
[java] at
java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
[java] at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
[java] at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
[java] at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
[java] at
java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775)
[java] at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
[java] at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
[java] at
java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
[java] at
java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Pr
otectionDomain.java:86)
[java] at
java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Pr
otectionDomain.java:97)
[java] at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747)
[java] at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
[java] at
java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
[java] at
java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Pr
otectionDomain.java:86)
[java] at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744)
[java] at
java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:
203)
[java] at
java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124
)
[java] at
java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:
113)
[java] at
java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
[java] at
java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
[java] at
java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
This is fixed in nightly 3487.
State: new→upgraded
Working great! Thank you a lot
