Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 332234

Summary: I don't see "Share Editor With" in the context menu
Product: [RT] ECF Reporter: Ondrej Svetlik <ondrej>
Component: ecf.uiAssignee: ecf.core-inbox <ecf.core-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: major    
Priority: P3 CC: bugs.eclipse.org, codesurgeon, mayworm, pratik.nitk, remy.suen, sebastian.schmidt2, slewis
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:
Bug Depends on: 333041    
Bug Blocks:    

Description Ondrej Svetlik CLA 2010-12-09 13:54:36 EST
Build Identifier: Eclipse: 20100917-0705, ECF: 3.4.0.v20101029-1626

I connect to my XMPP server, I have a contact with Eclipse and ECF running, he's online, he has the same version of everything, there is "Synchronize with" in the context menu which doesn't work, throws NPE:
!ENTRY org.eclipse.ecf.sync.team 4 0 2010-12-09 19:30:33.839
!MESSAGE Failed to contact remote peer
!STACK 0
java.lang.NullPointerException
        at org.eclipse.team.internal.ecf.ui.handlers.SynchronizeWithHandler$1.ru
n(SynchronizeWithHandler.java:79)
        at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(Modal
Context.java:121)

But there is no "Share Editor With" item. We had this working a few versions of Eclipse/ECF ago.

I even tried fresh Eclipse installation with the same result.

Reproducible: Always

Steps to Reproduce:
1.connect to XMPP provider
2.have your friend online
3.open an editor
4.right click the editor
5.look for "Share Editor With"
Comment 1 Remy Suen CLA 2010-12-09 13:58:47 EST
I've heard a few reports of this menu item being missing on IRC also.
Comment 2 Scott Lewis CLA 2010-12-10 09:36:18 EST
Adding Mustafa, Marcelo, and Sebastian for testing, triage, and debugging help.

One question for the author (Ondrej):  in the bug report, you say that you connect to your XMPP server.  What XMPP server is that?  Unfortunately, not all XMPP servers behave exactly as per spec and so it can/could interact with something in the ECF xmpp provider or it's dependencies.  Have you tried with (e.g.) google talk/gmail?  If so, do you also not see the menu item?

