Jailer icon indicating copy to clipboard operation
Jailer copied to clipboard

Open Table popover stuck on screen

Open naxels opened this issue 3 years ago • 36 comments

Description of the Issue

Hi Wisser, hope you are doing well!

A couple of times I bumped into this unfortunate bug: When in the Relational Data Browser UI, click in Navigation on Open Table then again, click on Open Table.. afterwards in most of my trials the popover will be stuck until I close the app

in the background I can navigate to other tabs like Database and Desktop/SQL Console, but the table popover keeps being stuk

Steps to Reproduce the Issue

  1. Start GUI
  2. Ensure Data Browser selected, connect to a Data Model
  3. Connect to a Database and wait for it to finish connecting
  4. Then in Navigation tab, click Open Table
  5. Again click on Open Table (or in my breaking trial now, sometimes had to click twice)
  6. Then watch how the blinking cursor gets stuck, the Open Table button won't work anymore when you click on it and the popover with tables is stuck on screen, can't select a table, scroll the table list or close it.

Expected Behavior

I expect the Table popover list to open/close with pressing the Open Table button in Navigation.

Actual Behavior

The Table popover list got stuck and won't disappear until Jailer is closed.

Debug Information

  • macOS 12.5 but have seen the issue in earlier versions of macOS as well
  • Java 17.0.4, but have seen the issue in earlier 17.x versions as well
  • Jailer 12.5, but had this issue before in 12.3 as well

Thank for you the great work :)

naxels avatar Aug 02 '22 08:08 naxels

I can't reproduce the problem on my computer (Windows) unfortunately.

Here: https://sourceforge.net/projects/jailer/files/v12.5.3.3/ you can find a version with an experimental fix that might solve the problem. Could you please test it?

Do you also have this problem with the "Open Condition Editor" button? (Screenshot attached) It uses a similar possibly problematic technique.

image

Wisser avatar Aug 02 '22 10:08 Wisser

Thank you! I will try that file.

I don't have an issue with the Open Condition Editor, I can keep clicking it..

However, clicking on the blinking cursor next to it obstructs typing in the box: image

Should I create a new issue for this one?

naxels avatar Aug 02 '22 11:08 naxels

Yes 12.5.3.3 fixed it! :) awesome.

The above problem shown in the image still occurs in this new version.

Update: in the above problem, the bar is now stuck the same way the Open Table was (that is now fixed), causing it to exist until exit.

naxels avatar Aug 02 '22 11:08 naxels

Good that the "Open Table" error is gone now. Thanks for testing!

Unfortunately I can't reproduce the other error either. Therefore again an experimental fix with the plea to test it:

https://sourceforge.net/projects/jailer/files/12.5.3.4/

Does this error also occur with version 12.5?

Wisser avatar Aug 02 '22 12:08 Wisser

Andddd Fixed! awesome 👍

I also had to expand the box in the lower right corner to be able to type again and the Ok/Cancel etc buttons got out of the way.

You can close the issue when the releases are final :)

naxels avatar Aug 02 '22 13:08 naxels

Thanks for your effort to test all this and especially for the bug reports!

I would like to leave this issue open, as it should not be necessary to manually increase the size of the "Condition Editor" box. At least I don't see this behavior on my test systems. I unfortunately don't have macOS systems available for testing, and this issue is probably only observable on those. It would be great if you could test more patches.

Wisser avatar Aug 02 '22 13:08 Wisser

No problem, keep m coming!

Could you list the files/folders to replace, makes testing easier, now i move several files incl hidden files & db's to the new version, so i can test with a known database & login

naxels avatar Aug 02 '22 13:08 naxels

You can unzip the attached file and copy "jailer.jar" into the folder containing the 12.5.3.4 version. This updates the tool to version 12.5.3.5

The "Condition Editor" box should now be initially large enough to enter text. Please give it a try.

jailer.zip

Wisser avatar Aug 03 '22 03:08 Wisser

Hi Wisser,

When replacing the .jar file, the "Open Table" issue is back.

However, the "Condition Editor" box issue is fixed :)

naxels avatar Aug 03 '22 14:08 naxels

Thanks for the info. Does this (12.5.3.6) solve the "Open Table"?

jailer.zip

Wisser avatar Aug 03 '22 16:08 Wisser

Hi Wisser,

Unfortunately it does not.

"Condition Editor" box issue is still fixed (both the size and stuck issue).

WOW this is weird! I restarted Jailer as a workaround for "Open Table" issue and now it's working.. Very strange! Even though the Jailer version / jar didn't change.. a restart of the app did..

I tried 1 more time and it keeps working.. very interesting..

naxels avatar Aug 04 '22 08:08 naxels

Strange indeed. Are all the problems gone now? Is the "Condition Editor" box big enough now? Do the problems possibly reappear after a restart?

Wisser avatar Aug 04 '22 09:08 Wisser

Hi Wisser,

The "Condition Editor" box is big enough and doesn't get stuck.

The "Open Table" issue still occurs on occasion, however seems to be very unpredictable:

After app start:

  • it stays stuck on clicking after "Open Table" on the first go
  • it can get stuck after trying several times / switching to Database tab and clicking again on "Open Table"
  • it won't get stuck..

I do believe that I've now finally be able to isolate the error message related to this when starting the app from the CLI:

java.awt.IllegalComponentStateException: component must be showing on the screen to determine its location at java.desktop/java.awt.Component.getLocationOnScreen_NoTreeLock(Component.java:2113) at java.desktop/java.awt.Component.getLocationOnScreen(Component.java:2087) at java.desktop/sun.lwawt.macosx.CAccessibility$23.call(CAccessibility.java:468) at java.desktop/sun.lwawt.macosx.CAccessibility$23.call(CAccessibility.java:466) at java.desktop/sun.lwawt.macosx.LWCToolkit$CallableWrapper.run(LWCToolkit.java:694) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:308) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:771) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:746) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:744) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:743) at net.sf.jailer.ui.Environment$JEventQueue.dispatchEvent(Environment.java:274) 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)

Also, I discovered that when I resize the GUI window, I can continue working if needed: image

naxels avatar Aug 04 '22 11:08 naxels

Thanks for your effort! Could you please test the two versions? I hope this will bring me closer to the cause.

jailer_12.5.3.8.zip jailer_12.5.3.9.zip

Wisser avatar Aug 04 '22 11:08 Wisser

12.5.3.8: same issue, same error.

