[HK2-304] org.glassfish.hk2.utilities.reflection.ReflectionHelper#parseServiceMetadataString is badly broken Created: 16/Sep/16  Updated: 16/Sep/16

Status: Open
Project: hk2
Component/s: None
Affects Version/s: 2.3.0
Fix Version/s: None

Type: Bug Priority: Major
Reporter: ljnelson Assignee: jwells
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

There does not appear to be a way to place a metadata string inside the Service annotation in such a way that multiple values for a given key will be parsed successfully by the org.glassfish.hk2.utilities.reflection.ReflectionHelper#parseServiceMetadataString(String, Map) method.






[HK2-303] HK2 jars are not importing correct osgi-resource-locator version Created: 08/Sep/16  Updated: 08/Sep/16

Status: Open
Project: hk2
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major
Reporter: Mark Woon Assignee: jwells
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

MANIFEST.MF of hk2-api.jar has this in Import-package: org.glassfish.hk2.osgiresourcelocator;version="[1.0,2)"

This means it cannot use the current versions of osgi-resource-locator.jar (2.x) in maven, which tracks with HK2 releases.

Is this intentional? I'm guessing not.

Either pom.xml should specify version dependency (if it truly requires osgi-resource-locator 1.x) or MANIFEST.MF should be updated to use the right osgi-resource-locator version.






[HK2-301] Use maven-jar-plugin 3.X.X ? Created: 22/Jun/16  Updated: 22/Jun/16

Status: Open
Project: hk2
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Major
Reporter: puntogil Assignee: Romain Grécourt
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

hi
any plan for use maven-jar-plugin 3.0.0 or major ?
regards
thanks in advance



 Comments   
Comment by puntogil [ 22/Jun/16 ]

cause: 'useDefaultManifestFile' has been removed from the maven-jar-plugin >= 3.0.0

Comment by Romain Grécourt [ 22/Jun/16 ]

Are you getting an error while building HK2 ?
If so, what maven version are you using ?

maven-jar-plugin version is set to 2.4 in the pluginManagement section of the HK2 parent pom, is a different version somehow used in your case ?

Comment by puntogil [ 22/Jun/16 ]

yes
Running org.glassfish.hk2.maven.VersionTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.076 sec - in org.glassfish.hk2.maven.VersionTest
Results :
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[INFO]
[INFO] — maven-jar-plugin:3.0.1:jar (default-jar) @ osgiversion-maven-plugin —
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Skipping HK2
[INFO] This project has been banned from the build due to previous failures.
[INFO] ------------------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] HK2 Bom Pom ........................................ SUCCESS [ 0.004 s]
[INFO] HK2 ................................................ SUCCESS [ 0.500 s]
[INFO] OSGiVersion Maven Plugin ........................... FAILURE [ 3.958 s]
[INFO] OSGi resource locator .............................. SKIPPED
[INFO] HK2 Implementation Utilities ....................... SKIPPED
[INFO] HK2 API module ..................................... SKIPPED
[INFO] ServiceLocator Default Implementation .............. SKIPPED
[INFO] HK2 core module .................................... SKIPPED
[INFO] Module system maven support ........................ SKIPPED
[INFO] Inhabitant Generator ............................... SKIPPED
[INFO] HK2 Metadata Generator Subsystem ................... SKIPPED
[INFO] HK2 Metadata Generator ............................. SKIPPED
[INFO] HK2 Metadata Generator Test One .................... SKIPPED
[INFO] consolidated bundle Maven plugin ................... SKIPPED
[INFO] HK2 Junit Runner ................................... SKIPPED
[INFO] Run Level Service .................................. SKIPPED
[INFO] Class Model for Hk2 ................................ SKIPPED
[INFO] OSGi code .......................................... SKIPPED
[INFO] HK2 OSGi Adapter ................................... SKIPPED
[INFO] osgi-adapter-tests-parent .......................... SKIPPED
[INFO] Holds test contracts ............................... SKIPPED
[INFO] Simulates a bundle ................................. SKIPPED
[INFO] Manages the faux sdp management bundle ............. SKIPPED
[INFO] a test module startup .............................. SKIPPED
[INFO] A bundle with no hk2 dependencies .................. SKIPPED
[INFO] Static Analyser for verifying module dependency .... SKIPPED
[INFO] hk2-dependency-visualizer .......................... SKIPPED
[INFO] HK2 Ant Inhabitant Generator Test .................. SKIPPED
[INFO] HK2 Locator unit tests ............................. SKIPPED
[INFO] HK2 extras module .................................. SKIPPED
[INFO] HK2 TestNG runner .................................. SKIPPED
[INFO] HK2 RunLevel unit tests ............................ SKIPPED
[INFO] HK2 Locator No Proxy Unit tests .................... SKIPPED
[INFO] HK2 Locator No Proxy Unit tests (2) ................ SKIPPED
[INFO] Utilities for testing with HK2 ..................... SKIPPED
[INFO] Interceptor/Eventing Test Suite .................... SKIPPED
[INFO] HK2 Mockito ........................................ SKIPPED
[INFO] Collections Tests .................................. SKIPPED
[INFO] HK2 Guice Bridge ................................... SKIPPED
[INFO] HK2 Spring Bridge .................................. SKIPPED
[INFO] HK2 JMX module ..................................... SKIPPED
[INFO] HK2 Configuration Subsystem ........................ SKIPPED
[INFO] HK2 Configuration Persistence Modules .............. SKIPPED
[INFO] HK2 Dom Based XML Parser ........................... SKIPPED
[INFO] HK2 configuration module ........................... SKIPPED
[INFO] HK2 configuration reader generator module .......... SKIPPED
[INFO] HK2 config types ................................... SKIPPED
[INFO] HK2 module of HK2 itself ........................... SKIPPED
[INFO] HK2 Configuration Hub .............................. SKIPPED
[INFO] HK2 Configuration Integration ...................... SKIPPED
[INFO] hk2-config Hub integration ......................... SKIPPED
[INFO] HK2 Configuration Property File Reader ............. SKIPPED
[INFO] HK2 XML Parser using JAXB .......................... SKIPPED
[INFO] HK2 XML Reader using JAXB .......................... SKIPPED
[INFO] HK2 XML Reader Test ................................ SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5.768 s
[INFO] Finished at: 2016-06-21T02:20:13+00:00
[INFO] Final Memory: 40M/282M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-jar-plugin:3.0.1:jar (default-jar) on project osgiversion-maven-plugin: You are using 'useDefaultManifestFile' which has been removed from the maven-jar-plugin. Please see the >>Major Version Upgrade to version 3.0.0<< on the plugin site. -> [Help 1]
[ERROR]

maven 3.3.9
maven-bundle-plugin 3.0.1
openjdk 1.8.0.92-1.b14
for now have solved the problem adding or replacing in pom files:
packaging bundle
maven-bundle-plugin now use/d "<extensions>true</extensions>"

in the following modules:
class-model
guice-bridge
hk2
hk2-api
hk2-configuration/hk2-integration
hk2-configuration/manager
hk2-configuration/persistence/hk2-xml/main
hk2-configuration/persistence/hk2-xml/test1
hk2-configuration/persistence/hk2-xml-dom/config-types
hk2-configuration/persistence/hk2-xml-dom/hk2-config
hk2-configuration/persistence/hk2-xml-dom/hub-integration
hk2-configuration/persistence/property-file
hk2-core
hk2-extras
hk2-jmx
hk2-locator
hk2-runlevel
hk2-testing/collections
hk2-testing/hk2-junitrunner
hk2-testing/hk2-locator-extras
hk2-testing/hk2-locator-no-proxies
hk2-testing/hk2-locator-no-proxies2
hk2-utils
osgi/adapter
osgi/adapter-tests/contract-bundle
osgi/adapter-tests/faux-sdp-bundle
osgi/adapter-tests/no-hk2-bundle
osgi/adapter-tests/sdp-management-bundle
osgi/adapter-tests/test-module-startup
osgi-resource-locator
spring-bridge





[HK2-279] Server won't start after changing the level for root logger in logging.properties file. Created: 28/Jul/15  Updated: 07/Sep/15  Due: 07/Sep/15

Status: In Progress
Project: hk2
Component/s: www
Affects Version/s: 2.4.0
Fix Version/s: None

Type: Bug Priority: Major
Reporter: bgurung Assignee: jwells
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: 1 day
Time Spent: 2 days
Original Estimate: 3 days
Environment:

Windows 7, Java 8



 Description   

The default level in the logging.properties file for the root logger is INFO -

.level=INFO

If I change it's level to FINEST -

.level=FINEST

The server won't start. Following is the output on the command window -

<pre>
E:\glassfish-4.1\glassfish\bin>asadmin start-domain -v
Jul 28, 2015 4:00:21 PM com.sun.enterprise.admin.launcher.GFLauncherLogger info
INFO: JVM invocation command line:
E:\Java\jdk1.8.0_25\bin\java.exe
-cp
E:/glassfish-4.1/glassfish/modules/glassfish.jar
-XX:+UnlockDiagnosticVMOptions
-XX:NewRatio=2
-XX:MaxPermSize=192m
-Xmx512m
-client
-javaagent:E:/glassfish-4.1/glassfish/lib/monitor/flashlight-agent.jar
-Djavax.xml.accessExternalSchema=all
-Djavax.net.ssl.trustStore=E:\glassfish-4.1\glassfish\domains\domain1/config/cacerts.jks
-Djdk.corba.allowOutputStreamSubclass=true
-Dfelix.fileinstall.dir=E:\glassfish-4.1\glassfish/modules/autostart/
-Dorg.glassfish.additionalOSGiBundlesToStart=org.apache.felix.shell,org.apache.felix.gogo.runtime,org.apache.felix.gogo.shell,org.apache.felix.gogo.command,org.apache.felix.shell.remote,org.apache.felix.fileinstall
-Dcom.sun.aas.installRoot=E:\glassfish-4.1\glassfish
-Dfelix.fileinstall.poll=5000
-Djava.security.policy=E:\glassfish-4.1\glassfish\domains\domain1/config/server.policy
-Djava.endorsed.dirs=E:\glassfish-4.1\glassfish/modules/endorsed;E:\glassfish-4.1\glassfish/lib/endorsed
-Dfelix.fileinstall.bundles.startTransient=true
-Dosgi.shell.telnet.maxconn=1
-Dfelix.fileinstall.log.level=2
-Dcom.sun.enterprise.config.config_environment_factory_class=com.sun.enterprise.config.serverbeans.AppserverConfigEnvironmentFactory
-Djavax.net.ssl.keyStore=E:\glassfish-4.1\glassfish\domains\domain1/config/keystore.jks
-Djava.security.auth.login.config=E:\glassfish-4.1\glassfish\domains\domain1/config/login.conf
-Dfelix.fileinstall.disableConfigSave=false
-Dfelix.fileinstall.bundles.new.start=true
-Dcom.sun.aas.instanceRoot=E:\glassfish-4.1\glassfish\domains\domain1
-Dosgi.shell.telnet.port=6666
Dgosh.args=-nointeractive
-Dcom.sun.enterprise.security.httpsOutboundKeyAlias=s1as
-Dosgi.shell.telnet.ip=127.0.0.1
-DANTLR_USE_DIRECT_CLASS_LOADING=true
-Dcom.ctc.wstx.returnNullForDefaultNamespace=true
-Djava.awt.headless=true
-Djava.ext.dirs=E:\Java\jdk1.8.0_25/lib/ext;E:\Java\jdk1.8.0_25/jre/lib/ext;E:\glassfish-4.1\glassfish\domains\domain1/lib/ext
-Djdbc.drivers=org.apache.derby.jdbc.ClientDriver
-Djava.library.path=E:/glassfish-4.1/glassfish/lib;E:/Java/jdk1.8.0_25/bin;C:/Windows/Sun/Java/bin;C:/Windows/System32;C:/Windows;C:/ProgramData/Oracle/Java/javapath;C:/Program Files/Common Files/Microsoft Shared/Windows Live;C:/Program Files (x86)/Common Files/micros
oft shared/Windows Live;C:/Program Files (x86)/Intel/iCLS Client;C:/Program Files/Intel/iCLS Client;C:/Program Files (x86)/AMD APP/bin/x86_64;C:/Program Files (x86)/AMD APP/bin/x86;C:/Windows/System32/wbem;C:/Windows/System32/WindowsPowerShell/v1.0;C:/Program Files (x
86)/ATI Technologies/ATI.ACE/Core-Static;C:/Program Files/Intel/Intel(R) Management Engine Components/DAL;C:/Program Files/Intel/Intel(R) Management Engine Components/IPT;C:/Program Files (x86)/Intel/Intel(R) Management Engine Components/DAL;C:/Program Files (x86)/Int
el/Intel(R) Management Engine Components/IPT;C:/Program Files/Dell/Dell Data Protection/Access/Advanced/Wave/Gemalto/Access Client/v5;C:/Program Files (x86)/Security Innovation/SI TSS/bin;C:/Program Files (x86)/Windows Live/Shared;C:/Program Files (x86)/Attachmate/EXT
RA!;E:/_2ls/apache-maven-3.0.5/bin;E:/Program Files/IBM/SQLLIB/BIN;E:/Program Files/IBM/SQLLIB/FUNCTION;E:/Program Files/IBM/SQLLIB/samples/repl;C:/Program Files (x86)/IBM/RationalSDLC/ClearCase/bin;C:/Program Files (x86)/IBM/RationalSDLC/common;E:/Program Files/putty
;E:/_ant_viz/graphviz-2.38/bin;E:/Program Files/TortoiseSVN/bin;E:/ANT_1.9.4/bin;E:/Program Files (x86)/Git/cmd;E:/Program Files/nodejs;E:/Program Files (x86)/Heroku/bin;C:/Program Files (x86)/git/cmd;E:/db-derby-10.11.1.1-bin/bin;E:/Python34;E:/Python34/Scripts;E:/Ru
by22-x64/bin;C:/Users/bgurung/AppData/Roaming/npm;E:/gradle-2.2.1/bin;C:/Users/bgurung/AppData/Local/Apps/cURL/bin;E:/glassfish-4.1/glassfish/bin
com.sun.enterprise.glassfish.bootstrap.ASMain
-upgrade
false
-domaindir
E:/glassfish-4.1/glassfish/domains/domain1
-read-stdin
true
-asadmin-args
-host,,,localhost,,,port,,,4848,,,secure=false,,,terse=false,,,echo=false,,,interactive=true,,,start-domain,,,verbose=true,,,watchdog=false,,,debug=false,,,-domaindir,,,E:\glassfish-4.1\glassfish\domains,,,domain1
-domainname
domain1
-instancename
server
-type
DAS
-verbose
true
-asadmin-classpath
E:/glassfish-4.1/glassfish/lib/client/appserver-cli.jar
-debug
false
-asadmin-classname
com.sun.enterprise.admin.cli.AdminMain
Launching GlassFish on Felix platform
Jul 28, 2015 4:00:22 PM com.sun.enterprise.glassfish.bootstrap.osgi.BundleProvisioner createBundleProvisioner
INFO: Create bundle provisioner class = class com.sun.enterprise.glassfish.bootstrap.osgi.BundleProvisioner.
Jul 28, 2015 4:00:22 PM com.sun.enterprise.glassfish.bootstrap.osgi.BundleProvisioner$DefaultCustomizer getLocations
WARNING: Skipping entry because it is not an absolute URI.
Jul 28, 2015 4:00:22 PM com.sun.enterprise.glassfish.bootstrap.osgi.BundleProvisioner$DefaultCustomizer getLocations
WARNING: Skipping entry because it is not an absolute URI.
Registered com.sun.enterprise.glassfish.bootstrap.osgi.EmbeddedOSGiGlassFishRuntime@172bfa68 in service registry.
Found populator: com.sun.enterprise.v3.server.GFDomainXml

