I personally would prefer a setting somewhere that lets NB automatically gather 
exception info. Opt-in only to be privacy-friendly. An automated system that 
collects exceptions and counts how many are reported for each unique stack 
trace could help direct developers to things that should be addressed.
I don’t think they should go automatically into the bug database.  They should 
be visible to developers to triage.
If the exception has been dealt with in a newer version of NB (this info would 
be available when the exceptions automatically submitted), the UI could 
indicate that to the user.

Scott

> On Dec 5, 2022, at 5:28 PM, Greenberg, Gary <ggree...@visa.com.INVALID> wrote:
> 
> It used to be a feature that allows to submit exceptions along with some 
> other info to Netbeans development team with a
> click of a button.
> Now you can only open notification and view the exception stack trace and 
> that’s it. Exceptions do occur regularly and I
> mostly ignore them. I did raise this question sometime ago and was told that 
> now I need to open JIRA ticket manually to
> submit any NB problem and supply code samples in Apache GIT.
> IMHO it is bad idea and not acceptable for many Netbeans users because
> It does take more time, which is hard to allocate in busy development 
> schedule.
> Many companies (like mine) for security reasons do not allow to use offsite 
> GIT and JIRA
> Therefore, Netbeans team diminishing their ability to fix bugs and other 
> problems.
>  
> For example, yesterday I was debugging an application and wanted to see 
> changes in the database. I did have SQL window open.
> As I switched to this SQL tab, exception occurred and all windows in Netbeans 
> were garbled.
> I saved the stack trace and had to restart NB as it was not responsive.
> Here the stack trace:
> java.lang.NullPointerException
>     at 
> org.netbeans.modules.db.dataview.util.FileBackedClob.getSubString(FileBackedClob.java:166)
>     at 
> org.netbeans.modules.db.dataview.util.LobHelper.clobToString(LobHelper.java:142)
>     at 
> org.netbeans.modules.db.dataview.table.ClobCellRenderer.getTableCellRendererComponent(ResultSetCellRenderer.java:217)
>     at 
> org.netbeans.modules.db.dataview.table.ResultSetCellRenderer.getTableCellRendererComponent(ResultSetCellRenderer.java:98)
>     at java.desktop/javax.swing.JTable.prepareRenderer(JTable.java:5741)
>     at 
> org.netbeans.modules.db.dataview.table.JXTableDecorator.prepareRenderer(JXTableDecorator.java:119)
>     at 
> org.netbeans.modules.db.dataview.output.DataViewTableUI.prepareRenderer(DataViewTableUI.java:126)
>     at 
> java.desktop/javax.swing.plaf.basic.BasicTableUI.paintCell(BasicTableUI.java:2190)
>     at 
> java.desktop/javax.swing.plaf.basic.BasicTableUI.paintCells(BasicTableUI.java:2092)
>     at 
> java.desktop/javax.swing.plaf.basic.BasicTableUI.paint(BasicTableUI.java:1888)
>     at com.formdev.flatlaf.ui.FlatTableUI.paint(FlatTableUI.java:396)
>     at java.desktop/javax.swing.plaf.ComponentUI.update(ComponentUI.java:161)
>     at java.desktop/javax.swing.JComponent.paintComponent(JComponent.java:797)
>     at java.desktop/javax.swing.JComponent.paint(JComponent.java:1074)
>     at 
> org.netbeans.modules.db.dataview.table.JXTableDecorator.paint(JXTableDecorator.java:65)
>     at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:907)
>     at java.desktop/javax.swing.JComponent.paint(JComponent.java:1083)
>     at java.desktop/javax.swing.JViewport.paint(JViewport.java:737)
>     at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:907)
>     at java.desktop/javax.swing.JComponent.paint(JComponent.java:1083)
>     at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:907)
>     at java.desktop/javax.swing.JComponent.paint(JComponent.java:1083)
>     at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:907)
>     at java.desktop/javax.swing.JComponent.paint(JComponent.java:1083)
>     at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:907)
>     at java.desktop/javax.swing.JComponent.paint(JComponent.java:1083)
>     at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:907)
>     at java.desktop/javax.swing.JSplitPane.paintChildren(JSplitPane.java:1024)
>     at java.desktop/javax.swing.JComponent.paint(JComponent.java:1083)
>     at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:907)
>     at java.desktop/javax.swing.JComponent.paint(JComponent.java:1083)
>     at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:907)
>     at java.desktop/javax.swing.JComponent.paint(JComponent.java:1083)
>     at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:907)
>     at java.desktop/javax.swing.JComponent.paint(JComponent.java:1083)
>     at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:907)
>     at java.desktop/javax.swing.JComponent.paint(JComponent.java:1083)
>     at 
> org.netbeans.swing.tabcontrol.TabbedContainer.paint(TabbedContainer.java:969)
>     at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:907)
>     at java.desktop/javax.swing.JComponent.paint(JComponent.java:1083)
>     at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:907)
>     at java.desktop/javax.swing.JComponent.paint(JComponent.java:1083)
>     at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:907)
>     at java.desktop/javax.swing.JComponent.paint(JComponent.java:1083)
>     at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:907)
>     at java.desktop/javax.swing.JComponent.paint(JComponent.java:1083)
>     at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:907)
>     at java.desktop/javax.swing.JComponent.paint(JComponent.java:1083)
>     at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:907)
>     at java.desktop/javax.swing.JComponent.paint(JComponent.java:1083)
>     at java.desktop/javax.swing.JLayeredPane.paint(JLayeredPane.java:586)
>     at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:907)
>     at java.desktop/javax.swing.JComponent.paint(JComponent.java:1083)
>     at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:907)
>     at java.desktop/javax.swing.JComponent.paint(JComponent.java:1083)
>     at 
> org.netbeans.core.windows.view.ui.MainWindow$1.paint(MainWindow.java:166)
>     at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:907)
>     at java.desktop/javax.swing.JComponent.paint(JComponent.java:1083)
>     at java.desktop/javax.swing.JLayeredPane.paint(JLayeredPane.java:586)
>     at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:907)
>     at java.desktop/javax.swing.JComponent.paint(JComponent.java:1083)
>     at 
> java.desktop/javax.swing.JComponent.paintToOffscreen(JComponent.java:5255)
>     at 
> java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBufferedImpl(RepaintManager.java:1643)
>     at 
> java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1618)
>     at 
> java.desktop/javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1556)
>     at java.desktop/javax.swing.RepaintManager.paint(RepaintManager.java:1323)
>     at 
> java.desktop/javax.swing.JComponent._paintImmediately(JComponent.java:5203)
>     at 
> java.desktop/javax.swing.JComponent.paintImmediately(JComponent.java:5013)
>     at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:865)
>     at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:848)
>     at 
> java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
>     at 
> java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
>     at 
> java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:848)
>     at 
> java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:823)
>     at 
> java.desktop/javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:772)
>     at 
> java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1884)
>     at 
> java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:316)
>     at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
>     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(AccessController.java:391)
>     at 
> java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
>     at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
>     at 
> org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:136)
> [catch] 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)
> 
> And here is my NB info
> 
> Product Version: Apache NetBeans IDE 14 
> Java: 14.0.2; Java HotSpot(TM) 64-Bit Server VM 14.0.2+12-46
> Runtime: Java(TM) SE Runtime Environment 14.0.2+12-46
> System: Windows 10 version 10.0 running on amd64; Cp1252; en_US (nb)
>  
> Gary Greenberg
> Staff Software Engineer

Reply via email to