12.5.3.9 has the error, but shows extra numbers around the error: 2022-08-04 17:03:00,046 [Metadata-LoadColumns] INFO - reading columns (may take some time)... 1659625381073 1659625381174 1659625381275 1659625381377 1659625381478 1659625381579 1659625381680 1659625381805 1659625382101 1659625382202 1659625382303 1659625382404 1659625382507 1659625382611 1659625382715 1659625382817 1659625382920 1659625383015 java.awt.IllegalComponentStateException: component must be showing on the screen to determine its location at java.desktop/java.awt.Component.getLocationOnScreen_NoTreeLock(Component.java:2113) at java.desktop/java.awt.Component.getLocationOnScreen(Component.java:2087) at java.desktop/sun.lwawt.macosx.CAccessibility$23.call(CAccessibility.java:468) at java.desktop/sun.lwawt.macosx.CAccessibility$23.call(CAccessibility.java:466) at java.desktop/sun.lwawt.macosx.LWCToolkit$CallableWrapper.run(LWCToolkit.java:694) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:308) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:771) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:746) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:744) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:743) at net.sf.jailer.ui.Environment$JEventQueue.dispatchEvent(Environment.java:274) 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) 1659625383116 1659625383218 1659625383318 1659625383420 1659625383522 1659625383622 1659625396139 1659625396240 1659625396341 1659625396442

Update: upon further investigation, I see the numbers are generated every time I click on the Open Table button when I restarted the app, the errors took a lot longer to occur and the CLI screen got filled with more numbers.

Also, when the Open Table screen gets stuck, it doesn't immediately display the above error, when I click some more on the button afterwards, the error shows up.

Example: the Open Table popup is already stuck, but no error yet: 1659625666338 1659625666439 1659625666541 1659625666642 2022-08-04 17:07:46,692 [Metadata-LoadColumns] INFO - reading columns (may take some time)... 1659625666743 1659625666844 1659625666945 1659625667297 1659625667398 1659625667499 1659625667849 1659625668013 1659625668114 1659625668215

Then when click on the popover, I now saw a different error: 2022-08-04 17:08:28.852 java[78049:2550061] Apple AWT : Error AWTView:awtComponent got null peer from CPlatformView 2022-08-04 17:08:28.854 java[78049:2550061] ( 0 libawt_lwawt.dylib 0x0000000132009eb8 -[AWTView awtComponent:] + 876 1 libawt_lwawt.dylib 0x000000013200a3b4 -[AWTView getAxData:] + 36 2 libawt_lwawt.dylib 0x000000013200a57c -[AWTView accessibilityHitTest:] + 156 3 AppKit 0x000000019fc47854 -[NSWindow(NSWindowAccessibility) accessibilityHitTest:] + 420 4 AppKit 0x000000019f7c0ab0 -[NSApplication(NSApplicationAccessibility) accessibilityHitTest:] + 292 5 AppKit 0x000000019f78e180 CopyElementAtPosition + 160 6 HIServices 0x00000001a2421340 _AXXMIGCopyElementAtPosition + 364 7 HIServices 0x00000001a2445e28 _XCopyElementAtPosition + 356 8 HIServices 0x00000001a23fed50 mshMIGPerform + 204 9 CoreFoundation 0x000000019c8298c8 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 60 10 CoreFoundation 0x000000019c829784 __CFRunLoopDoSource1 + 604 11 CoreFoundation 0x000000019c827c18 __CFRunLoopRun + 2372 12 CoreFoundation 0x000000019c826b34 CFRunLoopRunSpecific + 600 13 HIToolbox 0x00000001a5466338 RunCurrentEventLoopInMode + 292 14 HIToolbox 0x00000001a54660b4 ReceiveNextEventCommon + 564 15 HIToolbox 0x00000001a5465e68 _BlockUntilNextEventMatchingListInModeWithFilter + 72 16 AppKit 0x000000019f38e51c _DPSNextEvent + 860 17 AppKit 0x000000019f38ce14 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1328 18 libosxapp.dylib 0x0000000105604260 -[NSApplicationAWT nextEventMatchingMask:untilDate:inMode:dequeue:] + 144 19 AppKit 0x000000019f37efe0 -[NSApplication run] + 596 20 libosxapp.dylib 0x0000000105604018 +[NSApplicationAWT runAWTLoopWithApp:] + 208 21 libawt_lwawt.dylib 0x000000013206c664 +[AWTStarter starter:headless:] + 488 22 libosxapp.dylib 0x0000000105605c90 +[ThreadUtilities invokeBlockCopy:] + 28 23 Foundation 0x000000019d72cf94 __NSThreadPerformPerform + 212 24 CoreFoundation 0x000000019c829044 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28 25 CoreFoundation 0x000000019c828f90 __CFRunLoopDoSource0 + 208 26 CoreFoundation 0x000000019c828c90 __CFRunLoopDoSources0 + 268 27 CoreFoundation 0x000000019c827610 __CFRunLoopRun + 828 28 CoreFoundation 0x000000019c826b34 CFRunLoopRunSpecific + 600 29 libjli.dylib 0x000000010452ad70 CreateExecutionEnvironment + 400 30 libjli.dylib 0x0000000104526f80 JLI_Launch + 1184 31 java 0x00000001043f3ba0 main + 408 32 dyld 0x00000001046a508c start + 520 )

naxels avatar Aug 04 '22 15:08 naxels

Thanks for the error messages, I will take a closer look later.

One question in advance: what exactly do you mean by "Open Table popup is stuck"? Is the popup then disfunctional but still visible, or can you still select a table in the list in it? (In other words, does it still respond to user actions?)

Wisser avatar Aug 04 '22 17:08 Wisser

The popup is frozen, can't do anything with it anymore, not select, not highlight, not drag, not close etc..

see the screenshot in the post, the left popup is completely frozen, while the one on the right i can interact with

naxels avatar Aug 04 '22 20:08 naxels

Ah, thanks for the information. To clarify if it might be because the popups have no frame, the 12.5.3.10 opens them with frame. In addition, I have added some debug output to the console.

Could you please test this version and send me the console outputs?

jailer_12.5.3.10.zip

Update: Could it have something to do with that?:

https://stackoverflow.com/questions/65685896/any-workaround-for-java-swing-bug-under-mac-os-when-opening-new-windows-as-tabs

What is your setting?

Wisser avatar Aug 04 '22 21:08 Wisser

Here is the output:

