UDP TC Sending

91 views
Skip to first unread message

Onur Gürdoğan

unread,
Jun 22, 2021, 4:30:18 AM6/22/21
to yamcs
Hi,

I am getting an error (you may find it below) while I am trying to send an empty TC via UDP which has the base container inheritance coming from TM segment. 

Code Sample:

<MetaCommand name="PUS_203_7_Command" shortDescription="PUS[203,7] command definition.">
 <CommandContainer name="PUS_203_7_Command_Container">
  <EntryList/>
  <BaseContainer containerRef="CCSDS_Base_PUS_Telemetry_Packet"/>
 </CommandContainer>
</MetaCommand>

As it can be seen it is just a very simple example to test my setup. Nevertheless, I am receiving an error given below.

Error Message:

class org.yamcs.xtce.AggregateParameterType cannot be cast to class org.yamcs.xtce.BaseDataType (org.yamcs.xtce.AggregateParameterType and org.yamcs.xtce.BaseDataType are in unnamed module of loader 'app') 

CCSDS_Base_PUS_Telemetry_Packet, packet is defined as aggregate parameter type where is located under the telemetry segment. Am I getting this error because of I am using the aggregate parameter type while I was structing the TM segment packets? Or it is just an another issue? 

Thanks in advance!

Nicolae Mihalache

unread,
Jun 22, 2021, 4:31:58 AM6/22/21
to ya...@googlegroups.com
can you send more of the stack trace?

--
You received this message because you are subscribed to the Google Groups "yamcs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to yamcs+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/yamcs/bac08cf5-b616-480a-933e-1c1071f51e73n%40googlegroups.com.

Onur Gürdoğan

unread,
Jun 22, 2021, 4:38:21 AM6/22/21
to yamcs
Hi Nicolae,

Here you may find the full log:

---Starts

11:32:20.587 _global [25] RouteHandler 9: Responding '500 Internal Server Error': java.lang.ClassCastException: class org.yamcs.xtce.AggregateParameterType cannot be cast to class org.yamcs.xtce.BaseDataType (org.yamcs.xtce.AggregateParameterType and org.yamcs.xtce.BaseDataType are in unnamed module of loader 'app'): org.yamcs.http.InternalServerErrorException: java.lang.ClassCastException: class org.yamcs.xtce.AggregateParameterType cannot be cast to class org.yamcs.xtce.BaseDataType (org.yamcs.xtce.AggregateParameterType and org.yamcs.xtce.BaseDataType are in unnamed module of loader 'app')
        org.yamcs.http.RouteHandler.handleException(RouteHandler.java:118)
        org.yamcs.http.RouteHandler.dispatch(RouteHandler.java:87)
        org.yamcs.http.RouteHandler.handle(RouteHandler.java:51)
        org.yamcs.http.Handler.handle(Handler.java:23)
        org.yamcs.http.Handler.channelRead0(Handler.java:29)
        org.yamcs.http.Handler.channelRead0(Handler.java:9)
        io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
        io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
        io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
        io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
        io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
        io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
        io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
        org.yamcs.http.HttpRequestHandler.channelRead(HttpRequestHandler.java:158)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
        io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
        io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436)
        io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324)
        io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296)
        io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
        io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
        io.netty.handler.traffic.AbstractTrafficShapingHandler.channelRead(AbstractTrafficShapingHandler.java:513)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
        io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
        io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
        io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
        io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
        io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719)
        io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655)
        io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581)
        io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493)
        io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
        io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
        io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
        java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.lang.ClassCastException: class org.yamcs.xtce.AggregateParameterType cannot be cast to class org.yamcs.xtce.BaseDataType (org.yamcs.xtce.AggregateParameterType and org.yamcs.xtce.BaseDataType are in unnamed module of loader 'app')
        org.yamcs.xtceproc.MetaCommandContainerProcessor.fillInParameterEntry(MetaCommandContainerProcessor.java:147)
        org.yamcs.xtceproc.MetaCommandContainerProcessor.encode(MetaCommandContainerProcessor.java:88)
        org.yamcs.xtceproc.MetaCommandContainerProcessor.encode(MetaCommandContainerProcessor.java:69)
        org.yamcs.xtceproc.MetaCommandContainerProcessor.encode(MetaCommandContainerProcessor.java:69)
        org.yamcs.xtceproc.MetaCommandContainerProcessor.encode(MetaCommandContainerProcessor.java:35)
        org.yamcs.xtceproc.MetaCommandProcessor.buildCommand(MetaCommandProcessor.java:79)
        org.yamcs.xtceproc.MetaCommandProcessor.buildCommand(MetaCommandProcessor.java:35)
        org.yamcs.commanding.CommandingManager.buildCommand(CommandingManager.java:70)
        org.yamcs.http.api.CommandsApi.issueCommand(CommandsApi.java:115)
        org.yamcs.http.api.CommandsApi.issueCommand(CommandsApi.java:73)
        org.yamcs.protobuf.AbstractCommandsApi.callMethod(AbstractCommandsApi.java:130)
        org.yamcs.http.RouteHandler.dispatch(RouteHandler.java:84)
        org.yamcs.http.RouteHandler.handle(RouteHandler.java:51)
        org.yamcs.http.Handler.handle(Handler.java:23)
        org.yamcs.http.Handler.channelRead0(Handler.java:29)
        org.yamcs.http.Handler.channelRead0(Handler.java:9)
        io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
        io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
        io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
        io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
        io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
        io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
        io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
        org.yamcs.http.HttpRequestHandler.channelRead(HttpRequestHandler.java:158)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
        io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
        io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436)
        io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324)
        io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296)
        io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
        io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
        io.netty.handler.traffic.AbstractTrafficShapingHandler.channelRead(AbstractTrafficShapingHandler.java:513)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
        io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
        io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
        io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
        io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
        io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719)
        io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655)
        io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581)
        io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493)
        io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
        io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
        io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
        java.base/java.lang.Thread.run(Thread.java:829)

