title: java.lang.NullPointerException: Application ID must not be null
body: <p>I just faced this bug during eclipse plugin-development.</p>
  
  <p>The said <code>NullPointerException</code> with a stacktrace of ~90.000 lines popped up when testing the plugin via "Launch eclipse application", where the plugin worked like a charm 5 min before.
  I did not find anything useful when searching the web for this Exception.</p>
  
  <p>The stacktrace does not even show a file from my plugin, only eclipse-internal files are listed.</p>
  
  <p>Here parts of the stacktrace (The whole trace is to big to add it here)</p>
  
  <pre><code>org.osgi.framework.BundleException: Error loading bundle activator.
      at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:711)
      at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:936)
      at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:319)
      at org.eclipse.osgi.container.Module.doStart(Module.java:571)
      at org.eclipse.osgi.container.Module.start(Module.java:439)
      at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1582)
      at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1562)
      at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1533)
      at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1476)
      at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
      at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
      at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
  Caused by: java.lang.ClassNotFoundException: An error occurred while automatically activating bundle org.eclipse.core.runtime (119).
      at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:116)
      at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:531)
      at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:324)
      at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:320)
      at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:395)
      at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:345)
      at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:337)
      at org.eclipse.osgi.internal.framework.BundleContextImpl.loadBundleActivator(BundleContextImpl.java:754)
      at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:706)
      at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:936)
      at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:319)
      at org.eclipse.osgi.container.Module.doStart(Module.java:571)
      at org.eclipse.osgi.container.Module.start(Module.java:439)
      at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:454)
      at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:107)
      at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:531)
      at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:324)
      at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:320)
      at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:395)
      at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:345)
      at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:337)
      at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:160)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
      at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:568)
      at org.eclipse.equinox.internal.ds.model.ServiceComponent.createInstance(ServiceComponent.java:493)
      at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.createInstance(ServiceComponentProp.java:270)
      at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:331)
      at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)
      at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)
      at org.eclipse.equinox.internal.ds.Resolver.buildNewlySatisfied(Resolver.java:473)
      at org.eclipse.equinox.internal.ds.Resolver.enableComponents(Resolver.java:217)
      at org.eclipse.equinox.internal.ds.SCRManager.performWork(SCRManager.java:816)
      at org.eclipse.equinox.internal.ds.SCRManager$QueuedJob.dispatch(SCRManager.java:783)
      at org.eclipse.equinox.internal.ds.WorkThread.run(WorkThread.java:89)
      at java.lang.Thread.run(Thread.java:745)
  Caused by: org.osgi.framework.BundleException: Exception in org.eclipse.core.internal.runtime.PlatformActivator.start() of bundle org.eclipse.core.runtime.
      at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:792)
      at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:721)
      at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:936)
      at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:319)
      at org.eclipse.osgi.container.Module.doStart(Module.java:571)
      at org.eclipse.osgi.container.Module.start(Module.java:439)
      at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:454)
      at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:107)
      ... 34 more
  Caused by: java.lang.NoClassDefFoundError: org/eclipse/equinox/internal/app/CommandLineArgs
      at org.eclipse.core.internal.runtime.PlatformActivator.startAppContainer(PlatformActivator.java:47)
      at org.eclipse.core.internal.runtime.PlatformActivator.start(PlatformActivator.java:33)
      at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:771)
      at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
      at java.security.AccessController.doPrivileged(Native Method)
      at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:764)
      ... 41 more
  Caused by: java.lang.ClassNotFoundException: An error occurred while automatically activating bundle org.eclipse.equinox.app (173).
      at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:116)
      at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:531)
      at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:324)
      at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:320)
      at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
      at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:391)
      at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:345)
      at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:337)
      at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:160)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
      ... 47 more
  Caused by: org.osgi.framework.BundleException: Exception in org.eclipse.equinox.internal.app.Activator.start() of bundle org.eclipse.equinox.app.
      at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:792)
      at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:721)
      at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:936)
      at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:319)
      at org.eclipse.osgi.container.Module.doStart(Module.java:571)
      at org.eclipse.osgi.container.Module.start(Module.java:439)
      at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:454)
      at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:107)
      ... 56 more
  Caused by: java.lang.NullPointerException: Application ID must not be null!
      at org.osgi.service.application.ApplicationDescriptor.&lt;init&gt;(ApplicationDescriptor.java:128)
      at org.eclipse.equinox.internal.app.EclipseAppDescriptor.&lt;init&gt;(EclipseAppDescriptor.java:52)
      at org.eclipse.equinox.internal.app.EclipseAppContainer.createAppDescriptor(EclipseAppContainer.java:186)
      at org.eclipse.equinox.internal.app.EclipseAppContainer.registerAppDescriptors(EclipseAppContainer.java:272)
      at org.eclipse.equinox.internal.app.EclipseAppContainer.start(EclipseAppContainer.java:99)
      at org.eclipse.equinox.internal.app.Activator.addingService(Activator.java:134)
      at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941)
      at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:1)
      at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)
      at org.osgi.util.tracker.AbstractTracked.trackInitial(AbstractTracked.java:183)
      at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:318)
      at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:261)
      at org.eclipse.equinox.internal.app.Activator.start(Activator.java:56)
      at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:771)
      at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
      at java.security.AccessController.doPrivileged(Native Method)
      at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:764)
      ... 63 more
  Root exception:
  java.lang.ClassNotFoundException: An error occurred while automatically activating bundle org.eclipse.core.runtime (119).
      at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:116)
      at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:531)
      at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:324)
      at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:320)
      at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:395)
      at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:345)
      at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:337)
      at org.eclipse.osgi.internal.framework.BundleContextImpl.loadBundleActivator(BundleContextImpl.java:754)
      at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:706)
      at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:936)
      at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:319)
      at org.eclipse.osgi.container.Module.doStart(Module.java:571)
      at org.eclipse.osgi.container.Module.start(Module.java:439)
      at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:454)
      at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:107)
      at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:531)
      at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:324)
      at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:320)
      at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:395)
      at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:345)
      at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:337)
      at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:160)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
      at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:568)
      at org.eclipse.equinox.internal.ds.model.ServiceComponent.createInstance(ServiceComponent.java:493)
      at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.createInstance(ServiceComponentProp.java:270)
      at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:331)
      at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)
      at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)
      at org.eclipse.equinox.internal.ds.Resolver.buildNewlySatisfied(Resolver.java:473)
      at org.eclipse.equinox.internal.ds.Resolver.enableComponents(Resolver.java:217)
      at org.eclipse.equinox.internal.ds.SCRManager.performWork(SCRManager.java:816)
      at org.eclipse.equinox.internal.ds.SCRManager$QueuedJob.dispatch(SCRManager.java:783)
      at org.eclipse.equinox.internal.ds.WorkThread.run(WorkThread.java:89)
      at java.lang.Thread.run(Thread.java:745)
  Caused by: org.osgi.framework.BundleException: Exception in org.eclipse.core.internal.runtime.PlatformActivator.start() of bundle org.eclipse.core.runtime.
      at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:792)
      at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:721)
      at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:936)
      at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:319)
      at org.eclipse.osgi.container.Module.doStart(Module.java:571)
      at org.eclipse.osgi.container.Module.start(Module.java:439)
      at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:454)
      at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:107)
      ... 34 more
  Caused by: java.lang.NoClassDefFoundError: org/eclipse/equinox/internal/app/CommandLineArgs
      at org.eclipse.core.internal.runtime.PlatformActivator.startAppContainer(PlatformActivator.java:47)
      at org.eclipse.core.internal.runtime.PlatformActivator.start(PlatformActivator.java:33)
      at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:771)
      at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
      at java.security.AccessController.doPrivileged(Native Method)
      at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:764)
      ... 41 more
  Caused by: java.lang.ClassNotFoundException: An error occurred while automatically activating bundle org.eclipse.equinox.app (173).
      at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:116)
      at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:531)
      at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:324)
      at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:320)
      at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
      at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:391)
      at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:345)
      at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:337)
      at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:160)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
      ... 47 more
  Caused by: org.osgi.framework.BundleException: Exception in org.eclipse.equinox.internal.app.Activator.start() of bundle org.eclipse.equinox.app.
      at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:792)
      at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:721)
      at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:936)
      at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:319)
      at org.eclipse.osgi.container.Module.doStart(Module.java:571)
      at org.eclipse.osgi.container.Module.start(Module.java:439)
      at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:454)
      at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:107)
      ... 56 more
  Caused by: java.lang.NullPointerException: Application ID must not be null!
      at org.osgi.service.application.ApplicationDescriptor.&lt;init&gt;(ApplicationDescriptor.java:128)
      at org.eclipse.equinox.internal.app.EclipseAppDescriptor.&lt;init&gt;(EclipseAppDescriptor.java:52)
      at org.eclipse.equinox.internal.app.EclipseAppContainer.createAppDescriptor(EclipseAppContainer.java:186)
      at org.eclipse.equinox.internal.app.EclipseAppContainer.registerAppDescriptors(EclipseAppContainer.java:272)
      at org.eclipse.equinox.internal.app.EclipseAppContainer.start(EclipseAppContainer.java:99)
      at org.eclipse.equinox.internal.app.Activator.addingService(Activator.java:134)
      at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941)
      at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:1)
      at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)
      at org.osgi.util.tracker.AbstractTracked.trackInitial(AbstractTracked.java:183)
      at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:318)
      at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:261)
      at org.eclipse.equinox.internal.app.Activator.start(Activator.java:56)
      at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:771)
      at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
      at java.security.AccessController.doPrivileged(Native Method)
      at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:764)
      ... 63 more
  </code></pre>