[Ndn-interest] jndn Library

Ju Pan pjokk722 at email.arizona.edu
Mon Jul 8 10:20:46 PDT 2019


Hi Jeff T,

Thanks for your reply.
The "Unrecognized critical type code 129" exception happened in
registering route process. I almost copied your TestRegisterRoute.java
file in jndn/example/tests directory.
I tried to run the standalone TestRegisterRoute.java in jNDN/example
directory, I got the same complain - "exception: Unrecognized critical
type code 129".
So I guess it's not the MailSync TLV def problem? And MailSync doesn't
have any TLV definitions as far as I know.

Let me know if I missed anything. Thanks!

Regards,
Ju

Here is the log:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
jupan-mac:examples jupan$ mvn exec:java
-Dexec.mainClass="net.named_data.jndn.tests.TestRegisterRoute"
[INFO] Scanning for projects...
[WARNING]
[WARNING] Some problems were encountered while building the effective
model for net.named-data:jndn-examples:jar:test
[WARNING] 'dependencies.dependency.version' for
net.named-data:jndn:jar is either LATEST or RELEASE (both of them are
being deprecated) @ line 33, column 13
[WARNING]
[WARNING] It is highly recommended to fix these problems because they
threaten the stability of your build.
[WARNING]
[WARNING] For this reason, future Maven versions might no longer
support building such malformed projects.
[WARNING]
[INFO]
[INFO] --------------------< net.named-data:jndn-examples >--------------------
[INFO] Building jndn-examples test
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] >>> exec-maven-plugin:1.1.1:java (default-cli) > validate @
jndn-examples >>>
[INFO]
[INFO] <<< exec-maven-plugin:1.1.1:java (default-cli) < validate @
jndn-examples <<<
[INFO]
[INFO]
[INFO] --- exec-maven-plugin:1.1.1:java (default-cli) @ jndn-examples ---
exception: Unrecognized critical type code 129
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  0.802 s
[INFO] Finished at: 2019-07-08T10:14:10-07:00
[INFO] ------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

On Mon, Jul 8, 2019 at 8:54 AM Thompson, Jeff <jefft0 at remap.ucla.edu> wrote:
>
> The meaning of “critical type code” is explained here:
> https://named-data.net/doc/NDN-packet-spec/current/tlv.html#considerations-for-evolvability-of-tlv-based-encoding
>
> Type code 129 is critical because its least-significant bit is 1. "if the least significant bit of element’s TLV-TYPE number is 1, abort decoding and report an error.” The enforcement of critical type codes was added after jNDN version 0.16.
>
> The application is using the JNDN ProtobufTlv class which uses a protobuf description file to decode TLV. It was decoding a TLV that has type code 129, but the corresponding Protobuf description does not have an field with this “critical" type code, and so the decoding is aborted because the application doesn’t know how to handle it.
>
> Is there anyone on this mailing list that is familiar with the TLV definitions used in MailSync?
>
> Thanks,
> - Jeff T
>
> From: Ndn-interest <ndn-interest-bounces at lists.cs.ucla.edu> on behalf of Avakash Bhat via Ndn-interest <ndn-interest at lists.cs.ucla.edu>
> Reply-To: Avakash Bhat <bhatavakash at gmail.com>
> Date: Thursday, July 4, 2019 at 2:35:00
> To: "ndn-interest at lists.cs.ucla.edu" <ndn-interest at lists.cs.ucla.edu>
> Subject: [Ndn-interest] jndn Library
>
> I was working on a MailSync one of the open source projects that uses jndn and had some difficulty with upgrading the jndn library. The original jndn version was 0.16 and it was upgraded to 0.22 which is the most recent one. This resulted in the laptop side application giving a protobuf error which I can't seem to solve or understand. It is giving a "Unrecognized critical type code 129" exception. The exception is occurring at the ProtobufTlv.decode line given in the below code snippet. The protobuf-java version is 2.6.1.Are there any breaking changes that need to be considered with regards to ProtobufTlv when upgraded? Any help would be appreciated in this matter.
> ControlParametersResponseMessage.BuilderdecodedControlResponse=
> ControlParametersResponseMessage.newBuilder();
> ProtobufTlv.decode(decodedControlResponse, encodedControlResponse);
> ControlParametersResponsecontrolResponse=
> decodedControlResponse.getControlResponse();
>
>
>
> Thank you
>
> _______________________________________________
> Ndn-interest mailing list
> Ndn-interest at lists.cs.ucla.edu
> http://www.lists.cs.ucla.edu/mailman/listinfo/ndn-interest


More information about the Ndn-interest mailing list