[jira] [Commented] (ARIES-1801) SPI Fly does not work with a dynamic class object

2018-05-24 Thread JIRA

[ 
https://issues.apache.org/jira/browse/ARIES-1801?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16489313#comment-16489313
 ] 

Björn Kautler commented on ARIES-1801:
--

I don't know, it was just a suspicion that this was the cause.
Maybe debug into the code and see?
Put some breakpoints to the usages of {{lastLDCType}} and see where it gets set.
For me it was {{null}} and thus the exception occurred.

> SPI Fly does not work with a dynamic class object
> -
>
> Key: ARIES-1801
> URL: https://issues.apache.org/jira/browse/ARIES-1801
> Project: Aries
>  Issue Type: Bug
>Affects Versions: 1.0
>Reporter: Björn Kautler
>Priority: Major
>
> SLF4J changes in version 1.8 how implementations are looked up to 
> {{java.util.ServiceLoader}}.
> In our codebase we dynamically search for an SLF4J implementation and use a 
> default logger if none is found.
> To adapt to the new mechanism but remain compatible with SLF4J 1.7 I added to 
> our codebase
> {code:java}
> try {
> // post-1.8 mechanism
> Class slf4jServiceProviderClass = 
> Class.forName("org.slf4j.spi.SLF4JServiceProvider");
> if (ServiceLoader.load(slf4jServiceProviderClass).iterator().hasNext()) {
> noLogger.set(false);
> return true;
> }
> } catch (ClassNotFoundException e) {
> // ignore
> }
> {code}
> If I now use the {{org.apache.aries.spifly.dynamic.bundle}} 1.0.10, I get an 
> exception as SPI Fly seemingly only supports class constants. While 
> traversing the ASM tree it remembers the last class constant seen and uses 
> that to transform the {{load}} call.
> Here the exception I get:
> {code:java}
> java.lang.ClassFormatError: Weaving hook failed.
>   at 
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.transformClass(BundleWiringImpl.java:2479)
>   at 
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.findClass(BundleWiringImpl.java:2152)
>   at 
> org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1607)
>   at 
> org.apache.felix.framework.BundleWiringImpl.access$200(BundleWiringImpl.java:80)
>   at 
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:2053)
>   at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>   at 
> org.javacord.core.util.logging.ExceptionLoggerDelegateImpl.(ExceptionLoggerDelegateImpl.java:20)
>   at 
> org.javacord.core.util.DelegateFactoryDelegateImpl.createExceptionLoggerDelegate(DelegateFactoryDelegateImpl.java:180)
>   at 
> org.javacord.api.util.internal.DelegateFactory.(DelegateFactory.java:74)
>   at org.javacord.api.DiscordApiBuilder.(DiscordApiBuilder.java:20)
>   at net.kautler.test.osgi.OsgiTest.start(OsgiTest.java:17)
>   at 
> org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:697)
>   at org.apache.felix.framework.Felix.activateBundle(Felix.java:2240)
>   at org.apache.felix.framework.Felix.startBundle(Felix.java:2146)
>   at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1373)
>   at 
> org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
>   at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.IllegalArgumentException: value null
>   at org.objectweb.asm.ClassWriter.newConstItem(ClassWriter.java:1057)
>   at org.objectweb.asm.MethodWriter.visitLdcInsn(MethodWriter.java:1126)
>   at 
> org.apache.aries.spifly.weaver.TCCLSetterVisitor$TCCLSetterMethodVisitor.visitMethodInsn(TCCLSetterVisitor.java:194)
>   at org.objectweb.asm.ClassReader.readCode(ClassReader.java:1416)
>   at org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1017)
>   at org.objectweb.asm.ClassReader.accept(ClassReader.java:693)
>   at org.objectweb.asm.ClassReader.accept(ClassReader.java:506)
>   at 
> org.apache.aries.spifly.dynamic.ClientWeavingHook.weave(ClientWeavingHook.java:61)
>   at 
> org.apache.felix.framework.util.SecureAction.invokeWeavingHook(SecureAction.java:1203)
>   at 
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.transformClass(BundleWiringImpl.java:2465)
>   ... 16 more
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARIES-1801) SPI Fly does not work with a dynamic class object

