lambdaprime / jros2client

Java module to interact with ROS2 (Robot Operating System)
5 stars 3 forks source link

Exception when the message includes an array of integers or floats. Is that allowed? #6

Closed joaquinlf closed 11 months ago

joaquinlf commented 1 year ago

Using the basic PublisherSubscriberApp we have observed that if the message (Class) includes one array of integers or floats we get always an exception. The same message, if we change the type of elements of the array to byte or double, the exception disappears. Are there restrictions with these arrays?

using in the message (id.roboGraph_msgs.roboGraph_dispatch_stat_PN_message): public double [] marcado = new double[2]; or public byte [] marcado = new byte[2]; The transmission of the message is ok. ......... If we include one of these in the same message: public int [] marcado = new int[2]; or public float [] marcado = new float[2]; We get the exception:

oct 25, 2023 4:38:27 A. M. pinorobotics.rtpstalk.impl.spec.userdata.DataWriter#1814508759-00000103 GRAVE: Problem writing id.roboGraph_msgs.roboGraph_dispatch_stat_PN_message java.lang.RuntimeException: Problem writing id.roboGraph_msgs.roboGraph_dispatch_stat_PN_message at id.jros2messages.MessageSerializationUtils.write(MessageSerializationUtils.java:74) at id.jros2client.impl.MessageUtils.lambda$serializer$0(MessageUtils.java:41) at id.xfunction.concurrent.flow.TransformProcessor.onNext(TransformProcessor.java:87) at java.base/java.util.concurrent.SubmissionPublisher$BufferedSubscription.consumeNext(SubmissionPublisher.java:1354) at java.base/java.util.concurrent.SubmissionPublisher$BufferedSubscription.takeItems(SubmissionPublisher.java:1343) at java.base/java.util.concurrent.SubmissionPublisher$BufferedSubscription.consume(SubmissionPublisher.java:1300) at java.base/java.util.concurrent.SubmissionPublisher$ConsumerTask.exec(SubmissionPublisher.java:977) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) Suppressed: java.lang.Exception: Original exception belongs to processor which was created at id.xfunction.concurrent.flow.TransformProcessor.(TransformProcessor.java:70) id.jros2client.impl.JRos2ClientImpl.publish(JRos2ClientImpl.java:92) org.EZMoBots.roboGraphROS2.messages.MsgManager.registerPublisher(MsgManager.java:32) org.EZMoBots.roboGraphROS2.dispatch.ROS2Interface.registerPublisher(ROS2Interface.java:233) org.EZMoBots.roboGraphROS2.test.TestROS2Interface.registerPublisher(TestROS2Interface.java:54) org.EZMoBots.roboGraphROS2.test.StdinManager.testRegisterPublisherStatPNMessage(TestROS2Interface.java:314) org.EZMoBots.roboGraphROS2.test.StdinManager.run(TestROS2Interface.java:208) at id.xfunction.concurrent.flow.TransformProcessor.includeSource(TransformProcessor.java:108) at id.xfunction.concurrent.flow.TransformProcessor.onNext(TransformProcessor.java:89) ... 9 more

lambdaprime commented 1 year ago

Hi @joaquinlf,

Thanks for trying jrosclient

We will add support for int[] and float[] in next couple of weeks. Please try to use byte[] and double[] meanwhile.

joaquinlf commented 1 year ago

Great, thank you!


