Bug 220236 - DeferredTreeContentManager#startFetchingDeferredChildren fails
Summary: DeferredTreeContentManager#startFetchingDeferredChildren fails
Status: ASSIGNED
Alias: None
Product: RAP
Classification: RT
Component: Workbench (show other bugs)
Version: 1.0   Edit
Hardware: All All
: P3 normal with 2 votes (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 227063 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-02-25 12:28 EST by Frank Appel CLA
Modified: 2012-04-30 11:03 EDT (History)
3 users (show)

See Also:


Attachments
ViewPart to reproduce the problem (6.36 KB, text/plain)
2010-05-03 05:55 EDT, Ivan Furnadjiev CLA
no flags Details
Proposed patch (4.52 KB, patch)
2010-05-06 03:29 EDT, Ivan Furnadjiev CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Frank Appel CLA 2008-02-25 12:28:14 EST
DeferredTreeContentManager#startFetchingDeferredChildren fails due to missing ServiceContext of the Job executing the actual fetching (see run method in line 190).
Comment 1 Ralf Sternberg CLA 2009-04-08 06:28:16 EDT
*** Bug 227063 has been marked as a duplicate of this bug. ***
Comment 2 Ivan Furnadjiev CLA 2010-05-03 05:55:46 EDT
Created attachment 166759 [details]
ViewPart to reproduce the problem
Comment 3 Ivan Furnadjiev CLA 2010-05-03 05:56:48 EDT
Exception with RAP 1.3M6:
java.lang.IllegalStateException: No context available outside of the request service lifecycle.
	at org.eclipse.rwt.internal.service.ContextProvider.getContext(ContextProvider.java:107)
	at org.eclipse.rwt.internal.service.ContextProvider.getSession(ContextProvider.java:140)
	at org.eclipse.rwt.RWT.getLocale(RWT.java:279)
	at org.eclipse.rwt.RWT$NLS.getISO8859_1Encoded(RWT.java:103)
	at org.eclipse.ui.internal.progress.ProgressMessages.get(ProgressMessages.java:138)
	at org.eclipse.ui.progress.DeferredTreeContentManager.runClearPlaceholderJob(DeferredTreeContentManager.java:385)
	at org.eclipse.ui.progress.DeferredTreeContentManager$2.done(DeferredTreeContentManager.java:295)
	at org.eclipse.core.internal.jobs.JobListeners$3.notify(JobListeners.java:39)
	at org.eclipse.core.internal.jobs.JobListeners.doNotify(JobListeners.java:112)
	at org.eclipse.core.internal.jobs.JobListeners.done(JobListeners.java:152)
	at org.eclipse.core.internal.jobs.JobManager.endJob(JobManager.java:573)
	at org.eclipse.core.internal.jobs.WorkerPool.endJob(WorkerPool.java:105)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:72)

!ENTRY org.eclipse.core.jobs 4 2 2010-05-03 12:46:59.890
!MESSAGE An internal error occurred during: "Fetching children of null".
!STACK 0
java.lang.IllegalStateException: No context available outside of the request service lifecycle.
	at org.eclipse.rwt.internal.service.ContextProvider.getContext(ContextProvider.java:107)
	at org.eclipse.rwt.internal.service.ContextProvider.getSession(ContextProvider.java:140)
	at org.eclipse.rwt.RWT.getLocale(RWT.java:279)
	at org.eclipse.rwt.RWT$NLS.getISO8859_1Encoded(RWT.java:103)
	at org.eclipse.ui.internal.progress.ProgressMessages.get(ProgressMessages.java:138)
	at org.eclipse.ui.progress.DeferredTreeContentManager.addChildren(DeferredTreeContentManager.java:333)
	at org.eclipse.ui.progress.DeferredTreeContentManager$5.add(DeferredTreeContentManager.java:454)
	at org.eclipse.ui.progress.DeferredTreeContentManager$5.add(DeferredTreeContentManager.java:444)
	at rap.bugs.view.ApplicationTesterView$TreeParent.fetchDeferredChildren(ApplicationTesterView.java:126)
	at org.eclipse.ui.progress.DeferredTreeContentManager$1.run(DeferredTreeContentManager.java:226)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Comment 4 Ivan Furnadjiev CLA 2010-05-06 03:29:43 EDT
Created attachment 167269 [details]
Proposed patch

This patch equip the updateJob and clearJob with fake context.
Comment 5 Ivan Larionov CLA 2010-05-13 08:37:23 EDT
I would be grateful if somebody could tell if there was any temorary workaround.
Comment 6 Rüdiger Herrmann CLA 2010-05-23 12:51:03 EDT
(In reply to comment #5)
> I would be grateful if somebody could tell if there was any temorary workaround.
Doesn't the patch from comment #4 work for you?