#!## LogManagerService.postConstruct : rootFolder=E:\glassfish-4.1\glassfish
#!## LogManagerService.postConstruct : templateDir=E:\glassfish-4.1\glassfish\lib\templates
#!## LogManagerService.postConstruct : src=E:\glassfish-4.1\glassfish\lib\templates\logging.properties
#!## LogManagerService.postConstruct : dest=E:\glassfish-4.1\glassfish\domains\domain1\config\logging.properties
Jul 28, 2015 4:00:23 PM com.sun.enterprise.server.logging.LogManagerService postConstruct
FINE: Record begin marker is not a proper value so using default.
Jul 28, 2015 4:00:23 PM com.sun.enterprise.server.logging.LogManagerService postConstruct
FINE: Record end marker is not a proper value so using default.
Jul 28, 2015 4:00:23 PM com.sun.enterprise.server.logging.LogManagerService postConstruct
FINE: Log Format field separator is not a proper value so using default.
Jul 28, 2015 4:00:23 PM com.sun.enterprise.server.logging.LogManagerService postConstruct
FINE: Date Format specified is wrong so using default.
</pre>

The start-up process doesn't go any further than that.

Again, if I change the level back to INFO, the server starts fine.

Does anyone know what's wrong?



 Comments   
Comment by Debayan_Gupta [ 04/Sep/15 ]

This is happening due to a deadlock/infinite wait situation happening from hk2 side. From the thread dump below, LRUHybridCache.compute() , which fires one future task, is waiting infinitely and thus causing the Glassfish to hang forever. Moving this to hk2 project.

Probable root cause:

  • The compute() method in LRUHybridCache creates a FutureTask which again calls the same compute() method. To avoid this, one CycleHandler is defined which supposed to be throwing some kind of RuntimeException, but in LRUHybridCache implementation, it uses one empty implementation of CycleHandler , where handleCycle() has a dummy implementation. This creates an infinite calling of the compute method and causing FutureTask to wait forever.

Probable solution:

  • Implement a valid CycleHandler to handle this situation.

THREAD DUMP
============================

2015-09-04 13:55:49
Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.45-b02 mixed mode):

"pool-1-thread-1" #22 daemon prio=5 os_prio=0 tid=0x00007fc8c003a000 nid=0x2311 waiting on condition [0x00007fc8b3ffe000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)

  • parking to wait for <0x00000000f6c57fb0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

Locked ownable synchronizers:

  • None

"Attach Listener" #21 daemon prio=9 os_prio=0 tid=0x00007fc8f0001000 nid=0x2310 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE

Locked ownable synchronizers:

  • None

"RunLevelControllerThread-1441355122295" #20 daemon prio=5 os_prio=0 tid=0x00007fc8bc00e800 nid=0x230e waiting on condition [0x00007fc9082e9000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)

  • parking to wait for <0x00000000f622f9d0> (a java.util.concurrent.SynchronousQueue$TransferQueue)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
    at java.util.concurrent.SynchronousQueue$TransferQueue.awaitFulfill(SynchronousQueue.java:764)
    at java.util.concurrent.SynchronousQueue$TransferQueue.transfer(SynchronousQueue.java:695)
    at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

Locked ownable synchronizers:

  • None

"RunLevelControllerThread-1441355122291" #19 daemon prio=5 os_prio=0 tid=0x00007fc8bc00b800 nid=0x230d in Object.wait() [0x00007fc9083e9000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)

  • waiting on <0x00000000f622fe68> (a org.glassfish.hk2.runlevel.internal.AsyncRunLevelContext)
    at java.lang.Object.wait(Object.java:502)
    at org.glassfish.hk2.runlevel.internal.AsyncRunLevelContext.findOrCreate(AsyncRunLevelContext.java:188)
  • locked <0x00000000f622fe68> (a org.glassfish.hk2.runlevel.internal.AsyncRunLevelContext)
    at org.glassfish.hk2.runlevel.RunLevelContext.findOrCreate(RunLevelContext.java:84)
    at org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2064)
    at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:105)
  • locked <0x00000000f72dbe00> (a java.lang.Object)
    at org.jvnet.hk2.internal.ServiceLocatorImpl.getService(ServiceLocatorImpl.java:645)
    at org.jvnet.hk2.internal.ThreeThirtyResolver.resolve(ThreeThirtyResolver.java:77)
    at org.jvnet.hk2.internal.ClazzCreator.resolve(ClazzCreator.java:214)
    at org.jvnet.hk2.internal.ClazzCreator.resolveAllDependencies(ClazzCreator.java:237)
    at org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:360)
    at org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:471)
    at org.glassfish.hk2.runlevel.internal.AsyncRunLevelContext.findOrCreate(AsyncRunLevelContext.java:227)
    at org.glassfish.hk2.runlevel.RunLevelContext.findOrCreate(RunLevelContext.java:84)
    at org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2064)
    at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:105)
  • locked <0x00000000f67b9938> (a java.lang.Object)
    at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:87)
    at org.glassfish.hk2.runlevel.internal.CurrentTaskFuture$QueueRunner.oneJob(CurrentTaskFuture.java:1212)
    at org.glassfish.hk2.runlevel.internal.CurrentTaskFuture$QueueRunner.run(CurrentTaskFuture.java:1143)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

Locked ownable synchronizers:

  • <0x00000000f67b9c58> (a java.util.concurrent.ThreadPoolExecutor$Worker)