2022-08-05 09:41:44,361 [Metadata-LoadColumns] INFO - reading columns (may take some time)... set visible: net.sf.jailer.ui.StringSearchPanel$StringSearchDialog[dialog0,100,125,300x300,invalid,hidden,layout=java.awt.BorderLayout,MODELESS,title=Open Table Browser,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,28,224x46,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] ID: net.sf.jailer.ui.StringSearchPanel$StringSearchDialog[dialog0,100,125,300x300,invalid,layout=java.awt.BorderLayout,MODELESS,title=Open Table Browser,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,28,300x272,invalid,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] setVisible(false) dispose consume ID: net.sf.jailer.ui.StringSearchPanel$StringSearchDialog[dialog0,100,125,300x300,invalid,hidden,layout=java.awt.BorderLayout,MODELESS,title=Open Table Browser,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,28,300x272,invalid,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] Ok set visible: net.sf.jailer.ui.StringSearchPanel$StringSearchDialog[dialog1,100,125,300x300,invalid,hidden,layout=java.awt.BorderLayout,MODELESS,title=Open Table Browser,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,28,224x46,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] ID: net.sf.jailer.ui.StringSearchPanel$StringSearchDialog[dialog1,100,125,300x300,layout=java.awt.BorderLayout,MODELESS,title=Open Table Browser,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,28,300x272,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] setVisible(false) dispose consume ID: net.sf.jailer.ui.StringSearchPanel$StringSearchDialog[dialog1,100,125,300x300,invalid,hidden,layout=java.awt.BorderLayout,MODELESS,title=Open Table Browser,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,28,300x272,invalid,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] Ok set visible: net.sf.jailer.ui.StringSearchPanel$StringSearchDialog[dialog2,100,125,300x300,invalid,hidden,layout=java.awt.BorderLayout,MODELESS,title=Open Table Browser,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,28,224x46,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] java.awt.IllegalComponentStateException: component must be showing on the screen to determine its location at java.desktop/java.awt.Component.getLocationOnScreen_NoTreeLock(Component.java:2113) at java.desktop/java.awt.Component.getLocationOnScreen(Component.java:2087) at java.desktop/sun.lwawt.macosx.CAccessibility$23.call(CAccessibility.java:468) at java.desktop/sun.lwawt.macosx.CAccessibility$23.call(CAccessibility.java:466) at java.desktop/sun.lwawt.macosx.LWCToolkit$CallableWrapper.run(LWCToolkit.java:694) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:308) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:771) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:746) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:744) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:743) at net.sf.jailer.ui.Environment$JEventQueue.dispatchEvent(Environment.java:274) 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) ID: net.sf.jailer.ui.StringSearchPanel$StringSearchDialog[dialog2,100,125,300x300,layout=java.awt.BorderLayout,MODELESS,title=Open Table Browser,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,28,300x272,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] setVisible(false) dispose consume ID: net.sf.jailer.ui.StringSearchPanel$StringSearchDialog[dialog2,100,125,300x300,invalid,hidden,layout=java.awt.BorderLayout,MODELESS,title=Open Table Browser,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,28,300x272,invalid,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] Ok

Regarding the macOS setting, I'm running Monterey 12.5, and found the setting in a different settings menu, General.

Mine is currently set to in full screen (can't remember ever changing this, so likely the default) image

For completeness, here is my Java env: openjdk version "17.0.4" 2022-07-19 OpenJDK Runtime Environment GraalVM CE 22.2.0 (build 17.0.4+8-jvmci-22.2-b06) OpenJDK 64-Bit Server VM GraalVM CE 22.2.0 (build 17.0.4+8-jvmci-22.2-b06, mixed mode, sharing)

naxels avatar Aug 05 '22 07:08 naxels

Thanks. Did the popup stuck again? Did it had a titel bar? What happens if the main window of the data browser is not maximized/full screen?

image

Wisser avatar Aug 05 '22 07:08 Wisser

If that still doesn't hit the mark, could you please still test these 3 versions? Thank you very much.

jailer_12.5.3.11.zip jailer_12.5.3.12.zip jailer_12.5.3.13.zip

Wisser avatar Aug 05 '22 09:08 Wisser

Thanks. Did the popup stuck again? Did it had a titel bar? What happens if the main window of the data browser is not maximized/full screen?

image

I did more testing with this version, and yes it has a title and now when it gets stuck (I have to really try, but consistently I'm able to get it to get stuck upon reloading the app and as soon as connection is made, click Open Table.)

However, the good news is: now I can drag the stuck popup around & close it, therefor a good workaround for the issue: image In this image I have dragged the stuck popover over to the right to show I again I can open 2 popups. Then I just click the top left circle button to close it and it's gone :)

naxels avatar Aug 06 '22 08:08 naxels

Version 12.5.3.11: popover stuck & not able to click away

logs: set visible: net.sf.jailer.ui.StringSearchPanel$StringSearchDialog[dialog0,100,125,300x300,invalid,hidden,layout=java.awt.BorderLayout,MODELESS,title=Open Table Browser,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,167x46,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] ID: net.sf.jailer.ui.StringSearchPanel$StringSearchDialog[dialog0,100,125,300x300,invalid,layout=java.awt.BorderLayout,MODELESS,title=Open Table Browser,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,300x300,invalid,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] setVisible(false) dispose (skip dispose, 12.5.3.11) consume ID: net.sf.jailer.ui.StringSearchPanel$StringSearchDialog[dialog0,100,125,300x300,invalid,hidden,layout=java.awt.BorderLayout,MODELESS,title=Open Table Browser,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,300x300,invalid,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] Ok set visible: net.sf.jailer.ui.StringSearchPanel$StringSearchDialog[dialog1,100,125,300x300,invalid,hidden,layout=java.awt.BorderLayout,MODELESS,title=Open Table Browser,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,167x46,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] ID: net.sf.jailer.ui.StringSearchPanel$StringSearchDialog[dialog1,100,125,300x300,invalid,layout=java.awt.BorderLayout,MODELESS,title=Open Table Browser,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,300x300,invalid,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] setVisible(false) dispose (skip dispose, 12.5.3.11) consume ID: net.sf.jailer.ui.StringSearchPanel$StringSearchDialog[dialog1,100,125,300x300,invalid,hidden,layout=java.awt.BorderLayout,MODELESS,title=Open Table Browser,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,300x300,invalid,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] Ok set visible: net.sf.jailer.ui.StringSearchPanel$StringSearchDialog[dialog2,100,125,300x300,invalid,hidden,layout=java.awt.BorderLayout,MODELESS,title=Open Table Browser,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,167x46,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] ID: net.sf.jailer.ui.StringSearchPanel$StringSearchDialog[dialog2,100,125,300x300,layout=java.awt.BorderLayout,MODELESS,title=Open Table Browser,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,300x300,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] setVisible(false) dispose (skip dispose, 12.5.3.11) consume ID: net.sf.jailer.ui.StringSearchPanel$StringSearchDialog[dialog2,100,125,300x300,hidden,layout=java.awt.BorderLayout,MODELESS,title=Open Table Browser,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,300x300,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] Ok 2022-08-06 10:38:56,206 [Metadata-LoadColumns] INFO - reading columns (may take some time)... set visible: net.sf.jailer.ui.StringSearchPanel$StringSearchDialog[dialog3,100,125,300x300,invalid,hidden,layout=java.awt.BorderLayout,MODELESS,title=Open Table Browser,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,167x46,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] ID: net.sf.jailer.ui.StringSearchPanel$StringSearchDialog[dialog3,100,125,300x300,layout=java.awt.BorderLayout,MODELESS,title=Open Table Browser,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,300x300,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] setVisible(false) dispose (skip dispose, 12.5.3.11) consume ID: net.sf.jailer.ui.StringSearchPanel$StringSearchDialog[dialog3,100,125,300x300,hidden,layout=java.awt.BorderLayout,MODELESS,title=Open Table Browser,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,300x300,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] Ok set visible: net.sf.jailer.ui.StringSearchPanel$StringSearchDialog[dialog4,100,125,300x300,invalid,hidden,layout=java.awt.BorderLayout,MODELESS,title=Open Table Browser,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,167x46,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] ID: net.sf.jailer.ui.StringSearchPanel$StringSearchDialog[dialog4,100,125,300x300,layout=java.awt.BorderLayout,MODELESS,title=Open Table Browser,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,300x300,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] setVisible(false) dispose (skip dispose, 12.5.3.11) consume ID: net.sf.jailer.ui.StringSearchPanel$StringSearchDialog[dialog4,100,125,300x300,hidden,layout=java.awt.BorderLayout,MODELESS,title=Open Table Browser,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,300x300,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] Ok java.awt.IllegalComponentStateException: component must be showing on the screen to determine its location at java.desktop/java.awt.Component.getLocationOnScreen_NoTreeLock(Component.java:2113) at java.desktop/java.awt.Component.getLocationOnScreen(Component.java:2087) at java.desktop/sun.lwawt.macosx.CAccessibility$23.call(CAccessibility.java:468) at java.desktop/sun.lwawt.macosx.CAccessibility$23.call(CAccessibility.java:466) at java.desktop/sun.lwawt.macosx.LWCToolkit$CallableWrapper.run(LWCToolkit.java:694) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:308) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:771) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:746) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:744) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:743) at net.sf.jailer.ui.Environment$JEventQueue.dispatchEvent(Environment.java:274) 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) java.awt.IllegalComponentStateException: component must be showing on the screen to determine its location at java.desktop/java.awt.Component.getLocationOnScreen_NoTreeLock(Component.java:2113) at java.desktop/java.awt.Component.getLocationOnScreen(Component.java:2087) at java.desktop/sun.lwawt.macosx.CAccessibility$23.call(CAccessibility.java:468) at java.desktop/sun.lwawt.macosx.CAccessibility$23.call(CAccessibility.java:466) at java.desktop/sun.lwawt.macosx.LWCToolkit$CallableWrapper.run(LWCToolkit.java:694) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:308) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:771) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:746) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:744) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:743) at net.sf.jailer.ui.Environment$JEventQueue.dispatchEvent(Environment.java:274) 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)

