Skip to Content
0
Former Member
Aug 26, 2010 at 10:13 PM

Funky GUI interop issues in thick client ReportViewerBean on Linux

19 Views

When I run up my app on Linux with the ReportViewerBean (in Swing), press the Export button, the click the Browse... button, I get an x11 error (below), and the file dialog never appears.

<br><br>

HOWEVER, if I then click on the Text Search button, the File Dialog magically appears with the Text Search dialog behind it.

<br><br>

This seems to happen intermittently...it seems as though it's quite possibly a swing focus issue...Sometimes it works fine, but other times - almost consistently - if I first click on the report nav arrows, then click Export > Browse, the file dialog won't come up and i'll get the stack trace from Eclipse...

<br><br>

I am running the ReportViewerBean in a JPanel which is embedded into an SWT application using an SWTAWT/Embedded composite. That shouldn't be the issue though as the SWTAWT composite handles all of the swing-to-swt containerization automatically.

<br><br>

At first I thought this may be a JRC bug, but now I'm not so convinced after reading this thread:

https://bugs.launchpad.net/ubuntu/source/sun-java6/bug/291135

<br><br>

I thought I would post this today as a service to anyone else that's seen this issue and in hopes of getting a workaround supplied by the good people at SAP? Looks like it might be an applet issue with the GTK vs. the java version?

<br><br>

System Info:<br>

java.version=1.6.0_20<br>

java.vendor=Sun Microsystems Inc.<br>

BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US<br>

<br><br>

Crystal Reports Viewer 12.0.0.0<br>

java.vendor = Sun Microsystems Inc.<br>

java.version = 1.6.0_20<br>

os.name = Linux (SUSE)<br>

os.version = 2.6.31.12-0.2-desktop<br>

os.arch = amd64<br>

<br><br>

Here's the important part of the stack trace:

<br><br>

Exception occurred during event dispatching:

java.lang.StackOverflowError

at sun.awt.X11.XlibWrapper.CallErrorHandler(Native Method)

at sun.awt.X11.XToolkit.SAVED_ERROR_HANDLER(XToolkit.java:125)

at sun.awt.X11.XToolkit.GlobalErrorHandler(XToolkit.java:136)

at sun.awt.X11.XlibWrapper.CallErrorHandler(Native Method)

at sun.awt.X11.XToolkit.SAVED_ERROR_HANDLER(XToolkit.java:125)

at sun.awt.X11.XToolkit.GlobalErrorHandler(XToolkit.java:136)

at sun.awt.X11.XlibWrapper.CallErrorHandler(Native Method)

at sun.awt.X11.XToolkit.SAVED_ERROR_HANDLER(XToolkit.java:125)

at sun.awt.X11.XToolkit.GlobalErrorHandler(XToolkit.java:136)

at sun.awt.X11.XlibWrapper.CallErrorHandler(Native Method)

at sun.awt.X11.XToolkit.SAVED_ERROR_HANDLER(XToolkit.java:125)

at sun.awt.X11.XToolkit.GlobalErrorHandler(XToolkit.java:136)

at sun.awt.X11.XlibWrapper.CallErrorHandler(Native Method)

at sun.awt.X11.XToolkit.SAVED_ERROR_HANDLER(XToolkit.java:125)

at sun.awt.X11.XToolkit.GlobalErrorHandler(XToolkit.java:136)

at sun.awt.X11.XlibWrapper.CallErrorHandler(Native Method)

at sun.awt.X11.XToolkit.SAVED_ERROR_HANDLER(XToolkit.java:125)

at sun.awt.X11.XToolkit.GlobalErrorHandler(XToolkit.java:136)

at sun.awt.X11.XlibWrapper.CallErrorHandler(Native Method)

at sun.awt.X11.XToolkit.SAVED_ERROR_HANDLER(XToolkit.java:125)

at sun.awt.X11.XToolkit.GlobalErrorHandler(XToolkit.java:136)

at sun.awt.X11.XlibWrapper.CallErrorHandler(Native Method)

at sun.awt.X11.XToolkit.SAVED_ERROR_HANDLER(XToolkit.java:125)

at sun.awt.X11.XToolkit.GlobalErrorHandler(XToolkit.java:136)

at sun.awt.X11.XlibWrapper.CallErrorHandler(Native Method)

at sun.awt.X11.XToolkit.SAVED_ERROR_HANDLER(XToolkit.java:125)

at sun.awt.X11.XToolkit.GlobalErrorHandler(XToolkit.java:136)

at sun.awt.X11.XlibWrapper.CallErrorHandler(Native Method)

at sun.awt.X11.XToolkit.SAVED_ERROR_HANDLER(XToolkit.java:125)

at sun.awt.X11.XToolkit.GlobalErrorHandler(XToolkit.java:136)

at sun.awt.X11.XlibWrapper.CallErrorHandler(Native Method)

at sun.awt.X11.XToolkit.SAVED_ERROR_HANDLER(XToolkit.java:125)

at sun.awt.X11.XToolkit.GlobalErrorHandler(XToolkit.java:136)

at sun.awt.X11.XlibWrapper.CallErrorHandler(Native Method)

at sun.awt.X11.XToolkit.SAVED_ERROR_HANDLER(XToolkit.java:125)

at sun.awt.X11.XToolkit.GlobalErrorHandler(XToolkit.java:136)

at sun.awt.X11.XlibWrapper.CallErrorHandler(Native Method)

at sun.awt.X11.XToolkit.SAVED_ERROR_HANDLER(XToolkit.java:125)

at sun.awt.X11.XToolkit.GlobalErrorHandler(XToolkit.java:136)

at sun.awt.X11.XlibWrapper.CallErrorHandler(Native Method)

at sun.awt.X11.XToolkit.SAVED_ERROR_HANDLER(XToolkit.java:125)

at sun.awt.X11.XToolkit.GlobalErrorHandler(XToolkit.java:136)

at sun.awt.X11.XlibWrapper.CallErrorHandler(Native Method)

at sun.awt.X11.XToolkit.SAVED_ERROR_HANDLER(XToolkit.java:125)