HUD components don't always load
See original GitHub issueRunning ZAP Weekly - cross platform version D-2019-03-11 on two Linux machines. Both running Ubuntu 18.04.2 LTS, but one uses GNOME desktop environment and the other is using KDE. Both running the same versions of java (openjdk 10.0.2 2018-07-17). On the KDE machine, the HUD seems to function fine in Firefox and Chrome, but the HUD elements only fully load on Firefox on the GNOME machine. In Chrome on the HUD loads as shown in the screenshot below: Log doesn’t show any errors or exceptions until attempting to reset configurations to default in the HUD settings menu, at which point the following exception is logged:
291485 [ZAP-ProxyThread-2] WARN org.parosproxy.paros.core.proxy.ProxyThread - Socket timeout while reading first message.
297261 [ZAP-ProxyThread-8] WARN org.parosproxy.paros.core.proxy.ProxyThread - Socket timeout while reading first message.
355136 [AWT-EventQueue-0] ERROR org.zaproxy.zap.ZAP$UncaughtExceptionLogger - Exception in thread "AWT-EventQueue-0"
java.lang.IndexOutOfBoundsException: Invalid range
at java.desktop/javax.swing.DefaultRowSorter.rowsUpdated(DefaultRowSorter.java:907)
at java.desktop/javax.swing.JTable.notifySorter(JTable.java:4291)
at java.desktop/javax.swing.JTable.sortedTableChanged(JTable.java:4148)
at java.desktop/javax.swing.JTable.tableChanged(JTable.java:4425)
at org.jdesktop.swingx.JXTable.tableChanged(JXTable.java:1561)
at java.desktop/javax.swing.table.AbstractTableModel.fireTableChanged(AbstractTableModel.java:297)
at java.desktop/javax.swing.table.AbstractTableModel.fireTableRowsUpdated(AbstractTableModel.java:247)
at org.zaproxy.zap.utils.PagingTableModel.setData(PagingTableModel.java:339)
at org.zaproxy.zap.utils.PagingTableModel.access$100(PagingTableModel.java:59)
at org.zaproxy.zap.utils.PagingTableModel$SegmentLoaderThread$1.run(PagingTableModel.java:432)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
at java.desktop/java.awt.EventQueue.access$600(EventQueue.java:97)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
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)
374677 [ZAP-ProxyThread-62] WARN org.parosproxy.paros.core.proxy.ProxyThread - Timeout reading (client) message after CONNECT to example.com:443
The HUD remains the same after this. Not sure if this is a ZAP issue or HUD specific bug. Even though the HUD does fully load in Firefox, it does not seem to be fully functional. Buttons like the break do not seem to trigger any breaking, but instead all requests continue to load normally without a prompt to step, continue, or drop. There may be other issues, but after noticing this feature wasn’t functioning I assumed there was a larger issue at play.
Issue Analytics
- State:
- Created 5 years ago
- Comments:8 (5 by maintainers)
Top GitHub Comments
This looks like the issue that prevents the tests from running consistantly. I’ve also found a way to reproduce it more consistantly - this always seems to happen for me is ZAP is under load, eg spidering or active scanning. That implies its a timing issue thats just more visible when ZAP is doing something else.
If the HUD gets in this state then it looks like it can be fixed by removing the service worker and refreshing the target page, assuming ZAP is no longer under load.