naxels avatar Aug 06 '22 08:08 naxels

Version 12.5.3.12: I can't get the popover to stick anymore :) it's a tiny bit slower, but always opens/closes as expected.

Small part of the log: set visible: net.sf.jailer.ui.StringSearchPanel$StringSearchDialog[dialog0,100,125,300x300,invalid,hidden,layout=java.awt.BorderLayout,MODELESS,title=Open Table Browser,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,167x46,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] 2022-08-06 10:40:37,751 [Metadata-LoadColumns] INFO - reading columns (may take some time)... ID: net.sf.jailer.ui.StringSearchPanel$StringSearchDialog[dialog0,100,125,300x300,invalid,layout=java.awt.BorderLayout,MODELESS,title=Open Table Browser,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,300x300,invalid,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] setVisible(false) dispose consume ID: net.sf.jailer.ui.StringSearchPanel$StringSearchDialog[dialog0,100,125,300x300,invalid,hidden,layout=java.awt.BorderLayout,MODELESS,title=Open Table Browser,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,300x300,invalid,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] Ok set visible: net.sf.jailer.ui.StringSearchPanel$StringSearchDialog[dialog1,100,125,300x300,invalid,hidden,layout=java.awt.BorderLayout,MODELESS,title=Open Table Browser,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,167x46,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] set visible: net.sf.jailer.ui.StringSearchPanel$StringSearchDialog[dialog2,100,125,300x300,invalid,hidden,layout=java.awt.BorderLayout,MODELESS,title=Open Table Browser,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,167x46,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] ID: net.sf.jailer.ui.StringSearchPanel$StringSearchDialog[dialog1,100,125,300x300,invalid,layout=java.awt.BorderLayout,MODELESS,title=Open Table Browser,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,300x300,invalid,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] setVisible(false) dispose consume

naxels avatar Aug 06 '22 08:08 naxels

Version 12.5.3.13: Showing some strange behaviour on open/close, now a small portion of the popover is stuck:

image image

The log: set visible: net.sf.jailer.ui.StringSearchPanel$StringSearchDialog[dialog0,100,125,300x300,invalid,hidden,layout=java.awt.BorderLayout,MODELESS,title=Open Table Browser,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,167x46,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] 2022-08-06 10:43:06,599 [Metadata-LoadColumns] INFO - reading columns (may take some time)... ID: net.sf.jailer.ui.StringSearchPanel$StringSearchDialog[dialog0,100,125,100x100,hidden,layout=java.awt.BorderLayout,MODELESS,title=Open Table Browser,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,100x100,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] setVisible(false) dispose consume ID: net.sf.jailer.ui.StringSearchPanel$StringSearchDialog[dialog0,100,125,100x100,invalid,hidden,layout=java.awt.BorderLayout,MODELESS,title=Open Table Browser,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,100x100,invalid,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] Ok set visible: net.sf.jailer.ui.StringSearchPanel$StringSearchDialog[dialog1,100,125,300x300,invalid,hidden,layout=java.awt.BorderLayout,MODELESS,title=Open Table Browser,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,167x46,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] ID: net.sf.jailer.ui.StringSearchPanel$StringSearchDialog[dialog1,100,125,100x100,hidden,layout=java.awt.BorderLayout,MODELESS,title=Open Table Browser,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,100x100,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] setVisible(false) dispose consume ID: net.sf.jailer.ui.StringSearchPanel$StringSearchDialog[dialog1,100,125,100x100,invalid,hidden,layout=java.awt.BorderLayout,MODELESS,title=Open Table Browser,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,100x100,invalid,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] Ok set visible: net.sf.jailer.ui.StringSearchPanel$StringSearchDialog[dialog2,100,125,300x300,invalid,hidden,layout=java.awt.BorderLayout,MODELESS,title=Open Table Browser,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,167x46,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] ID: net.sf.jailer.ui.StringSearchPanel$StringSearchDialog[dialog2,100,125,100x100,hidden,layout=java.awt.BorderLayout,MODELESS,title=Open Table Browser,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,100x100,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] setVisible(false) dispose consume ID: net.sf.jailer.ui.StringSearchPanel$StringSearchDialog[dialog2,100,125,100x100,invalid,hidden,layout=java.awt.BorderLayout,MODELESS,title=Open Table Browser,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,100x100,invalid,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] Ok set visible: net.sf.jailer.ui.StringSearchPanel$StringSearchDialog[dialog3,100,125,300x300,invalid,hidden,layout=java.awt.BorderLayout,MODELESS,title=Open Table Browser,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,167x46,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] ID: net.sf.jailer.ui.StringSearchPanel$StringSearchDialog[dialog3,100,125,100x100,hidden,layout=java.awt.BorderLayout,MODELESS,title=Open Table Browser,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,100x100,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] setVisible(false) dispose consume ID: net.sf.jailer.ui.StringSearchPanel$StringSearchDialog[dialog3,100,125,100x100,invalid,hidden,layout=java.awt.BorderLayout,MODELESS,title=Open Table Browser,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,100x100,invalid,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] Ok set visible: net.sf.jailer.ui.StringSearchPanel$StringSearchDialog[dialog4,100,125,300x300,invalid,hidden,layout=java.awt.BorderLayout,MODELESS,title=Open Table Browser,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,167x46,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] ID: net.sf.jailer.ui.StringSearchPanel$StringSearchDialog[dialog4,100,125,100x100,hidden,layout=java.awt.BorderLayout,MODELESS,title=Open Table Browser,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,100x100,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] setVisible(false) dispose consume ID: net.sf.jailer.ui.StringSearchPanel$StringSearchDialog[dialog4,100,125,100x100,invalid,hidden,layout=java.awt.BorderLayout,MODELESS,title=Open Table Browser,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,100x100,invalid,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] Ok

