| Summary: | x11-toolkits/swt: improve usage | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | Ports & Packages | Reporter: | huanghwh | ||||||||||
| Component: | Individual Port(s) | Assignee: | Max Brazhnikov <makc> | ||||||||||
| Status: | New --- | ||||||||||||
| Severity: | Affects Only Me | Flags: | bugzilla:
maintainer-feedback?
(makc) |
||||||||||
| Priority: | --- | ||||||||||||
| Version: | Latest | ||||||||||||
| Hardware: | Any | ||||||||||||
| OS: | Any | ||||||||||||
| Attachments: |
|
||||||||||||
(In reply to huanghwh from comment #0) > pack native so files into swt.jar, reduce some false alarm Could you provide more info? > set ASYNC_EXEC_TIMEOUT_MS = 1000 is more better You're changing it again, so what the difference does it make? "Better" or "worst" are subjective, could you explain what's wrong with upstream 10000 and why 1000 is better. without packing so in jar, when run org.eclipse.swt.examples.browserexample.BrowserExample, got this: SWT Webkit.java Error: Could not find webkit extension. BrowserFunction functionality will not be available. (swt version: 4946r21) SWT Glue code version: 56.0 info: +BrowserFunction with private GDBus, +WebKitExtension Folder versioning, +WebKitExtension OSGI support, +setUrl(..postData..), setCookie(), getCookie +mouseDown/Focus +WebKit2 only WebKit2Gtk version 2.34.6 Please report this issue *with steps to reproduce* via: https://bugs.eclipse.org/bugs/enter_bug.cgi?alias=&assigned_to=platform-swt-inbox%40eclipse.org&attach_text=&blocked=&bug_file_loc=http%3A%2F%2F&bug_severity=normal&bug_status=NEW&comment=&component=SWT&contenttypeentry=&contenttypemethod=autodetect&contenttypeselection=text%2Fplain&data=&defined_groups=1&dependson=&description=&flag_type-1=X&flag_type-11=X&flag_type-12=X&flag_type-13=X&flag_type-14=X&flag_type-15=X&flag_type-16=X&flag_type-2=X&flag_type-4=X&flag_type-6=X&flag_type-7=X&flag_type-8=X&form_name=enter_bug&keywords=&maketemplate=Remember%20values%20as%20bookmarkable%20template&op_sys=Linux&product=Platform&qa_contact=&rep_platform=PC&requestee_type-1=&requestee_type-2=&short_desc=webkit2_BrowserProblem For bug report, please atatch this stack trace: java.lang.Throwable: at org.eclipse.swt.browser.WebKit.getStackTrace(Unknown Source) at org.eclipse.swt.browser.WebKit.getInternalErrorMsg(Unknown Source) at org.eclipse.swt.browser.WebKit.access$200(Unknown Source) at org.eclipse.swt.browser.WebKit$WebKitExtension.initializeWebExtensions_callback(Unknown Source) at org.eclipse.swt.internal.webkit.WebKitGTK.webkit_web_view_load_uri(Native Method) at org.eclipse.swt.browser.WebKit.setUrl(Unknown Source) at org.eclipse.swt.browser.Browser.setUrl(Unknown Source) at org.eclipse.swt.browser.Browser.setUrl(Unknown Source) at org.eclipse.swt.examples.browserexample.BrowserExample.<init>(BrowserExample.java:96) at org.eclipse.swt.examples.browserexample.BrowserExample.main(BrowserExample.java:355) > set ASYNC_EXEC_TIMEOUT_MS = 1000 is more better when run net-p2p/vuze, if set ASYNC_EXEC_TIMEOUT_MS = 100, this error is so often: SWT call to Webkit timed out after 100ms. No return value will be provided. Possible reasons: 1) Problem: Your javascript needs more than 100ms to execute. Solution: Don't run such javascript, it blocks Eclipse's UI. SWT currently allows such code to complete, but this error is thrown and the return value of execute()/evalute() will be false/null. 2) However, if you believe that your application should execute as expected (in under100 ms), then it might be a deadlock in SWT/Browser/webkit2 logic. I.e, it might be a bug in SWT (e.g this does not occur on Windows/Cocoa, but occurs on Linux). If you believe it to be a bug in SWT, then Please report this issue *with steps to reproduce* via: https://bugs.eclipse.org/bugs/enter_bug.cgi?alias=&assigned_to=platform-swt-inbox%40eclipse.org&attach_text=&blocked=&bug_file_loc=http%3A%2F%2F&bug_severity=normal&bug_status=NEW&comment=&component=SWT&contenttypeentry=&contenttypemethod=autodetect&contenttypeselection=text%2Fplain&data=&defined_groups=1&dependson=&description=&flag_type-1=X&flag_type-11=X&flag_type-12=X&flag_type-13=X&flag_type-14=X&flag_type-15=X&flag_type-16=X&flag_type-2=X&flag_type-4=X&flag_type-6=X&flag_type-7=X&flag_type-8=X&form_name=enter_bug&keywords=&maketemplate=Remember%20values%20as%20bookmarkable%20template&op_sys=Linux&product=Platform&qa_contact=&rep_platform=PC&requestee_type-1=&requestee_type-2=&short_desc=webkit2_BrowserProblem For bug report, please atatch this stack trace: java.lang.Throwable: at org.eclipse.swt.browser.WebKit.getStackTrace(Unknown Source) at org.eclipse.swt.browser.WebKit.getInternalErrorMsg(Unknown Source) at org.eclipse.swt.browser.WebKit.access$200(Unknown Source) at org.eclipse.swt.browser.WebKit$Webkit2AsyncToSync.execAsyncAndWaitForReturn(Unknown Source) at org.eclipse.swt.browser.WebKit$Webkit2AsyncToSync.runjavascript(Unknown Source) at org.eclipse.swt.browser.WebKit.execute(Unknown Source) at org.eclipse.swt.browser.Browser.execute(Unknown Source) at org.gudy.azureus2.ui.swt.BrowserWrapperSWT.execute(Unknown Source) at com.aelitis.azureus.ui.swt.browser.BrowserContext$11.runSupport(Unknown Source) at org.gudy.azureus2.core3.util.AERunnable.run(Unknown Source) at org.gudy.azureus2.ui.swt.Utils.execSWTThread(Unknown Source) at org.gudy.azureus2.ui.swt.Utils.execSWTThread(Unknown Source) at com.aelitis.azureus.ui.swt.browser.BrowserContext.executeInBrowser(Unknown Source) at com.aelitis.azureus.ui.swt.browser.BrowserContext.sendBrowserMessage(Unknown Source) at com.aelitis.azureus.ui.swt.browser.BrowserContext.sendBrowserMessage(Unknown Source) at com.aelitis.azureus.ui.swt.skin.SWTSkinObjectBrowser$7.runSupport(Unknown Source) at org.gudy.azureus2.core3.util.AERunnable.run(Unknown Source) at org.eclipse.swt.widgets.RunnableLock.run(Unknown Source) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Unknown Source) at org.eclipse.swt.widgets.Display.runAsyncMessages(Unknown Source) at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source) at org.gudy.azureus2.ui.swt.mainwindow.SWTThread.<init>(Unknown Source) at org.gudy.azureus2.ui.swt.mainwindow.SWTThread.createInstance(Unknown Source) at com.aelitis.azureus.ui.swt.Initializer.<init>(Unknown Source) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490) at org.gudy.azureus2.ui.swt.Main.<init>(Unknown Source) at org.gudy.azureus2.ui.swt.Main.main(Unknown Source) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at com.aelitis.azureus.launcher.MainExecutor$1.run(Unknown Source) at java.base/java.lang.Thread.run(Thread.java:829) Additional information about the error is as following: The following javascript was executed: try { az.msg.dispatch('browser', 'shown') } catch ( e ) { } Created attachment 234737 [details]
Test code
Created attachment 234738 [details]
without patch
Created attachment 234739 [details]
with patch
> - Image.java patch: fixed black area and and vertical bar with org.eclipse.ui.forms.widgets.Section.TITLE_BAR on HiDPI 2x scale
HelloWord4.java can show the bug.
|
Created attachment 234631 [details] swt.diff Some improvements: - pack native so files into swt.jar, reduce some false alarm - set ASYNC_EXEC_TIMEOUT_MS = 1000 is more better - Image.java patch: fixed black area and and vertical bar with org.eclipse.ui.forms.widgets.Section.TITLE_BAR on HiDPI 2x scale