"RunLevelControllerThread-1441355122280" #18 daemon prio=5 os_prio=0 tid=0x00007fc8bc002000 nid=0x230c waiting on condition [0x00007fc9084e8000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)

  • parking to wait for <0x00000000f76d3810> (a java.util.concurrent.FutureTask)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    at java.util.concurrent.FutureTask.awaitDone(FutureTask.java:429)
    at java.util.concurrent.FutureTask.get(FutureTask.java:191)
    at org.glassfish.hk2.utilities.cache.LRUHybridCache$OriginThreadAwareFuture.get(LRUHybridCache.java:164)
    at org.glassfish.hk2.utilities.cache.LRUHybridCache.compute(LRUHybridCache.java:303)
    at org.jvnet.hk2.internal.ServiceLocatorImpl.internalGetDescriptor(ServiceLocatorImpl.java:1169)
    at org.jvnet.hk2.internal.ServiceLocatorImpl.internalGetService(ServiceLocatorImpl.java:708)
    at org.jvnet.hk2.internal.ServiceLocatorImpl.getService(ServiceLocatorImpl.java:653)
    at com.sun.enterprise.server.logging.UniformLogFormatter.getProductId(UniformLogFormatter.java:192)
    at com.sun.enterprise.server.logging.UniformLogFormatter.uniformLogFormat(UniformLogFormatter.java:291)
    at com.sun.enterprise.server.logging.UniformLogFormatter.format(UniformLogFormatter.java:178)
    at java.util.logging.StreamHandler.publish(StreamHandler.java:211)
  • locked <0x00000000f7446730> (a java.util.logging.ConsoleHandler)
    at java.util.logging.ConsoleHandler.publish(ConsoleHandler.java:116)
    at java.util.logging.Logger.log(Logger.java:738)
    at java.util.logging.Logger.doLog(Logger.java:765)
    at java.util.logging.Logger.log(Logger.java:788)
    at java.util.logging.Logger.fine(Logger.java:1515)
    at org.glassfish.security.services.common.SecurityAccessFilter.matches(SecurityAccessFilter.java:78)
    at org.jvnet.hk2.internal.SystemDescriptor.isValidating(SystemDescriptor.java:864)
    at org.jvnet.hk2.internal.ServiceLocatorImpl.validate(ServiceLocatorImpl.java:244)
    at org.jvnet.hk2.internal.ServiceLocatorImpl.narrow(ServiceLocatorImpl.java:2197)
    at org.jvnet.hk2.internal.ServiceLocatorImpl.access$1000(ServiceLocatorImpl.java:120)
    at org.jvnet.hk2.internal.ServiceLocatorImpl$7.compute(ServiceLocatorImpl.java:1085)
    at org.jvnet.hk2.internal.ServiceLocatorImpl$7.compute(ServiceLocatorImpl.java:1080)
    at org.glassfish.hk2.utilities.cache.LRUHybridCache$OriginThreadAwareFuture$1.call(LRUHybridCache.java:115)
    at org.glassfish.hk2.utilities.cache.LRUHybridCache$OriginThreadAwareFuture$1.call(LRUHybridCache.java:111)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at org.glassfish.hk2.utilities.cache.LRUHybridCache$OriginThreadAwareFuture.run(LRUHybridCache.java:173)
    at org.glassfish.hk2.utilities.cache.LRUHybridCache.compute(LRUHybridCache.java:292)
    at org.jvnet.hk2.internal.ServiceLocatorImpl.internalGetDescriptor(ServiceLocatorImpl.java:1169)
    at org.jvnet.hk2.internal.ServiceLocatorImpl.internalGetService(ServiceLocatorImpl.java:708)
    at org.jvnet.hk2.internal.ServiceLocatorImpl.getService(ServiceLocatorImpl.java:653)
    at com.sun.enterprise.server.logging.UniformLogFormatter.getProductId(UniformLogFormatter.java:192)
    at com.sun.enterprise.server.logging.UniformLogFormatter.uniformLogFormat(UniformLogFormatter.java:291)
    at com.sun.enterprise.server.logging.UniformLogFormatter.format(UniformLogFormatter.java:178)
    at java.util.logging.StreamHandler.publish(StreamHandler.java:211)
  • locked <0x00000000f7446730> (a java.util.logging.ConsoleHandler)
    at java.util.logging.ConsoleHandler.publish(ConsoleHandler.java:116)
    at java.util.logging.Logger.log(Logger.java:738)
    at java.util.logging.Logger.doLog(Logger.java:765)
    at java.util.logging.Logger.log(Logger.java:788)
    at java.util.logging.Logger.fine(Logger.java:1515)
    at org.glassfish.security.services.common.SecurityAccessFilter.matches(SecurityAccessFilter.java:78)
    at org.jvnet.hk2.internal.SystemDescriptor.isValidating(SystemDescriptor.java:864)
    at org.jvnet.hk2.internal.ServiceLocatorImpl.validate(ServiceLocatorImpl.java:244)
    at org.jvnet.hk2.internal.ServiceLocatorImpl.narrow(ServiceLocatorImpl.java:2197)
    at org.jvnet.hk2.internal.ServiceLocatorImpl.access$1000(ServiceLocatorImpl.java:120)
    at org.jvnet.hk2.internal.ServiceLocatorImpl$9.compute(ServiceLocatorImpl.java:1282)
    at org.jvnet.hk2.internal.ServiceLocatorImpl$9.compute(ServiceLocatorImpl.java:1277)
    at org.glassfish.hk2.utilities.cache.LRUHybridCache$OriginThreadAwareFuture$1.call(LRUHybridCache.java:115)
    at org.glassfish.hk2.utilities.cache.LRUHybridCache$OriginThreadAwareFuture$1.call(LRUHybridCache.java:111)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at org.glassfish.hk2.utilities.cache.LRUHybridCache$OriginThreadAwareFuture.run(LRUHybridCache.java:173)
    at org.glassfish.hk2.utilities.cache.LRUHybridCache.compute(LRUHybridCache.java:292)
    at org.jvnet.hk2.internal.ServiceLocatorImpl.internalGetAllServiceHandles(ServiceLocatorImpl.java:1355)
    at org.jvnet.hk2.internal.ServiceLocatorImpl.getAllServices(ServiceLocatorImpl.java:747)
    at org.jvnet.hk2.internal.ServiceLocatorImpl.getAllServices(ServiceLocatorImpl.java:735)
    at com.sun.enterprise.server.logging.LogManagerService.getHandlerServices(LogManagerService.java:639)
    at com.sun.enterprise.server.logging.LogManagerService.postConstruct(LogManagerService.java:404)
    at org.jvnet.hk2.internal.ClazzCreator.postConstructMe(ClazzCreator.java:329)
    at org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:377)
    at org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:471)
    at org.glassfish.hk2.runlevel.internal.AsyncRunLevelContext.findOrCreate(AsyncRunLevelContext.java:227)
    at org.glassfish.hk2.runlevel.RunLevelContext.findOrCreate(RunLevelContext.java:84)
    at org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2064)
    at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:105)
  • locked <0x00000000f67b9608> (a java.lang.Object)
    at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:87)
    at org.glassfish.hk2.runlevel.internal.CurrentTaskFuture$QueueRunner.oneJob(CurrentTaskFuture.java:1212)
    at org.glassfish.hk2.runlevel.internal.CurrentTaskFuture$QueueRunner.run(CurrentTaskFuture.java:1143)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

Locked ownable synchronizers:

  • <0x00000000f67b74f0> (a java.util.concurrent.ThreadPoolExecutor$Worker)

"RunLevelControllerThread-1441355122279" #17 daemon prio=5 os_prio=0 tid=0x00007fc920592800 nid=0x230b waiting on condition [0x00007fc9085ec000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)

  • parking to wait for <0x00000000f622f9d0> (a java.util.concurrent.SynchronousQueue$TransferQueue)
    at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
    at java.util.concurrent.SynchronousQueue$TransferQueue.awaitFulfill(SynchronousQueue.java:764)
    at java.util.concurrent.SynchronousQueue$TransferQueue.transfer(SynchronousQueue.java:695)
    at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941)
    at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

Locked ownable synchronizers:

  • None

"Timer-0" #16 daemon prio=5 os_prio=0 tid=0x00007fc9204c1800 nid=0x230a in Object.wait() [0x00007fc908b2a000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)

  • waiting on <0x00000000f6222f50> (a java.util.TaskQueue)
    at java.lang.Object.wait(Object.java:502)
    at java.util.TimerThread.mainLoop(Timer.java:526)
  • locked <0x00000000f6222f50> (a java.util.TaskQueue)
    at java.util.TimerThread.run(Timer.java:505)

Locked ownable synchronizers:

  • None

"FelixStartLevel" #15 daemon prio=5 os_prio=0 tid=0x00007fc920381000 nid=0x2309 in Object.wait() [0x00007fc909b67000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)

  • waiting on <0x00000000e0aa8988> (a java.util.ArrayList)
    at java.lang.Object.wait(Object.java:502)
    at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:279)
  • locked <0x00000000e0aa8988> (a java.util.ArrayList)
    at java.lang.Thread.run(Thread.java:745)

Locked ownable synchronizers:

  • None

"FelixDispatchQueue" #14 daemon prio=5 os_prio=0 tid=0x00007fc8d0007800 nid=0x2308 in Object.wait() [0x00007fc909a66000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)

  • waiting on <0x00000000fd7c1b58> (a java.util.ArrayList)
    at java.lang.Object.wait(Object.java:502)
    at org.apache.felix.framework.util.EventDispatcher.run(EventDispatcher.java:1063)
  • locked <0x00000000fd7c1b58> (a java.util.ArrayList)
    at org.apache.felix.framework.util.EventDispatcher.access$000(EventDispatcher.java:54)
    at org.apache.felix.framework.util.EventDispatcher$1.run(EventDispatcher.java:101)
    at java.lang.Thread.run(Thread.java:745)

Locked ownable synchronizers:

  • None

"Service Thread" #10 daemon prio=9 os_prio=0 tid=0x00007fc920238000 nid=0x2305 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE

Locked ownable synchronizers:

  • None

"C1 CompilerThread2" #9 daemon prio=9 os_prio=0 tid=0x00007fc92022a800 nid=0x2304 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE

Locked ownable synchronizers:

  • None

"C2 CompilerThread1" #8 daemon prio=9 os_prio=0 tid=0x00007fc920228800 nid=0x2303 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE

Locked ownable synchronizers:

  • None

"C2 CompilerThread0" #7 daemon prio=9 os_prio=0 tid=0x00007fc920226800 nid=0x2302 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE

Locked ownable synchronizers:

  • None

"JDWP Event Helper Thread" #6 daemon prio=10 os_prio=0 tid=0x00007fc920195800 nid=0x2301 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE

Locked ownable synchronizers:

  • None

"JDWP Transport Listener: dt_socket" #5 daemon prio=10 os_prio=0 tid=0x00007fc920191800 nid=0x2300 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE

Locked ownable synchronizers:

  • None

"Signal Dispatcher" #4 daemon prio=9 os_prio=0 tid=0x00007fc920185800 nid=0x22ff runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE

Locked ownable synchronizers:

  • None

"Finalizer" #3 daemon prio=8 os_prio=0 tid=0x00007fc92014e800 nid=0x22fe in Object.wait() [0x00007fc90a6ed000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)

  • waiting on <0x00000000e0aa88c8> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
  • locked <0x00000000e0aa88c8> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
    at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209)

Locked ownable synchronizers:

  • None

"Reference Handler" #2 daemon prio=10 os_prio=0 tid=0x00007fc92014c800 nid=0x22fd in Object.wait() [0x00007fc90a7ee000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)

  • waiting on <0x00000000e0aa8908> (a java.lang.ref.Reference$Lock)
    at java.lang.Object.wait(Object.java:502)
    at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:157)
  • locked <0x00000000e0aa8908> (a java.lang.ref.Reference$Lock)

Locked ownable synchronizers:

  • None

"main" #1 prio=5 os_prio=0 tid=0x00007fc920010800 nid=0x22f4 in Object.wait() [0x00007fc9289c2000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)

  • waiting on <0x00000000f664bb50> (a java.lang.Object)
    at org.glassfish.hk2.runlevel.internal.CurrentTaskFuture$UpAllTheWay.waitForResult(CurrentTaskFuture.java:493)
  • locked <0x00000000f664bb50> (a java.lang.Object)
    at org.glassfish.hk2.runlevel.internal.CurrentTaskFuture.get(CurrentTaskFuture.java:334)
    at org.glassfish.hk2.runlevel.internal.CurrentTaskFuture.get(CurrentTaskFuture.java:306)
    at org.glassfish.hk2.runlevel.internal.CurrentTaskFutureWrapper.get(CurrentTaskFutureWrapper.java:75)
    at org.glassfish.hk2.runlevel.internal.RunLevelControllerImpl.proceedTo(RunLevelControllerImpl.java:73)
    at com.sun.enterprise.v3.server.AppServerStartup.proceedTo(AppServerStartup.java:534)
    at com.sun.enterprise.v3.server.AppServerStartup.run(AppServerStartup.java:315)
    at com.sun.enterprise.v3.server.AppServerStartup.doStart(AppServerStartup.java:228)
    at com.sun.enterprise.v3.server.AppServerStartup.start(AppServerStartup.java:219)
  • locked <0x00000000f65d8610> (a com.sun.enterprise.v3.server.AppServerStartup)
    at com.sun.enterprise.glassfish.bootstrap.GlassFishImpl.start(GlassFishImpl.java:79)
  • locked <0x00000000f65e4b48> (a com.sun.enterprise.glassfish.bootstrap.GlassFishImpl)
    at com.sun.enterprise.glassfish.bootstrap.GlassFishDecorator.start(GlassFishDecorator.java:63)
    at com.sun.enterprise.glassfish.bootstrap.osgi.EmbeddedOSGiGlassFishImpl.start(EmbeddedOSGiGlassFishImpl.java:75)
    at com.sun.enterprise.glassfish.bootstrap.GlassFishDecorator.start(GlassFishDecorator.java:63)
    at com.sun.enterprise.glassfish.bootstrap.osgi.OSGiGlassFishImpl.start(OSGiGlassFishImpl.java:71)
    at com.sun.enterprise.glassfish.bootstrap.GlassFishMain$Launcher.launch(GlassFishMain.java:117)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at com.sun.enterprise.glassfish.bootstrap.GlassFishMain.main(GlassFishMain.java:97)
    at com.sun.enterprise.glassfish.bootstrap.ASMain.main(ASMain.java:54)

Locked ownable synchronizers:

  • None

"VM Thread" os_prio=0 tid=0x00007fc920147800 nid=0x22fc runnable

"GC task thread#0 (ParallelGC)" os_prio=0 tid=0x00007fc920026000 nid=0x22f8 runnable

"GC task thread#1 (ParallelGC)" os_prio=0 tid=0x00007fc920027800 nid=0x22f9 runnable

"GC task thread#2 (ParallelGC)" os_prio=0 tid=0x00007fc920029800 nid=0x22fa runnable

"GC task thread#3 (ParallelGC)" os_prio=0 tid=0x00007fc92002b000 nid=0x22fb runnable

"VM Periodic Task Thread" os_prio=0 tid=0x00007fc92023a800 nid=0x2306 waiting on condition

JNI global references: 2244

Comment by jwells [ 04/Sep/15 ]

Is there a use case for this that doesn't involve starting up GlassFish?

Comment by Debayan_Gupta [ 07/Sep/15 ]

I am not aware of such case. It is mainly targeted for this specific use case involving GlassFish startup. Probably the issue raiser could throw some light on this.





[HK2-266] Factories that inherit from superclasses are added badly by the inhabitant generator Created: 08/Jul/15  Updated: 08/Jul/15