naxels avatar Aug 06 '22 08:08 naxels

Good that one of the versions seems to solve the problem. Could you please still test the 12.5.3.14? With it, the delay when closing the popup should be gone.

jailer.zip

Wisser avatar Aug 06 '22 10:08 Wisser

Hi Wisser,

I just tested 12.5.3.14 and although almost there, when I start messing around I can still get it to get stick.. I think however for how I previously broke this feature by trying to close the box by pressing Open Table again that is now fixed.

Here is the error when it does get stuck again:

java.awt.IllegalComponentStateException: component must be showing on the screen to determine its location at java.desktop/java.awt.Component.getLocationOnScreen_NoTreeLock(Component.java:2113) at java.desktop/java.awt.Component.getLocationOnScreen(Component.java:2087) at java.desktop/sun.lwawt.macosx.CAccessibility$23.call(CAccessibility.java:468) at java.desktop/sun.lwawt.macosx.CAccessibility$23.call(CAccessibility.java:466) at java.desktop/sun.lwawt.macosx.LWCToolkit$CallableWrapper.run(LWCToolkit.java:694) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:308) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:771) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:746) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:744) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:743) at net.sf.jailer.ui.Environment$JEventQueue.dispatchEvent(Environment.java:274) 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) java.awt.IllegalComponentStateException: component must be showing on the screen to determine its location at java.desktop/java.awt.Component.getLocationOnScreen_NoTreeLock(Component.java:2113) at java.desktop/java.awt.Component.getLocationOnScreen(Component.java:2087) at java.desktop/sun.lwawt.macosx.CAccessibility$23.call(CAccessibility.java:468) at java.desktop/sun.lwawt.macosx.CAccessibility$23.call(CAccessibility.java:466) at java.desktop/sun.lwawt.macosx.LWCToolkit$CallableWrapper.run(LWCToolkit.java:694) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:308) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:771) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:746) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:744) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:743) at net.sf.jailer.ui.Environment$JEventQueue.dispatchEvent(Environment.java:274) 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) java.awt.IllegalComponentStateException: component must be showing on the screen to determine its location at java.desktop/java.awt.Component.getLocationOnScreen_NoTreeLock(Component.java:2113) at java.desktop/java.awt.Component.getLocationOnScreen(Component.java:2087) at java.desktop/sun.lwawt.macosx.CAccessibility$23.call(CAccessibility.java:468) at java.desktop/sun.lwawt.macosx.CAccessibility$23.call(CAccessibility.java:466) at java.desktop/sun.lwawt.macosx.LWCToolkit$CallableWrapper.run(LWCToolkit.java:694) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:308) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:771) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:746) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:744) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:743) at net.sf.jailer.ui.Environment$JEventQueue.dispatchEvent(Environment.java:274) 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) java.awt.IllegalComponentStateException: component must be showing on the screen to determine its location at java.desktop/java.awt.Component.getLocationOnScreen_NoTreeLock(Component.java:2113) at java.desktop/java.awt.Component.getLocationOnScreen(Component.java:2087) at java.desktop/sun.lwawt.macosx.CAccessibility$23.call(CAccessibility.java:468) at java.desktop/sun.lwawt.macosx.CAccessibility$23.call(CAccessibility.java:466) at java.desktop/sun.lwawt.macosx.LWCToolkit$CallableWrapper.run(LWCToolkit.java:694) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:308) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:771) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:746) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:744) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:743) at net.sf.jailer.ui.Environment$JEventQueue.dispatchEvent(Environment.java:274) 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) 2022-08-08 10:26:33.679 java[10076:2831287] Apple AWT : Error AWTView:awtComponent got null peer from CPlatformView 2022-08-08 10:26:33.681 java[10076:2831287] ( 0 libawt_lwawt.dylib 0x0000000126b09eb8 -[AWTView awtComponent:] + 876 1 libawt_lwawt.dylib 0x0000000126b0a3b4 -[AWTView getAxData:] + 36 2 libawt_lwawt.dylib 0x0000000126b0a57c -[AWTView accessibilityHitTest:] + 156 3 AppKit 0x000000019fc47854 -[NSWindow(NSWindowAccessibility) accessibilityHitTest:] + 420 4 AppKit 0x000000019f7c0ab0 -[NSApplication(NSApplicationAccessibility) accessibilityHitTest:] + 292 5 AppKit 0x000000019f78e180 CopyElementAtPosition + 160 6 HIServices 0x00000001a2421340 _AXXMIGCopyElementAtPosition + 364 7 HIServices 0x00000001a2445e28 _XCopyElementAtPosition + 356 8 HIServices 0x00000001a23fed50 mshMIGPerform + 204 9 CoreFoundation 0x000000019c8298c8 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 60 10 CoreFoundation 0x000000019c829784 __CFRunLoopDoSource1 + 604 11 CoreFoundation 0x000000019c827c18 __CFRunLoopRun + 2372 12 CoreFoundation 0x000000019c826b34 CFRunLoopRunSpecific + 600 13 HIToolbox 0x00000001a5466338 RunCurrentEventLoopInMode + 292 14 HIToolbox 0x00000001a54660b4 ReceiveNextEventCommon + 564 15 HIToolbox 0x00000001a5465e68 _BlockUntilNextEventMatchingListInModeWithFilter + 72 16 AppKit 0x000000019f38e51c _DPSNextEvent + 860 17 AppKit 0x000000019f38ce14 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1328 18 libosxapp.dylib 0x0000000101498260 -[NSApplicationAWT nextEventMatchingMask:untilDate:inMode:dequeue:] + 144 19 AppKit 0x000000019f37efe0 -[NSApplication run] + 596 20 libosxapp.dylib 0x0000000101498018 +[NSApplicationAWT runAWTLoopWithApp:] + 208 21 libawt_lwawt.dylib 0x0000000126b6c664 +[AWTStarter starter:headless:] + 488 22 libosxapp.dylib 0x0000000101499c90 +[ThreadUtilities invokeBlockCopy:] + 28 23 Foundation 0x000000019d72cf94 __NSThreadPerformPerform + 212 24 CoreFoundation 0x000000019c829044 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28 25 CoreFoundation 0x000000019c828f90 __CFRunLoopDoSource0 + 208 26 CoreFoundation 0x000000019c828c90 __CFRunLoopDoSources0 + 268 27 CoreFoundation 0x000000019c827610 __CFRunLoopRun + 828 28 CoreFoundation 0x000000019c826b34 CFRunLoopRunSpecific + 600 29 libjli.dylib 0x00000001008ded70 CreateExecutionEnvironment + 400 30 libjli.dylib 0x00000001008daf80 JLI_Launch + 1184 31 java 0x00000001007a7ba0 main + 408 32 dyld 0x0000000100b2908c start + 520 ) 2022-08-08 10:26:33.683 java[10076:2831287] Apple AWT : Error AWTView:awtComponent got null peer from CPlatformView 2022-08-08 10:26:33.684 java[10076:2831287] ( 0 libawt_lwawt.dylib 0x0000000126b09eb8 -[AWTView awtComponent:] + 876 1 libawt_lwawt.dylib 0x0000000126b47050 -[CommonComponentAccessibility initWithParent:withEnv:withAccessible:withIndex:withView:withJavaRole:] + 404 2 libawt_lwawt.dylib 0x0000000126b0a3e8 -[AWTView getAxData:] + 88 3 libawt_lwawt.dylib 0x0000000126b0a57c -[AWTView accessibilityHitTest:] + 156 4 AppKit 0x000000019fc47854 -[NSWindow(NSWindowAccessibility) accessibilityHitTest:] + 420 5 AppKit 0x000000019f7c0ab0 -[NSApplication(NSApplicationAccessibility) accessibilityHitTest:] + 292 6 AppKit 0x000000019f78e180 CopyElementAtPosition + 160 7 HIServices 0x00000001a2421340 _AXXMIGCopyElementAtPosition + 364 8 HIServices 0x00000001a2445e28 _XCopyElementAtPosition + 356 9 HIServices 0x00000001a23fed50 mshMIGPerform + 204 10 CoreFoundation 0x000000019c8298c8 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 60 11 CoreFoundation 0x000000019c829784 __CFRunLoopDoSource1 + 604 12 CoreFoundation 0x000000019c827c18 __CFRunLoopRun + 2372 13 CoreFoundation 0x000000019c826b34 CFRunLoopRunSpecific + 600 14 HIToolbox 0x00000001a5466338 RunCurrentEventLoopInMode + 292 15 HIToolbox 0x00000001a54660b4 ReceiveNextEventCommon + 564 16 HIToolbox 0x00000001a5465e68 _BlockUntilNextEventMatchingListInModeWithFilter + 72 17 AppKit 0x000000019f38e51c _DPSNextEvent + 860 18 AppKit 0x000000019f38ce14 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1328 19 libosxapp.dylib 0x0000000101498260 -[NSApplicationAWT nextEventMatchingMask:untilDate:inMode:dequeue:] + 144 20 AppKit 0x000000019f37efe0 -[NSApplication run] + 596 21 libosxapp.dylib 0x0000000101498018 +[NSApplicationAWT runAWTLoopWithApp:] + 208 22 libawt_lwawt.dylib 0x0000000126b6c664 +[AWTStarter starter:headless:] + 488 23 libosxapp.dylib 0x0000000101499c90 +[ThreadUtilities invokeBlockCopy:] + 28 24 Foundation 0x000000019d72cf94 __NSThreadPerformPerform + 212 25 CoreFoundation 0x000000019c829044 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28 26 CoreFoundation 0x000000019c828f90 __CFRunLoopDoSource0 + 208 27 CoreFoundation 0x000000019c828c90 __CFRunLoopDoSources0 + 268 28 CoreFoundation 0x000000019c827610 __CFRunLoopRun + 828 29 CoreFoundation 0x000000019c826b34 CFRunLoopRunSpecific + 600 30 libjli.dylib 0x00000001008ded70 CreateExecutionEnvironment + 400 31 libjli.dylib 0x00000001008daf80 JLI_Launch + 1184 32 java 0x00000001007a7ba0 main + 408 33 dyld 0x0000000100b2908c start + 520 ) 2022-08-08 10:26:36.471 java[10076:2831287] Apple AWT : Error AWTView:awtComponent got null peer from CPlatformView 2022-08-08 10:26:36.472 java[10076:2831287] ( 0 libawt_lwawt.dylib 0x0000000126b09eb8 -[AWTView awtComponent:] + 876 1 libawt_lwawt.dylib 0x0000000126b0a3b4 -[AWTView getAxData:] + 36 2 libawt_lwawt.dylib 0x0000000126b0a57c -[AWTView accessibilityHitTest:] + 156 3 AppKit 0x000000019fc47854 -[NSWindow(NSWindowAccessibility) accessibilityHitTest:] + 420 4 AppKit 0x000000019f7c0ab0 -[NSApplication(NSApplicationAccessibility) accessibilityHitTest:] + 292 5 AppKit 0x000000019f78e180 CopyElementAtPosition + 160 6 HIServices 0x00000001a2421340 _AXXMIGCopyElementAtPosition + 364 7 HIServices 0x00000001a2445e28 _XCopyElementAtPosition + 356 8 HIServices 0x00000001a23fed50 mshMIGPerform + 204 9 CoreFoundation 0x000000019c8298c8 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 60 10 CoreFoundation 0x000000019c829784 __CFRunLoopDoSource1 + 604 11 CoreFoundation 0x000000019c827c18 __CFRunLoopRun + 2372 12 CoreFoundation 0x000000019c826b34 CFRunLoopRunSpecific + 600 13 HIToolbox 0x00000001a5466338 RunCurrentEventLoopInMode + 292 14 HIToolbox 0x00000001a54660b4 ReceiveNextEventCommon + 564 15 HIToolbox 0x00000001a5465e68 _BlockUntilNextEventMatchingListInModeWithFilter + 72 16 AppKit 0x000000019f38e51c _DPSNextEvent + 860 17 AppKit 0x000000019f38ce14 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1328 18 libosxapp.dylib 0x0000000101498260 -[NSApplicationAWT nextEventMatchingMask:untilDate:inMode:dequeue:] + 144 19 AppKit 0x000000019f37efe0 -[NSApplication run] + 596 20 libosxapp.dylib 0x0000000101498018 +[NSApplicationAWT runAWTLoopWithApp:] + 208 21 libawt_lwawt.dylib 0x0000000126b6c664 +[AWTStarter starter:headless:] + 488 22 libosxapp.dylib 0x0000000101499c90 +[ThreadUtilities invokeBlockCopy:] + 28 23 Foundation 0x000000019d72cf94 __NSThreadPerformPerform + 212 24 CoreFoundation 0x000000019c829044 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28 25 CoreFoundation 0x000000019c828f90 __CFRunLoopDoSource0 + 208 26 CoreFoundation 0x000000019c828c90 __CFRunLoopDoSources0 + 268 27 CoreFoundation 0x000000019c827610 __CFRunLoopRun + 828 28 CoreFoundation 0x000000019c826b34 CFRunLoopRunSpecific + 600 29 libjli.dylib 0x00000001008ded70 CreateExecutionEnvironment + 400 30 libjli.dylib 0x00000001008daf80 JLI_Launch + 1184 31 java 0x00000001007a7ba0 main + 408 32 dyld 0x0000000100b2908c start + 520 ) 2022-08-08 10:26:36.473 java[10076:2831287] Apple AWT : Error AWTView:awtComponent got null peer from CPlatformView 2022-08-08 10:26:36.474 java[10076:2831287] ( 0 libawt_lwawt.dylib 0x0000000126b09eb8 -[AWTView awtComponent:] + 876 1 libawt_lwawt.dylib 0x0000000126b47050 -[CommonComponentAccessibility initWithParent:withEnv:withAccessible:withIndex:withView:withJavaRole:] + 404 2 libawt_lwawt.dylib 0x0000000126b0a3e8 -[AWTView getAxData:] + 88 3 libawt_lwawt.dylib 0x0000000126b0a57c -[AWTView accessibilityHitTest:] + 156 4 AppKit 0x000000019fc47854 -[NSWindow(NSWindowAccessibility) accessibilityHitTest:] + 420 5 AppKit 0x000000019f7c0ab0 -[NSApplication(NSApplicationAccessibility) accessibilityHitTest:] + 292 6 AppKit 0x000000019f78e180 CopyElementAtPosition + 160 7 HIServices 0x00000001a2421340 _AXXMIGCopyElementAtPosition + 364 8 HIServices 0x00000001a2445e28 _XCopyElementAtPosition + 356 9 HIServices 0x00000001a23fed50 mshMIGPerform + 204 10 CoreFoundation 0x000000019c8298c8 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 60 11 CoreFoundation 0x000000019c829784 __CFRunLoopDoSource1 + 604 12 CoreFoundation 0x000000019c827c18 __CFRunLoopRun + 2372 13 CoreFoundation 0x000000019c826b34 CFRunLoopRunSpecific + 600 14 HIToolbox 0x00000001a5466338 RunCurrentEventLoopInMode + 292 15 HIToolbox 0x00000001a54660b4 ReceiveNextEventCommon + 564 16 HIToolbox 0x00000001a5465e68 _BlockUntilNextEventMatchingListInModeWithFilter + 72 17 AppKit 0x000000019f38e51c _DPSNextEvent + 860 18 AppKit 0x000000019f38ce14 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1328 19 libosxapp.dylib 0x0000000101498260 -[NSApplicationAWT nextEventMatchingMask:untilDate:inMode:dequeue:] + 144 20 AppKit 0x000000019f37efe0 -[NSApplication run] + 596 21 libosxapp.dylib 0x0000000101498018 +[NSApplicationAWT runAWTLoopWithApp:] + 208 22 libawt_lwawt.dylib 0x0000000126b6c664 +[AWTStarter starter:headless:] + 488 23 libosxapp.dylib 0x0000000101499c90 +[ThreadUtilities invokeBlockCopy:] + 28 24 Foundation 0x000000019d72cf94 __NSThreadPerformPerform + 212 25 CoreFoundation 0x000000019c829044 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28 26 CoreFoundation 0x000000019c828f90 __CFRunLoopDoSource0 + 208 27 CoreFoundation 0x000000019c828c90 __CFRunLoopDoSources0 + 268 28 CoreFoundation 0x000000019c827610 __CFRunLoopRun + 828 29 CoreFoundation 0x000000019c826b34 CFRunLoopRunSpecific + 600 30 libjli.dylib 0x00000001008ded70 CreateExecutionEnvironment + 400 31 libjli.dylib 0x00000001008daf80 JLI_Launch + 1184 32 java 0x00000001007a7ba0 main + 408 33 dyld 0x0000000100b2908c start + 520 ) 2022-08-08 10:26:37.112 java[10076:2831287] Apple AWT : Error AWTView:awtComponent got null peer from CPlatformView 2022-08-08 10:26:37.113 java[10076:2831287] ( 0 libawt_lwawt.dylib 0x0000000126b09eb8 -[AWTView awtComponent:] + 876 1 libawt_lwawt.dylib 0x0000000126b0a3b4 -[AWTView getAxData:] + 36 2 libawt_lwawt.dylib 0x0000000126b0a57c -[AWTView accessibilityHitTest:] + 156 3 AppKit 0x000000019fc47854 -[NSWindow(NSWindowAccessibility) accessibilityHitTest:] + 420 4 AppKit 0x000000019f7c0ab0 -[NSApplication(NSApplicationAccessibility) accessibilityHitTest:] + 292 5 AppKit 0x000000019f78e180 CopyElementAtPosition + 160 6 HIServices 0x00000001a2421340 _AXXMIGCopyElementAtPosition + 364 7 HIServices 0x00000001a2445e28 _XCopyElementAtPosition + 356 8 HIServices 0x00000001a23fed50 mshMIGPerform + 204 9 CoreFoundation 0x000000019c8298c8 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 60 10 CoreFoundation 0x000000019c829784 __CFRunLoopDoSource1 + 604 11 CoreFoundation 0x000000019c827c18 __CFRunLoopRun + 2372 12 CoreFoundation 0x000000019c826b34 CFRunLoopRunSpecific + 600 13 HIToolbox 0x00000001a5466338 RunCurrentEventLoopInMode + 292 14 HIToolbox 0x00000001a54660b4 ReceiveNextEventCommon + 564 15 HIToolbox 0x00000001a5465e68 _BlockUntilNextEventMatchingListInModeWithFilter + 72 16 AppKit 0x000000019f38e51c _DPSNextEvent + 860 17 AppKit 0x000000019f38ce14 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1328 18 libosxapp.dylib 0x0000000101498260 -[NSApplicationAWT nextEventMatchingMask:untilDate:inMode:dequeue:] + 144 19 AppKit 0x000000019f37efe0 -[NSApplication run] + 596 20 libosxapp.dylib 0x0000000101498018 +[NSApplicationAWT runAWTLoopWithApp:] + 208 21 libawt_lwawt.dylib 0x0000000126b6c664 +[AWTStarter starter:headless:] + 488 22 libosxapp.dylib 0x0000000101499c90 +[ThreadUtilities invokeBlockCopy:] + 28 23 Foundation 0x000000019d72cf94 __NSThreadPerformPerform + 212 24 CoreFoundation 0x000000019c829044 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28 25 CoreFoundation 0x000000019c828f90 __CFRunLoopDoSource0 + 208 26 CoreFoundation 0x000000019c828c90 __CFRunLoopDoSources0 + 268 27 CoreFoundation 0x000000019c827610 __CFRunLoopRun + 828 28 CoreFoundation 0x000000019c826b34 CFRunLoopRunSpecific + 600 29 libjli.dylib 0x00000001008ded70 CreateExecutionEnvironment + 400 30 libjli.dylib 0x00000001008daf80 JLI_Launch + 1184 31 java 0x00000001007a7ba0 main + 408 32 dyld 0x0000000100b2908c start + 520 ) 2022-08-08 10:26:37.114 java[10076:2831287] Apple AWT : Error AWTView:awtComponent got null peer from CPlatformView 2022-08-08 10:26:37.114 java[10076:2831287] ( 0 libawt_lwawt.dylib 0x0000000126b09eb8 -[AWTView awtComponent:] + 876 1 libawt_lwawt.dylib 0x0000000126b47050 -[CommonComponentAccessibility initWithParent:withEnv:withAccessible:withIndex:withView:withJavaRole:] + 404 2 libawt_lwawt.dylib 0x0000000126b0a3e8 -[AWTView getAxData:] + 88 3 libawt_lwawt.dylib 0x0000000126b0a57c -[AWTView accessibilityHitTest:] + 156 4 AppKit 0x000000019fc47854 -[NSWindow(NSWindowAccessibility) accessibilityHitTest:] + 420 5 AppKit 0x000000019f7c0ab0 -[NSApplication(NSApplicationAccessibility) accessibilityHitTest:] + 292 6 AppKit 0x000000019f78e180 CopyElementAtPosition + 160 7 HIServices 0x00000001a2421340 _AXXMIGCopyElementAtPosition + 364 8 HIServices 0x00000001a2445e28 _XCopyElementAtPosition + 356 9 HIServices 0x00000001a23fed50 mshMIGPerform + 204 10 CoreFoundation 0x000000019c8298c8 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 60 11 CoreFoundation 0x000000019c829784 __CFRunLoopDoSource1 + 604 12 CoreFoundation 0x000000019c827c18 __CFRunLoopRun + 2372 13 CoreFoundation 0x000000019c826b34 CFRunLoopRunSpecific + 600 14 HIToolbox 0x00000001a5466338 RunCurrentEventLoopInMode + 292 15 HIToolbox 0x00000001a54660b4 ReceiveNextEventCommon + 564 16 HIToolbox 0x00000001a5465e68 _BlockUntilNextEventMatchingListInModeWithFilter + 72 17 AppKit 0x000000019f38e51c _DPSNextEvent + 860 18 AppKit 0x000000019f38ce14 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1328 19 libosxapp.dylib 0x0000000101498260 -[NSApplicationAWT nextEventMatchingMask:untilDate:inMode:dequeue:] + 144 20 AppKit 0x000000019f37efe0 -[NSApplication run] + 596 21 libosxapp.dylib 0x0000000101498018 +[NSApplicationAWT runAWTLoopWithApp:] + 208 22 libawt_lwawt.dylib 0x0000000126b6c664 +[AWTStarter starter:headless:] + 488 23 libosxapp.dylib 0x0000000101499c90 +[ThreadUtilities invokeBlockCopy:] + 28 24 Foundation 0x000000019d72cf94 __NSThreadPerformPerform + 212 25 CoreFoundation 0x000000019c829044 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28 26 CoreFoundation 0x000000019c828f90 __CFRunLoopDoSource0 + 208 27 CoreFoundation 0x000000019c828c90 __CFRunLoopDoSources0 + 268 28 CoreFoundation 0x000000019c827610 __CFRunLoopRun + 828 29 CoreFoundation 0x000000019c826b34 CFRunLoopRunSpecific + 600 30 libjli.dylib 0x00000001008ded70 CreateExecutionEnvironment + 400 31 libjli.dylib 0x00000001008daf80 JLI_Launch + 1184 32 java 0x00000001007a7ba0 main + 408 33 dyld 0x0000000100b2908c start + 520

naxels avatar Aug 08 '22 08:08 naxels

Thanks for your feedback.

I think this is a bug in the Java JRE. Apparently there are timing issues when a top-level window is opened via Java from macOS and closed too shortly afterwards. After all, that's what happens in the error scenario.

As a workaround I have set the time span between opening and closing to at least 500 ms. This means that if less time passes between opening and a click outside to close, the window gets the window focus back and stays open.

This time span is probably still too short under certain circumstances. I then increase it as much as possible without the delay becoming annoying.

Wisser avatar Aug 08 '22 08:08 Wisser

It has turned out that even 500 ms are already annoying. Could you please test again? (12.5.3.14) I have changed this so that when closing the popup, it waits until at least 600 ms have passed. This way a click outside the popup is not ineffective. This is less annoying in my subjective impression.

jailer_12.5.3.14.zip

Wisser avatar Aug 08 '22 09:08 Wisser

I updated to 12.5.3.14, however there the popup got stuck immediately again:

2022-08-08 11:15:48,266 [Metadata-LoadColumns] INFO - reading columns (may take some time)... java.awt.IllegalComponentStateException: component must be showing on the screen to determine its location at java.desktop/java.awt.Component.getLocationOnScreen_NoTreeLock(Component.java:2113) at java.desktop/java.awt.Component.getLocationOnScreen(Component.java:2087) at java.desktop/sun.lwawt.macosx.CAccessibility$23.call(CAccessibility.java:468) at java.desktop/sun.lwawt.macosx.CAccessibility$23.call(CAccessibility.java:466) at java.desktop/sun.lwawt.macosx.LWCToolkit$CallableWrapper.run(LWCToolkit.java:694) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:308) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:771) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:746) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:744) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:743) at net.sf.jailer.ui.Environment$JEventQueue.dispatchEvent(Environment.java:274) 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) java.awt.IllegalComponentStateException: component must be showing on the screen to determine its location at java.desktop/java.awt.Component.getLocationOnScreen_NoTreeLock(Component.java:2113) at java.desktop/java.awt.Component.getLocationOnScreen(Component.java:2087) at java.desktop/sun.lwawt.macosx.CAccessibility$23.call(CAccessibility.java:468) at java.desktop/sun.lwawt.macosx.CAccessibility$23.call(CAccessibility.java:466) at java.desktop/sun.lwawt.macosx.LWCToolkit$CallableWrapper.run(LWCToolkit.java:694) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:308) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:771) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:746) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:744) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:743) at net.sf.jailer.ui.Environment$JEventQueue.dispatchEvent(Environment.java:274) 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)

naxels avatar Aug 08 '22 09:08 naxels