I'm trying to run ZAP on a big project at my work. The project has around 3500+ pages/requests (according to ZAP Spider), many of them are forms with dozen of fields each.
When I run the Active Scan, it takes a lot of time (more then 4 days, session file 80gb+), but I was never able to finish the scan because the application freezes.
I tried to run a bunch of times, and I saw it freezing after a day or two of active scanning.
When I click on the progress details button, it seems ZAP enter in a infinite loop with the stacktrace below flooding the log files.
That happens both on Windows 10 and Linux Ubuntu 16.04 LTS, with ZAP versions 2.4.3 and 2.5.0.
org.jfree.data.general.SeriesException: You are attempting to add an observation for the time period Mon Jun 06 10:35:52 BRT 2016 but the series already contains an observation for that time period. Duplicates are not permitted. Try using the addOrUpdate() method.
at org.jfree.data.time.TimeSeries.add(TimeSeries.java:519)
at org.jfree.data.time.TimeSeries.add(TimeSeries.java:562)
at org.jfree.data.time.TimeSeries.add(TimeSeries.java:548)
at org.zaproxy.zap.extension.ascan.ScanProgressDialog.showProgress(Unknown Source)
at org.zaproxy.zap.extension.ascan.ScanProgressDialog.access$500(Unknown Source)
at org.zaproxy.zap.extension.ascan.ScanProgressDialog$5.actionPerformed(Unknown Source)
at javax.swing.JComboBox.fireActionEvent(Unknown Source)
at javax.swing.JComboBox.contentsChanged(Unknown Source)
at javax.swing.AbstractListModel.fireContentsChanged(Unknown Source)
at javax.swing.DefaultComboBoxModel.setSelectedItem(Unknown Source)
at javax.swing.DefaultComboBoxModel.addElement(Unknown Source)
at javax.swing.JComboBox.addItem(Unknown Source)
at org.zaproxy.zap.extension.ascan.ScanProgressDialog.setActiveScan(Unknown Source)
at org.zaproxy.zap.extension.ascan.ActiveScanPanel.showScanProgressDialog(Unknown Source)
at org.zaproxy.zap.extension.ascan.ActiveScanPanel.access$100(Unknown Source)
at org.zaproxy.zap.extension.ascan.ActiveScanPanel$3.actionPerformed(Unknown Source)
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.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$500(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$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.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$JavaSecurityAccessImpl.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)
I'm not really sure if the scan stops when I click on the progress details button (it seems it stops way before that), but the interface freezes the moment I click the button (it changes to "pressed state" and the GUI freezes).
Thanks in advance.