Status: Open
Project: hk2
Component/s: None
Affects Version/s: 2.4.0
Fix Version/s: None

Type: Bug Priority: Major
Reporter: ljnelson Assignee: jwells
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: factory

 Description   

I attempted to create a Factory implementation that inherited from an abstract class. The inhabitant generator produced a locator file where scopes were out of sync. The only solution seemed to be to make sure my factories don't inherit from anything.






[HK2-284] Tomcat undeploy problem Created: 21/Nov/15  Updated: 21/Nov/15

Status: Open
Project: hk2
Component/s: None
Affects Version/s: 2.4.0
Fix Version/s: None

Type: Bug Priority: Major
Reporter: jan.blok Assignee: jwells
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Version 2.4.0-b34 has undeploy problems in Apache Tomcat:

Nov 21, 2015 8:52:29 PM org.apache.catalina.startup.HostConfigcheckResources
INFO: Undeploying context [/app]
Nov 21, 2015 8:52:30 PM org.apache.catalina.startup.ExpandWar deleteDir
SEVERE: [C:\tomcat\server\webapps\app\WEB-INF\lib] could not be completely deleted. The presence of the remaining files may cause problems

The only file left in WEB-INF\lib is hk2-locator-2.4.0-b34.jar
my war pom refers to:

	<dependency>
	    <groupId>org.glassfish.jersey.containers</groupId>
	    <artifactId>jersey-container-servlet-core</artifactId>
	</dependency>
	<dependency>
	    <groupId>org.glassfish.jersey.media</groupId>
	    <artifactId>jersey-media-json-jackson</artifactId>
	</dependency>

New deploys just fail.






[HK2-253] Build fails during javadoc task Created: 25/May/15  Updated: 10/Jun/15

Status: Open
Project: hk2
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major
Reporter: puntogil Assignee: Romain Grécourt
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

[INFO] ------------------------------------------------------------------------
[INFO] Building HK2 2.4.0-b24
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] — xmvn-mojo:2.4.0:install (default-cli) @ hk2-parent —
[INFO]
[INFO] >>> maven-javadoc-plugin:2.10.3:aggregate (default-cli) > generate-sources @ hk2-parent >>>
[INFO]
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO] Forking HK2 2.4.0-b24
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO]
[INFO] — maven-resources-plugin:2.7:copy-resources (copy-resources) @ hk2-parent —
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 3 resources
[INFO]
[INFO] — maven-enforcer-plugin:1.4:enforce (enforce-versions) @ hk2-parent —
[INFO]
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO] Forking OSGiVersion Maven Plugin 2.4.0-b24
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO]
[INFO] — maven-enforcer-plugin:1.4:enforce (enforce-versions) @ osgiversion-maven-plugin —
[INFO]
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO] Forking HK2 Implementation Utilities 2.4.0-b24
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO]
[INFO] — osgiversion-maven-plugin:2.4.0-b24:compute-osgi-version (compute-osgi-version) @ hk2-utils —
[INFO]
[INFO] — maven-enforcer-plugin:1.4:enforce (enforce-versions) @ hk2-utils —
[INFO]
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO] Forking HK2 API module 2.4.0-b24
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO]
[INFO] — osgiversion-maven-plugin:2.4.0-b24:compute-osgi-version (compute-osgi-version) @ hk2-api —
[INFO]
[INFO] — maven-enforcer-plugin:1.4:enforce (enforce-versions) @ hk2-api —
[INFO]
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO] Forking ServiceLocator Default Implementation 2.4.0-b24
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO]
[INFO] — osgiversion-maven-plugin:2.4.0-b24:compute-osgi-version (compute-osgi-version) @ hk2-locator —
[INFO]
[INFO] — maven-enforcer-plugin:1.4:enforce (enforce-versions) @ hk2-locator —
[INFO]
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO] Forking HK2 core module 2.4.0-b24
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO]
[INFO] — osgiversion-maven-plugin:2.4.0-b24:compute-osgi-version (compute-osgi-version) @ hk2-core —
[INFO]
[INFO] — maven-enforcer-plugin:1.4:enforce (enforce-versions) @ hk2-core —
[INFO]
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO] Forking Module system maven support 2.4.0-b24
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO]
[INFO] — maven-enforcer-plugin:1.4:enforce (enforce-versions) @ hk2-maven —
[INFO]
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO] Forking Inhabitant Generator 2.4.0-b24
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO]
[INFO] — maven-enforcer-plugin:1.4:enforce (enforce-versions) @ hk2-inhabitant-generator —
[INFO]
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO] Forking HK2 Metadata Generator Subsystem 2.4.0-b24
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO]
[INFO] — maven-enforcer-plugin:1.4:enforce (enforce-versions) @ hk2-metadata-generator-parent —
[INFO]
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO] Forking HK2 Metadata Generator 2.4.0-b24
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO]
[INFO] — maven-enforcer-plugin:1.4:enforce (enforce-versions) @ hk2-metadata-generator —
[INFO]
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO] Forking HK2 Metadata Generator Test One 2.4.0-b24
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO]
[INFO] — maven-enforcer-plugin:1.4:enforce (enforce-versions) @ hk2-metadata-generator-test1 —
[INFO]
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO] Forking consolidated bundle Maven plugin 2.4.0-b24
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO]
[INFO] — maven-enforcer-plugin:1.4:enforce (enforce-versions) @ consolidatedbundle-maven-plugin —
[INFO]
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO] Forking HK2 Junit Runner 2.4.0-b24
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO]
[INFO] — osgiversion-maven-plugin:2.4.0-b24:compute-osgi-version (compute-osgi-version) @ hk2-junitrunner —
[INFO]
[INFO] — maven-enforcer-plugin:1.4:enforce (enforce-versions) @ hk2-junitrunner —
[INFO]
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO] Forking Run Level Service 2.4.0-b24
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO]
[INFO] — osgiversion-maven-plugin:2.4.0-b24:compute-osgi-version (compute-osgi-version) @ hk2-runlevel —
[INFO]
[INFO] — maven-enforcer-plugin:1.4:enforce (enforce-versions) @ hk2-runlevel —
[INFO]
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO] Forking Class Model for Hk2 2.4.0-b24
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO]
[INFO] — osgiversion-maven-plugin:2.4.0-b24:compute-osgi-version (compute-osgi-version) @ class-model —
[INFO]
[INFO] — maven-enforcer-plugin:1.4:enforce (enforce-versions) @ class-model —
[INFO]
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO] Forking OSGi code 2.4.0-b24
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO]
[INFO] — maven-enforcer-plugin:1.4:enforce (enforce-versions) @ osgi —
[INFO]
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO] Forking HK2 OSGi Adapter 2.4.0-b24
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO]
[INFO] — osgiversion-maven-plugin:2.4.0-b24:compute-osgi-version (compute-osgi-version) @ osgi-adapter —
[INFO]
[INFO] — maven-enforcer-plugin:1.4:enforce (enforce-versions) @ osgi-adapter —
[INFO]
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO] Forking osgi-adapter-tests-parent 2.4.0-b24
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO]
[INFO] — maven-enforcer-plugin:1.4:enforce (enforce-versions) @ osgi-adapter-tests-parent —
[INFO]
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO] Forking Holds test contracts 2.4.0-b24
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO]
[INFO] — osgiversion-maven-plugin:2.4.0-b24:compute-osgi-version (compute-osgi-version) @ contract-bundle —
[INFO]
[INFO] — maven-enforcer-plugin:1.4:enforce (enforce-versions) @ contract-bundle —
[INFO]
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO] Forking Simulates a bundle 2.4.0-b24
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO]
[INFO] — osgiversion-maven-plugin:2.4.0-b24:compute-osgi-version (compute-osgi-version) @ faux-sdp-bundle —
[INFO]
[INFO] — maven-enforcer-plugin:1.4:enforce (enforce-versions) @ faux-sdp-bundle —
[INFO]
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO] Forking Manages the faux sdp management bundle 2.4.0-b24
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO]
[INFO] — osgiversion-maven-plugin:2.4.0-b24:compute-osgi-version (compute-osgi-version) @ sdp-management-bundle —
[INFO]
[INFO] — maven-enforcer-plugin:1.4:enforce (enforce-versions) @ sdp-management-bundle —
[INFO]
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO] Forking a test module startup 2.4.0-b24
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO]
[INFO] — osgiversion-maven-plugin:2.4.0-b24:compute-osgi-version (compute-osgi-version) @ test-module-startup —
[INFO]
[INFO] — maven-enforcer-plugin:1.4:enforce (enforce-versions) @ test-module-startup —
[INFO]
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO] Forking A bundle with no hk2 dependencies 2.4.0-b24
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO]
[INFO] — osgiversion-maven-plugin:2.4.0-b24:compute-osgi-version (compute-osgi-version) @ no-hk2-bundle —
[INFO]
[INFO] — maven-enforcer-plugin:1.4:enforce (enforce-versions) @ no-hk2-bundle —
[INFO]
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO] Forking Static Analyser for verifying module dependency 2.4.0-b24
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO]
[INFO] — maven-enforcer-plugin:1.4:enforce (enforce-versions) @ hk2-dependency-verifier —
[INFO]
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO] Forking hk2-dependency-visualizer 2.4.0-b24
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO]
[INFO] — maven-enforcer-plugin:1.4:enforce (enforce-versions) @ hk2-dependency-visualizer —
[INFO]
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO] Forking HK2 Ant Inhabitant Generator Test 2.4.0-b24
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO]
[INFO] — maven-enforcer-plugin:1.4:enforce (enforce-versions) @ hk2-ant-test —
[INFO]
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO] Forking HK2 Locator unit tests 2.4.0-b24
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO]
[INFO] — osgiversion-maven-plugin:2.4.0-b24:compute-osgi-version (compute-osgi-version) @ hk2-locator-extras —
[INFO]
[INFO] — maven-enforcer-plugin:1.4:enforce (enforce-versions) @ hk2-locator-extras —
[INFO]
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO] Forking HK2 extras module 2.4.0-b24
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO]
[INFO] — osgiversion-maven-plugin:2.4.0-b24:compute-osgi-version (compute-osgi-version) @ hk2-extras —
[INFO]
[INFO] — maven-enforcer-plugin:1.4:enforce (enforce-versions) @ hk2-extras —
[INFO]
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO] Forking HK2 TestNG runner 2.4.0-b24
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO]
[INFO] — maven-enforcer-plugin:1.4:enforce (enforce-versions) @ hk2-testng —
[INFO]
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO] Forking HK2 RunLevel unit tests 2.4.0-b24
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO]
[INFO] — maven-enforcer-plugin:1.4:enforce (enforce-versions) @ hk2-runlevel-extras —
[INFO]
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO] Forking HK2 Locator No Proxy Unit tests 2.4.0-b24
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO]
[INFO] — osgiversion-maven-plugin:2.4.0-b24:compute-osgi-version (compute-osgi-version) @ hk2-locator-no-proxies —
[INFO]
[INFO] — maven-enforcer-plugin:1.4:enforce (enforce-versions) @ hk2-locator-no-proxies —
[INFO]
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO] Forking HK2 Locator No Proxy Unit tests (2) 2.4.0-b24
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO]
[INFO] — osgiversion-maven-plugin:2.4.0-b24:compute-osgi-version (compute-osgi-version) @ hk2-locator-no-proxies2 —
[INFO]
[INFO] — maven-enforcer-plugin:1.4:enforce (enforce-versions) @ hk2-locator-no-proxies2 —
[INFO]
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO] Forking Utilities for testing with HK2 2.4.0-b24
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO]
[INFO] — maven-enforcer-plugin:1.4:enforce (enforce-versions) @ hk2-testing —
[INFO]
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO] Forking Interceptor/Eventing Test Suite 2.4.0-b24
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO]
[INFO] — maven-enforcer-plugin:1.4:enforce (enforce-versions) @ interceptor-events —
[INFO]
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO] Forking HK2 Mockito 2.4.0-b24
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO]
[INFO] — maven-enforcer-plugin:1.4:enforce (enforce-versions) @ hk2-mockito —
[INFO]
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO] Forking Collections Tests 2.4.0-b24
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO]
[INFO] — osgiversion-maven-plugin:2.4.0-b24:compute-osgi-version (compute-osgi-version) @ hk2-collections-tests —
[INFO]
[INFO] — maven-enforcer-plugin:1.4:enforce (enforce-versions) @ hk2-collections-tests —
[INFO]
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO] Forking HK2 Guice Bridge 2.4.0-b24
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO]
[INFO] — osgiversion-maven-plugin:2.4.0-b24:compute-osgi-version (compute-osgi-version) @ guice-bridge —
[INFO]
[INFO] — maven-enforcer-plugin:1.4:enforce (enforce-versions) @ guice-bridge —
[INFO]
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO] Forking HK2 Spring Bridge 2.4.0-b24
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO]
[INFO] — osgiversion-maven-plugin:2.4.0-b24:compute-osgi-version (compute-osgi-version) @ spring-bridge —
[INFO]
[INFO] — maven-enforcer-plugin:1.4:enforce (enforce-versions) @ spring-bridge —
[INFO]
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO] Forking HK2 JMX module 2.4.0-b24
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO]
[INFO] — osgiversion-maven-plugin:2.4.0-b24:compute-osgi-version (compute-osgi-version) @ hk2-jmx —
[INFO]
[INFO] — maven-enforcer-plugin:1.4:enforce (enforce-versions) @ hk2-jmx —
[INFO]
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO] Forking HK2 Configuration Subsystem 2.4.0-b24
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO]
[INFO] — maven-enforcer-plugin:1.4:enforce (enforce-versions) @ hk2-configuration —
[INFO]
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO] Forking HK2 Configuration Persistence Modules 2.4.0-b24
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO]
[INFO] — maven-enforcer-plugin:1.4:enforce (enforce-versions) @ hk2-configuration-persistence —
[INFO]
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO] Forking HK2 Dom Based XML Parser 2.4.0-b24
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO]
[INFO] — maven-enforcer-plugin:1.4:enforce (enforce-versions) @ hk2-xml-dom —
[INFO]
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO] Forking HK2 configuration module 2.4.0-b24
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO]
[INFO] — osgiversion-maven-plugin:2.4.0-b24:compute-osgi-version (compute-osgi-version) @ hk2-config —
[INFO]
[INFO] — maven-enforcer-plugin:1.4:enforce (enforce-versions) @ hk2-config —
[INFO]
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO] Forking HK2 configuration reader generator module 2.4.0-b24
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO]
[INFO] — maven-enforcer-plugin:1.4:enforce (enforce-versions) @ config-generator —
[INFO]
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO] Forking HK2 config types 2.4.0-b24
[INFO] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[INFO]
[INFO] — osgiversion-maven-plugin:2.4.0-b24:compute-osgi-version (compute-osgi-version) @ config-types —
[INFO]
[INFO] — maven-enforcer-plugin:1.4:enforce (enforce-versions) @ config-types —
[INFO]
[INFO] — config-generator:2.4.0-b24:generate-injectors (default) @ config-types —
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] HK2 Bom Pom ........................................ SUCCESS [ 0.003 s]
[INFO] HK2 ................................................ FAILURE [ 0.889 s]
[INFO] OSGiVersion Maven Plugin ........................... SUCCESS [ 2.436 s]
[INFO] HK2 Implementation Utilities ....................... SUCCESS [ 2.049 s]
[INFO] HK2 API module ..................................... SUCCESS [ 2.019 s]
[INFO] ServiceLocator Default Implementation .............. SUCCESS [ 6.833 s]
[INFO] HK2 core module .................................... SUCCESS [ 1.268 s]
[INFO] Module system maven support ........................ SUCCESS [ 0.162 s]
[INFO] Inhabitant Generator ............................... SUCCESS [ 1.039 s]
[INFO] HK2 Metadata Generator Subsystem ................... SUCCESS [ 0.002 s]
[INFO] HK2 Metadata Generator ............................. SUCCESS [ 0.081 s]
[INFO] HK2 Metadata Generator Test One .................... SUCCESS [ 0.646 s]
[INFO] consolidated bundle Maven plugin ................... SUCCESS [ 1.135 s]
[INFO] HK2 Junit Runner ................................... SUCCESS [ 0.872 s]
[INFO] Run Level Service .................................. SUCCESS [ 10.815 s]
[INFO] Class Model for Hk2 ................................ SUCCESS [ 0.710 s]
[INFO] OSGi code .......................................... SUCCESS [ 0.003 s]
[INFO] HK2 OSGi Adapter ................................... SUCCESS [ 0.340 s]
[INFO] osgi-adapter-tests-parent .......................... SUCCESS [ 0.001 s]
[INFO] Holds test contracts ............................... SUCCESS [ 0.095 s]
[INFO] Simulates a bundle ................................. SUCCESS [ 0.098 s]
[INFO] Manages the faux sdp management bundle ............. SUCCESS [ 0.073 s]
[INFO] a test module startup .............................. SUCCESS [ 0.107 s]
[INFO] A bundle with no hk2 dependencies .................. SUCCESS [ 0.063 s]
[INFO] Static Analyser for verifying module dependency .... SUCCESS [ 0.225 s]
[INFO] hk2-dependency-visualizer .......................... SUCCESS [ 0.048 s]
[INFO] HK2 Ant Inhabitant Generator Test .................. SUCCESS [ 1.054 s]
[INFO] HK2 Locator unit tests ............................. SUCCESS [ 0.515 s]
[INFO] HK2 extras module .................................. SUCCESS [ 1.399 s]
[INFO] HK2 TestNG runner .................................. SUCCESS [ 0.084 s]
[INFO] HK2 RunLevel unit tests ............................ SUCCESS [ 0.057 s]
[INFO] HK2 Locator No Proxy Unit tests .................... SUCCESS [ 0.517 s]
[INFO] HK2 Locator No Proxy Unit tests (2) ................ SUCCESS [ 0.491 s]
[INFO] Utilities for testing with HK2 ..................... SUCCESS [ 0.001 s]
[INFO] Interceptor/Eventing Test Suite .................... SUCCESS [ 0.671 s]
[INFO] HK2 Mockito ........................................ SUCCESS [ 0.081 s]
[INFO] Collections Tests .................................. SUCCESS [ 0.626 s]
[INFO] HK2 Guice Bridge ................................... SUCCESS [ 0.827 s]
[INFO] HK2 Spring Bridge .................................. SUCCESS [ 0.973 s]
[INFO] HK2 JMX module ..................................... SUCCESS [ 0.070 s]
[INFO] HK2 Configuration Subsystem ........................ SUCCESS [ 0.003 s]
[INFO] HK2 Configuration Persistence Modules .............. SUCCESS [ 0.003 s]
[INFO] HK2 Dom Based XML Parser ........................... SUCCESS [ 0.004 s]
[INFO] HK2 configuration module ........................... SUCCESS [ 1.650 s]
[INFO] HK2 configuration reader generator module .......... SUCCESS [ 1.267 s]
[INFO] HK2 config types ................................... SUCCESS [ 0.717 s]
[INFO] HK2 module of HK2 itself ........................... SUCCESS [ 0.113 s]
[INFO] HK2 Configuration Hub .............................. SUCCESS [ 0.749 s]
[INFO] HK2 Configuration Integration ...................... SUCCESS [ 1.118 s]
[INFO] hk2-config Hub integration ......................... SUCCESS [ 1.612 s]
[INFO] HK2 Configuration Property File Reader ............. SUCCESS [ 0.663 s]
[INFO] HK2 XML Parser using JAXB .......................... SUCCESS [ 0.001 s]
[INFO] HK2 XML Reader using JAXB .......................... SUCCESS [ 1.872 s]
[INFO] HK2 XML Reader Test ................................ SUCCESS [ 1.101 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 52.286 s
[INFO] Finished at: 2015-05-25T11:22:03+00:00
[INFO] Final Memory: 95M/826M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.glassfish.hk2:config-generator:2.4.0-b24:generate-injectors (default) on project config-types: Unable to create directory /builddir/build/BUILD/hk2-2.4.0-b24/hk2-configuration/persistence/hk2-xml-dom/config-types/target/generated-sources/hk2-config-generator/src/main/java -> [Help 1]

the directory already exist
any ideas?

thanks in advance



 Comments   
Comment by Romain Grécourt [ 26/May/15 ]

What command line are you actually using ?
Can you provide the stacktrace ? (-e)

Comment by puntogil [ 26/May/15 ]

we use OpenJDK 8 and maven 3.3.3
build.log (debug mode) is really too big to be pasted here
mvn --batch-mode --offline -Dmaven.test.failure.ignore=true 'org.apache.maven.plugins:maven-javadoc-plugin:aggregate'

Comment by Romain Grécourt [ 26/May/15 ]

I'm not asking for the debug output (-X).
Can you run the same command line with -e, it will report the stack trace at the end.

Comment by puntogil [ 26/May/15 ]

[ERROR] Failed to execute goal org.glassfish.hk2:config-generator:2.4.0-b24:generate-injectors (default) on project config-types: Unable to create directory /builddir/build/BUILD/hk2-hk2-parent-2.4.0-b24/hk2-configuration/persistence/hk2-xml-dom/config-types/target/generated-sources/hk2-config-generator/src/main/java -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.glassfish.hk2:config-generator:2.4.0-b24:generate-injectors (default) on project config-types: Unable to create directory /builddir/build/BUILD/hk2-hk2-parent-2.4.0-b24/hk2-configuration/persistence/hk2-xml-dom/config-types/target/generated-sources/hk2-config-generator/src/main/java
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.MojoExecutor.executeForkedExecutions(MojoExecutor.java:364)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:198)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:862)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:286)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:197)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.MojoExecutionException: Unable to create directory /builddir/build/BUILD/hk2-hk2-parent-2.4.0-b24/hk2-configuration/persistence/hk2-xml-dom/config-types/target/generated-sources/hk2-config-generator/src/main/java
at org.jvnet.hk2.config.generator.maven.AbstractConfigGeneratorMojo.internalExecute(AbstractConfigGeneratorMojo.java:113)
at org.jvnet.hk2.config.generator.maven.AbstractConfigGeneratorMojo.execute(AbstractConfigGeneratorMojo.java:167)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
... 24 more
[ERROR]
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn <goals> -rf :config-types

