Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 311645 - [shared] In a shared installation, Help -> About / Installation Details fails
Summary: [shared] In a shared installation, Help -> About / Installation Details fails
Status: CLOSED DUPLICATE of bug 306402
Alias: None
Product: Equinox
Classification: Eclipse Project
Component: p2 (show other bugs)
Version: 3.6   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: 3.6 RC1   Edit
Assignee: P2 Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on: 306402
Blocks:
  Show dependency tree
 
Reported: 2010-05-04 20:12 EDT by Tom Houser CLA
Modified: 2010-05-07 10:45 EDT (History)
7 users (show)

See Also:


Attachments
log file with exceptions (115.81 KB, text/plain)
2010-05-04 20:14 EDT, Tom Houser CLA
no flags Details
the .log file from work item 29216 (105.79 KB, text/plain)
2010-05-05 13:02 EDT, Tom Houser CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Tom Houser CLA 2010-05-04 20:12:06 EDT
In Eclipse 3.6, I noticed an issue with "Help -> About Eclipse Platform / Installation Details" when a read-only admin install is being used by non-admin users.  When you clck on the Installation Details button an error dialog pops up with this message in its Details:

An internal error occurred during: "Fetching children of _SELF_".
Cannot access member 'id' in null

Also a bunch of exceptions are logged in the "<workspace>/.metadata/.log" file (see attachment).

To reproduce on Linux:

1) As root, umask 022, install the latest IBM Installation Manager (IM) 1.4 (see https://constellation.beaverton.ibm.com/cic/head/im/O/O.html).
2) Still as root, install the sample IES 3.6 offering at https://bluewhale.torolab.ibm.com/local/products/sample/36/repository, using all the defaults.  (Note: this is an old-style reconciler based install)
3) Login as a non-root user and execute the sample IES offering (e.g. launch "/opt/IBM/XYZ/eclipse" executable).
4) Click on "Help -> About Eclipse Platform".
5) In the About dialog, click on the Installation Details button.

Expected: 
  An Installation Details dialog should pop up.
Actual:
  An error dialog pops up displaying the error message above in its Details and a bunch of exceptions are logged in the "<workspace>/.metadata/.log".

This behaviour does not occur with the IES 3.4.2 or 3.5 sample offerings.

See also https://jazzop03.rtp.raleigh.ibm.com:9943/jazz/resource/itemName/com.ibm.team.workitem.WorkItem/29217
Comment 1 Tom Houser CLA 2010-05-04 20:14:01 EDT
Created attachment 167067 [details]
log file with exceptions
Comment 2 Simon Kaegi CLA 2010-05-04 21:25:00 EDT
I'm not sure what's happened here. Shared install is something I tested for the M7 testpass and I'm running M7 right now in shared mode without any of these issues.

Looking at the logs it looks like the errors started the moment anyone tried to access the shared profile in the dropins reconciler. There is a number of errors similar to the following in the log:

Caused by: java.lang.IllegalArgumentException: Cannot access member 'id' in null
	at org.eclipse.equinox.internal.p2.metadata.expression.Member$DynamicMember.invoke(Member.java:50)
	at org.eclipse.equinox.internal.p2.metadata.expression.Member$DynamicMember.evaluate(Member.java:42)
	at org.eclipse.equinox.internal.p2.metadata.expression.Equals.evaluate(Equals.java:27)
	at org.eclipse.equinox.internal.p2.metadata.expression.Or.evaluate(Or.java:26)
	at org.eclipse.equinox.internal.p2.metadata.expression.MatchExpression.evaluate(MatchExpression.java:44)
	at org.eclipse.equinox.p2.query.ExpressionMatchQuery.isMatch(ExpressionMatchQuery.java:86)
	at org.eclipse.equinox.p2.query.ExpressionMatchQuery.perform(ExpressionMatchQuery.java:73)
	at org.eclipse.equinox.p2.query.ExpressionMatchQuery.perform(ExpressionMatchQuery.java:63)
	at org.eclipse.equinox.internal.p2.metadata.index.IndexProvider.query(IndexProvider.java:12)
	at org.eclipse.equinox.internal.p2.metadata.index.IndexProvider.query(IndexProvider.java:21)
	at org.eclipse.equinox.internal.p2.engine.SurrogateProfileHandler.addSharedProfileBaseIUs(SurrogateProfileHandler.java:56)
	
--
This is the query we use in a shared install to populate the user's profile with a lineup IU. 

Tom do you know exactly what build of Eclipse you're embedding. Does anyone know if there was a bug in the p2 metadata or query layer fixed in the last week of M7 that might have triggered this?
Comment 3 Pascal Rapicault CLA 2010-05-04 21:57:00 EDT
The same message has been seen in the context of bug #306402 which also talks about read only location. Don't know if this is something real or just a coincidence.
Comment 4 Thomas Hallgren CLA 2010-05-05 04:40:26 EDT
The patch from bug 306402 will make the stack-trace below disappear. That much is certain.
Comment 5 Tom Houser CLA 2010-05-05 12:15:22 EDT
In response to Simon's question in comment 2, at the time I ran this scenario, the sample offering was based on "eclipse-SDK-I20100426-0852-linux-gtk.zip".  The latest sample offering that is available now seems to be based on "eclipse-SDK-3.6M7-linux-gtk.zip".  I haven't run this scenario on the latest sample offering.
Comment 6 Tom Houser CLA 2010-05-05 13:00:37 EDT
I have a very similar scenario with "Help -> Install New Software..." in another work item: https://jazzop03.rtp.raleigh.ibm.com:9943/jazz/resource/itemName/com.ibm.team.workitem.WorkItem/29216.

In this scenario, the install new software dialog doesn't pop up .. nor does an error dialog.  The "<workspace>/.metadata/.log" file contains the same "java.lang.IllegalArgumentException: Cannot access member 'id' in
null" stack traces.

I suspect it is caused by the same problem, so I won't enter another bugzilla for it.
Comment 7 Tom Houser CLA 2010-05-05 13:02:54 EDT
Created attachment 167176 [details]
the .log file from work item 29216
Comment 8 John Arthorne CLA 2010-05-07 10:27:26 EDT
(In reply to comment #7)
> Created an attachment (id=167176) [details]
> the .log file from work item 29216

This error has been fixed by the patch in bug 306402. This is available in our builds *after* M7, such as I20100506-0800.

*** This bug has been marked as a duplicate of bug 306402 ***