2018-05-24 Thread David Bosschaert (JIRA)

[ 
https://issues.apache.org/jira/browse/ARIES-1801?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16489205#comment-16489205
 ] 

David Bosschaert commented on ARIES-1801:
-

Hmm, but when I run the test with the two lines you quoted commented out, the 
test still passes. Or am I missing something?

> SPI Fly does not work with a dynamic class object
> -
>
> Key: ARIES-1801
> URL: https://issues.apache.org/jira/browse/ARIES-1801
> Project: Aries
>  Issue Type: Bug
>Affects Versions: 1.0
>Reporter: Björn Kautler
>Priority: Major
>
> SLF4J changes in version 1.8 how implementations are looked up to 
> {{java.util.ServiceLoader}}.
> In our codebase we dynamically search for an SLF4J implementation and use a 
> default logger if none is found.
> To adapt to the new mechanism but remain compatible with SLF4J 1.7 I added to 
> our codebase
> {code:java}
> try {
> // post-1.8 mechanism
> Class slf4jServiceProviderClass = 
> Class.forName("org.slf4j.spi.SLF4JServiceProvider");
> if (ServiceLoader.load(slf4jServiceProviderClass).iterator().hasNext()) {
> noLogger.set(false);
> return true;
> }
> } catch (ClassNotFoundException e) {
> // ignore
> }
> {code}
> If I now use the {{org.apache.aries.spifly.dynamic.bundle}} 1.0.10, I get an 
> exception as SPI Fly seemingly only supports class constants. While 
> traversing the ASM tree it remembers the last class constant seen and uses 
> that to transform the {{load}} call.
> Here the exception I get:
> {code:java}
> java.lang.ClassFormatError: Weaving hook failed.
>   at 
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.transformClass(BundleWiringImpl.java:2479)
>   at 
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.findClass(BundleWiringImpl.java:2152)
>   at 
> org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1607)
>   at 
> org.apache.felix.framework.BundleWiringImpl.access$200(BundleWiringImpl.java:80)
>   at 
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:2053)
>   at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>   at 
> org.javacord.core.util.logging.ExceptionLoggerDelegateImpl.(ExceptionLoggerDelegateImpl.java:20)
>   at 
> org.javacord.core.util.DelegateFactoryDelegateImpl.createExceptionLoggerDelegate(DelegateFactoryDelegateImpl.java:180)
>   at 
> org.javacord.api.util.internal.DelegateFactory.(DelegateFactory.java:74)
>   at org.javacord.api.DiscordApiBuilder.(DiscordApiBuilder.java:20)
>   at net.kautler.test.osgi.OsgiTest.start(OsgiTest.java:17)
>   at 
> org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:697)
>   at org.apache.felix.framework.Felix.activateBundle(Felix.java:2240)
>   at org.apache.felix.framework.Felix.startBundle(Felix.java:2146)
>   at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1373)
>   at 
> org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
>   at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.IllegalArgumentException: value null
>   at org.objectweb.asm.ClassWriter.newConstItem(ClassWriter.java:1057)
>   at org.objectweb.asm.MethodWriter.visitLdcInsn(MethodWriter.java:1126)
>   at 
> org.apache.aries.spifly.weaver.TCCLSetterVisitor$TCCLSetterMethodVisitor.visitMethodInsn(TCCLSetterVisitor.java:194)
>   at org.objectweb.asm.ClassReader.readCode(ClassReader.java:1416)
>   at org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1017)
>   at org.objectweb.asm.ClassReader.accept(ClassReader.java:693)
>   at org.objectweb.asm.ClassReader.accept(ClassReader.java:506)
>   at 
> org.apache.aries.spifly.dynamic.ClientWeavingHook.weave(ClientWeavingHook.java:61)
>   at 
> org.apache.felix.framework.util.SecureAction.invokeWeavingHook(SecureAction.java:1203)
>   at 
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.transformClass(BundleWiringImpl.java:2465)
>   ... 16 more
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARIES-619) Fix SPI-FLY and SUBSYSTEM tio use release by bundle scheme

2018-05-24 Thread David Bosschaert (JIRA)

[ 
https://issues.apache.org/jira/browse/ARIES-619?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16489199#comment-16489199
 ] 