Comment by puntogil [ 26/May/15 ]

for the stack trace i run now a new build

Comment by puntogil [ 26/May/15 ]

seem our stack trace is not usable https://kojipkgs.fedoraproject.org//work/tasks/3853/9853853/build.log

Comment by jwells [ 26/May/15 ]

That looks like some kind of file system permission problem, or perhaps the disk is full?

Comment by puntogil [ 26/May/15 ]

I believe that most depends on the permission problem, the disk (in) usage is not relevant, for every build start a new installation of minimal requirements for our OS

https://kojipkgs.fedoraproject.org//work/tasks/3853/9853853/root.log

a week ago i built very fine hk2 2.3.0

Comment by puntogil [ 26/May/15 ]

maybe ? https://github.com/hk2-project/hk2/commit/6efaaf243cefbdfd31647706aeaf7472ae06356c

Comment by Romain Grécourt [ 26/May/15 ]

looks right, I will use the same as AbstractInhabitantsGeneratorMojo.

Comment by Romain Grécourt [ 26/May/15 ]

I pushed the change will be published as part of the next release (2.4.0-b26)

Comment by puntogil [ 26/May/15 ]

maybe is off topic... can use this bug for some problems during test suite?

Comment by puntogil [ 26/May/15 ]

latest build log https://kojipkgs.fedoraproject.org//work/tasks/4092/9854092/build.log

with https://github.com/hk2-project/hk2/commit/6efaaf243cefbdfd31647706aeaf7472ae06356c changes

Comment by puntogil [ 26/May/15 ]

