Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

@Subscriber component malformed #452

Open
PierrickTact opened this issue Mar 5, 2015 · 2 comments
Open

@Subscriber component malformed #452

PierrickTact opened this issue Mar 5, 2015 · 2 comments

Comments

@PierrickTact
Copy link

Hello,

I'm trying to use event admin in my wisdom project, but i have some problems with @subscriber from org.apache.felix.ipojo.handler.eventadmin.

All my components are valid and event admin sending and receiving works, but if I try to go on monitor url : http://localhost:9000/monitor/ipojo/, I have an empty list of Instances, Factories, Handlers. All other urls (bundles, controller, services, ...) work fine in the monitor.

If I use only : org.osgi.service.event.EventHandler to handle event admin and I remove @subscriber, all urls work fine.

And I have an error in wisdom trace when I try to access at the url : http://localhost:9000/monitor/ipojo/,
@subscriber component seem malformed.

Wisdom version : 0.7.0

Error trace :

[ERROR] o.w.f.v.HttpHandler {vert.x-eventloop-thread-0} - Cannot render the response to /monitor/ipojo.json
java.lang.RuntimeException: java.lang.IllegalArgumentException: (was java.lang.NullPointerException) (through reference chain: com.google.common.collect.RegularImmutableMap["instances"]->java.util.ArrayList[115]->org.wisdom.monitor.extensions.ipojo.InstanceModel["architecture"])
at org.wisdom.content.jackson.JacksonSingleton.__M_toJson(JacksonSingleton.java:121) ~[na:na]
at org.wisdom.content.jackson.JacksonSingleton.toJson(JacksonSingleton.java) ~[na:na]
at org.wisdom.api.content.Json$$Proxy.toJson(Unknown Source) ~[na:na]
at org.wisdom.content.serializers.JSONSerializer.__M_serialize(JSONSerializer.java:50) ~[na:na]
at org.wisdom.content.serializers.JSONSerializer.serialize(JSONSerializer.java) ~[na:na]
at org.wisdom.framework.vertx.HttpUtils.processResult(HttpUtils.java:109) ~[wisdom-vertx-engine-0.7.0.jar:na]
at org.wisdom.framework.vertx.HttpHandler.writeResponse(HttpHandler.java:214) [wisdom-vertx-engine-0.7.0.jar:na]
at org.wisdom.framework.vertx.HttpHandler.dispatch(HttpHandler.java:136) [wisdom-vertx-engine-0.7.0.jar:na]
at org.wisdom.framework.vertx.HttpHandler.access$000(HttpHandler.java:49) [wisdom-vertx-engine-0.7.0.jar:na]
at org.wisdom.framework.vertx.HttpHandler$1.handle(HttpHandler.java:90) [wisdom-vertx-engine-0.7.0.jar:na]
at org.vertx.java.core.VoidHandler.handle(VoidHandler.java:27) [wisdom-vertx-engine-0.7.0.jar:na]
at org.vertx.java.core.VoidHandler.handle(VoidHandler.java:24) [wisdom-vertx-engine-0.7.0.jar:na]
at org.vertx.java.core.http.impl.DefaultHttpServerRequest.handleEnd(DefaultHttpServerRequest.java:314) [wisdom-vertx-engine-0.7.0.jar:na]
at org.vertx.java.core.http.impl.ServerConnection.handleEnd(ServerConnection.java:209) [wisdom-vertx-engine-0.7.0.jar:na]
at org.vertx.java.core.http.impl.ServerConnection.processMessage(ServerConnection.java:313) [wisdom-vertx-engine-0.7.0.jar:na]
at org.vertx.java.core.http.impl.ServerConnection.handleMessage(ServerConnection.java:94) [wisdom-vertx-engine-0.7.0.jar:na]
at org.vertx.java.core.http.impl.DefaultHttpServer$ServerHandler.doMessageReceived(DefaultHttpServer.java:710) [wisdom-vertx-engine-0.7.0.jar:na]
at org.vertx.java.core.http.impl.DefaultHttpServer$ServerHandler.doMessageReceived(DefaultHttpServer.java:600) [wisdom-vertx-engine-0.7.0.jar:na]
at org.vertx.java.core.http.impl.VertxHttpHandler.channelRead(VertxHttpHandler.java:72) [wisdom-vertx-engine-0.7.0.jar:na]
at org.vertx.java.core.net.impl.VertxHandler.channelRead(VertxHandler.java:155) [wisdom-vertx-engine-0.7.0.jar:na]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333) [netty-transport-4.0.23.Final.jar:4.0.23.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319) [netty-transport-4.0.23.Final.jar:4.0.23.Final]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:163) [netty-codec-4.0.23.Final.jar:4.0.23.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333) [netty-transport-4.0.23.Final.jar:4.0.23.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319) [netty-transport-4.0.23.Final.jar:4.0.23.Final]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:787) [netty-transport-4.0.23.Final.jar:4.0.23.Final]
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:130) [netty-transport-4.0.23.Final.jar:4.0.23.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511) [netty-transport-4.0.23.Final.jar:4.0.23.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468) [netty-transport-4.0.23.Final.jar:4.0.23.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382) [netty-transport-4.0.23.Final.jar:4.0.23.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354) [netty-transport-4.0.23.Final.jar:4.0.23.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116) [netty-common-4.0.23.Final.jar:4.0.23.Final]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_20]
Caused by: java.lang.IllegalArgumentException: (was java.lang.NullPointerException) (through reference chain: com.google.common.collect.RegularImmutableMap["instances"]->java.util.ArrayList[115]->org.wisdom.monitor.extensions.ipojo.InstanceModel["architecture"])
at com.fasterxml.jackson.databind.ObjectMapper.valueToTree(ObjectMapper.java:2035) ~[jackson-databind-2.4.4.jar:2.4.4]
at org.wisdom.content.jackson.JacksonSingleton.__M_toJson(JacksonSingleton.java:119) ~[na:na]
... 32 common frames omitted
Caused by: com.fasterxml.jackson.databind.JsonMappingException: (was java.lang.NullPointerException) (through reference chain: com.google.common.collect.RegularImmutableMap["instances"]->java.util.ArrayList[115]->org.wisdom.monitor.extensions.ipojo.InstanceModel["architecture"])
at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:210) ~[jackson-databind-2.4.4.jar:2.4.4]
at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:177) ~[jackson-databind-2.4.4.jar:2.4.4]
at com.fasterxml.jackson.databind.ser.std.StdSerializer.wrapAndThrow(StdSerializer.java:187) ~[na:na]
at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:647) ~[na:na]
at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:152) ~[na:na]
at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:100) ~[na:na]
at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:21) ~[na:na]
at com.fasterxml.jackson.databind.ser.std.AsArraySerializerBase.serialize(AsArraySerializerBase.java:183) ~[na:na]
at com.fasterxml.jackson.databind.ser.std.MapSerializer.serializeFields(MapSerializer.java:491) ~[na:na]
at com.fasterxml.jackson.databind.ser.std.MapSerializer.serialize(MapSerializer.java:412) ~[na:na]
at com.fasterxml.jackson.databind.ser.std.MapSerializer.serialize(MapSerializer.java:27) ~[na:na]
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:128) ~[na:na]
at com.fasterxml.jackson.databind.ObjectMapper.writeValue(ObjectMapper.java:1902) ~[jackson-databind-2.4.4.jar:2.4.4]
at com.fasterxml.jackson.databind.ObjectMapper.valueToTree(ObjectMapper.java:2030) ~[jackson-databind-2.4.4.jar:2.4.4]
... 33 common frames omitted
Caused by: java.lang.NullPointerException: null
at org.apache.felix.ipojo.architecture.InstanceDescription.getDescription(InstanceDescription.java:172) ~[org.apache.felix.ipojo-1.12.1.jar:na]
at org.apache.felix.ipojo.PrimitiveInstanceDescription.getDescription(PrimitiveInstanceDescription.java:165) ~[org.apache.felix.ipojo-1.12.1.jar:na]
at org.wisdom.monitor.extensions.ipojo.InstanceModel.getArchitecture(InstanceModel.java:78) ~[na:na]
at sun.reflect.GeneratedMethodAccessor85.invoke(Unknown Source) ~[na:na]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_20]
at java.lang.reflect.Method.invoke(Method.java:483) ~[na:1.8.0_20]
at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:466) ~[na:na]
at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:639) ~[na:na]
... 43 common frames omitted

@cescoffier
Copy link
Member

I may be related to https://issues.apache.org/jira/browse/FELIX-3836 (which should have been fixed already). If it's not this, it's a bug in the event admin handler. Gonna have a deeper look,

@PierrickTact
Copy link
Author

It's maybe the same problem, but I already use org.apache.felix.ipojo 1.12.1 and org.apache.felix.ipojo.handler.eventadmin 1.8.0

The problem is only present in the @subscriber, @Publishes works fine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants