Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Remote Application Platform (RAP) » [RAP] [E4] UIThreadTerminatedError in LoginLifecycle(Exception during reload in loginlifecycle of rape4-demo)
[RAP] [E4] UIThreadTerminatedError in LoginLifecycle [message #1385418] Fri, 06 June 2014 10:08 Go to next message
Christian Mohr is currently offline Christian MohrFriend
Messages: 22
Registered: June 2012
Junior Member
Hi,

I tested the rap on e4 demo application and just noticed, that an exception is thrown, that prevents users from reloading the logindialog:

Problem
org.eclipse.e4.core.di.InjectionException: org.eclipse.rap.rwt.internal.lifecycle.UIThread$UIThreadTerminatedError
	at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:62)
	at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:247)
	at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:225)
	at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:107)
	at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createE4Workbench(E4Application.java:244)
	at org.eclipse.rap.e4.E4EntryPointFactory.createWorkbench(E4EntryPointFactory.java:63)
	at org.eclipse.rap.e4.E4EntryPointFactory.access$0(E4EntryPointFactory.java:60)
	at org.eclipse.rap.e4.E4EntryPointFactory$1.createUI(E4EntryPointFactory.java:51)
	at org.eclipse.rap.rwt.internal.lifecycle.RWTLifeCycle.createUI(RWTLifeCycle.java:172)
	at org.eclipse.rap.rwt.internal.lifecycle.RWTLifeCycle$UIThreadController.run(RWTLifeCycle.java:284)
	at java.lang.Thread.run(Unknown Source)
	at org.eclipse.rap.rwt.internal.lifecycle.UIThread.run(UIThread.java:105)
Caused by: org.eclipse.rap.rwt.internal.lifecycle.UIThread$UIThreadTerminatedError
	at org.eclipse.rap.rwt.internal.lifecycle.UIThread.handleInterruptInSwitchThread(UIThread.java:94)
	at org.eclipse.rap.rwt.internal.lifecycle.UIThread.switchThread(UIThread.java:65)
	at org.eclipse.rap.rwt.internal.lifecycle.RWTLifeCycle.sleep(RWTLifeCycle.java:227)
	at org.eclipse.swt.widgets.Display.sleep(Display.java:1253)
	at org.eclipse.rap.e4.demo.lifecycle.LoginLifcecycle.login(LoginLifcecycle.java:84)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55)
	... 11 more


Way to reproduce:
1. open the logindialog in browser
2. reload the site (infinite loading and exception)
3. on chrome it's not possible to access the logindialog again, without temporarily switching to a different website (or new tab), on FF its possible to chancel the reload and then reload and access the site again.

Do you have any ideas what causes this error and how to prevent it? Thanks for any help.

Greets Chris

[Updated on: Fri, 06 June 2014 10:10]

Report message to a moderator

