Comments (11)
The resource 4/0/6 is defined as an integer. You try to write a string.
The log say: java.lang.IllegalArgumentException: Invalid value type, expected INTEGER, got STRING
If you want to write a string
, you should choose a string
resource.
from leshan.
Sorry for the mistake. I originally encountered the error in an earlier version and just tried to do a small test with the most current version.
I've adapted the test to respond to a resource that is defined as string. While the client seems to be able to send the contents, the server seems unable to decode it:
org.eclipse.leshan.core.request.exception.ResourceAccessException: [Unable to decode tlv.] (/4/0/4:2.05)
at org.eclipse.leshan.server.californium.impl.LwM2mResponseBuilder.decodeCoapResponse(LwM2mResponseBuilder.java:335) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.leshan.server.californium.impl.LwM2mResponseBuilder.visit(LwM2mResponseBuilder.java:115) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.leshan.core.request.ReadRequest.accept(ReadRequest.java:79) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.leshan.server.californium.impl.CaliforniumLwM2mRequestSender$1.buildResponse(CaliforniumLwM2mRequestSender.java:93) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.leshan.server.californium.impl.CaliforniumLwM2mRequestSender$SyncRequestObserver.onResponse(CaliforniumLwM2mRequestSender.java:319) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.californium.core.coap.Request.setResponse(Request.java:416) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.californium.core.server.ServerMessageDeliverer.deliverResponse(ServerMessageDeliverer.java:155) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.californium.core.network.stack.CoapStack$StackTopAdapter.receiveResponse(CoapStack.java:193) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.californium.core.network.stack.AbstractLayer.receiveResponse(AbstractLayer.java:98) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.californium.core.network.stack.ObserveLayer.receiveResponse(ObserveLayer.java:138) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.californium.core.network.stack.AbstractLayer.receiveResponse(AbstractLayer.java:98) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.californium.core.network.stack.BlockwiseLayer.receiveResponse(BlockwiseLayer.java:453) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.californium.core.network.stack.AbstractLayer.receiveResponse(AbstractLayer.java:98) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.californium.core.network.stack.ReliabilityLayer.receiveResponse(ReliabilityLayer.java:257) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.californium.core.network.stack.AbstractLayer.receiveResponse(AbstractLayer.java:98) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.californium.core.network.stack.CoapStack.receiveResponse(CoapStack.java:135) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.californium.core.network.CoapEndpoint$InboxImpl.receiveMessage(CoapEndpoint.java:630) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.californium.core.network.CoapEndpoint$InboxImpl.access$700(CoapEndpoint.java:536) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.californium.core.network.CoapEndpoint$InboxImpl$1.run(CoapEndpoint.java:548) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.californium.core.network.CoapEndpoint$5.run(CoapEndpoint.java:695) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) ~[?:1.7.0_95]
at java.util.concurrent.FutureTask.run(FutureTask.java:262) ~[?:1.7.0_95]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178) ~[?:1.7.0_95]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292) ~[?:1.7.0_95]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) ~[?:1.7.0_95]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) ~[?:1.7.0_95]
at java.lang.Thread.run(Thread.java:745) [?:1.7.0_95]
Caused by: org.eclipse.leshan.core.node.codec.InvalidValueException: Unable to decode tlv.
at org.eclipse.leshan.core.node.codec.tlv.LwM2mNodeTlvDecoder.decode(LwM2mNodeTlvDecoder.java:53) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.leshan.core.node.codec.LwM2mNodeDecoder.decode(LwM2mNodeDecoder.java:98) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.leshan.core.node.codec.LwM2mNodeDecoder.decode(LwM2mNodeDecoder.java:54) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.leshan.server.californium.impl.LwM2mResponseBuilder.decodeCoapResponse(LwM2mResponseBuilder.java:330) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
... 26 more
Caused by: org.eclipse.leshan.tlv.TlvException: Impossible to parse TLV:
9804173e705800173e6b4c796f71436941714945427361574e6c626e4e6c494546755a33567359584a4b557942324d5334314c6a414b49436f674b474d70494449774d5441744d6a41784e6942486232396e624755730a49456c75597934676148523063446f764c3246
...
5731680a64475574633268706258743261584e70596d6c73615852354f6d68705a47526c626a74394c6d356e4c57467559326876636e747762334e7064476c76626a7068596e4e76624856305a5474390a5043397a64486c735a54346e4b54733d
at org.eclipse.leshan.tlv.TlvDecoder.decode(TlvDecoder.java:142) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.leshan.core.node.codec.tlv.LwM2mNodeTlvDecoder.decode(LwM2mNodeTlvDecoder.java:50) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.leshan.core.node.codec.LwM2mNodeDecoder.decode(LwM2mNodeDecoder.java:98) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.leshan.core.node.codec.LwM2mNodeDecoder.decode(LwM2mNodeDecoder.java:54) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.leshan.server.californium.impl.LwM2mResponseBuilder.decodeCoapResponse(LwM2mResponseBuilder.java:330) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
... 26 more
Caused by: org.eclipse.leshan.tlv.TlvException: Unexpected TLV parse error:
9804173e705800173e6b4c796f71436941714945427361574e6c626e4e6c494546755a33567359584a4b557942324d5334314c6a414b49436f674b474d70494449774d5441744d6a41784e6942486232396e624755730a49456c75597934676148523063446f764c3246
...
5731680a64475574633268706258743261584e70596d6c73615852354f6d68705a47526c626a74394c6d356e4c57467559326876636e747762334e7064476c76626a7068596e4e76624856305a5474390a5043397a64486c735a54346e4b54733d
at org.eclipse.leshan.tlv.TlvDecoder.decode(TlvDecoder.java:145) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.leshan.tlv.TlvDecoder.decode(TlvDecoder.java:126) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.leshan.core.node.codec.tlv.LwM2mNodeTlvDecoder.decode(LwM2mNodeTlvDecoder.java:50) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.leshan.core.node.codec.LwM2mNodeDecoder.decode(LwM2mNodeDecoder.java:98) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.leshan.core.node.codec.LwM2mNodeDecoder.decode(LwM2mNodeDecoder.java:54) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.leshan.server.californium.impl.LwM2mResponseBuilder.decodeCoapResponse(LwM2mResponseBuilder.java:330) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
... 26 more
Caused by: java.nio.BufferUnderflowException
at java.nio.HeapByteBuffer.get(HeapByteBuffer.java:145) ~[?:1.7.0_95]
at java.nio.ByteBuffer.get(ByteBuffer.java:694) ~[?:1.7.0_95]
at org.eclipse.leshan.tlv.TlvDecoder.decode(TlvDecoder.java:111) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.leshan.tlv.TlvDecoder.decode(TlvDecoder.java:126) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.leshan.core.node.codec.tlv.LwM2mNodeTlvDecoder.decode(LwM2mNodeTlvDecoder.java:50) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.leshan.core.node.codec.LwM2mNodeDecoder.decode(LwM2mNodeDecoder.java:98) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.leshan.core.node.codec.LwM2mNodeDecoder.decode(LwM2mNodeDecoder.java:54) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.leshan.server.californium.impl.LwM2mResponseBuilder.decodeCoapResponse(LwM2mResponseBuilder.java:330) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
... 26 more
from leshan.
You choose the /4/0/4 resource which is a multiple instance
resource are you sure this is what you want to do ? Why not using a single instance string resource ?
Did you use Leshan Client to encode you TLV ?
from leshan.
@sbernard31 Sorry for the inconvenience, I think I found the reason why I've had so much trouble with this.
After testing with a custom model that only has a single instance string resource, I found the following:
If I request only the resource, i.e. /3000/0/0, it works. Changing the resource to opaque, it also works.
But if I request the instance, i.e. /3000/0, it doesn't work, independently of using a string or opaque resource.
from leshan.
What do you mean by "it doesn't work" ? Could you be more accurate ?
I need more input (logs, the string or opaque you try to encode, or the TLV you try to decode)
from leshan.
OK, first the server part where I'm requesting the resource/instance.
ReadResponse response;
boolean requestResource = true;
if (requestResource) {
response = server.send(client, new ReadRequest(3000, 0, 0));
} else {
response = server.send(client, new ReadRequest(3000, 0));
}
if (response.getCode().equals(ResponseCode.CONTENT)) {
response.getContent().accept(new LwM2mNodeVisitor() {
@Override
public void visit(LwM2mObject object) {
LOG.debug("got object");
}
@Override
public void visit(LwM2mObjectInstance instance) {
LOG.debug("got instance");
}
@Override
public void visit(LwM2mResource resource) {
if (resource.getType().equals(ResourceModel.Type.OPAQUE)) {
LOG.debug("TYPE IS OPAQUE");
} else {
LOG.debug("TYPE IS STRING");
}
}
});
}
Second, the custom BaseInstanceEnabler I use for testing:
public class CustomBaseInstanceEnabler extends BaseInstanceEnabler {
private byte[] encoded = null;
private String veryLongString = null;
public CustomBaseInstanceEnabler() {
try {
encoded = Files.readAllBytes(Paths.get("test.txt"));
veryLongString = new String(encoded, Charset.forName("UTF-8"));
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public ReadResponse read(int resourceid) {
switch (resourceid) {
case 0:
//LOG.debug("sending byte array");
//return ReadResponse.success(resourceid, encoded);
LOG.debug("sending string");
return ReadResponse.success(resourceid, veryLongString);
}
return super.read(resourceid);
}
}
My custom model:
[
{
"name": "Test",
"id": 3000,
"instancetype": "single",
"mandatory": true,
"description": "test model",
"resourcedefs": [
{
"id": 0,
"name": "someName",
"operations": "RW",
"instancetype": "single",
"mandatory": true,
"type": "string",
"range": "",
"units": "",
"description": ""
}
]
}
]
For testing the string response, I set the type in the model to "string" and send the veryLongString variable.
For testing the byte array response, I set the type in the model to "opaque" and send the encoded variable.
Based on requestResource, I can either request the resource or the whole instance.
As I mentioned, requesting only the resource (/3000/0/0) works, the server behaves as intended:
2016-03-30 17:24:34,981 DEBUG WellKnownServlet TYPE IS STRING
When requesting the instance, I expect a simple output of got instance
, but instead I get the following:
org.eclipse.leshan.core.request.exception.ResourceAccessException: [Unable to decode tlv.] (/3000/0:2.05)
at org.eclipse.leshan.server.californium.impl.LwM2mResponseBuilder.decodeCoapResponse(LwM2mResponseBuilder.java:335) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.leshan.server.californium.impl.LwM2mResponseBuilder.visit(LwM2mResponseBuilder.java:115) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.leshan.core.request.ReadRequest.accept(ReadRequest.java:79) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.leshan.server.californium.impl.CaliforniumLwM2mRequestSender$1.buildResponse(CaliforniumLwM2mRequestSender.java:93) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.leshan.server.californium.impl.CaliforniumLwM2mRequestSender$SyncRequestObserver.onResponse(CaliforniumLwM2mRequestSender.java:319) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.californium.core.coap.Request.setResponse(Request.java:416) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.californium.core.server.ServerMessageDeliverer.deliverResponse(ServerMessageDeliverer.java:155) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.californium.core.network.stack.CoapStack$StackTopAdapter.receiveResponse(CoapStack.java:193) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.californium.core.network.stack.AbstractLayer.receiveResponse(AbstractLayer.java:98) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.californium.core.network.stack.ObserveLayer.receiveResponse(ObserveLayer.java:138) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.californium.core.network.stack.AbstractLayer.receiveResponse(AbstractLayer.java:98) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.californium.core.network.stack.BlockwiseLayer.receiveResponse(BlockwiseLayer.java:453) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.californium.core.network.stack.AbstractLayer.receiveResponse(AbstractLayer.java:98) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.californium.core.network.stack.ReliabilityLayer.receiveResponse(ReliabilityLayer.java:257) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.californium.core.network.stack.AbstractLayer.receiveResponse(AbstractLayer.java:98) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.californium.core.network.stack.CoapStack.receiveResponse(CoapStack.java:135) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.californium.core.network.CoapEndpoint$InboxImpl.receiveMessage(CoapEndpoint.java:630) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.californium.core.network.CoapEndpoint$InboxImpl.access$700(CoapEndpoint.java:536) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.californium.core.network.CoapEndpoint$InboxImpl$1.run(CoapEndpoint.java:548) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.californium.core.network.CoapEndpoint$5.run(CoapEndpoint.java:695) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) ~[?:1.7.0_95]
at java.util.concurrent.FutureTask.run(FutureTask.java:262) ~[?:1.7.0_95]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178) ~[?:1.7.0_95]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292) ~[?:1.7.0_95]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) ~[?:1.7.0_95]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) ~[?:1.7.0_95]
at java.lang.Thread.run(Thread.java:745) [?:1.7.0_95]
Caused by: org.eclipse.leshan.core.node.codec.InvalidValueException: Unable to decode tlv.
at org.eclipse.leshan.core.node.codec.tlv.LwM2mNodeTlvDecoder.decode(LwM2mNodeTlvDecoder.java:53) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.leshan.core.node.codec.LwM2mNodeDecoder.decode(LwM2mNodeDecoder.java:98) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.leshan.core.node.codec.LwM2mNodeDecoder.decode(LwM2mNodeDecoder.java:54) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.leshan.server.californium.impl.LwM2mResponseBuilder.decodeCoapResponse(LwM2mResponseBuilder.java:330) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
... 26 more
Caused by: org.eclipse.leshan.tlv.TlvException: Impossible to parse TLV:
d800173e6b4c796f71436941714945427361574e6c626e4e6c494546755a33567359584a4b557942324d5334314c6a414b49436f674b474d70494449774d5441744d6a41784e6942486232396e624755730a49456c75597934676148523063446f764c3246755a33567359584a7163793576636d634b49436f6754476c6a5a57357a5a546f6754556c55436941714c776f6f5a6e5675593352706232346f0a64326c755a4739334c43426b62324e3162575675644377676457356b5a575a70626d566b4b5342374a33567a5a53427a64484a7059
...
4335755a79316f6157526c4c5746756157316864475570653252700a6333427359586b36626d39755a5341686157317762334a30595735304f3331755a3178634f6d5a76636d31375a476c7a63477868655470696247396a617a74394c6d356e4c574675615731680a64475574633268706258743261584e70596d6c73615852354f6d68705a47526c626a74394c6d356e4c57467559326876636e747762334e7064476c76626a7068596e4e76624856305a5474390a5043397a64486c735a54346e4b54733d
at org.eclipse.leshan.tlv.TlvDecoder.decode(TlvDecoder.java:142) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.leshan.core.node.codec.tlv.LwM2mNodeTlvDecoder.decode(LwM2mNodeTlvDecoder.java:50) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.leshan.core.node.codec.LwM2mNodeDecoder.decode(LwM2mNodeDecoder.java:98) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.leshan.core.node.codec.LwM2mNodeDecoder.decode(LwM2mNodeDecoder.java:54) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.leshan.server.californium.impl.LwM2mResponseBuilder.decodeCoapResponse(LwM2mResponseBuilder.java:330) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
... 26 more
Caused by: org.eclipse.leshan.tlv.TlvException: Unexpected TLV parse error:
d800173e6b4c796f71436941714945427361574e6c626e4e6c494546755a33567359584a4b557942324d5334314c6a414b49436f674b474d70494449774d5441744d6a41784e6942486232396e624755730a49456c75597934676148523063446f764c3246755a33567359584a7163793576636d634b49436f6754476c6a5a57357a5a546f6754556c55436941714c776f6f5a6e5675593352706232346f0a64326c755a4739334c43426b62324e3162575675644377676457356b5a575a70626d566b4b5342374a33567a5a53427a64484a7059
...
4335755a79316f6157526c4c5746756157316864475570653252700a6333427359586b36626d39755a5341686157317762334a30595735304f3331755a3178634f6d5a76636d31375a476c7a63477868655470696247396a617a74394c6d356e4c574675615731680a64475574633268706258743261584e70596d6c73615852354f6d68705a47526c626a74394c6d356e4c57467559326876636e747762334e7064476c76626a7068596e4e76624856305a5474390a5043397a64486c735a54346e4b54733d
at org.eclipse.leshan.tlv.TlvDecoder.decode(TlvDecoder.java:145) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.leshan.tlv.TlvDecoder.decode(TlvDecoder.java:126) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.leshan.core.node.codec.tlv.LwM2mNodeTlvDecoder.decode(LwM2mNodeTlvDecoder.java:50) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.leshan.core.node.codec.LwM2mNodeDecoder.decode(LwM2mNodeDecoder.java:98) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.leshan.core.node.codec.LwM2mNodeDecoder.decode(LwM2mNodeDecoder.java:54) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.leshan.server.californium.impl.LwM2mResponseBuilder.decodeCoapResponse(LwM2mResponseBuilder.java:330) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
... 26 more
Caused by: java.nio.BufferUnderflowException
at java.nio.HeapByteBuffer.get(HeapByteBuffer.java:145) ~[?:1.7.0_95]
at java.nio.ByteBuffer.get(ByteBuffer.java:694) ~[?:1.7.0_95]
at org.eclipse.leshan.tlv.TlvDecoder.decode(TlvDecoder.java:111) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.leshan.tlv.TlvDecoder.decode(TlvDecoder.java:126) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.leshan.core.node.codec.tlv.LwM2mNodeTlvDecoder.decode(LwM2mNodeTlvDecoder.java:50) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.leshan.core.node.codec.LwM2mNodeDecoder.decode(LwM2mNodeDecoder.java:98) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.leshan.core.node.codec.LwM2mNodeDecoder.decode(LwM2mNodeDecoder.java:54) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
at org.eclipse.leshan.server.californium.impl.LwM2mResponseBuilder.decodeCoapResponse(LwM2mResponseBuilder.java:330) ~[rethink-lhcb-broker-0.1.0-jar-with-dependencies.jar:?]
... 26 more
The exception occurs independently of /3000/0/0 being string or opaque.
The contents of the file is just a huge bas64 string
test.txt
from leshan.
Thx a lot for details. This help a lot to identify the bug. I pushed a fix in master tell me if this fix your problem now.
from leshan.
@Endebert, if this fix your issue, please close this issue ;).
(Thx again for reporting this one)
from leshan.
Yes it seems to be fixed. Can you give me an ETA when the next leshan version (0.1.11-M10) will be released?
from leshan.
Something like that the end of the month.
from leshan.
Great, thank you very much for your support
from leshan.
Related Issues (20)
- Best way to test queue mode with Leshan server and leshan client demo 2.0 ? HOT 6
- Queue mode doesnt seem to work when testing Leshan client 2.0 + server 2.0 HOT 17
- Parallel Requests Handling in Leshan Server HOT 4
- Demo server configure PSK ID and PSK content HOT 4
- FW update test HOT 3
- CoAP version 0 not supported HOT 3
- [Feature Request] Ability to monitor request-response lifecycle HOT 9
- Add new object HOT 3
- Plan for 2.0.0-M15 🎯 HOT 24
- Is OMA Object 9 resource 12 correct? HOT 2
- Is Leshan server ready for production in industry ? HOT 14
- [Firmware Update][Blockwise] HOT 8
- Should sending timestamped data in an observation request response be a supported use case? HOT 14
- The addition of a resource instance is not detected by LwM2mTestObject (3442) HOT 3
- Precision loss when deserialize BigDecimal with SenMLJSON / old JSON content format. HOT 1
- Fail to decode empty response to a Read operation HOT 4
- How Timstamp should be handled in LWM2M/Leshan ?
- ObservationListener.onError is no longer called on 5.00 responses HOT 5
- Increasing Leshan Contributor Community ?
- Issue with running Contiki-NG with latest release of Leshan (2.0.0-M15) HOT 10
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from leshan.