David Bosschaert commented on ARIES-619:


This is a very old issue and I'm not sure it's still relevant. [~zoe] 
[~hughesj] do you think we still need this, or can the issue be closed?

> Fix SPI-FLY and SUBSYSTEM tio use release by bundle scheme
> --
>
> Key: ARIES-619
> URL: https://issues.apache.org/jira/browse/ARIES-619
> Project: Aries
>  Issue Type: Bug
>Reporter: zoe slattery
>Assignee: Jeremy Hughes
>Priority: Major
>
> In summary:
> Split parent and reactor poms (Reactor just contains a list of modules, no 
> SCM element)
> Add packageinfo files for package export versions
> Make each bundle pom depend on the 0.4 released parent (if possible)
> Switch depenedencies to point at released versions (where possible)
> Add an SCM element to each modules pom.
> Fix build warnings caused by default settings for maven-bundle-plugin



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARIES-1470) java.util.ServiceConfigurationError

2018-05-24 Thread David Bosschaert (JIRA)

[ 
https://issues.apache.org/jira/browse/ARIES-1470?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16489198#comment-16489198
 ] 

David Bosschaert commented on ARIES-1470:
-

[~setya] Is this issue still relevant, or can we close it?

> java.util.ServiceConfigurationError
> ---
>
> Key: ARIES-1470
> URL: https://issues.apache.org/jira/browse/ARIES-1470
> Project: Aries
>  Issue Type: Bug
>  Components: SPI Fly
>Affects Versions: spifly-1.0.6
> Environment: Eclipse Virgo Jetty Server 3.6.4, Spring Framework 3.2.5
>Reporter: Setya
>Priority: Major
>
> Deploying application that relies on 3rd party framework that's using 
> ServiceLoader into Eclipse Virgo intermittenly causes the following exception 
> to be thrown:
> Caused by: java.util.ServiceConfigurationError: 
> org.axonframework.serializer.ContentTypeConverter: Provider 
> org.axonframework.serializer.converters.ByteArrayToInputStreamConverter not a 
> subtype
>   at java.util.ServiceLoader.fail(ServiceLoader.java:231)
>   at java.util.ServiceLoader.access$300(ServiceLoader.java:181)
>   at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:369)
>   at java.util.ServiceLoader$1.next(ServiceLoader.java:445)
>   at 
> org.axonframework.serializer.ChainingConverterFactory.(ChainingConverterFactory.java:51)
>   at 
> org.axonframework.serializer.AbstractXStreamSerializer.(AbstractXStreamSerializer.java:106)
>   at 
> org.axonframework.serializer.AbstractXStreamSerializer.(AbstractXStreamSerializer.java:81)
>   at 
> org.axonframework.serializer.AbstractXStreamSerializer.(AbstractXStreamSerializer.java:70)
>   at 
> org.axonframework.serializer.xml.XStreamSerializer.(XStreamSerializer.java:53)
>   at 
> org.axonframework.contextsupport.spring.FileSystemEventStoreBeanDefinitionParser.doParse(FileSystemEventStoreBeanDefinitionParser.java:76)
>   at 
> org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser.parseInternal(AbstractSingleBeanDefinitionParser.java:85)
>   at 
> org.springframework.beans.factory.xml.AbstractBeanDefinitionParser.parse(AbstractBeanDefinitionParser.java:59)
>   at 
> org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:73)
>   at 
> org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1438)
>   at 
> org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1428)
>   at 
> org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:195)
>   at 
> org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.doRegisterBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:139)
>   at 
> org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:108)
>   at 
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:493)
>   at 
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:390)
>   ... 21 common frames omitted
> Have tried to weave static bundle using SPI Fly, but the problem persists.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Closed] (ARIES-938) Proposal: SPI Catch (plug-in discovery for both plain Java >=5 and OSGi)