Re: [RAP] [E4] UIThreadTerminatedError in LoginLifecycle [message #1385632 is a reply to message #1385418] Tue, 10 June 2014 07:40 Go to previous messageGo to next message
Thomas Schindl is currently offline Thomas SchindlFriend
Messages: 5698
Registered: July 2009
Senior Member
Someone from the core RAP team has to comment on what is going on there.
To me my code looked perfectly ok. I'm opening a shell and spin the
event loop until the shell gets disposed.

Tom

On 06.06.14 12:08, Christian Mohr wrote:
> Hi,
>
> I tested the rap on e4 demo application and just noticed, that an
> exception is thrown, that prevents users from reloading the logindialog:
>
> Problem
> org.eclipse.e4.core.di.InjectionException:
> org.eclipse.rap.rwt.internal.lifecycle.UIThread$UIThreadTerminatedError
> at
> org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:62)
>
> at
> org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:247)
>
> at
> org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:225)
> at
> org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:107)
>
> at
> org.eclipse.e4.ui.internal.workbench.swt.E4Application.createE4Workbench(E4Application.java:244)
>
> at
> org.eclipse.rap.e4.E4EntryPointFactory.createWorkbench(E4EntryPointFactory.java:63)
>
> at
> org.eclipse.rap.e4.E4EntryPointFactory.access$0(E4EntryPointFactory.java:60)
>
> at
> org.eclipse.rap.e4.E4EntryPointFactory$1.createUI(E4EntryPointFactory.java:51)
>
> at
> org.eclipse.rap.rwt.internal.lifecycle.RWTLifeCycle.createUI(RWTLifeCycle.java:172)
>
> at
> org.eclipse.rap.rwt.internal.lifecycle.RWTLifeCycle$UIThreadController.run(RWTLifeCycle.java:284)
>
> at java.lang.Thread.run(Unknown Source)
> at
> org.eclipse.rap.rwt.internal.lifecycle.UIThread.run(UIThread.java:105)
> Caused by:
> org.eclipse.rap.rwt.internal.lifecycle.UIThread$UIThreadTerminatedError
> at
> org.eclipse.rap.rwt.internal.lifecycle.UIThread.handleInterruptInSwitchThread(UIThread.java:94)
>
> at
> org.eclipse.rap.rwt.internal.lifecycle.UIThread.switchThread(UIThread.java:65)
>
> at
> org.eclipse.rap.rwt.internal.lifecycle.RWTLifeCycle.sleep(RWTLifeCycle.java:227)
>
> at org.eclipse.swt.widgets.Display.sleep(Display.java:1253)
> at
> org.eclipse.rap.e4.demo.lifecycle.LoginLifcecycle.login(LoginLifcecycle.java:84)
>
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at
> org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55)
>
> ... 11 more
>
> Way to reproduce:
> 1. open the logindialog in browser
> 2. reload the site (infitine loading and exception)
> 3. on chrome it's not possible to access the logindialog again, without
> temporarily switching to a different website (or new tab), on FF its
> possible to chancel the reload and then reload and access the site again.
>
> Do you have any ideas what causes this error and how to prevent it?
> Thanks for any help.
>
> Greets Chris
Re: [RAP] [E4] UIThreadTerminatedError in LoginLifecycle [message #1386276 is a reply to message #1385632] Mon, 16 June 2014 10:19 Go to previous messageGo to next message
Thomas Schindl is currently offline Thomas SchindlFriend
Messages: 5698
Registered: July 2009
Senior Member
Could you please file a bug to the incubator - i need to someone from
the core-RAP team to find out what I'm doing wrong.

Tom

On 10.06.14 09:40, Tom Schindl wrote:
> Someone from the core RAP team has to comment on what is going on there.
> To me my code looked perfectly ok. I'm opening a shell and spin the
> event loop until the shell gets disposed.
>
> Tom
>
> On 06.06.14 12:08, Christian Mohr wrote:
>> Hi,
>>
>> I tested the rap on e4 demo application and just noticed, that an
>> exception is thrown, that prevents users from reloading the logindialog:
>>
>> Problem
>> org.eclipse.e4.core.di.InjectionException:
>> org.eclipse.rap.rwt.internal.lifecycle.UIThread$UIThreadTerminatedError
>> at
>> org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:62)
>>
>> at
>> org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:247)
>>
>> at
>> org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:225)
>> at
>> org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:107)
>>
>> at
>> org.eclipse.e4.ui.internal.workbench.swt.E4Application.createE4Workbench(E4Application.java:244)
>>
>> at
>> org.eclipse.rap.e4.E4EntryPointFactory.createWorkbench(E4EntryPointFactory.java:63)
>>
>> at
>> org.eclipse.rap.e4.E4EntryPointFactory.access$0(E4EntryPointFactory.java:60)
>>
>> at
>> org.eclipse.rap.e4.E4EntryPointFactory$1.createUI(E4EntryPointFactory.java:51)
>>
>> at
>> org.eclipse.rap.rwt.internal.lifecycle.RWTLifeCycle.createUI(RWTLifeCycle.java:172)
>>
>> at
>> org.eclipse.rap.rwt.internal.lifecycle.RWTLifeCycle$UIThreadController.run(RWTLifeCycle.java:284)
>>
>> at java.lang.Thread.run(Unknown Source)
>> at
>> org.eclipse.rap.rwt.internal.lifecycle.UIThread.run(UIThread.java:105)
>> Caused by:
>> org.eclipse.rap.rwt.internal.lifecycle.UIThread$UIThreadTerminatedError
>> at
>> org.eclipse.rap.rwt.internal.lifecycle.UIThread.handleInterruptInSwitchThread(UIThread.java:94)
>>
>> at
>> org.eclipse.rap.rwt.internal.lifecycle.UIThread.switchThread(UIThread.java:65)
>>
>> at
>> org.eclipse.rap.rwt.internal.lifecycle.RWTLifeCycle.sleep(RWTLifeCycle.java:227)
>>
>> at org.eclipse.swt.widgets.Display.sleep(Display.java:1253)
>> at
>> org.eclipse.rap.e4.demo.lifecycle.LoginLifcecycle.login(LoginLifcecycle.java:84)
>>
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>> at java.lang.reflect.Method.invoke(Unknown Source)
>> at
>> org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55)
>>
>> ... 11 more
>>
>> Way to reproduce:
>> 1. open the logindialog in browser
>> 2. reload the site (infitine loading and exception)
>> 3. on chrome it's not possible to access the logindialog again, without
>> temporarily switching to a different website (or new tab), on FF its
>> possible to chancel the reload and then reload and access the site again.
>>
>> Do you have any ideas what causes this error and how to prevent it?
>> Thanks for any help.
>>
>> Greets Chris
>
Re: [RAP] [E4] UIThreadTerminatedError in LoginLifecycle [message #1386283 is a reply to message #1386276] Mon, 16 June 2014 10:52 Go to previous messageGo to next message
Ivan Furnadjiev is currently offline Ivan FurnadjievFriend
Messages: 1946
Registered: July 2009
Senior Member
Hi,
In RAP UIThreadTerminatedError (ThreadDeath) *must* be propagated in
*any* case. I think the problem is that UIThreadTerminatedError is
wrapped in InjectionException (ContextInjectionFactory.invoke). We had
similar problem with equinox security [1] where the
UIThreadTerminatedError was wrapped in LogginException or
InvocationTargetException.

[1] https://wiki.eclipse.org/RAP/Equinox_Security_Integration
HTH,
Ivan

--
Ivan Furnadjiev

Twitter: @EclipseRAP
Blog: http://eclipsesource.com/blogs/

Professional services for RAP and RCP?
http://eclipsesource.com/services/rap/
Re: [RAP] [E4] UIThreadTerminatedError in LoginLifecycle [message #1403229 is a reply to message #1386283] Tue, 22 July 2014 14:12 Go to previous messageGo to next message
Christian Mohr is currently offline Christian MohrFriend
Messages: 22
Registered: June 2012
Junior Member
Sorry, this problem went out of my focus for a while. Here the bug report
#440115
Re: [RAP] [E4] UIThreadTerminatedError in LoginLifecycle [message #1404322 is a reply to message #1403229] Thu, 31 July 2014 08:59 Go to previous message
Frederick Harper is currently offline Frederick HarperFriend
Messages: 1
Registered: July 2014
Junior Member
#440115

Thanks
Previous Topic:how to set the i18n tip when the browser version is too low?
Next Topic:How to supply translations for the text in splash html?
Goto Forum:
  


Current Time: Tue May 05 22:27:09 GMT 2015

Powered by FUDForum. Page generated in 0.05941 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software