Also...Remy, I think Ondrej's report may be two distinct issues...i.e. the NPE that Ondrej reports is probably distinct from the menu item not appearing.  We're going to have to depend upon you to diagnose the NPE in org.eclipse.ecf.sync.team.
Comment 3 Remy Suen CLA 2010-12-10 09:45:49 EST
(In reply to comment #2)
> Also...Remy, I think Ondrej's report may be two distinct issues...i.e. the NPE
> that Ondrej reports is probably distinct from the menu item not appearing. 
> We're going to have to depend upon you to diagnose the NPE in
> org.eclipse.ecf.sync.team.

Yes, there is no doubt in my mind that this is a separate problem.
Comment 4 Remy Suen CLA 2010-12-10 09:52:19 EST
(In reply to comment #3)
> Yes, there is no doubt in my mind that this is a separate problem.

Actually, I take that back. :|

The problem is probably caused by the same root cause, that we did not detect any containers being connected and as such do not have a DocShare instance running for said container.

The reason the team item shows up is because I don't have as much safety code checking as docshare implementation does. The docshare code detects that there is no DocShare instance and opts to not create any menu items whereas I just arbitrarily create the items without this check.
Comment 5 Ondrej Svetlik CLA 2010-12-10 12:26:19 EST
I'm using openfire, I tried ejabberd, but ECF wasn't able to connect. I'm going to try google talk and will report the results.
Comment 6 Ondrej Svetlik CLA 2010-12-10 12:32:25 EST
It's exactly the same with both of us using Google Talk.
Comment 7 Remy Suen CLA 2010-12-10 13:14:24 EST
If you use the OSGi console, what XMPP bundles do you see in the listing?
Comment 8 Ondrej Svetlik CLA 2010-12-10 13:26:52 EST
Little help here, please :-), how do I use OSGI console?
Comment 9 Remy Suen CLA 2010-12-10 13:29:57 EST
(In reply to comment #8)
> Little help here, please :-), how do I use OSGI console?

Start Eclipse with the '-console' argument.

---------

> eclipse.exe -console

$ ./eclipse -console

---------

After a while, you will get a prompt for entering commands.

osgi> ss xmpp

What does it output when you first start up Eclipse? What does it then output after you've connected to your XMPP server?
Comment 10 Ondrej Svetlik CLA 2010-12-10 13:36:55 EST
When disconnected:
osgi> ss xmpp

Framework is launched.

id	State       Bundle
1260	ACTIVE      org.eclipse.ecf.provider.xmpp_3.2.0.v20101029-1626
1261	<<LAZY>>    org.eclipse.ecf.provider.xmpp.ui_2.1.0.v20101029-1626

When connected to my XMPP server:
osgi> ss xmpp

Framework is launched.

id	State       Bundle
1260	ACTIVE      org.eclipse.ecf.provider.xmpp_3.2.0.v20101029-1626
1261	ACTIVE      org.eclipse.ecf.provider.xmpp.ui_2.1.0.v20101029-1626
Comment 11 Remy Suen CLA 2010-12-10 13:41:33 EST
(In reply to comment #10)
> id    State       Bundle
> 1260    ACTIVE      org.eclipse.ecf.provider.xmpp_3.2.0.v20101029-1626
> 1261    <<LAZY>>    org.eclipse.ecf.provider.xmpp.ui_2.1.0.v20101029-1626

This looks problematic as I would have expected the org.eclipse.ecf.provider.xmpp.datashare fragment to be present.

Scott, do you know what's going on over here?
Comment 12 Scott Lewis CLA 2010-12-10 14:00:31 EST
(In reply to comment #11)
> (In reply to comment #10)
> > id    State       Bundle
> > 1260    ACTIVE      org.eclipse.ecf.provider.xmpp_3.2.0.v20101029-1626
> > 1261    <<LAZY>>    org.eclipse.ecf.provider.xmpp.ui_2.1.0.v20101029-1626
> 
> This looks problematic as I would have expected the
> org.eclipse.ecf.provider.xmpp.datashare fragment to be present.

I would expect the datashare fragment to be there also.

Just by way of explanation...what happened for 3.4 is that the xmpp provider was refactored by Markus to have several fragments (like the datashare fragment)...so as to reduce dependencies of the core xmpp provider, and to increase flexiblity of deployment options (so that consumers could use the xmpp provider *without* pulling in datashare and/or other APIs).


> 
> Scott, do you know what's going on over here?

No...I would expect to see the xmpp datashare fragment as well.  Perhaps this is a releng issue and it accidently didn't get into the 3.4 release build.  I'll add Markus K for comment as I think he made the change to the xmpp provider (i.e. the refactoring).
Comment 13 Markus Kuppe CLA 2010-12-10 14:51:17 EST
(In reply to comment #12)

> No...I would expect to see the xmpp datashare fragment as well.  Perhaps this
> is a releng issue and it accidently didn't get into the 3.4 release build. 
> I'll add Markus K for comment as I think he made the change to the xmpp
> provider (i.e. the refactoring).

Looks like org.eclipse.ecf.provider.xmpp.datashare is not part of any feature that comprises the SDK feature. 
Can somebody thus please file a bug so that org.eclipse.ecf.provider.xmpp.datashare gets eventually added to e.g. org.eclipse.ecf.datashare.feature (if appropriate). Alternatively we make org.eclipse.ecf.xmpp.feature part of the SDK feature.

In the meantime org.eclipse.ecf.provider.xmpp.datashare can be installed from the build server [0].

[0] http://download.ecf-project.org/repo/C-HEAD-xmpp.feature/lastSuccessful/archive/site.p2/
Comment 14 Ondrej Svetlik CLA 2010-12-10 16:03:51 EST
Wonderful!
osgi> ss xmpp

Framework is launched.

id	State       Bundle
1261	ACTIVE      org.eclipse.ecf.provider.xmpp.ui_2.1.0.v20101029-1626
1283	ACTIVE      org.eclipse.ecf.provider.xmpp_3.2.0.v20101201-1549
	            Fragments=1284, 1285
1284	RESOLVED    org.eclipse.ecf.provider.xmpp.datashare_1.0.0.v20101201-1549
	            Master=1283
1285	RESOLVED    org.eclipse.ecf.provider.xmpp.remoteservice_1.0.0.v20101201-1549
	            Master=1283

Thank you for such quick solution.
Comment 15 Scott Lewis CLA 2010-12-21 14:43:08 EST
(In reply to comment #13)
> (In reply to comment #12)
> 
> > No...I would expect to see the xmpp datashare fragment as well.  Perhaps this
> > is a releng issue and it accidently didn't get into the 3.4 release build. 
> > I'll add Markus K for comment as I think he made the change to the xmpp
> > provider (i.e. the refactoring).
> 
> Looks like org.eclipse.ecf.provider.xmpp.datashare is not part of any feature
> that comprises the SDK feature. 
> Can somebody thus please file a bug so that
> org.eclipse.ecf.provider.xmpp.datashare gets eventually added to e.g.
> org.eclipse.ecf.datashare.feature (if appropriate). Alternatively we make
> org.eclipse.ecf.xmpp.feature part of the SDK feature.
> 

Was a bug filed for this as requested?
Comment 16 Ondrej Svetlik CLA 2010-12-21 14:44:37 EST
(In reply to comment #15)
> (In reply to comment #13)
> > (In reply to comment #12)
> > 
> > > No...I would expect to see the xmpp datashare fragment as well.  Perhaps this
> > > is a releng issue and it accidently didn't get into the 3.4 release build. 
> > > I'll add Markus K for comment as I think he made the change to the xmpp
> > > provider (i.e. the refactoring).
> > 
> > Looks like org.eclipse.ecf.provider.xmpp.datashare is not part of any feature
> > that comprises the SDK feature. 
> > Can somebody thus please file a bug so that
> > org.eclipse.ecf.provider.xmpp.datashare gets eventually added to e.g.
> > org.eclipse.ecf.datashare.feature (if appropriate). Alternatively we make
> > org.eclipse.ecf.xmpp.feature part of the SDK feature.
> > 
> 
> Was a bug filed for this as requested?

Not by me.
Comment 17 Scott Lewis CLA 2010-12-21 15:03:11 EST
(In reply to comment #16)
<stuff deleted>
> > Can somebody thus please file a bug so that
> > org.eclipse.ecf.provider.xmpp.datashare gets eventually added to e.g.
> > org.eclipse.ecf.datashare.feature (if appropriate). Alternatively we make
> > org.eclipse.ecf.xmpp.feature part of the SDK feature.
> > 
> 
> Was a bug filed for this as requested?

Created bug 333041 for addressing this releng issue.  Adding dependency to this new bug.
Comment 18 Scott Lewis CLA 2011-03-01 13:26:23 EST
Resolving, as resolving bug 333041 addresses this issue.