2018-05-24 Thread David Bosschaert (JIRA)

 [ 
https://issues.apache.org/jira/browse/ARIES-938?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

David Bosschaert closed ARIES-938.
--
Resolution: Won't Do

> Proposal: SPI Catch (plug-in discovery for both plain Java >=5 and OSGi)
> 
>
> Key: ARIES-938
> URL: https://issues.apache.org/jira/browse/ARIES-938
> Project: Aries
>  Issue Type: New Feature
>Reporter: Jeremias Maerki
>Priority: Major
> Attachments: spi-catch.zip
>
>
> As discussed in http://aries.markmail.org/thread/i2vgjryf5caitqmy I propose a 
> new component for Apache Aries, code-named "SPI Catch", as a complement to 
> SPI Fly.
> SPI Catch provides an abstraction to plug-in discovery that for libraries 
> that make use of the JAR service provider mechanism (through 
> META-INF/services) to discover plug-ins. It shields the client from OSGi 
> specifics but all the same offering the dynamics provided through the OSGi 
> service registry. It is an deal counter-part to Apache Aries SPI Fly which is 
> used to publish SPI providers as OSGi services. And finally, another focus is 
> on preserving the runnability totally outside of OSGi.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Comment Edited] (ARIES-1801) SPI Fly does not work with a dynamic class object

2018-05-24 Thread JIRA

[ 
https://issues.apache.org/jira/browse/ARIES-1801?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16489193#comment-16489193
 ] 

Björn Kautler edited comment on ARIES-1801 at 5/24/18 3:16 PM:
---

Maybe the

{code:java}
// Try to irritate TCCLSetterVisitor by forcing an (irrelevant) LDC.
@SuppressWarnings("unused")
Class causeLDC = String.class;
{code}

is the difference?
In my case there is no last class constant, so the value is {{null}} and you 
get the {{IAE}}.
In that case the last class constant is there, it just has nothing to do with 
the loaded service.


was (Author: vampire):
Maybe the

{code:java}
// Try to irritate TCCLSetterVisitor by forcing an (irrelevant) LDC.
@SuppressWarnings("unused")
Class causeLDC = String.class;
{code}

is the difference?
In my case there is no last class constant, so the value is {{null}} and you 
get the {{IAE}}.
In that case the last class constant is there, it just has nothing to do with 
the loaded service.

> SPI Fly does not work with a dynamic class object
> -
>
> Key: ARIES-1801
> URL: https://issues.apache.org/jira/browse/ARIES-1801
> Project: Aries
>  Issue Type: Bug
>Affects Versions: 1.0
>Reporter: Björn Kautler
>Priority: Major
>
> SLF4J changes in version 1.8 how implementations are looked up to 
> {{java.util.ServiceLoader}}.
> In our codebase we dynamically search for an SLF4J implementation and use a 
> default logger if none is found.
> To adapt to the new mechanism but remain compatible with SLF4J 1.7 I added to 
> our codebase
> {code:java}
> try {
> // post-1.8 mechanism
> Class slf4jServiceProviderClass = 
> Class.forName("org.slf4j.spi.SLF4JServiceProvider");
> if (ServiceLoader.load(slf4jServiceProviderClass).iterator().hasNext()) {
> noLogger.set(false);
> return true;
> }
> } catch (ClassNotFoundException e) {
> // ignore
> }
> {code}
> If I now use the {{org.apache.aries.spifly.dynamic.bundle}} 1.0.10, I get an 
> exception as SPI Fly seemingly only supports class constants. While 
> traversing the ASM tree it remembers the last class constant seen and uses 
> that to transform the {{load}} call.
> Here the exception I get:
> {code:java}
> java.lang.ClassFormatError: Weaving hook failed.
>   at 
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.transformClass(BundleWiringImpl.java:2479)
>   at 
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.findClass(BundleWiringImpl.java:2152)
>   at 
> org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1607)
>   at 
> org.apache.felix.framework.BundleWiringImpl.access$200(BundleWiringImpl.java:80)
>   at 
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:2053)
>   at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>   at 
> org.javacord.core.util.logging.ExceptionLoggerDelegateImpl.(ExceptionLoggerDelegateImpl.java:20)
>   at 
> org.javacord.core.util.DelegateFactoryDelegateImpl.createExceptionLoggerDelegate(DelegateFactoryDelegateImpl.java:180)
>   at 
> org.javacord.api.util.internal.DelegateFactory.(DelegateFactory.java:74)
>   at org.javacord.api.DiscordApiBuilder.(DiscordApiBuilder.java:20)
>   at net.kautler.test.osgi.OsgiTest.start(OsgiTest.java:17)
>   at 
> org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:697)
>   at org.apache.felix.framework.Felix.activateBundle(Felix.java:2240)
>   at org.apache.felix.framework.Felix.startBundle(Felix.java:2146)
>   at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1373)
>   at 
> org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
>   at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.IllegalArgumentException: value null
>   at org.objectweb.asm.ClassWriter.newConstItem(ClassWriter.java:1057)
>   at org.objectweb.asm.MethodWriter.visitLdcInsn(MethodWriter.java:1126)
>   at 
> org.apache.aries.spifly.weaver.TCCLSetterVisitor$TCCLSetterMethodVisitor.visitMethodInsn(TCCLSetterVisitor.java:194)
>   at org.objectweb.asm.ClassReader.readCode(ClassReader.java:1416)
>   at org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1017)
>   at org.objectweb.asm.ClassReader.accept(ClassReader.java:693)
>   at org.objectweb.asm.ClassReader.accept(ClassReader.java:506)
>   at 
> org.apache.aries.spifly.dynamic.ClientWeavingHook.weave(ClientWeavingHook.java:61)
>   at 
> org.apache.felix.framework.util.SecureAction.invokeWeavingHook(SecureAction.java:1203)
>   at 
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.transformClass(BundleWiringImpl.java:2465)
> 