11:32:20.606 _global [25] CallObserver Internal server error while handling call: org.yamcs.http.InternalServerErrorException: java.lang.ClassCastException: class org.yamcs.xtce.AggregateParameterType cannot be cast to class org.yamcs.xtce.BaseDataType (org.yamcs.xtce.AggregateParameterType and org.yamcs.xtce.BaseDataType are in unnamed module of loader 'app')
        org.yamcs.http.RouteHandler.handleException(RouteHandler.java:118)
        org.yamcs.http.RouteHandler.dispatch(RouteHandler.java:87)
        org.yamcs.http.RouteHandler.handle(RouteHandler.java:51)
        org.yamcs.http.Handler.handle(Handler.java:23)
        org.yamcs.http.Handler.channelRead0(Handler.java:29)
        org.yamcs.http.Handler.channelRead0(Handler.java:9)
        io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
        io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
        io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
        io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
        io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
        io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
        io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
        org.yamcs.http.HttpRequestHandler.channelRead(HttpRequestHandler.java:158)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
        io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
        io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436)
        io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324)
        io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296)
        io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
        io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
        io.netty.handler.traffic.AbstractTrafficShapingHandler.channelRead(AbstractTrafficShapingHandler.java:513)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
        io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
        io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
        io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
        io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
        io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719)
        io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655)
        io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581)
        io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493)
        io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
        io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
        io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
        java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.lang.ClassCastException: class org.yamcs.xtce.AggregateParameterType cannot be cast to class org.yamcs.xtce.BaseDataType (org.yamcs.xtce.AggregateParameterType and org.yamcs.xtce.BaseDataType are in unnamed module of loader 'app')
        org.yamcs.xtceproc.MetaCommandContainerProcessor.fillInParameterEntry(MetaCommandContainerProcessor.java:147)
        org.yamcs.xtceproc.MetaCommandContainerProcessor.encode(MetaCommandContainerProcessor.java:88)
        org.yamcs.xtceproc.MetaCommandContainerProcessor.encode(MetaCommandContainerProcessor.java:69)
        org.yamcs.xtceproc.MetaCommandContainerProcessor.encode(MetaCommandContainerProcessor.java:69)
        org.yamcs.xtceproc.MetaCommandContainerProcessor.encode(MetaCommandContainerProcessor.java:35)
        org.yamcs.xtceproc.MetaCommandProcessor.buildCommand(MetaCommandProcessor.java:79)
        org.yamcs.xtceproc.MetaCommandProcessor.buildCommand(MetaCommandProcessor.java:35)
        org.yamcs.commanding.CommandingManager.buildCommand(CommandingManager.java:70)
        org.yamcs.http.api.CommandsApi.issueCommand(CommandsApi.java:115)
        org.yamcs.http.api.CommandsApi.issueCommand(CommandsApi.java:73)
        org.yamcs.protobuf.AbstractCommandsApi.callMethod(AbstractCommandsApi.java:130)
        org.yamcs.http.RouteHandler.dispatch(RouteHandler.java:84)
        org.yamcs.http.RouteHandler.handle(RouteHandler.java:51)
        org.yamcs.http.Handler.handle(Handler.java:23)
        org.yamcs.http.Handler.channelRead0(Handler.java:29)
        org.yamcs.http.Handler.channelRead0(Handler.java:9)
        io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
        io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
        io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
        io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
        io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
        io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
        io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
        org.yamcs.http.HttpRequestHandler.channelRead(HttpRequestHandler.java:158)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
        io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
        io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436)
        io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324)
        io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296)
        io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
        io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
        io.netty.handler.traffic.AbstractTrafficShapingHandler.channelRead(AbstractTrafficShapingHandler.java:513)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
        io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
        io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
        io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
        io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
        io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
        io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719)
        io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655)
        io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581)
        io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493)
        io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
        io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
        io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
        java.base/java.lang.Thread.run(Thread.java:829)

