Retest Functionality not working
Describe the bug:
When selecting the Retest option after selecting an alert, clicking on the Verify or Create buttons doesn't do anything.
Steps to reproduce the behavior:
- Go to alerts tab after doing a scan.
- Right click on any alert and click Retest.
- Have one or more selected urls on right pane.
- Click "Verify" Or "Create".
Expected behavior:
Should work as shown in - https://www.zaproxy.org/blog/2021-08-23-retest-with-zap/
Software versions:
2.15.0
Screenshots:
No response
Errors from the zap.log file:
2024-10-21 16:00:02,106 [AWT-EventQueue-0] ERROR UncaughtExceptionLogger - Exception in thread "AWT-EventQueue-0"
java.lang.NoClassDefFoundError: org/zaproxy/addon/automation/AutomationJob
at java.lang.ClassLoader.defineClass1(Native Method) ~[?:?]
at java.lang.ClassLoader.defineClass(ClassLoader.java:1016) ~[?:?]
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174) ~[?:?]
at java.net.URLClassLoader.defineClass(URLClassLoader.java:550) ~[?:?]
at java.net.URLClassLoader$1.run(URLClassLoader.java:458) ~[?:?]
at java.net.URLClassLoader$1.run(URLClassLoader.java:452) ~[?:?]
at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
at java.net.URLClassLoader.findClass(URLClassLoader.java:451) ~[?:?]
at org.zaproxy.zap.control.AddOnClassLoader.findClassInAddOn(AddOnClassLoader.java:336) ~[zap-2.15.0.jar:2.15.0]
at org.zaproxy.zap.control.AddOnClassLoader.findClass(AddOnClassLoader.java:318) ~[zap-2.15.0.jar:2.15.0]
at java.lang.ClassLoader.loadClass(ClassLoader.java:588) ~[?:?]
at org.zaproxy.zap.control.AddOnClassLoader.findClassInDependencies(AddOnClassLoader.java:346) ~[zap-2.15.0.jar:2.15.0]
at org.zaproxy.zap.control.AddOnClassLoader.findClass(AddOnClassLoader.java:328) ~[zap-2.15.0.jar:2.15.0]
at java.lang.ClassLoader.loadClass(ClassLoader.java:588) ~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[?:?]
at org.zaproxy.addon.retest.ExtensionRetest.getPlanForAlerts(ExtensionRetest.java:114) ~[?:?]
at org.zaproxy.addon.retest.RetestDialog.lambda$getVerifyButton$6(RetestDialog.java:418) ~[?:?]
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967) ~[?:?]
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308) ~[?:?]
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405) ~[?:?]
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262) ~[?:?]
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279) ~[?:?]
at java.awt.Component.processMouseEvent(Component.java:6635) ~[?:?]
at javax.swing.JComponent.processMouseEvent(JComponent.java:3342) ~[?:?]
at java.awt.Component.processEvent(Component.java:6400) ~[?:?]
at java.awt.Container.processEvent(Container.java:2263) ~[?:?]
at java.awt.Component.dispatchEventImpl(Component.java:5011) ~[?:?]
at java.awt.Container.dispatchEventImpl(Container.java:2321) ~[?:?]
at java.awt.Component.dispatchEvent(Component.java:4843) ~[?:?]
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918) ~[?:?]
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547) ~[?:?]
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488) ~[?:?]
at java.awt.Container.dispatchEventImpl(Container.java:2307) ~[?:?]
at java.awt.Window.dispatchEventImpl(Window.java:2772) ~[?:?]
at java.awt.Component.dispatchEvent(Component.java:4843) ~[?:?]
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772) ~[?:?]
at java.awt.EventQueue$4.run(EventQueue.java:721) ~[?:?]
at java.awt.EventQueue$4.run(EventQueue.java:715) ~[?:?]
at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) ~[?:?]
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95) ~[?:?]
at java.awt.EventQueue$5.run(EventQueue.java:745) ~[?:?]
at java.awt.EventQueue$5.run(EventQueue.java:743) ~[?:?]
at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) ~[?:?]
at java.awt.EventQueue.dispatchEvent(EventQueue.java:742) ~[?:?]
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) [?:?]
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) [?:?]
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) [?:?]
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) [?:?]
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) [?:?]
at java.awt.EventDispatchThread.run(EventDispatchThread.java:90) [?:?]
Caused by: java.lang.ClassNotFoundException
at org.zaproxy.zap.control.AddOnClassLoader.findClass(AddOnClassLoader.java:330) ~[zap-2.15.0.jar:2.15.0]
at java.lang.ClassLoader.loadClass(ClassLoader.java:588) ~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[?:?]
... 52 more
2024-10-21 16:00:27,992 [AWT-EventQueue-0] ERROR UncaughtExceptionLogger - Exception in thread "AWT-EventQueue-0"
java.lang.NoClassDefFoundError: org/zaproxy/addon/automation/AutomationJob
at java.lang.ClassLoader.defineClass1(Native Method) ~[?:?]
at java.lang.ClassLoader.defineClass(ClassLoader.java:1016) ~[?:?]
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174) ~[?:?]
at java.net.URLClassLoader.defineClass(URLClassLoader.java:550) ~[?:?]
at java.net.URLClassLoader$1.run(URLClassLoader.java:458) ~[?:?]
at java.net.URLClassLoader$1.run(URLClassLoader.java:452) ~[?:?]
at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
at java.net.URLClassLoader.findClass(URLClassLoader.java:451) ~[?:?]
at org.zaproxy.zap.control.AddOnClassLoader.findClassInAddOn(AddOnClassLoader.java:336) ~[zap-2.15.0.jar:2.15.0]
at org.zaproxy.zap.control.AddOnClassLoader.findClass(AddOnClassLoader.java:318) ~[zap-2.15.0.jar:2.15.0]
at java.lang.ClassLoader.loadClass(ClassLoader.java:588) ~[?:?]
at org.zaproxy.zap.control.AddOnClassLoader.findClassInDependencies(AddOnClassLoader.java:346) ~[zap-2.15.0.jar:2.15.0]
at org.zaproxy.zap.control.AddOnClassLoader.findClass(AddOnClassLoader.java:328) ~[zap-2.15.0.jar:2.15.0]
at java.lang.ClassLoader.loadClass(ClassLoader.java:588) ~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[?:?]
at org.zaproxy.addon.retest.ExtensionRetest.getPlanForAlerts(ExtensionRetest.java:114) ~[?:?]
at org.zaproxy.addon.retest.RetestDialog.lambda$getCreateButton$7(RetestDialog.java:437) ~[?:?]
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967) ~[?:?]
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308) ~[?:?]
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405) ~[?:?]
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262) ~[?:?]
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279) ~[?:?]
at java.awt.Component.processMouseEvent(Component.java:6635) ~[?:?]
at javax.swing.JComponent.processMouseEvent(JComponent.java:3342) ~[?:?]
at java.awt.Component.processEvent(Component.java:6400) ~[?:?]
at java.awt.Container.processEvent(Container.java:2263) ~[?:?]
at java.awt.Component.dispatchEventImpl(Component.java:5011) ~[?:?]
at java.awt.Container.dispatchEventImpl(Container.java:2321) ~[?:?]
at java.awt.Component.dispatchEvent(Component.java:4843) ~[?:?]
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918) ~[?:?]
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547) ~[?:?]
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488) ~[?:?]
at java.awt.Container.dispatchEventImpl(Container.java:2307) ~[?:?]
at java.awt.Window.dispatchEventImpl(Window.java:2772) ~[?:?]
at java.awt.Component.dispatchEvent(Component.java:4843) ~[?:?]
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772) ~[?:?]
at java.awt.EventQueue$4.run(EventQueue.java:721) ~[?:?]
at java.awt.EventQueue$4.run(EventQueue.java:715) ~[?:?]
at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) ~[?:?]
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95) ~[?:?]
at java.awt.EventQueue$5.run(EventQueue.java:745) ~[?:?]
at java.awt.EventQueue$5.run(EventQueue.java:743) ~[?:?]
at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) ~[?:?]
at java.awt.EventQueue.dispatchEvent(EventQueue.java:742) ~[?:?]
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) [?:?]
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) [?:?]
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) [?:?]
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) [?:?]
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) [?:?]
at java.awt.EventDispatchThread.run(EventDispatchThread.java:90) [?:?]
Caused by: java.lang.ClassNotFoundException
at org.zaproxy.zap.control.AddOnClassLoader.findClass(AddOnClassLoader.java:330) ~[zap-2.15.0.jar:2.15.0]
at java.lang.ClassLoader.loadClass(ClassLoader.java:588) ~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[?:?]
... 52 more
Additional context:
No response
Would you like to help fix this issue?
- [ ] Yes
Doesn't behave if you install the Automation Framework?
Doesn't behave if you install the Automation Framework?
i am getting this behaviour, and Automation Framework is already installed, edit - thanks for replying :D
Thanks, I'll see if I can re-create.
It can.
It can.
??
It can be recreated.
I've got the same issue and I think the same stack traces in zap.log (see collapsed section below).
Is there a workaround for this? I have a roughly 45GB session that took quite a while to scan and I'd love to work through my issues one by one and use this to help hash through them.
stack trace
2025-02-05 16:20:03,218 [AWT-EventQueue-0] ERROR UncaughtExceptionLogger - Exception in thread "AWT-EventQueue-0"
java.lang.NoClassDefFoundError: org/zaproxy/addon/automation/AutomationJob
at java.base/java.lang.ClassLoader.defineClass1(Native Method) ~[?:?]
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017) ~[?:?]
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150) ~[?:?]
at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:524) ~[?:?]
at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:427) ~[?:?]
at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:421) ~[?:?]
at java.base/java.security.AccessController.doPrivileged(AccessController.java:712) ~[?:?]
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:420) ~[?:?]
at org.zaproxy.zap.control.AddOnClassLoader.findClassInAddOn(AddOnClassLoader.java:336) ~[zap-2.16.0.jar:2.16.0]
at org.zaproxy.zap.control.AddOnClassLoader.findClass(AddOnClassLoader.java:318) ~[zap-2.16.0.jar:2.16.0]
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:592) ~[?:?]
at org.zaproxy.zap.control.AddOnClassLoader.findClassInDependencies(AddOnClassLoader.java:346) ~[zap-2.16.0.jar:2.16.0]
at org.zaproxy.zap.control.AddOnClassLoader.findClass(AddOnClassLoader.java:328) ~[zap-2.16.0.jar:2.16.0]
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:592) ~[?:?]
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?]
at org.zaproxy.addon.retest.ExtensionRetest.getPlanForAlerts(ExtensionRetest.java:114) ~[?:?]
at org.zaproxy.addon.retest.RetestDialog.lambda$getVerifyButton$6(RetestDialog.java:418) ~[?:?]
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972) ~[?:?]
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2313) ~[?:?]
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405) ~[?:?]
at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262) ~[?:?]
at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279) ~[?:?]
at java.desktop/java.awt.Component.processMouseEvent(Component.java:6626) ~[?:?]
at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3389) ~[?:?]
at java.desktop/java.awt.Component.processEvent(Component.java:6391) ~[?:?]
at java.desktop/java.awt.Container.processEvent(Container.java:2266) ~[?:?]
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5001) ~[?:?]
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324) ~[?:?]
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833) ~[?:?]
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:4833) ~[?:?]
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:399) ~[?:?]
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) ~[?:?]
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97) ~[?:?]
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:399) ~[?:?]
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) ~[?:?]
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) [?:?]
Caused by: java.lang.ClassNotFoundException
at org.zaproxy.zap.control.AddOnClassLoader.findClass(AddOnClassLoader.java:330) ~[zap-2.16.0.jar:2.16.0]
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:592) ~[?:?]
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?]
... 52 more
I am seeing the same issue with the same errors in zap.log. Any fix?
No fix yet.