Re: [equinox-dev] Is the P2 installer supposed to work?

2008-05-21 Thread Alex Blewitt
On Wed, May 21, 2008 at 5:20 AM, Jeff McAffer [EMAIL PROTECTED] wrote:
 I should have mentioned...

 - Please enter a bug for this with your good steps.  Thanks!
 - We have been running the installer on windows and the Mac quite regularly 
 and even via JNLP.  This must be a quirk in the build as the product 
 definition file looks fine.

Yeah, I was going to - I just wanted to check that it wasn't already a
known problem.

https://bugs.eclipse.org/bugs/show_bug.cgi?id=233159

It looks like it's not consulting the p2installer.ini file, but that
doesn't matter since the p2installer.ini file doesn't contain the URL
anyway. And the documentation is still wrong on the Wiki.

Still, using the right URL and the command line args to set the system
property, it finally did work; at least in the sense of getting to
another error. This time, it complains 'No repository found at
http://download.eclipse.org/eclipse/updates/3.4milestones/'
___
equinox-dev mailing list
equinox-dev@eclipse.org
https://dev.eclipse.org/mailman/listinfo/equinox-dev


Re: [equinox-dev] Equinox lazy bundle start and deadlocks

2008-05-21 Thread Thomas Watson

The deadlock you describe sounds similar to the issues we were dealing with
in bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=199103 and
https://bugs.eclipse.org/bugs/show_bug.cgi?id=186280.  Both of these bugs
have been addressed in 3.4.  What version of Declarative Services are you
using?  Is it the latest graduated implementation from Equinox?  Can you
try 3.4?

To answer your second question we need more information on the set of
eclipse bundles you need for your application.

Tom




   
  From:   Jan Stette [EMAIL PROTECTED]  
   
  To: Equinox development mailing list equinox-dev@eclipse.org
   
  Date:   05/21/2008 07:19 AM  
   
  Subject:[equinox-dev] Equinox lazy bundle start and deadlocks
   





I'm seeing some deadlock problems with Equinox lazy bundle starting, much
as described at http://wiki.eclipse.org/Lazy_Start_Bundles.  This page
suggests that these were only occurring in 3.2, but I'm running with
Equinox 3.3.  What is the status of resolving these issues?

I should mention as well that I'm using Declarative Services, and that this
is involved in the deadlocks I've seen so far.  The problems relate to the
declarative services code being registered as a bundle listener hence
getting callbacks when bundles are lazily started.  It then synchronously
proceeds to read component specifications and activating services (hence
calling out into client code).  Having all this happening synchronously on
a callback essentially sourced from within a classloader seems like a
recipe for problems!

I'm working on a server-side application so I actually don't care about
lazy start at all.  So to work around the problem, I tried disabling the
EclipseLazyStarter hook using the osgi.hook.configurators.exclude system
property.  This caused problems when starting some Equinox bundles that
would look for services that hadn't been registered.  Presumably because
the bundles providing these services depend on being started via the lazy
start mechanism.  I then tried working around this by ensuring I listed all
necessary bundles in my config.ini with the right start level, but I found
it difficult to come up with a working configuration here.

Does anyone have any other suggestions for how I can run Equinox with lazy
start disabled?

Regards,
Jan
___
equinox-dev mailing list
equinox-dev@eclipse.org
https://dev.eclipse.org/mailman/listinfo/equinox-dev
inline: graycol.gifinline: ecblank.gif___
equinox-dev mailing list
equinox-dev@eclipse.org
https://dev.eclipse.org/mailman/listinfo/equinox-dev


Re: [equinox-dev] Equinox lazy bundle start and deadlocks

2008-05-21 Thread Jan Stette
I'm running with a fairly recent version of the ProSyst DS.  I don't think
this deadlock is the same as the ones  in the bugs you mention though (we
saw those earlier before we got patches for those).  Specifically, those
bugs don't involve lazy bundle starting.

It seems to me that there's an inherent problem with the lazy bundle
starting.  What we're seeing is that one thread goes through the steps:

Bundle is activated - DS is notified, gets lock - enters class loader
as part of activating a service, gets lock.

Whereas a second thread does:

Enters class loader, gets lock - bundle is lazily loaded - DS is
notified, gets lock.

So in one thread, a lock in DS is held before the classloader lock is
acquired, in the other thread the classloader lock is held then it calls out
to DS which will acquire a lock.