11:32:20.614 _global [25] HttpRequestHandler 6cb5273c POST /api/processors/ARSAT-SG1/realtime/commands/ARSATSG1/PUS_203_7_Command 500

---Ends

22 Haziran 2021 Salı tarihinde saat 11:31:58 UTC+3 itibarıyla Nicolae Mihalache şunları yazdı:

Nicolae Mihalache

unread,
Jun 22, 2021, 6:30:53 AM6/22/21
to ya...@googlegroups.com
Thanks for the stack trace, probably a bug.
I will look at it later today.

Onur Gürdoğan

unread,
Jun 22, 2021, 8:36:14 AM6/22/21
to yamcs
Thank you for your fast response! I will be waiting, thanks again.

22 Haziran 2021 Salı tarihinde saat 13:30:53 UTC+3 itibarıyla Nicolae Mihalache şunları yazdı:

Nicolae Mihalache

unread,
Jun 22, 2021, 5:36:58 PM6/22/21
to ya...@googlegroups.com
I pushed a fix for that on github, can you give it a try?

In the yamcs cline:
1. git pull to get my changes
2. make to compile

 in your (quickstart) project:
3. change the Yamcs version to 5.5.3-SNAPSHOT to use the one you just compiled, 
4.  mvn yamcs:run

Onur Gürdoğan

unread,
Jun 23, 2021, 5:04:16 AM6/23/21
to yamcs
Hi Nicolae,

Thank you very much for you effort and fast response.

I followed every step, in addition I cloned again the master repo from github but I faced this error message while I was trying to run "mvn yamcs:run".

---Starts
12:00:40.261 _global [1] YamcsServer Could not start Yamcs: java.lang.NullPointerException
       java.base/java.io.Reader.<init>(Reader.java:167)
       java.base/java.io.InputStreamReader.<init>(InputStreamReader.java:109)
       org.yamcs.web.WebPlugin.deployWebsiteFromClasspath(WebPlugin.java:119)
       org.yamcs.web.WebPlugin.onLoad(WebPlugin.java:82)
       org.yamcs.PluginManager.loadPlugins(PluginManager.java:113)
       org.yamcs.YamcsServer.start(YamcsServer.java:1174)
       org.yamcs.YamcsServer.main(YamcsServer.java:954)

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  3.081 s
[INFO] Finished at: 2021-06-23T12:00:40+03:00
[INFO] ------------------------------------------------------------------------
---Ends

23 Haziran 2021 Çarşamba tarihinde saat 00:36:58 UTC+3 itibarıyla Nicolae Mihalache şunları yazdı:

Nicolae Mihalache

unread,
Jun 23, 2021, 5:17:03 AM6/23/21
to ya...@googlegroups.com
I think you get the error because if you have to build the yamcs-web, with npm, see the README file in the top yamcs repo.