[jira] [Commented] (ARIES-1801) SPI Fly does not work with a dynamic class object

2018-05-24 Thread JIRA

[ 
https://issues.apache.org/jira/browse/ARIES-1801?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16489193#comment-16489193
 ] 

Björn Kautler commented on ARIES-1801:
--

Maybe the

{code:java}
// Try to irritate TCCLSetterVisitor by forcing an (irrelevant) LDC.
@SuppressWarnings("unused")
Class causeLDC = String.class;
{code}

is the difference?
In my case there is no last class constant, so the value is {{null}} and you 
get the {{IAE}}.
In that case the last class constant is there, it just has nothing to do with 
the loaded service.

> SPI Fly does not work with a dynamic class object
> -
>
> Key: ARIES-1801
> URL: https://issues.apache.org/jira/browse/ARIES-1801
> Project: Aries
>  Issue Type: Bug
>Affects Versions: 1.0
>Reporter: Björn Kautler
>Priority: Major
>
> SLF4J changes in version 1.8 how implementations are looked up to 
> {{java.util.ServiceLoader}}.
> In our codebase we dynamically search for an SLF4J implementation and use a 
> default logger if none is found.
> To adapt to the new mechanism but remain compatible with SLF4J 1.7 I added to 
> our codebase
> {code:java}
> try {
> // post-1.8 mechanism
> Class slf4jServiceProviderClass = 
> Class.forName("org.slf4j.spi.SLF4JServiceProvider");
> if (ServiceLoader.load(slf4jServiceProviderClass).iterator().hasNext()) {
> noLogger.set(false);
> return true;
> }
> } catch (ClassNotFoundException e) {
> // ignore
> }
> {code}
> If I now use the {{org.apache.aries.spifly.dynamic.bundle}} 1.0.10, I get an 
> exception as SPI Fly seemingly only supports class constants. While 
> traversing the ASM tree it remembers the last class constant seen and uses 
> that to transform the {{load}} call.
> Here the exception I get:
> {code:java}
> java.lang.ClassFormatError: Weaving hook failed.
>   at 
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.transformClass(BundleWiringImpl.java:2479)
>   at 
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.findClass(BundleWiringImpl.java:2152)
>   at 
> org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1607)
>   at 
> org.apache.felix.framework.BundleWiringImpl.access$200(BundleWiringImpl.java:80)
>   at 
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:2053)
>   at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>   at 
> org.javacord.core.util.logging.ExceptionLoggerDelegateImpl.(ExceptionLoggerDelegateImpl.java:20)
>   at 
> org.javacord.core.util.DelegateFactoryDelegateImpl.createExceptionLoggerDelegate(DelegateFactoryDelegateImpl.java:180)
>   at 
> org.javacord.api.util.internal.DelegateFactory.(DelegateFactory.java:74)
>   at org.javacord.api.DiscordApiBuilder.(DiscordApiBuilder.java:20)
>   at net.kautler.test.osgi.OsgiTest.start(OsgiTest.java:17)
>   at 
> org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:697)
>   at org.apache.felix.framework.Felix.activateBundle(Felix.java:2240)
>   at org.apache.felix.framework.Felix.startBundle(Felix.java:2146)
>   at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1373)
>   at 
> org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
>   at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.IllegalArgumentException: value null
>   at org.objectweb.asm.ClassWriter.newConstItem(ClassWriter.java:1057)
>   at org.objectweb.asm.MethodWriter.visitLdcInsn(MethodWriter.java:1126)
>   at 
> org.apache.aries.spifly.weaver.TCCLSetterVisitor$TCCLSetterMethodVisitor.visitMethodInsn(TCCLSetterVisitor.java:194)
>   at org.objectweb.asm.ClassReader.readCode(ClassReader.java:1416)
>   at org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1017)
>   at org.objectweb.asm.ClassReader.accept(ClassReader.java:693)
>   at org.objectweb.asm.ClassReader.accept(ClassReader.java:506)
>   at 
> org.apache.aries.spifly.dynamic.ClientWeavingHook.weave(ClientWeavingHook.java:61)
>   at 
> org.apache.felix.framework.util.SecureAction.invokeWeavingHook(SecureAction.java:1203)
>   at 
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.transformClass(BundleWiringImpl.java:2465)
>   ... 16 more
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARIES-1801) SPI Fly does not work with a dynamic class object

