Burp Suite User Forum

Create new post

Deadlock - Burp Suite Pro 2021.4.2

Peter | Last updated: Apr 23, 2021 08:59PM UTC

Hi, Occurred when switching tabs right after startup of a project. Application is frozen and requires restart. Can you please review? Thanks! ~~ Peter (@pmnh) Found one Java-level deadlock: ============================= "AWT-EventQueue-0": waiting to lock monitor 0x000000007586d580 (object 0x00000000961c9db0, a javax.swing.BoxLayout), which is held by "pool-project-thread-9" "pool-project-thread-9": waiting to lock monitor 0x00000008c8bee840 (object 0x0000000080441220, a java.awt.Component$AWTTreeLock), which is held by "AWT-EventQueue-0" Java stack information for the threads listed above: =================================================== "AWT-EventQueue-0": at javax.swing.BoxLayout.layoutContainer(java.desktop@15.0.2/BoxLayout.java:417) - waiting to lock <0x00000000961c9db0> (a javax.swing.BoxLayout) at java.awt.Container.layout(java.desktop@15.0.2/Container.java:1537) at java.awt.Container.doLayout(java.desktop@15.0.2/Container.java:1526) at java.awt.Container.validateTree(java.desktop@15.0.2/Container.java:1722) at java.awt.Container.validateTree(java.desktop@15.0.2/Container.java:1731) at java.awt.Container.validate(java.desktop@15.0.2/Container.java:1657) - locked <0x0000000080441220> (a java.awt.Component$AWTTreeLock) at javax.swing.plaf.basic.BasicTabbedPaneUI.ensureCurrentLayout(java.desktop@15.0.2/BasicTabbedPaneUI.java:1646) at javax.swing.plaf.basic.BasicTabbedPaneUI.getTabRunCount(java.desktop@15.0.2/BasicTabbedPaneUI.java:1672) at com.formdev.flatlaf.ui.FlatTabbedPaneUI.ensureCurrentLayout(FlatTabbedPaneUI.java:1225) at com.formdev.flatlaf.ui.FlatTabbedPaneUI.paint(FlatTabbedPaneUI.java:809) at javax.swing.plaf.ComponentUI.update(java.desktop@15.0.2/ComponentUI.java:161) at com.formdev.flatlaf.ui.FlatTabbedPaneUI.update(FlatTabbedPaneUI.java:798) at javax.swing.JComponent.paintComponent(java.desktop@15.0.2/JComponent.java:797) at javax.swing.JComponent.paint(java.desktop@15.0.2/JComponent.java:1074) at javax.swing.JComponent.paintToOffscreen(java.desktop@15.0.2/JComponent.java:5255) at javax.swing.RepaintManager$PaintManager.paintDoubleBufferedImpl(java.desktop@15.0.2/RepaintManager.java:1643) at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(java.desktop@15.0.2/RepaintManager.java:1618) at javax.swing.RepaintManager$PaintManager.paint(java.desktop@15.0.2/RepaintManager.java:1556) at javax.swing.RepaintManager.paint(java.desktop@15.0.2/RepaintManager.java:1323) at javax.swing.JComponent._paintImmediately(java.desktop@15.0.2/JComponent.java:5203) at javax.swing.JComponent.paintImmediately(java.desktop@15.0.2/JComponent.java:5013) at javax.swing.RepaintManager$4.run(java.desktop@15.0.2/RepaintManager.java:865) at javax.swing.RepaintManager$4.run(java.desktop@15.0.2/RepaintManager.java:848) at java.security.AccessController.executePrivileged(java.base@15.0.2/AccessController.java:753) at java.security.AccessController.doPrivileged(java.base@15.0.2/AccessController.java:391) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(java.base@15.0.2/ProtectionDomain.java:85) at javax.swing.RepaintManager.paintDirtyRegions(java.desktop@15.0.2/RepaintManager.java:848) at javax.swing.RepaintManager.paintDirtyRegions(java.desktop@15.0.2/RepaintManager.java:823) at javax.swing.RepaintManager.prePaintDirtyRegions(java.desktop@15.0.2/RepaintManager.java:772) at javax.swing.RepaintManager$ProcessingRunnable.run(java.desktop@15.0.2/RepaintManager.java:1884) at java.awt.event.InvocationEvent.dispatch(java.desktop@15.0.2/InvocationEvent.java:316) at java.awt.EventQueue.dispatchEventImpl(java.desktop@15.0.2/EventQueue.java:770) at java.awt.EventQueue$4.run(java.desktop@15.0.2/EventQueue.java:721) at java.awt.EventQueue$4.run(java.desktop@15.0.2/EventQueue.java:715) at java.security.AccessController.executePrivileged(java.base@15.0.2/AccessController.java:753) at java.security.AccessController.doPrivileged(java.base@15.0.2/AccessController.java:391) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(java.base@15.0.2/ProtectionDomain.java:85) at java.awt.EventQueue.dispatchEvent(java.desktop@15.0.2/EventQueue.java:740) at java.awt.EventDispatchThread.pumpOneEventForFilters(java.desktop@15.0.2/EventDispatchThread.java:203) at java.awt.EventDispatchThread.pumpEventsForFilter(java.desktop@15.0.2/EventDispatchThread.java:124) at java.awt.EventDispatchThread.pumpEventsForHierarchy(java.desktop@15.0.2/EventDispatchThread.java:113) at java.awt.EventDispatchThread.pumpEvents(java.desktop@15.0.2/EventDispatchThread.java:109) at java.awt.EventDispatchThread.pumpEvents(java.desktop@15.0.2/EventDispatchThread.java:101) at java.awt.EventDispatchThread.run(java.desktop@15.0.2/EventDispatchThread.java:90) "pool-project-thread-9": at java.awt.Container.getAlignmentY(java.desktop@15.0.2/Container.java:1964) - waiting to lock <0x0000000080441220> (a java.awt.Component$AWTTreeLock) at javax.swing.JComponent.getAlignmentY(java.desktop@15.0.2/JComponent.java:1889) at javax.swing.BoxLayout.checkRequests(java.desktop@15.0.2/BoxLayout.java:483) at javax.swing.BoxLayout.layoutContainer(java.desktop@15.0.2/BoxLayout.java:417) - locked <0x00000000961c9db0> (a javax.swing.BoxLayout) at java.awt.Container.layout(java.desktop@15.0.2/Container.java:1537) at java.awt.Container.doLayout(java.desktop@15.0.2/Container.java:1526) at com.monikamorrow.burp.BurpSuiteTab.addComponent(BurpSuiteTab.java:49) at burp.BurpExtender.initPassiveScan(BurpExtender.java:59) at com.codemagi.burp.PassiveScan.initialize(PassiveScan.java:38) at com.codemagi.burp.BaseExtender.registerExtenderCallbacks(BaseExtender.java:49) at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base@15.0.2/Native Method) at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base@15.0.2/NativeMethodAccessorImpl.java:64) at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@15.0.2/DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(java.base@15.0.2/Method.java:564) at burp.ff4.lambda$registerExtenderCallbacks$0(Unknown Source) at burp.ff4$$Lambda$849/0x000000087d9c2368.run(Unknown Source) at java.util.concurrent.Executors$RunnableAdapter.call(java.base@15.0.2/Executors.java:515) at java.util.concurrent.FutureTask.run(java.base@15.0.2/FutureTask.java:264) at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@15.0.2/ThreadPoolExecutor.java:1130) at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@15.0.2/ThreadPoolExecutor.java:630) at java.lang.Thread.run(java.base@15.0.2/Thread.java:832) Found 1 deadlock.

Peter | Last updated: Apr 25, 2021 10:56AM UTC

Just to comment, I got this deadlock again today upon launch of a project, without clicking anything :(

Uthman, PortSwigger Agent | Last updated: Apr 26, 2021 08:08AM UTC

Hi Peter, Thank you for your message. Can you try restarting Burp with all extensions disabled? Does the issue persist? Can you please share diagnostics with support@portswigger.net?

Uthman, PortSwigger Agent | Last updated: Apr 26, 2021 08:58AM UTC

Hi Peter, If possible, could you also attach the additional information below to your email? - Reproduce the issue and attach a full thread dump - If the project file itself does not contain any sensitive data, please share it - Can you provide some more detail on your environment? I.e. the extensions you have enabled, your setup in Burp, were you running multiple intruder attacks or scans in the project? Did you have multiple Repeater tabs open?

Peter | Last updated: Apr 26, 2021 12:27PM UTC

Hi Uthman, I've followed up by email, thank you :) Cheers, ~~ Peter (@pmnh)

Uthman, PortSwigger Agent | Last updated: Apr 26, 2021 12:45PM UTC

Thank you! We will take a look and get back to you with any feedback.

You must be an existing, logged-in customer to reply to a thread. Please email us for additional support.