But you can change the pom.xml in your (quickstart) project to use the snapshot version only for the yamcs-core and keep the yamcs-web to the released version:
   
<properties>
...
   <yamcsVersion>5.5.3</yamcsVersion>
 </properties>


 <dependency>
     <groupId>org.yamcs</groupId>
     <artifactId>yamcs-core</artifactId>
     <version>
5.5.3-SNAPSHOT</version>
   </dependency>
   <!-- Add this dependency to enable the web ui. -->
   <dependency>
     <groupId>org.yamcs</groupId>
     <artifactId>yamcs-web</artifactId>
     <version>
${yamcsVersion}</version>
   </dependency>
 </dependencies>


Onur Gürdoğan

unread,
Jun 23, 2021, 6:42:20 AM6/23/21
to yamcs
Now my pom.xml looks like this:

```xml
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <!--
    Update this to the latest Yamcs release.
    Check https://mvnrepository.com/artifact/org.yamcs/yamcs-core
    -->
    <yamcsVersion>5.5.3</yamcsVersion>
  </properties>

  <dependencies>
    <!-- Yamcs core framework -->

     <dependency>
     <groupId>org.yamcs</groupId>
     <artifactId>yamcs-core</artifactId>
     <version>5.5.3-SNAPSHOT</version>
   </dependency>
   <!-- Add this dependency to enable the web ui. -->
   <dependency>
     <groupId>org.yamcs</groupId>
     <artifactId>yamcs-web</artifactId>
     <version>5.5.1</version>
   </dependency>
  </dependencies>
```