2018-05-24 Thread David Bosschaert (JIRA)

[ 
https://issues.apache.org/jira/browse/ARIES-1801?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16489175#comment-16489175
 ] 

David Bosschaert commented on ARIES-1801:
-

Interestingly enough, there seems to be a test for this use case:

The method testClientSpecifyingDifferentMethodsLimitedToDifferentProviders() in 
https://svn.apache.org/repos/asf/aries/trunk/spi-fly/spi-fly-dynamic-bundle/src/test/java/org/apache/aries/spifly/dynamic/ClientWeavingHookTest.java
internally exercises the testService() method in 
https://svn.apache.org/repos/asf/aries/trunk/spi-fly/spi-fly-dynamic-bundle/src/test/java/org/apache/aries/spifly/dynamic/TestClient.java
 which passes a Class object which is a parameter to the method to 
ServiceLoader.load()

So I guess the question is: how is the use-case filed in this issue different?

> SPI Fly does not work with a dynamic class object
> -
>
> Key: ARIES-1801
> URL: https://issues.apache.org/jira/browse/ARIES-1801
> Project: Aries
>  Issue Type: Bug
>Affects Versions: 1.0
>Reporter: Björn Kautler
>Priority: Major
>
> SLF4J changes in version 1.8 how implementations are looked up to 
> {{java.util.ServiceLoader}}.
> In our codebase we dynamically search for an SLF4J implementation and use a 
> default logger if none is found.
> To adapt to the new mechanism but remain compatible with SLF4J 1.7 I added to 
> our codebase
> {code:java}
> try {
> // post-1.8 mechanism
> Class slf4jServiceProviderClass = 
> Class.forName("org.slf4j.spi.SLF4JServiceProvider");
> if (ServiceLoader.load(slf4jServiceProviderClass).iterator().hasNext()) {
> noLogger.set(false);
> return true;
> }
> } catch (ClassNotFoundException e) {
> // ignore
> }
> {code}
> If I now use the {{org.apache.aries.spifly.dynamic.bundle}} 1.0.10, I get an 
> exception as SPI Fly seemingly only supports class constants. While 
> traversing the ASM tree it remembers the last class constant seen and uses 
> that to transform the {{load}} call.
> Here the exception I get:
> {code:java}
> java.lang.ClassFormatError: Weaving hook failed.
>   at 
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.transformClass(BundleWiringImpl.java:2479)
>   at 
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.findClass(BundleWiringImpl.java:2152)
>   at 
> org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1607)
>   at 
> org.apache.felix.framework.BundleWiringImpl.access$200(BundleWiringImpl.java:80)
>   at 
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:2053)
>   at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>   at 
> org.javacord.core.util.logging.ExceptionLoggerDelegateImpl.(ExceptionLoggerDelegateImpl.java:20)
>   at 
> org.javacord.core.util.DelegateFactoryDelegateImpl.createExceptionLoggerDelegate(DelegateFactoryDelegateImpl.java:180)
>   at 
> org.javacord.api.util.internal.DelegateFactory.(DelegateFactory.java:74)
>   at org.javacord.api.DiscordApiBuilder.(DiscordApiBuilder.java:20)
>   at net.kautler.test.osgi.OsgiTest.start(OsgiTest.java:17)
>   at 
> org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:697)
>   at org.apache.felix.framework.Felix.activateBundle(Felix.java:2240)
>   at org.apache.felix.framework.Felix.startBundle(Felix.java:2146)
>   at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1373)
>   at 
> org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
>   at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.IllegalArgumentException: value null
>   at org.objectweb.asm.ClassWriter.newConstItem(ClassWriter.java:1057)
>   at org.objectweb.asm.MethodWriter.visitLdcInsn(MethodWriter.java:1126)
>   at 
> org.apache.aries.spifly.weaver.TCCLSetterVisitor$TCCLSetterMethodVisitor.visitMethodInsn(TCCLSetterVisitor.java:194)
>   at org.objectweb.asm.ClassReader.readCode(ClassReader.java:1416)
>   at org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1017)
>   at org.objectweb.asm.ClassReader.accept(ClassReader.java:693)
>   at org.objectweb.asm.ClassReader.accept(ClassReader.java:506)
>   at 
> org.apache.aries.spifly.dynamic.ClientWeavingHook.weave(ClientWeavingHook.java:61)
>   at 
> org.apache.felix.framework.util.SecureAction.invokeWeavingHook(SecureAction.java:1203)
>   at 
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.transformClass(BundleWiringImpl.java:2465)
>   ... 16 more
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARIES-1803) Upgrade proxy to ASM 6.1.1