build fails:
ERROR] Failed to execute goal org.glassfish.hk2:config-generator:2.4.0-b24:generate-injectors (default) on project config-types: directory not found: /home/gil/rpmbuild/BUILD/hk2-hk2-parent-2.4.0-b24/hk2-configuration/persistence/hk2-xml-dom/config-types/target/generated-sources/hk2-config-generator/src/main/java -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.glassfish.hk2:config-generator:2.4.0-b24:generate-injectors (default) on project config-types: directory not found: /home/gil/rpmbuild/BUILD/hk2-hk2-parent-2.4.0-b24/hk2-configuration/persistence/hk2-xml-dom/config-types/target/generated-sources/hk2-config-generator/src/main/java
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.MojoExecutionException: directory not found: /home/gil/rpmbuild/BUILD/hk2-hk2-parent-2.4.0-b24/hk2-configuration/persistence/hk2-xml-dom/config-types/target/generated-sources/hk2-config-generator/src/main/java
at org.jvnet.hk2.config.generator.maven.AbstractConfigGeneratorMojo.execute(AbstractConfigGeneratorMojo.java:189)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:106)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
... 19 more
Caused by: java.lang.IllegalStateException: directory not found: /home/gil/rpmbuild/BUILD/hk2-hk2-parent-2.4.0-b24/hk2-configuration/persistence/hk2-xml-dom/config-types/target/generated-sources/hk2-config-generator/src/main/java
at com.sun.tools.javac.main.Main.error(Main.java:173)
at com.sun.tools.javac.main.Main.checkDirectory(Main.java:317)
at com.sun.tools.javac.main.Main.processArgs(Main.java:257)
at com.sun.tools.javac.main.Main.compile(Main.java:383)
at com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:132)
at org.jvnet.hk2.config.generator.maven.AbstractConfigGeneratorMojo.internalExecute(AbstractConfigGeneratorMojo.java:152)
at org.jvnet.hk2.config.generator.maven.AbstractConfigGeneratorMojo.execute(AbstractConfigGeneratorMojo.java:170)
... 21 more

Comment by puntogil [ 26/May/15 ]

last failure depend on https://github.com/hk2-project/hk2/commit/c1b5efab81ba52ac2b6c1850f9ca5a87bc0782a4

Comment by puntogil [ 27/May/15 ]

Now build fine, thanks
these tests should be possible cause by the same problem?

[INFO] Surefire report directory: /builddir/build/BUILD/hk2-hk2-parent-2.4.0-b24/hk2-inhabitant-generator/target/surefire-reports
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running org.jvnet.hk2.generator.tests.InhabitantsGeneratorTest
The elements of the path that will be searched is:
1. /builddir/build/BUILD/hk2-hk2-parent-2.4.0-b24/hk2-inhabitant-generator/target/test-classes
2. /builddir/build/BUILD/hk2-hk2-parent-2.4.0-b24/hk2-inhabitant-generator/target/classes
3. /usr/share/java/maven/maven-core.jar
4. /usr/share/java/maven/maven-model.jar
5. /usr/share/java/maven/maven-settings.jar
6. /usr/share/java/maven/maven-settings-builder.jar
7. /usr/share/java/maven/maven-builder-support.jar
8. /usr/share/java/maven/maven-repository-metadata.jar
9. /usr/share/java/maven/maven-artifact.jar
10. /usr/share/java/maven/maven-model-builder.jar
11. /usr/share/java/guava.jar
12. /usr/share/java/maven/maven-aether-provider.jar
13. /usr/share/java/aether/aether-spi.jar
14. /usr/share/java/aether/aether-impl.jar
15. /usr/share/java/aether/aether-api.jar
16. /usr/share/java/aether/aether-util.jar
17. /usr/share/java/org.eclipse.sisu.plexus.jar
18. /usr/share/java/org.eclipse.sisu.inject.jar
19. /usr/share/java/guice/google-guice-no_aop.jar
20. /usr/share/java/plexus/interpolation.jar
21. /usr/share/java/plexus/utils.jar
22. /usr/share/java/plexus-classworlds.jar
23. /usr/share/java/plexus-containers/plexus-component-annotations.jar
24. /usr/share/java/plexus/plexus-sec-dispatcher.jar
25. /usr/share/java/plexus/plexus-cipher.jar
26. /usr/share/java/atinject.jar
27. /usr/share/java/objectweb-asm/asm-all.jar
28. /builddir/build/BUILD/hk2-hk2-parent-2.4.0-b24/hk2-api/target/hk2-api.jar
29. /builddir/build/BUILD/hk2-hk2-parent-2.4.0-b24/hk2-utils/target/hk2-utils.jar
30. /usr/share/java/aopalliance.jar
31. /usr/share/java/maven/maven-plugin-api.jar
32. /usr/share/java/ant/ant.jar
33. /usr/share/java/ant/ant-launcher.jar
34. /usr/share/java/junit.jar
35. /usr/share/java/hamcrest/core.jar
36. /usr/share/java/easymock.jar
37. /usr/share/java/cglib.jar
38. /usr/share/java/objectweb-asm/asm-util.jar
39. /usr/share/java/objectweb-asm/asm-tree.jar
40. /usr/share/java/objectweb-asm/asm.jar
41. /usr/share/java/objenesis/objenesis.jar
Finished printing search path elements
HabitatGenerator: inputFile=/builddir/build/BUILD/hk2-hk2-parent-2.4.0-b24/hk2-inhabitant-generator/target/test-classes/gendir outjarName=/builddir/build/BUILD/hk2-hk2-parent-2.4.0-b24/hk2-inhabitant-generator/target/test-classes/gendir locatorName=other noSwap=true outputDirectory=/builddir/build/BUILD/hk2-hk2-parent-2.4.0-b24/hk2-inhabitant-generator/target/test-classes/gendir/META-INF/hk2-locator
HabitatGenerator completed successfully
Could not find file: /builddir/build/BUILD/hk2-hk2-parent-2.4.0-b24/hk2-inhabitant-generator/target/test-classes/negative
Tests run: 6, Failures: 3, Errors: 0, Skipped: 0, Time elapsed: 0.413 sec <<< FAILURE! - in org.jvnet.hk2.generator.tests.InhabitantsGeneratorTest
testDefaultDirectoryGeneration(org.jvnet.hk2.generator.tests.InhabitantsGeneratorTest) Time elapsed: 0.023 sec <<< FAILURE!
junit.framework.AssertionFailedError: did not generate /builddir/build/BUILD/hk2-hk2-parent-2.4.0-b24/hk2-inhabitant-generator/target/test-classes/gendir/META-INF/hk2-locator/default
at junit.framework.Assert.fail(Assert.java:57)
at junit.framework.Assert.assertTrue(Assert.java:22)
at org.jvnet.hk2.generator.tests.InhabitantsGeneratorTest.testDefaultDirectoryGeneration(InhabitantsGeneratorTest.java:690)
testInFlightGenerator(org.jvnet.hk2.generator.tests.InhabitantsGeneratorTest) Time elapsed: 0.005 sec <<< FAILURE!
junit.framework.AssertionFailedError: Expecting 34 descriptors, but only got 0 expected:<34> but was:<0>
at junit.framework.Assert.fail(Assert.java:57)
at junit.framework.Assert.failNotEquals(Assert.java:329)
at junit.framework.Assert.assertEquals(Assert.java:78)
at junit.framework.Assert.assertEquals(Assert.java:234)
at org.jvnet.hk2.generator.tests.InhabitantsGeneratorTest.checkDescriptors(InhabitantsGeneratorTest.java:664)
at org.jvnet.hk2.generator.tests.InhabitantsGeneratorTest.testInFlightGenerator(InhabitantsGeneratorTest.java:927)
testNonDefaultDirectoryGeneration(org.jvnet.hk2.generator.tests.InhabitantsGeneratorTest) Time elapsed: 0.004 sec <<< FAILURE!
junit.framework.AssertionFailedError: did not generate /builddir/build/BUILD/hk2-hk2-parent-2.4.0-b24/hk2-inhabitant-generator/target/test-classes/gendir/META-INF/hk2-locator/other
at junit.framework.Assert.fail(Assert.java:57)
at junit.framework.Assert.assertTrue(Assert.java:22)
at org.jvnet.hk2.generator.tests.InhabitantsGeneratorTest.testNonDefaultDirectoryGeneration(InhabitantsGeneratorTest.java:730)
Results :
Failed tests:
InhabitantsGeneratorTest.testDefaultDirectoryGeneration:690 did not generate /builddir/build/BUILD/hk2-hk2-parent-2.4.0-b24/hk2-inhabitant-generator/target/test-classes/gendir/META-INF/hk2-locator/default
InhabitantsGeneratorTest.testInFlightGenerator:927->checkDescriptors:664 Expecting 34 descriptors, but only got 0 expected:<34> but was:<0>
InhabitantsGeneratorTest.testNonDefaultDirectoryGeneration:730 did not generate /builddir/build/BUILD/hk2-hk2-parent-2.4.0-b24/hk2-inhabitant-generator/target/test-classes/gendir/META-INF/hk2-locator/other
Tests run: 6, Failures: 3, Errors: 0, Skipped: 0

Comment by puntogil [ 27/May/15 ]

hk2-hk2-parent-2.4.0-b24/hk2-inhabitant-generator/src/main/java/org/jvnet/hk2/generator/maven/AbstractInhabitantsGeneratorMojo.java (method execute() line 118 to 126)

Comment by jwells [ 27/May/15 ]

Can you check if the directory /builddir/build/BUILD/hk2-hk2-parent-2.4.0-b24/hk2-inhabitant-generator/target/test-classes/negative is there after you run mvn clean install ?

Comment by puntogil [ 27/May/15 ]

the directory do not exist
with maven use some macros and are set as descrived above

also this do not exist
/builddir/build/BUILD/hk2-hk2-parent-2.4.0-b24/hk2-inhabitant-generator/target/test-classes/gendir/META-INF/hk2-locator/default

junit.framework.AssertionFailedError: did not generate /builddir/build/BUILD/hk2-hk2-parent-2.4.0-b24/hk2-inhabitant-generator/target/test-classes/gendir/META-INF/hk2-locator/default

Comment by puntogil [ 27/May/15 ]

exist only
directory /builddir/build/BUILD/hk2-hk2-parent-2.4.0-b24/hk2-inhabitant-generator/target/test-classes/gendir/
file /builddir/build/BUILD/hk2-hk2-parent-2.4.0-b24/hk2-inhabitant-generator/target/test-classes/gendir/reup

Comment by puntogil [ 08/Jun/15 ]

Hi
latest build with 2.4.0-b25