With that configuration it is working, I could be able to run up yamcs server. But, again when I try to send simple TC I get this error :((

STARTS

13:34:10.959 _global [23] RouteHandler 17: Responding '500 Internal Server Error': java.lang.ClassCastException: class org.yamcs.xtce.IntegerParameterTy
pe cannot be cast to class org.yamcs.xtce.ArgumentType (org.yamcs.xtce.IntegerParameterType and org.yamcs.xtce.ArgumentType are in unnamed module of loa
der 'app'): org.yamcs.http.InternalServerErrorException: java.lang.ClassCastException: class org.yamcs.xtce.IntegerParameterType cannot be cast to class
org.yamcs.xtce.ArgumentType (org.yamcs.xtce.IntegerParameterType and org.yamcs.xtce.ArgumentType are in unnamed module of loader 'app')
Caused by: java.lang.ClassCastException: class org.yamcs.xtce.IntegerParameterType cannot be cast to class org.yamcs.xtce.ArgumentType (org.yamcs.xtce.I
ntegerParameterType and org.yamcs.xtce.ArgumentType are in unnamed module of loader 'app')
       org.yamcs.xtceproc.MetaCommandContainerProcessor.encodeRawValue(MetaCommandContainerProcessor.java:123)
13:34:10.963 _global [23] CallObserver Internal server error while handling call: org.yamcs.http.InternalServerErrorException: java.lang.ClassCastExcept
ion: class org.yamcs.xtce.IntegerParameterType cannot be cast to class org.yamcs.xtce.ArgumentType (org.yamcs.xtce.IntegerParameterType and org.yamcs.xt
ce.ArgumentType are in unnamed module of loader 'app')
Caused by: java.lang.ClassCastException: class org.yamcs.xtce.IntegerParameterType cannot be cast to class org.yamcs.xtce.ArgumentType (org.yamcs.xtce.I
ntegerParameterType and org.yamcs.xtce.ArgumentType are in unnamed module of loader 'app')
       org.yamcs.xtceproc.MetaCommandContainerProcessor.encodeRawValue(MetaCommandContainerProcessor.java:123)
13:34:10.964 _global [23] HttpRequestHandler 09a7cc41 POST /api/processors/ARSAT-SG1/realtime/commands/ARSATSG1/PUS_203_7_Command 500

ENDS

Simple Command Example:

<MetaCommand name="PUS_203_7_Command" shortDescription="PUS[203,7] command definition.">
  <CommandContainer name="PUS_203_7_Command_Container">
   <EntryList/>
   <BaseContainer containerRef="CCSDS_Base_PUS_Telemetry_Packet"/>
  </CommandContainer>
</MetaCommand>

CCSDS_Base_PUS_Telemetry_Packet Structure:

<SequenceContainer abstract="true" name="CCSDS_Base_PUS_Telemetry_Packet" shortDescription="CCSDS parent (ECSS PUS) telemetry frame with secondary header fields. Planning to be used for PUS TMs.">
<LongDescription>
- CCSDS based TM parameter implementation which they have secondary header (PUS fields).
- Will be used only by the parameters that contains PUS fields.
- In order to set valid this container, it should be map to CCSDS_Packet_Primary_Header/Secondary_Header_Flag == Present.
</LongDescription>
<EntryList>
<ParameterRefEntry parameterRef="CCSDS_Packet_Secondary_Header"/>
</EntryList>
<BaseContainer containerRef="CCSDS_Base_Telemetry_Packet">
<RestrictionCriteria>
<ComparisonList>
<Comparison value="Present" parameterRef="CCSDS_Packet_Primary_Header/Secondary_Header_Flag" />
</ComparisonList>
</RestrictionCriteria>
</BaseContainer>
</SequenceContainer>

Inside the binary, secondary header fields alwasy gets Present.

CCSDS_Packet_Secondary_Header Structure:

<AggregateParameterType name="CCSDS_Packet_Secondary_Header_Type" shortDescription="Group of the CCSDS Packet Secondary Header parameters.">
<MemberList>
<Member name="TM_Packet_PUS_Version_Number" typeRef="TM_Packet_PUS_Version_Number_Type"/>
<Member name="Spacecraft_Time_Reference_Status" typeRef="Spacecraft_Time_Reference_Status_Type"/>
<Member name="Service_Type_ID" typeRef="Service_Type_ID_Type"/>
<Member name="Sub_Service_Type_ID" typeRef="Sub_Service_Type_ID_Type"/>
<Member name="Message_Type_Counter" typeRef="Message_Type_Counter_Type"/>
<Member name="Destination_ID" typeRef="Destination_ID_Type"/>
<Member name="Time" typeRef="Time_Type"/>
</MemberList>
</AggregateParameterType>

<IntegerParameterType name="Packet_Version_Number_Type" shortDescription="Bits 0–2 of the Packet Primary Header shall contain the (binary encoded) Packet Version Number." initialValue="0">
<UnitSet/>
<IntegerDataEncoding encoding="unsigned" sizeInBits="3" />
</IntegerParameterType>

<BooleanParameterType name="Packet_Type_Type" oneStringValue="TC" zeroStringValue="TM" initialValue="0">
<LongDescription>
The Packet Type shall be used to distinguish Packets used for telemetry (or reporting) from Packets used for telecommand (or requesting).
- For a telemetry (or reporting) Packet, this bit shall be set to ‘0’,
- For a telecommand (or requesting) Packet, this bit shall be set to ‘1’.
</LongDescription>
<UnitSet/>
<IntegerDataEncoding encoding="unsigned" sizeInBits="1"/>
</BooleanParameterType>

<BooleanParameterType name="Secondary_Header_Flag_Type" oneStringValue="Present" zeroStringValue="Not Present">
<LongDescription>
- The Secondary Header Flag shall indicate the presence or absence of the Packet Secondary Header within this Space Packet.
- It shall be ‘1’ if a Packet Secondary Header is present,
- It shall be ‘0’ if a Packet Secondary Header is not present.
- The Secondary Header Flag shall be set to ‘0’ for Idle Packets.
</LongDescription>
<UnitSet/>
<IntegerDataEncoding encoding="unsigned" sizeInBits="1"/>
</BooleanParameterType>

<IntegerParameterType name="APID_Type" shortDescription="The APID (possibly in conjunction with the optional APID Qualifier that identifies the naming domain for the APID) shall provide the naming mechanism for the LDP (logical data path)." signed="false" sizeInBits="11">
<UnitSet/>
<IntegerDataEncoding encoding="unsigned" sizeInBits="11"/>
</IntegerParameterType>

<EnumeratedParameterType name="Sequence_Flags_Type" shortDescription="The Sequence Flags may be used by the user of the Packet Service to indicate that the User Data contained within the Space Packet is a segment of a larger set of application data." initialValue="3">
<UnitSet/>
<IntegerDataEncoding encoding="unsigned" sizeInBits="2"/>
<EnumerationList>
<Enumeration value="0" label="Continuation" />
<Enumeration value="1" label="First" />
<Enumeration value="2" label="Last" />
<Enumeration value="3" label="Standalone" />
</EnumerationList>
</EnumeratedParameterType>

<IntegerParameterType name="Packet_Sequence_Count_Type" shortDescription="The Packet Sequence Count shall provide the sequential binary count of each TC generated by the user application identified by the APID." signed="false" sizeInBits="14">
<UnitSet/>
<IntegerDataEncoding encoding="unsigned" sizeInBits="14"/>
</IntegerParameterType>

<IntegerParameterType name="Packet_Data_Length_Type" signed="false" sizeInBits="16">
<UnitSet>
<Unit>Octets</Unit>
</UnitSet>
<IntegerDataEncoding encoding="unsigned" sizeInBits="16"/>
</IntegerParameterType>


Maybe I need not to use aggregate at all. That is not a problem to me actually..


23 Haziran 2021 Çarşamba tarihinde saat 12:17:03 UTC+3 itibarıyla Nicolae Mihalache şunları yazdı:

Nicolae Mihalache

unread,
Jun 23, 2021, 7:13:51 AM6/23/21
to ya...@googlegroups.com
Sorry, it seems I missed something.
Can you update (git pull in the main yamcs repo) and try again?

Onur Gürdoğan

unread,
Jun 23, 2021, 7:26:45 AM6/23/21
to yamcs
Bad news :(((

Starts
14:18:59.551 _global [25] RouteHandler 15: Responding '500 Internal Server Error': java.lang.ClassCastException: class org.yamcs.xtce.IntegerParameterTy
14:18:59.552 _global [25] CallObserver Internal server error while handling call: org.yamcs.http.InternalServerErrorException: java.lang.ClassCastExcept
14:18:59.552 _global [25] HttpRequestHandler 94c0b6df POST /api/processors/ARSAT-SG1/realtime/commands/ARSATSG1/PUS_203_7_Command 500


Ends

Maybe I am doing something wrong with my xtce..

23 Haziran 2021 Çarşamba tarihinde saat 14:13:51 UTC+3 itibarıyla Nicolae Mihalache şunları yazdı:

Nicolae Mihalache

unread,
Jun 23, 2021, 7:34:29 AM6/23/21
to ya...@googlegroups.com
did you run a make after git pull?

Onur Gürdoğan

unread,
Jun 23, 2021, 7:56:06 AM6/23/21
to yamcs
I have been running mvn compile. This time I did "make" but nothing has changed :/

Starts

14:52:39.644 _global [30] RouteHandler 19: Responding '500 Internal Server Error': java.lang.ClassCastException: class org.yamcs.xtce.IntegerParameterTy
14:52:39.644 _global [30] CallObserver Internal server error while handling call: org.yamcs.http.InternalServerErrorException: java.lang.ClassCastExcept
14:52:39.645 _global [30] HttpRequestHandler 0c2fe707 POST /api/processors/ARSAT-SG1/realtime/commands/ARSATSG1/PUS_203_7_Command 500



Ends

By the way I am working on:

Operating System: Kubuntu 20.04 on Virtual Machine.



23 Haziran 2021 Çarşamba tarihinde saat 14:34:29 UTC+3 itibarıyla Nicolae Mihalache şunları yazdı:

Nicolae Mihalache

unread,
Jun 23, 2021, 8:06:27 AM6/23/21
to ya...@googlegroups.com
From the stacktrace it does not look like you have this source code:

so maybe you did not run git pull?

Onur Gürdoğan

unread,
Jun 23, 2021, 8:41:26 AM6/23/21
to yamcs
I have done the git pull, but you were right even I did pull java file has not been changed.. Very strange..

Anyway I did clone this time from "https://github.com/yamcs/yamcs.git" then ran the make, it has worked.. I just ran the make, not the mvn clean install and the npm commands.

Strange, I did the pull hundred times....

Thank you very much Nicolae, you are still saving lives ahahahah.

23 Haziran 2021 Çarşamba tarihinde saat 15:06:27 UTC+3 itibarıyla Nicolae Mihalache şunları yazdı:
Reply all
Reply to author
Forward
0 new messages