2018-05-24 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/ARIES-1803?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16488896#comment-16488896
 ] 

ASF GitHub Bot commented on ARIES-1803:
---

GitHub user jbonofre opened a pull request:

https://github.com/apache/aries/pull/84

[ARIES-1803] Upgrade proxy to ASM 6.1.1



You can merge this pull request into a Git repository by running:

$ git pull https://github.com/jbonofre/aries ARIES-1803

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/aries/pull/84.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #84


commit c3e65403390c8217dd5da40235ae0bd2cc28fdc3
Author: Jean-Baptiste Onofré 
Date:   2018-05-24T12:28:43Z

[ARIES-1803] Upgrade proxy to ASM 6.1.1




> Upgrade proxy to ASM 6.1.1
> --
>
> Key: ARIES-1803
> URL: https://issues.apache.org/jira/browse/ARIES-1803
> Project: Aries
>  Issue Type: Dependency upgrade
>  Components: Proxy
>Reporter: Jean-Baptiste Onofré
>Assignee: Jean-Baptiste Onofré
>Priority: Major
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[GitHub] aries pull request #84: [ARIES-1803] Upgrade proxy to ASM 6.1.1

2018-05-24 Thread jbonofre
GitHub user jbonofre opened a pull request:

https://github.com/apache/aries/pull/84

[ARIES-1803] Upgrade proxy to ASM 6.1.1



You can merge this pull request into a Git repository by running:

$ git pull https://github.com/jbonofre/aries ARIES-1803

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/aries/pull/84.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #84


commit c3e65403390c8217dd5da40235ae0bd2cc28fdc3
Author: Jean-Baptiste Onofré 
Date:   2018-05-24T12:28:43Z

[ARIES-1803] Upgrade proxy to ASM 6.1.1




---


[jira] [Created] (ARIES-1803) Upgrade proxy to ASM 6.1.1

2018-05-24 Thread JIRA
Jean-Baptiste Onofré created ARIES-1803:
---

 Summary: Upgrade proxy to ASM 6.1.1
 Key: ARIES-1803
 URL: https://issues.apache.org/jira/browse/ARIES-1803
 Project: Aries
  Issue Type: Dependency upgrade
  Components: Proxy
Reporter: Jean-Baptiste Onofré
Assignee: Jean-Baptiste Onofré






--
This message was sent by Atlassian JIRA
(v7.6.3#76005)