[INFO] — maven-surefire-plugin:2.17:test (default-test) @ hk2-inhabitant-generator —
[INFO] Surefire report directory: /builddir/build/BUILD/hk2-hk2-parent-2.4.0-b25/hk2-inhabitant-generator/target/surefire-reports
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running org.jvnet.hk2.generator.tests.InhabitantsGeneratorTest
The elements of the path that will be searched is:
1. /builddir/build/BUILD/hk2-hk2-parent-2.4.0-b25/hk2-inhabitant-generator/target/test-classes
2. /builddir/build/BUILD/hk2-hk2-parent-2.4.0-b25/hk2-inhabitant-generator/target/classes
3. /usr/share/java/maven/maven-core.jar
4. /usr/share/java/maven/maven-model.jar
5. /usr/share/java/maven/maven-settings.jar
6. /usr/share/java/maven/maven-settings-builder.jar
7. /usr/share/java/maven/maven-builder-support.jar
8. /usr/share/java/maven/maven-repository-metadata.jar
9. /usr/share/java/maven/maven-artifact.jar
10. /usr/share/java/maven/maven-model-builder.jar
11. /usr/share/java/guava.jar
12. /usr/share/java/maven/maven-aether-provider.jar
13. /usr/share/java/aether/aether-spi.jar
14. /usr/share/java/aether/aether-impl.jar
15. /usr/share/java/aether/aether-api.jar
16. /usr/share/java/aether/aether-util.jar
17. /usr/share/java/org.eclipse.sisu.plexus.jar
18. /usr/share/java/org.eclipse.sisu.inject.jar
19. /usr/share/java/guice/google-guice-no_aop.jar
20. /usr/share/java/plexus/interpolation.jar
21. /usr/share/java/plexus/utils.jar
22. /usr/share/java/plexus-classworlds.jar
23. /usr/share/java/plexus-containers/plexus-component-annotations.jar
24. /usr/share/java/plexus/plexus-sec-dispatcher.jar
25. /usr/share/java/plexus/plexus-cipher.jar
26. /usr/share/java/atinject.jar
27. /usr/share/java/objectweb-asm/asm-all.jar
28. /builddir/build/BUILD/hk2-hk2-parent-2.4.0-b25/hk2-api/target/hk2-api.jar
29. /builddir/build/BUILD/hk2-hk2-parent-2.4.0-b25/hk2-utils/target/hk2-utils.jar
30. /usr/share/java/aopalliance.jar
31. /usr/share/java/maven/maven-plugin-api.jar
32. /usr/share/java/ant/ant.jar
33. /usr/share/java/ant/ant-launcher.jar
34. /usr/share/java/junit.jar
35. /usr/share/java/hamcrest/core.jar
36. /usr/share/java/easymock.jar
37. /usr/share/java/cglib.jar
38. /usr/share/java/objectweb-asm/asm-util.jar
39. /usr/share/java/objectweb-asm/asm-tree.jar
40. /usr/share/java/objectweb-asm/asm.jar
41. /usr/share/java/objenesis/objenesis.jar
Finished printing search path elements
HabitatGenerator: inputFile=/builddir/build/BUILD/hk2-hk2-parent-2.4.0-b25/hk2-inhabitant-generator/target/test-classes/gendir outjarName=/builddir/build/BUILD/hk2-hk2-parent-2.4.0-b25/hk2-inhabitant-generator/target/test-classes/gendir locatorName=other noSwap=true outputDirectory=/builddir/build/BUILD/hk2-hk2-parent-2.4.0-b25/hk2-inhabitant-generator/target/test-classes/gendir/META-INF/hk2-locator
HabitatGenerator completed successfully
Could not find file: /builddir/build/BUILD/hk2-hk2-parent-2.4.0-b25/hk2-inhabitant-generator/target/test-classes/negative
Tests run: 6, Failures: 3, Errors: 0, Skipped: 0, Time elapsed: 0.407 sec <<< FAILURE! - in org.jvnet.hk2.generator.tests.InhabitantsGeneratorTest
testDefaultDirectoryGeneration(org.jvnet.hk2.generator.tests.InhabitantsGeneratorTest) Time elapsed: 0.02 sec <<< FAILURE!
junit.framework.AssertionFailedError: did not generate /builddir/build/BUILD/hk2-hk2-parent-2.4.0-b25/hk2-inhabitant-generator/target/test-classes/gendir/META-INF/hk2-locator/default
at junit.framework.Assert.fail(Assert.java:57)
at junit.framework.Assert.assertTrue(Assert.java:22)
at org.jvnet.hk2.generator.tests.InhabitantsGeneratorTest.testDefaultDirectoryGeneration(InhabitantsGeneratorTest.java:688)
testInFlightGenerator(org.jvnet.hk2.generator.tests.InhabitantsGeneratorTest) Time elapsed: 0.006 sec <<< FAILURE!
junit.framework.AssertionFailedError: Expecting 34 descriptors, but only got 0 expected:<34> but was:<0>
at junit.framework.Assert.fail(Assert.java:57)
at junit.framework.Assert.failNotEquals(Assert.java:329)
at junit.framework.Assert.assertEquals(Assert.java:78)
at junit.framework.Assert.assertEquals(Assert.java:234)
at org.jvnet.hk2.generator.tests.InhabitantsGeneratorTest.checkDescriptors(InhabitantsGeneratorTest.java:662)
at org.jvnet.hk2.generator.tests.InhabitantsGeneratorTest.testInFlightGenerator(InhabitantsGeneratorTest.java:925)
testNonDefaultDirectoryGeneration(org.jvnet.hk2.generator.tests.InhabitantsGeneratorTest) Time elapsed: 0.007 sec <<< FAILURE!
junit.framework.AssertionFailedError: did not generate /builddir/build/BUILD/hk2-hk2-parent-2.4.0-b25/hk2-inhabitant-generator/target/test-classes/gendir/META-INF/hk2-locator/other
at junit.framework.Assert.fail(Assert.java:57)
at junit.framework.Assert.assertTrue(Assert.java:22)
at org.jvnet.hk2.generator.tests.InhabitantsGeneratorTest.testNonDefaultDirectoryGeneration(InhabitantsGeneratorTest.java:728)
Results :
Failed tests:
InhabitantsGeneratorTest.testDefaultDirectoryGeneration:688 did not generate /builddir/build/BUILD/hk2-hk2-parent-2.4.0-b25/hk2-inhabitant-generator/target/test-classes/gendir/META-INF/hk2-locator/default
InhabitantsGeneratorTest.testInFlightGenerator:925->checkDescriptors:662 Expecting 34 descriptors, but only got 0 expected:<34> but was:<0>
InhabitantsGeneratorTest.testNonDefaultDirectoryGeneration:728 did not generate /builddir/build/BUILD/hk2-hk2-parent-2.4.0-b25/hk2-inhabitant-generator/target/test-classes/gendir/META-INF/hk2-locator/other
Tests run: 6, Failures: 3, Errors: 0, Skipped: 0
[ERROR] There are test failures.

Comment by Romain Grécourt [ 08/Jun/15 ]

Can you provide steps to reproduce ?

Comment by puntogil [ 08/Jun/15 ]

hi
we use http://pkgs.fedoraproject.org/cgit/glassfish-hk2.git/ (master branch)
and following our packaing policy https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#Why_no_Bundled_Libraries
(for aopalliance and asm)

Comment by Romain Grécourt [ 08/Jun/15 ]

That does not tell me the steps to reproduce the error reported above.
Can you provide steps ?

Comment by puntogil [ 10/Jun/15 ]

hi
i apologize for the delay in responding to your query
i can't provides to you the steps to reproduce these test failures.
i believe that they can depend on some problem related to https://github.com/hk2-project/hk2/commit/c1b5efab81ba52ac2b6c1850f9ca5a87bc0782a4
thanks

Comment by Romain Grécourt [ 10/Jun/15 ]

The test is about inhabitant generator, not about config generation.
Also the suggested changes are maven plugin related, and the test does test the standalone tool, not the maven plugin.

Can you reproduce the error consistently ? (i.e cd hk2-inhabitant-generator ; mvn test )
If so, can you update the tests that are failing. add one more argv (--verbose), and then share the output.

