Noel - Any comments? Is this something that has to be enforced perhaps to remove the possibility of deadlocks? Or is it a warning that could be sent to syserr or something?
On 31 July 2011 07:20, Chris Bartlett (JIRA) <[email protected]> wrote: > > [ > https://issues.apache.org/jira/browse/PIVOT-780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13073269#comment-13073269 > ] > > Chris Bartlett edited comment on PIVOT-780 at 7/31/11 12:18 AM: > ---------------------------------------------------------------- > > This sounds like it is related to PIVOT-740 / r1101054 > http://svn.apache.org/viewvc?view=revision&revision=1101054 > > was (Author: cbartlett): > This sounds like it is related to PIVOT-740 / r1101054 > >> Can't use BXMLSerializer from non-AWT threads makes background resource >> loading impossible >> ------------------------------------------------------------------------------------------ >> >> Key: PIVOT-780 >> URL: https://issues.apache.org/jira/browse/PIVOT-780 >> Project: Pivot >> Issue Type: Bug >> Components: core-beans, wtk >> Affects Versions: 2.0.1 >> Reporter: Piotr Kołaczkowski >> Labels: background, initialization, thread >> >> Calling bxmlSerializer.readObject from a non-AWT thread causes the following >> exception: >> An error occurred at line number 5 in file >> /C:/Users/Piotr/Projekty/viungo/viungo-editor/target/scala_2.9.0/classes/com/viungo/editor/CircuitEditor.bxml: >> org.apache.pivot.serialization.SerializationException: >> java.lang.IllegalStateException: this method can only be called from the AWT >> event dispatch thread >> at >> org.apache.pivot.beans.BXMLSerializer.processStartElement(BXMLSerializer.java:769) >> at >> org.apache.pivot.beans.BXMLSerializer.readObject(BXMLSerializer.java:441) >> at >> org.apache.pivot.beans.BXMLSerializer.readObject(BXMLSerializer.java:624) >> at >> org.apache.pivot.beans.BXMLSerializer.readObject(BXMLSerializer.java:579) >> at >> org.apache.pivot.beans.BXMLSerializer.readObject(BXMLSerializer.java:540) >> at >> com.viungo.editor.CircuitEditor$$anon$1.execute(CircuitEditor.scala:21) >> at >> com.viungo.editor.CircuitEditor$$anon$1.execute(CircuitEditor.scala:18) >> at >> org.apache.pivot.util.concurrent.Task$ExecuteCallback.run(Task.java:42) >> at >> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) >> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) >> at java.util.concurrent.FutureTask.run(FutureTask.java:138) >> at java.lang.Thread.run(Thread.java:662) >> Caused by: java.lang.IllegalStateException: this method can only be called >> from the AWT event dispatch thread >> at org.apache.pivot.wtk.Container$1.run(Container.java:864) >> at >> org.apache.pivot.wtk.Container.assertEventDispatchThread(Container.java:871) >> at org.apache.pivot.wtk.WTKListenerList.add(WTKListenerList.java:36) >> at >> org.apache.pivot.wtk.skin.ComponentSkin.install(ComponentSkin.java:96) >> at >> org.apache.pivot.wtk.skin.ContainerSkin.install(ContainerSkin.java:129) >> at org.apache.pivot.wtk.skin.WindowSkin.install(WindowSkin.java:66) >> at org.apache.pivot.wtk.Component.setSkin(Component.java:749) >> at org.apache.pivot.wtk.Component.installSkin(Component.java:812) >> at org.apache.pivot.wtk.Window.<init>(Window.java:453) >> at org.apache.pivot.wtk.Window.<init>(Window.java:448) >> at com.viungo.editor.EditorWindow.<init>(EditorWindow.scala:20) >> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native >> Method) >> at >> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) >> at >> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) >> at java.lang.reflect.Constructor.newInstance(Constructor.java:513) >> at java.lang.Class.newInstance0(Class.java:355) >> at java.lang.Class.newInstance(Class.java:308) >> at >> org.apache.pivot.beans.BXMLSerializer.newTypedObject(BXMLSerializer.java:1556) >> at >> org.apache.pivot.beans.BXMLSerializer.processStartElement(BXMLSerializer.java:767) >> ... 11 more >> Loading objects in background is very important, so that the user can see >> e.g. a progress indicator while the rest of the UI is deserialized. >> Doing this in AWT thread, blocks what is currently displayed. > > -- > This message is automatically generated by JIRA. > For more information on JIRA, see: http://www.atlassian.com/software/jira > > >
