flutter-intellij icon indicating copy to clipboard operation
flutter-intellij copied to clipboard

IDE was not responding while tracking widget rebuild in flutter performance.

Open rishabh-hk opened this issue 2 years ago • 9 comments

What happened: After building application i was observing app behavior on flutter performance. When i checked Track Widget rebuilds option. The IDE got lagging and after sometime i press stop which slowly make IDE working again.

Version information IntelliJ IDEA 2021.3.3 • Flutter plugin io.flutter 67.1.3 • Dart plugin 213.7371

Error getting Flutter sdk information.

Exception null

java.lang.IllegalArgumentException: Argument for @NotNull parameter 'path' of com/intellij/util/PathUtil.getFileName must not be null at com.intellij.util.PathUtil.$$$reportNull$$$0(PathUtil.java) at com.intellij.util.PathUtil.getFileName(PathUtil.java) at io.flutter.performance.WidgetPerfTable$WidgetLocationRenderer.getTableCellRendererComponent(WidgetPerfTable.java:448) at java.desktop/javax.swing.JTable.prepareRenderer(JTable.java:5740) at com.intellij.ui.table.JBTable.prepareRenderer(JBTable.java:700) at java.desktop/javax.swing.plaf.basic.BasicTableUI.paintCell(BasicTableUI.java:2185) at java.desktop/javax.swing.plaf.basic.BasicTableUI.paintCells(BasicTableUI.java:2087) at java.desktop/javax.swing.plaf.basic.BasicTableUI.paint(BasicTableUI.java:1883) at java.desktop/javax.swing.plaf.ComponentUI.update(ComponentUI.java:161) at java.desktop/javax.swing.JComponent.paintComponent(JComponent.java:800) at com.intellij.ui.table.JBTable.paintComponent(JBTable.java:417) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1077) at com.intellij.ui.table.JBTable.paint(JBTable.java:547) at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:910) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1086) at java.desktop/javax.swing.JViewport.paint(JViewport.java:737) at com.intellij.ui.components.JBViewport.paint(JBViewport.java:237) at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:910) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1086) at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:910) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1086) at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:910) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1086) at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:910) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1086) at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:910) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1086) at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:910) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1086) at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:910) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1086) at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:910) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1086) at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:910) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1086) at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:910) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1086) at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:910) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1086) at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:910) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1086) at java.desktop/javax.swing.JLayeredPane.paint(JLayeredPane.java:590) at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:910) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1086) at java.desktop/javax.swing.JLayeredPane.paint(JLayeredPane.java:590) at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:910) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1086) at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:910) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1086) at java.desktop/javax.swing.JLayeredPane.paint(JLayeredPane.java:590) at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:910) at java.desktop/javax.swing.JComponent.paintToOffscreen(JComponent.java:5270) at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBufferedImpl(RepaintManager.java:1654) at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1629) at java.desktop/javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1566) at java.desktop/javax.swing.RepaintManager.paint(RepaintManager.java:1333) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1063) at java.desktop/java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:39) at java.desktop/sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:78) at java.desktop/sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:115) at java.desktop/java.awt.Container.paint(Container.java:2002) at java.desktop/java.awt.Window.paint(Window.java:3958) at com.intellij.openapi.wm.impl.IdeFrameImpl.paint(IdeFrameImpl.java:129) at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:879) at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:851) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:851) at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:826) at java.desktop/javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:775) at java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1901) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:776) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:746) at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:891) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:760) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$6(IdeEventQueue.java:447) at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:818) at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:446) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:488) 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)

rishabh-hk avatar May 30 '22 06:05 rishabh-hk

@rishabh-hk a few questions:

  • Are you having issues with your machine memory?
  • Has this happened only once or is it recurring? If recurring, do you have a sample application that reproduces it reliably that we could try?
  • Can you post the output to flutter doctor -v?

helin24 avatar May 31 '22 22:05 helin24

Answers to your questions:

  1. No, i have 16gb RAM so i don't think its a memory issue.
  2. It is a recurring problem. I can't give me current project but i will try to create same scenario with another application which will help you to find bug.
  3. Sure

rishabh-hk avatar Jun 01 '22 04:06 rishabh-hk

Okay, let us know if you can reproduce this with another project. We'll also keep this issue open in case another user can offer a project. Can you paste the output you get from flutter doctor -v?

helin24 avatar Jun 01 '22 17:06 helin24

Below is the output for flutter doctor -v. How should i share project with you to check bug?

[√] Flutter (Channel stable, 2.10.5, on Microsoft Windows [Version 10.0.19044.1706], locale en-IN) • Flutter version 2.10.5 at C:\src\flutter • Upstream repository https://github.com/flutter/flutter.git • Framework revision 5464c5bac7 (6 weeks ago), 2022-04-18 09:55:37 -0700 • Engine revision 57d3bac3dd • Dart version 2.16.2 • DevTools version 2.9.2

[√] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1) • Android SDK at C:\Users<UserName>\AppData\Local\Android\sdk
• Platform android-32, build-tools 32.1.0-rc1
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 11.0.12+7-b1504.28-7817840)
• All Android licenses accepted.

[√] Chrome - develop for the web • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[√] Visual Studio - develop for Windows (Visual Studio Professional 2022 17.1.1)
• Visual Studio at C:\Program Files\Microsoft Visual Studio\2022\Professional
• Visual Studio Professional 2022 version 17.1.32228.430 • Windows 10 SDK version 10.0.19041.0

[√] Android Studio (version 2021.2) • Android Studio at C:\Program Files\Android\Android Studio • Flutter plugin can be installed from: https://plugins.jetbrains.com/plugin/9212-flutter • Dart plugin can be installed from: https://plugins.jetbrains.com/plugin/6351-dart • Java version OpenJDK Runtime Environment (build 11.0.12+7-b1504.28-7817840)

[√] IntelliJ IDEA Community Edition (version 2021.3) • IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2021.3.1 • Flutter plugin version 67.1.3 • Dart plugin version 213.7371

[√] VS Code (version 1.67.2) • VS Code at C:\Users<User Name>\AppData\Local\Programs\Microsoft VS Code • Flutter extension version 3.32.0

[√] Connected device (4 available) • SM M127G (mobile) • android-arm64 • Android 11 (API 30) • Windows (desktop) • windows • windows-x64 • Microsoft Windows [Version 10.0.19044.1706] • Chrome (web) • chrome • web-javascript • Google Chrome 102.0.5005.63 • Edge (web) • edge • web-javascript • Microsoft Edge 101.0.1210.53

[√] HTTP Host Availability • All required HTTP hosts are available

• No issues found!

rishabh-hk avatar Jun 01 '22 18:06 rishabh-hk

Thanks! Looks like there are no issues detected by doctor. Are you able to zip up the project and email me at [email protected]?

helin24 avatar Jun 01 '22 18:06 helin24

Sure, is it [email protected] ?

rishabh-hk avatar Jun 01 '22 18:06 rishabh-hk

@rishabh-hk yes I'll take a look.

helin24 avatar Jun 01 '22 18:06 helin24

Done check your mail. Its from different email address due to file size issue.

rishabh-hk avatar Jun 01 '22 18:06 rishabh-hk

@rishabh-hk got it, thanks! I'll keep you updated here as I look into it.

helin24 avatar Jun 01 '22 21:06 helin24

We are in the process of moving this code to Dart DevTools.

jacob314 avatar Jan 21 '23 02:01 jacob314