De: lambdaprime @.> Enviado: jueves, 26 de octubre de 2023 6:51 Para: lambdaprime/jros2client @.> Cc: Joaquín López Fernández @.>; Mention @.> Asunto: Re: [lambdaprime/jros2client] Exception when the message includes an array of integers or floats. Is that allowed? (Issue #6)

Hi @joaquinlfhttps://urldefense.com/v3/__https://github.com/joaquinlf__;!!D9dNQwwGXtA!WjUyjOAh6sErnSOHFeKzuMTqazi9R4P9A_QcwrkrMrQ-zWmYRH_jk6bgZevXnX0vrhj6gv_st8YpJm9urmLVgBIoHg$,

Thanks for trying jrosclient

We will add support for int[] and float[] in next couple of weeks. Please try to use byte[] and double[] meanwhile.

— Reply to this email directly, view it on GitHubhttps://urldefense.com/v3/__https://github.com/lambdaprime/jros2client/issues/6*issuecomment-1780411209__;Iw!!D9dNQwwGXtA!WjUyjOAh6sErnSOHFeKzuMTqazi9R4P9A_QcwrkrMrQ-zWmYRH_jk6bgZevXnX0vrhj6gv_st8YpJm9urmKiINtg_A$, or unsubscribehttps://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/AHZCEMICCZDF6OHCOJWJHDDYBHT4PAVCNFSM6AAAAAA6OUQHYSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBQGQYTCMRQHE__;!!D9dNQwwGXtA!WjUyjOAh6sErnSOHFeKzuMTqazi9R4P9A_QcwrkrMrQ-zWmYRH_jk6bgZevXnX0vrhj6gv_st8YpJm9urmLuQm9eaQ$. You are receiving this because you were mentioned.Message ID: @.***>

lambdaprime commented 11 months ago

Hi @joaquinlf

We added support for int[] and float[]. These changes will be included in v4 we plan to release end of the year. Until then you can use prerelease version You would need to install it manually

joaquinlf commented 11 months ago

Cool, Thank you!


De: lambdaprime @.> Enviado: jueves, 2 de noviembre de 2023 3:21 Para: lambdaprime/jros2client @.> Cc: Joaquín López Fernández @.>; Mention @.> Asunto: Re: [lambdaprime/jros2client] Exception when the message includes an array of integers or floats. Is that allowed? (Issue #6)

Hi @joaquinlfhttps://urldefense.com/v3/__https://github.com/joaquinlf__;!!D9dNQwwGXtA!XFpg6Zfu4yvE4aLDPhX5xqpi-FyAa3Gbuh_T1TNymJNUrk_LNL32E8SKLrPvq-a9xCwGm1rmLZzpV9u4a6XzM89WAg$

We added support for int[] and float[]. These changes will be included in v4 we plan to release end of the year. Until then you can use prerelease versionhttps://urldefense.com/v3/__https://github.com/lambdaprime/jros2client/releases/tag/snapshot4__;!!D9dNQwwGXtA!XFpg6Zfu4yvE4aLDPhX5xqpi-FyAa3Gbuh_T1TNymJNUrk_LNL32E8SKLrPvq-a9xCwGm1rmLZzpV9u4a6Wao-7qzQ$ You would need to install it manuallyhttps://urldefense.com/v3/__http://portal2.atwebpages.com/jrosclient/Quick_Start_jros2client.html*Installing*20manually__;IyU!!D9dNQwwGXtA!XFpg6Zfu4yvE4aLDPhX5xqpi-FyAa3Gbuh_T1TNymJNUrk_LNL32E8SKLrPvq-a9xCwGm1rmLZzpV9u4a6U7un_fng$

— Reply to this email directly, view it on GitHubhttps://urldefense.com/v3/__https://github.com/lambdaprime/jros2client/issues/6*issuecomment-1789914209__;Iw!!D9dNQwwGXtA!XFpg6Zfu4yvE4aLDPhX5xqpi-FyAa3Gbuh_T1TNymJNUrk_LNL32E8SKLrPvq-a9xCwGm1rmLZzpV9u4a6Wr0-0SNA$, or unsubscribehttps://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/AHZCEMJCSRZ7ZIZSFTYMPW3YCLYQ3AVCNFSM6AAAAAA6OUQHYSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBZHEYTIMRQHE__;!!D9dNQwwGXtA!XFpg6Zfu4yvE4aLDPhX5xqpi-FyAa3Gbuh_T1TNymJNUrk_LNL32E8SKLrPvq-a9xCwGm1rmLZzpV9u4a6W1UTkBlg$. You are receiving this because you were mentioned.Message ID: @.***>