Maybe it would be possible to work around this specific case by juggling
locks inside the DS implementation.  But it just seems to me that it would
be very difficult to guard against future errors along this line.
Basically, the lazy bundle loading means that any innocent-looking line of
code like:

   Widget = new Widget();

anywhere in my code can cause a very long chain of synchronous events
including calling back out to my code through bundle and service listener
interfaces.  Ensuring that locking is correct in all situations seems
completely impossible, so I'd much rather just turn lazy loading off.  Any
suggestions for what is the best way to do this?

Regards,
Jan






2008/5/21 Thomas Watson [EMAIL PROTECTED]:

 The deadlock you describe sounds similar to the issues we were dealing with
 in bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=199103 and
 https://bugs.eclipse.org/bugs/show_bug.cgi?id=186280. Both of these bugs
 have been addressed in 3.4. What version of Declarative Services are you
 using? Is it the latest graduated implementation from Equinox? Can you try
 3.4?

 To answer your second question we need more information on the set of
 eclipse bundles you need for your application.

 Tom



 [image: Inactive hide details for Jan Stette ---05/21/2008 07:19:46
 AM---I'm seeing some deadlock problems with Equinox lazy bundle s]Jan
 Stette ---05/21/2008 07:19:46 AM---I'm seeing some deadlock problems with
 Equinox lazy bundle starting, much as described at


 From:
 Jan Stette [EMAIL PROTECTED]
 To:
 Equinox development mailing list equinox-dev@eclipse.org
 Date:
 05/21/2008 07:19 AM
 Subject:
 [equinox-dev] Equinox lazy bundle start and deadlocks
 --



 I'm seeing some deadlock problems with Equinox lazy bundle starting, much
 as described at 
 *http://wiki.eclipse.org/Lazy_Start_Bundles*http://wiki.eclipse.org/Lazy_Start_Bundles.
 This page suggests that these were only occurring in 3.2, but I'm running
 with Equinox 3.3. What is the status of resolving these issues?

 I should mention as well that I'm using Declarative Services, and that this
 is involved in the deadlocks I've seen so far. The problems relate to the
 declarative services code being registered as a bundle listener hence
 getting callbacks when bundles are lazily started. It then synchronously
 proceeds to read component specifications and activating services (hence
 calling out into client code). Having all this happening synchronously on a
 callback essentially sourced from within a classloader seems like a recipe
 for problems!

 I'm working on a server-side application so I actually don't care about
 lazy start at all. So to work around the problem, I tried disabling the
 EclipseLazyStarter hook using the osgi.hook.configurators.exclude system
 property. This caused problems when starting some Equinox bundles that would
 look for services that hadn't been registered. Presumably because the
 bundles providing these services depend on being started via the lazy start
 mechanism. I then tried working around this by ensuring I listed all
 necessary bundles in my config.ini with the right start level, but I found
 it difficult to come up with a working configuration here.

 Does anyone have any other suggestions for how I can run Equinox with lazy
 start disabled?

 Regards,
 Jan
 ___
 equinox-dev mailing list
 equinox-dev@eclipse.org
 https://dev.eclipse.org/mailman/listinfo/equinox-dev


 ___
 equinox-dev mailing list
 equinox-dev@eclipse.org
 https://dev.eclipse.org/mailman/listinfo/equinox-dev


ecblank.gifgraycol.gif___
equinox-dev mailing list
equinox-dev@eclipse.org
https://dev.eclipse.org/mailman/listinfo/equinox-dev


Re: [equinox-dev] How to use p2.generator in PDE build

2008-05-21 Thread Torkild Ulvøy Resheim
Thanks John and Andrew,

I was able to create metadata that looks sane. There was some issues with a 
trailing \n\ following the license in my feature.properties that ended up 
as illegal XML characters in the content.xml though. I was as suggested using 
the following properties in the build settings:

 generate.p2.metadata=true 
 p2.metadata.repo = file:${buildDirectory}/repo 
 p2.artifact.repo = file:${buildDirectory}/repo 
 p2.metadata.repo.name = Meta Repo Name 
 p2.artifact.repo.name = Artifact Repo Name 
 p2.flavor = tooling 
 p2.publish.artifacts=true 

So now I'm attempting to create an installation using the repository and the 
p2 director, I've tried both the ANT task and calls from the command line but 
not much happens. Since all my build scripts are designed to run using xvfb 
(because of the GUI tests at the end) it took a while before I noticed that 
the director actually has a splash screen and shows error messages in a 
dialog. What about headless builds? Anyways I finally got it to run and it 
creates a p2 folder inside my install location containing:

* org.eclipse.equinox.p2.core
* org.eclipse.equinox.p2.engine
* org.eclipse.equinox.p2.director

The process continues to do apparently nothing. The splash screen does not 
disappear and the process never exits. I checked the log file from launching 
the director and it states:

!ENTRY org.eclipse.core.net 4 0 2008-05-21 14:57:20.894
!MESSAGE No password provided.
!STACK 0
org.eclipse.equinox.security.storage.StorageException: No password provided.
at 
org.eclipse.equinox.internal.security.storage.SecurePreferences.get(SecurePreferences.java:264)
at 
org.eclipse.equinox.internal.security.storage.SecurePreferencesWrapper.get(SecurePreferencesWrapper.java:106)
at 
org.eclipse.core.internal.net.ProxyType.loadProxyAuth(ProxyType.java:495)
at 
etc...

So could it be that it fails because I'm behind a password protected proxy? Is 
there a way of not connecting to the Internet when resolving bundle 
dependencies (which I'm guessing that it's doing)?
-- 
Torkild Ulvøy Resheim
Senior Design Engineer
Atmel Norway AS
___
equinox-dev mailing list
equinox-dev@eclipse.org
https://dev.eclipse.org/mailman/listinfo/equinox-dev


Re: [equinox-dev] Is the P2 installer supposed to work?

2008-05-21 Thread Pascal Rapicault

Open a bug with the errors you are getting.


|
| From:  |
|
  
--|
  |Alex Blewitt [EMAIL PROTECTED]   
|
  
--|
|
| To:|
|
  
--|
  |Equinox development mailing list equinox-dev@eclipse.org 
 |
  
--|
|
| Date:  |
|
  
--|
  |05/20/2008 07:47 PM  
 |
  
--|
|
| Subject:   |
|
  
--|
  |[equinox-dev] Is the P2 installer supposed to work?  
 |
  
--|





I only ask because I downloaded the installer from:

  http://download.eclipse.org/eclipse/equinox/drops/S-3.4
RC1-200805161333/index.php#Provisioning

and when running it, it doesn't install the SDK as the documentation
suggests:

  http://wiki.eclipse.org/Equinox_p2_Installer

* Get the installer for your platform from the equinox download page.
* Unzip the installer anywhere on your local disk
* Run the p2installer executable
* In the install wizard, select where you want to install the software

Shows a dialog with Where do you want to install null?

I had a look at the p2installer.ini:

-showsplash
org.eclipse.platform
-vmargs
-Xdock:icon=../Resources/Eclipse.icns
-XstartOnFirstThread
-Xms40m
-Xmx256m
-XX:MaxPermSize=256m
-Dorg.eclipse.swt.internal.carbon.smallFonts

No mention of the org.eclipse.equinox.p2.installDescription that the
page suggests it looks for. I try adding it, and get a new message
saying the error is invalid. That's maybe because the URL that that
page points to is invalid:

  http://update.eclipse.org/eclipse/testUpdates/sdk-installer.properties
- 404 not found

* When finished, you can delete the installer

I deleted it. At least that worked ...

Alex
___
equinox-dev mailing list
equinox-dev@eclipse.org
https://dev.eclipse.org/mailman/listinfo/equinox-dev

inline: graycol.gifinline: ecblank.gif___
equinox-dev mailing list
equinox-dev@eclipse.org
https://dev.eclipse.org/mailman/listinfo/equinox-dev


Re: [equinox-dev] Equinox lazy bundle start and deadlocks

2008-05-21 Thread Thomas Watson

I'm not sure why you cannot just activate every bundle at launch if you
don't care about lazy activation.  Is that what you tried to do but it
failed?

A testcase would really help here.  You mention lots of locks below but I'm
not sure if these are class loader locks established by the vm or framework
locks associated with Bundle lifecycles or DS impl locks.  I suggest you
open a bug against Equinox-Framework to track dead lock issues you are
seeing with lazy activation.

If class loading locks are causing the issue then I suspect you are running
into a flavor of https://bugs.eclipse.org/bugs/show_bug.cgi?id=121737.
Locking the class loader at the VM level is blocked by a long standing Sun
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4670071.  It would be
interesting to know if the VM args mentioned at
https://bugs.eclipse.org/bugs/show_bug.cgi?id=121737#c8 help solve your
problem.

Tom




   
  From:   Jan Stette [EMAIL PROTECTED]  
   
  To: Equinox development mailing list equinox-dev@eclipse.org
   
  Date:   05/21/2008 08:09 AM  
   
  Subject:Re: [equinox-dev] Equinox lazy bundle start and deadlocks
   





I'm running with a fairly recent version of the ProSyst DS.  I don't think
this deadlock is the same as the ones  in the bugs you mention though (we
saw those earlier before we got patches for those).  Specifically, those
bugs don't involve lazy bundle starting.

It seems to me that there's an inherent problem with the lazy bundle
starting.  What we're seeing is that one thread goes through the steps:

Bundle is activated - DS is notified, gets lock - enters class loader
as part of activating a service, gets lock.

Whereas a second thread does:

Enters class loader, gets lock - bundle is lazily loaded - DS is
notified, gets lock.

So in one thread, a lock in DS is held before the classloader lock is
acquired, in the other thread the classloader lock is held then it calls
out to DS which will acquire a lock.

Maybe it would be possible to work around this specific case by juggling
locks inside the DS implementation.  But it just seems to me that it would
be very difficult to guard against future errors along this line.
Basically, the lazy bundle loading means that any innocent-looking line of
code like:

   Widget = new Widget();

anywhere in my code can cause a very long chain of synchronous events
including calling back out to my code through bundle and service listener
interfaces.  Ensuring that locking is correct in all situations seems
completely impossible, so I'd much rather just turn lazy loading off.  Any
suggestions for what is the best way to do this?

Regards,
Jan






2008/5/21 Thomas Watson [EMAIL PROTECTED]:
  The deadlock you describe sounds similar to the issues we were dealing
  with in bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=199103 and
  https://bugs.eclipse.org/bugs/show_bug.cgi?id=186280. Both of these bugs
  have been addressed in 3.4. What version of Declarative Services are you
  using? Is it the latest graduated implementation from Equinox? Can you
  try 3.4?

  To answer your second question we need more information on the set of
  eclipse bundles you need for your application.

  Tom



  Inactive hide details for Jan Stette ---05/21/2008 07:19:46 AM---I'm
  seeing some deadlock problems with Equinox lazy bundle sJan Stette
  ---05/21/2008 07:19:46 AM---I'm seeing some deadlock problems with
  Equinox lazy bundle starting, much as described at



   
   
 From:Jan Stette [EMAIL PROTECTED]  
   
   
 To:  Equinox development mailing list  
  equinox-dev@eclipse.org 
   
   
 Date:05/21/2008 07:19 AM  
   
   
 Subject: [equinox-dev] Equinox lazy bundle start and deadlocks
   






  I'm seeing some deadlock problems with Equinox lazy bundle starting, much
  as described at 

[equinox-dev] Equinox Contribution

2008-05-21 Thread Thomas Watson

The map file has been updated for the following Bug changes:
+ Bug 232159. Can't access update site with 3.4.0 I20080502-0100 (FIXED)

The following projects have changed:
org.eclipse.osgi

Tom
___
equinox-dev mailing list
equinox-dev@eclipse.org
https://dev.eclipse.org/mailman/listinfo/equinox-dev


[equinox-dev] p2 bundles tagged for build

2008-05-21 Thread John Arthorne
The map file has been updated for the following Bug changes:
+ Bug 218532. [ui] IUs below the root that have licenses need to be 
surfaced to user (FIXED)
+ Bug 228542. [ui] Check for updates presents wrong licenses to be 
accepted (FIXED)
+ Bug 231642. [ui] [repo] I can add the same repo twice (FIXED)
+ Bug 232315. Uninstall of the director application should not require 
repo (FIXED)
+ Bug 232992. [ui] Incorrect update plan when changing selection in update 
wizard (FIXED)
+ Bug 233052. Shared bundle pool shows up as non-system repository (FIXED)
+ Bug 233210. Translation Clarification - 
org.eclipse.equinox.p2.extensionlocation (FIXED)
+ Bug 233226. BundleDescriptionFactory log is useless (FIXED)
+ Bug 233250. Mirror sorted in wrong order (FIXED)

The following projects have changed:
org.eclipse.equinox.p2.artifact.repository
org.eclipse.equinox.p2.extensionlocation
org.eclipse.equinox.p2.ui
org.eclipse.equinox.p2.metadata.generator
org.eclipse.equinox.p2.metadata.repository
org.eclipse.equinox.p2.tests
org.eclipse.equinox.p2.director.app___
equinox-dev mailing list
equinox-dev@eclipse.org
https://dev.eclipse.org/mailman/listinfo/equinox-dev