It would be nice if you could do separate run with a single test (see https://maven.apache.org/surefire/maven-surefire-plugin/examples/single-test.html) for each of the test failing.'





[HK2-250] HK2 don't include the license file Created: 19/May/15  Updated: 21/May/15

Status: Open
Project: hk2
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major
Reporter: puntogil Assignee: Romain Grécourt
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Not available LICENSE file in source directory structure
Please. Added license and copyright notice.
the fedora pakaging guideline is very strictly precise about this problem
https://fedoraproject.org/wiki/Packaging:LicensingGuidelines?rd=Packaging/LicensingGuidelines#License_Text
thanks
regards



 Comments   
Comment by puntogil [ 21/May/15 ]

Seem the LICENSE.txt file report the old address of GNU Free Software Foundation
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
can you correct with
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
for Fedora is considered as a bug, see https://fedoraproject.org/wiki/Common_Rpmlint_issues#incorrect-fsf-address
Thanks in advance





[HK2-239] HK2 Feature Enablement and Addition Not Flexible or Scalable Created: 15/Dec/14  Updated: 23/Dec/14

Status: Open
Project: hk2
Component/s: None
Affects Version/s: 2.3.0
Fix Version/s: None

Type: Improvement Priority: Major
Reporter: saden Assignee: jwells
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Currently enabling or adding new features to HK2 is not flexible or dynamic. HK2 should emulate Jersey which seems to have the right idea with their Feature and AutoDiscoverable functionality.

Ideally I would love to be able to:

  1. Register existing feature
    //no more ServiceLocatorUtilities.enableTopicDistribution(locator);
    locator.register(TopicDistribution.class);
    
  2. Register a custom feature
    //enable feature class
    locator.register(SomeFeature.class);
    //enable an instance of a feature class
    locator.register(new SomeFeature());
    
  3. Dynamically register features via ServiceLoader spi
    //discovered and called by service locator during locator creation process
    public class MyFeatures implements ServiceLocatorAutoDiscovery {
      public boolean configure(ServiceLocatorContext context) {
        //context allows for the ability to register a feature, get the 
        //underlying service locator, add/build new descriptor/services, 
        //register binders, etc.
    
        //i.e. 
       if(context.isRegistered(SomeFeature.class) {
          context.register(SomeFeature.class);
        }
      }
    }
    


 Comments   
Comment by jwells [ 16/Dec/14 ]

I guess I don't understand this request. Most features (such as topic distribution, or new contexts) are already just HK2 services, and so are able to be added dynamically like anything else. Most of those "enableTopicDistribution" type things are just there to add the default HK2 versions of those services.

So... seems like hk2 already does this? Am I missing something? The only other thing that you mention here which is about a way to only register something if not already registered is already covered in HK2-229 I think

Comment by saden [ 18/Dec/14 ]

Sorry I wasn't clear, I probably should have formulated my thoughts better before creating the issue.

What I am really getting at is a formalized and documented move towards modularity and extensibility by HK2. While everything is just a service that can be added dynamically features are intrinsically different from just a collection of services in that they facilitate extension of HK2. Today, if you wanted to add a new feature to HK2 it would requires the addition of yet another ServiceLocatorUtilities.enableAwesomeFeature(locator) method. In addition these features are inseparable from the other features and even though one doesn't have to enable them they are there nonetheless. As HK2 grows this way of doing things is probably not scalable. Then there are HK2 features like AOP which are features that don't require enablement but are there.

Right now HK2 has all the fundamental building blocks necessary to get the ball rolling on implementing the feature concept.

  1. There's the Binder API which can be used to programmatically create a feature.
  2. There's the DescriptorFileFinder and Populator API which can be used to discover special feature descriptor files. Conceptually a feature can be thought of as system feature, fundamental feature such as Events or Immediate, that is provided by the HK2 team, or a user feature developed by a third party.

Internally HK2 will need to take a few steps but after that adding and "enabling" a feature will be a matter of adding a jar file to your classpath or implementing a feature and making it available for population via a Binder or classpath discriptors:

  1. Separate its system features (Events, Immediate, etc) into separate projects/modules.
  2. Each of these modules will contain a Binder implementation that facilitates programmatic feature registration.
  3. Introduce new ServiceLocatorUtilities or ServiceLocator methods for registering a feature and ascertaining whether it is already registered. For binding one could re-purpose the "ServiceLocatorUtilities.bind" method but it's probably better to be semantically be clear.
  4. Add two DescriptorFileFinder implementations one for discovering system features ("META-INF/hk2-locator/system") and another for user features ("META-INF/hk2-locator/feature").
  5. During ServiceLocator creation process system and user feature should be discovered and the locator should be populated with these discovered services (system features before user features).

p.s Out of curiosity why isn't there a bind method in the ServiceLocator contract/impl?

Comment by jwells [ 23/Dec/14 ]

I'll answer that last question first: There is no bind method in ServiceLocator because ServiceLocator is supposed to be about finding services and/or descriptors. In fact, the ONLY true way to add and remove descriptors from a Locator is with the DynamicConfiguration.commit method (DynamicConfiguration objects coming from the DynamicConfigurationService service). ALL other ways of adding/removing descriptors to a ServiceLocator are completely built on the DynamicConfiguration.commit method. This includes both types of EDSL binders, as well as all the ServiceLocatorUtilities methods such as "addClasses" and the like, and even the populate methods that read the service-locator files from jars eventually just boil down to the DynamicConfiguration.commit method.

That being said, I like your idea of a grouping of services that can be considered a feature. Then features can depend on other features etc. We have the start of that (such as the EDSL binder methods, which can group services). However, I do think some more infrastructure is needed to truly support them, and things like dependencies between them, and even things like being able to remove them cogently from a running ServiceLocator. Those last few things we certainly do not have right now.





[HK2-246] Dynamically adding services in Injection chain Created: 26/Feb/15  Updated: 26/Feb/15

Status: Open
Project: hk2
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major
Reporter: jwells Assignee: jwells
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Consider the following:

public class {
  @Inject
  private ServiceGenerator generator;

  @Inject
  private AGeneratedService service;

  ...
}

If the ServiceGenerator is going to add AGeneratedService to this ServiceLocator, then this service will sometimes fail, and sometimes not fail, depending upon the vagaries of java reflection. Basically, if the system happens to attempt to find and instantiate ServiceGenerator first, then everything is ok, but if the system happens to attempt to find and instantiate AGeneratedService then this service will fail with an UnsatisfiedDependencyException.

It may be possible to improve hk2 to notice that this sort of scenario has happened and to retry any unsatisfied injectees if there has been a change made to the set of services.






[HK2-230] HK2 + Weld CDI Integration Without Glassfish App Server Created: 29/Aug/14  Updated: 29/Aug/14

Status: Open
Project: hk2
Component/s: None
Affects Version/s: 2.3.0
Fix Version/s: None

Type: New Feature Priority: Major
Reporter: saden Assignee: jwells
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Currently there doesn't seem to be way to use HK2 + Weld CDI bridge outside of Glassfish. It would be nice if there was a way to utilize HK2 and Weld CDI implementation in Tomcat.

Is there a way to make Glassfish's Weld-Integration project part of HK2 eco-system just like Spring and Guice integration?






[HK2-222] testUnboundServiceNoLongerGetsNotified in BasicTopicTests hangs Created: 04/Aug/14  Updated: 04/Aug/14

Status: Open
Project: hk2
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major
Reporter: jwells Assignee: jwells
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

The test testUnboundServiceNoLongerGetsNotified hangs on one in twenty runs (approx) in one of our Hudsons. The hang results in the build failing after about 30 minutes



 Comments   
Comment by jwells [ 04/Aug/14 ]

The test has been @Ignored until we can fix it





[HK2-192] Add API for validating all injection points Created: 03/Mar/14  Updated: 03/Mar/14

Status: Open
Project: hk2
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: New Feature Priority: Major
Reporter: jwells Assignee: jwells
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

There has been a request for "fail-fast" behavior from HK2. Since HK2 is a dynamic system, it tends to defer analysis of injection points until the latest possible moment. This request is to add a validation API that would ensure that every non-optional injection point has at least one valid injectee.

Other things to think about:

1. Calling such a method would cause all descriptors to become reified, which is an large performance hit in some systems (such as GlassFish)
2. The security aspects of the call would be of interest, as all the lookups would be done under the security credentials of the caller
3. I wonder if there could be an option on it to validate whether any injection point has MORE than one possible answer
4. Obviously this would be for the snapshot of the system as it exists at the time of being called



 Comments   
Comment by jwells [ 03/Mar/14 ]

For systems such a Jersey who do not use non-reified descriptors and which has an application lifecycle it might be interesting to have fail-fast behavior.





[HK2-203] Ability to Add Arbitrary Metadata to Services via Annotation Created: 24/Apr/14  Updated: 24/Apr/14

Status: Open
Project: hk2
Component/s: None
Affects Version/s: 2.2.0
Fix Version/s: None

Type: New Feature Priority: Major
Reporter: saden Assignee: jwells
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

I'd like to add additional metadata to a service via annotation. The current implementation of @Metadata requires that an annotation be a qualifier or scope annotation in order to add metadata which precludes me from being able to directly add metadata to a service and retrieve it later without having to qualify/scope it. For example, I would like to be able to do this:

//notice there is no qualifier or scope annotation
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface MyServiceMetadata {

    @Metadata("myMetadata")
    String value();

}

@MyServiceMetadata("something")
@Service
public class MyService {
}



With this I will be able to get MyService's active descriptor and get "myMetadata" value.






[HK2-195] Allow for a CDI style @Produces feature Created: 04/Apr/14  Updated: 25/Feb/16

Status: Open
Project: hk2
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: New Feature Priority: Major
Reporter: jwells Assignee: jwells
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

While Factories are ok for having user created stuff, @Produces is more convenient in many cases simply because you generally do not need to create a whole new service just to have code the produces some service or another.

This question on stack-exchange also asked for such a feature:

http://stackoverflow.com/questions/22856997/hk2-equivalent-of-provides-in-guice-for-jersey-2



 Comments   
Comment by saden [ 08/Apr/14 ]

May I suggest using @Provides instead of @Produces for this new feature as that seems more natural verbiage in HK2 world. Also, will this new feature allow you to specify the scope of the object being provided?

Comment by saden [ 21/Feb/16 ]

Any plans to implement this feature in 2.5.0 release?

Comment by jwells [ 25/Feb/16 ]

No plans right now, though this is a neat feature and I would like to see it done!





[HK2-190] Wrong license information in asm-all-repackaged POM Created: 24/Feb/14  Updated: 10/Feb/16

Status: Open
Project: hk2
Component/s: None
Affects Version/s: 2.3.0
Fix Version/s: None

Type: Bug Priority: Major
Reporter: Gunnar Wagenknecht Assignee: Romain Grécourt
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

The license information in the asm-all-repackaged POM is inherited from the HK2 parent. But ASM has a different license. Shouldn't that be reflected in the POM?



 Comments   
Comment by Gunnar Wagenknecht [ 10/Feb/16 ]

Any update on this?





[HK2-206] Replace Existing HK2 Listeners with New HK2 Event System Created: 30/Apr/14  Updated: 30/Apr/14

Status: Open
Project: hk2
Component/s: None
Affects Version/s: 2.2.0
Fix Version/s: None

Type: Improvement Priority: Major
Reporter: saden Assignee: jwells
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

The new HK2 event system introduced all sorts of new possibilities. Deprecate and phaseout the existing listeners (RunLevelListener, ServiceLocatorListener, InstanceLifecycleListener, etc) in favor of the new event system.






[HK2-173] HK2 can not be Relocated/Privatized Created: 15/Dec/13  Updated: 31/Jan/14

Status: Open
Project: hk2
Component/s: None
Affects Version/s: 2.2.0
Fix Version/s: None

Type: Improvement Priority: Major
Reporter: saden Assignee: jwells
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

JDK 1.7.0_25
HK2 2.2.0-b26
Linux Mint 14 32bit



 Description   

Relocating HK2 so that it can be used privately in an uber jar does not work. I have created a test case for this issue:

https://github.com/saden1/hk2-spi

Notes:

1. The resources module contains alterned versions of hk2's meta-info files
2. The spi module contains a simple contract interface
3. The impl module generated an uber jar that relocated hk2 and its resources
and it also contains an implementation of the contract in the spi module.
4. The demo module has a test class that tries to use the relocated version of
ServiceLocatorUtilities to try and load the contract.

When you try to execute DemoTest case createAndPopulateServiceLocator method throws a NPE because it can not find DynamicConfigurationService.



 Comments   
Comment by saden [ 31/Jan/14 ]

Any update on this issue would be appreciated.





[HK2-117] hk2-maven-plugin generate invalid Class-Path attribute in META-INF/MANIFEST.MF Created: 03/Jun/13  Updated: 07/Aug/14

Status: Open
Project: hk2
Component/s: None
Affects Version/s: 1.*
Fix Version/s: None

Type: Bug Priority: Major
Reporter: nosilverbullet Assignee: jwells
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

system independent


Tags: hk2

 Description   

hk2-maven-plugin generate invalid Class-Path attribute in META-INF/MANIFEST.MF.
If version number has -SNAPSHOT, Packager.stripVersion() fail to strip the vertion.

Show current code:

private static String stripVersion(Artifact a) {
String origName = a.getFile().getName();
String newName = origName;
int idx = origName.lastIndexOf(a.getVersion());
if (idx != -1)

{ // remove version in artifactId-version(-classifier).type String baseFilename = origName.substring( 0, idx - 1 ); String extension = origName.substring( idx + a.getVersion().length()); newName = baseFilename + extension; }

return newName;
}

a.getVersion() must be changed to a.getBaseVersion(), or construct the file name based on artifact id like this:

newName = a.getArtifactId() + "." + a.getArtifactHandler().getExtension();

Full code can be found in DependencyUtil.java in maven-dependency-plugin.



 Comments   
Comment by nosilverbullet [ 03/Jun/13 ]

For example:

If foo-1.0.0-SNAPSHOT.jar passed as an argument of stripVersion(),
result of a.getVersion() is "1.0.0-20130602.140214-19" .

Comment by Romain Grécourt [ 07/Aug/14 ]

This plugin is from the old 1.x workspace. We should certainly remove it.





[HK2-305] Custom injection resolvers are ignored when dispatching events Created: 10/Jan/17  Updated: 10/Jan/17

Status: Open
Project: hk2
Component/s: None
Affects Version/s: 2.4.0, 2.5.0
Fix Version/s: None

Type: Bug Priority: Major
Reporter: chrsoo Assignee: jwells
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

The custom injection resolver is ignored when resolving method arguments for an event handler method. E.g. given the custom annotation EventHandler and resolver EventHandlerResolver the resolver is never called for the following snippet:

@Service
@MessageReceiver
public class EventHandler {
	@EventHandler
	public void handle(@SubscribeTo Event event, @EventHeader("MyHeader") String header) {
		...
	}
}





[HK2-299] Improve return value signature of ActiveDescriptor.getImplementationClass() Created: 28/Apr/16  Updated: 28/Apr/16

Status: Open
Project: hk2
Component/s: None
Affects Version/s: 2.5.0
Fix Version/s: None

Type: New Feature Priority: Minor
Reporter: ljnelson Assignee: jwells
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

ActiveDescriptor#getImplementationClass() currently returns a Class<?>. It should return Class<? extends T> since it is guaranteed that the implementation of a contract must be assignable to instances of the contract.






[HK2-254] RunLevel of Service Not Considered During Service Narrowing and Injection Created: 26/May/15  Updated: 11/Jun/15

Status: Open
Project: hk2
Component/s: None
Affects Version/s: 2.3.0
Fix Version/s: None

Type: Bug Priority: Minor
Reporter: saden Assignee: jwells
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Linux 64bit, Java 8



 Description   

Given two run level services that implement the same contract:


@Contract
interface ServiceContract {

}

@Service
@RunLevel(5)
class PrimaryService implements ServiceContract {

}

@Service
@RunLevel(10)
class BackupService implements ServiceContract {

}

If I bring the system to run level 5 I would expect HK2 would consider the run level of the available services and returns an instance of PrimaryService if I try to inject/locate an instance of ServiceContract.

Right now HK2 service locator knows about all the discovered descriptors and during service location the service narrowing logic will return a service based on its natural ordering without any regard for the current run level of the system and the run level of the available services.

Ideally HK2 should return a ServiceContract implementation at or below the current service level.



 Comments   
Comment by saden [ 11/Jun/15 ]

Comments, concerns, questions?





[HK2-189] Improve @Optional Feature Created: 13/Feb/14  Updated: 02/Jan/16

Status: Open
Project: hk2
Component/s: None
Affects Version/s: 2.2.0
Fix Version/s: None

Type: New Feature Priority: Minor
Reporter: saden Assignee: jwells
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

I call it my billion-dollar mistake. It was the invention of the null reference in 1965. At that time, I was designing the first comprehensive type system for references in an object oriented language (ALGOL W). My goal was to ensure that all use of references should be absolutely safe, with checking performed automatically by the compiler. But I couldn't resist the temptation to put in a null reference, simply because it was so easy to implement. This has led to innumerable errors, vulnerabilities, and system crashes, which have probably caused a billion dollars of pain and damage in the last forty years.

-Sir C. A. R. Hoare

Get rid of nulls services? Possibly with something like this?

 
public interface Optional<T> extends Provider<T> {
  boolean isPresent();
}
public class TestService {
  @Inject
  Optional<MyService> myService;

  public void doSomething() {
    if(myService.isPresent()) {
       MyService service = myService.get();
       //do something
    }
}


 Comments   
Comment by krikava [ 02/Jan/16 ]

It would be great to have a support for Java 8 java.util.Optional





[HK2-191] Factories could use a lot of improvements Created: 27/Feb/14  Updated: 27/Feb/14

Status: Open
Project: hk2
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Minor
Reporter: jwells Assignee: jwells
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

For example in DynamicConfiguration there could be a method like addActiveFactoryDescriptors(Class<Factory> yo). Perhaps we should also add a class like ActiveFactoryDescriptors and add a method to DynamicConfiguration addActiveFactory(ActiveFactoryDescriptor yo).

There could also be a utility method in ServiceLocatorUtilities called addFactoryClasses that could automatically add in factory descriptors. addClasses could be enhanced to notice if a class was a Factory and either explicitly fail or add in the multiple descriptors.






[HK2-267] (Javadoc bug) ServiceLocator#getAllServiceHandles() can take an annotation class as its first parameter Created: 08/Jul/15  Updated: 08/Jul/15

Status: Open
Project: hk2
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Trivial
Reporter: ljnelson Assignee: jwells
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

The javadocs for ServiceLocator#getAllServiceHandles() indicate that the first parameter for either the Class or Type-overloaded version must be a contract or implementation. In reality it may also be a qualifier annotation class.






Generated at Mon Feb 20 09:04:13 UTC 2017 using JIRA 6.2.3#6260-sha1:63ef1d6dac3f4f4d7db4c1effd405ba38ccdc558.