Community
Participate
Working Groups
Build Identifier: BIRT version 2.6.1 In my RCP application "SWTError: No more handles" occurs when generating an area chart with tooltips enabled for each data point. This occurs in charts with many data points (thousands). This problem was first observed in BIRT 2.3.0 and was resolved under bug #251520. However, it appears that when bug #285851 was fixed for BIRT 2.6.0, the change reverted RegionAction to use Region instead of Rectangle which is what originally caused bug #251520. A solution needs to be found to satisfy both bugs (251520 and 285851). Reproducible: Always Steps to Reproduce: Create an area chart with several thousand data points and enable tooltip text for each point.
Hello Aaron, Could you provide simple report? Also, could you provide operating system you tested it?
The OS used was Windows XP SP3. The report is generated within an RCP application and rendered to an SWT Canvas object. The report generated is an area chart that can have 6000+ data (x,y) data points plotted. Each data point has a tool tip for it that displays the X,Y data values when the mouse hovers over it. As stated in the original comment, when diffing the source code for RegionAction, it appears this was previously a bug that was fix and then reverted when changes for another unrelated bug were implemented.
Hi, This bug also occurs when redering bars in a barchart with a lot of series using BIRT 3.7.1 : org.eclipse.swt.SWTError: No more handles at org.eclipse.swt.SWT.error(SWT.java:4308) at org.eclipse.swt.SWT.error(SWT.java:4197) at org.eclipse.swt.SWT.error(SWT.java:4168) at org.eclipse.swt.graphics.Region.<init>(Region.java:80) at org.eclipse.swt.graphics.Region.<init>(Region.java:55) at org.eclipse.birt.chart.device.swt.SwtRendererImpl.enableInteraction(SwtRendererImpl.java:1206) at org.eclipse.birt.chart.extension.render.Bar.renderSeries(Bar.java:1196) at org.eclipse.birt.chart.render.AxesRenderer.renderPlot(AxesRenderer.java:2284) at org.eclipse.birt.chart.render.AxesRenderer.render(AxesRenderer.java:335) at org.eclipse.birt.chart.factory.Generator.render(Generator.java:1301) I used to modify the Windows registry to allow more handles (HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows), but it now it uses way too many handles and just crashes.. Should I re-open another bug ?
This is still a problem using Windows 7 and BIRT 4.3.0. The Region references are leaked when click triggers are added to the dataset to an AreaSeries object. The fact that the references cannot be released means that eventually you will run out of resources if you generate enough charts, even if you greatly limit the data that is used to generate the chart.
Tested latest build: Version: Luna Release (4.4.0) Build id: 20140612-0600 Use 5000 data points in example application SwtInteractivityViewer.java from org.eclipse.birt.chart.examples to test tooltip. Everything is fine.
Based on Yulin Wang latest comments, this is being moved to Verified for the upcoming 4.4.1 release. Should there be additional justifications for this issue to be reconsidered, please update with those comments, and it can be reopened for the next release.