<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <p><font face="Helvetica, Arial, sans-serif">Hi all</font></p>
    <p><font face="Helvetica, Arial, sans-serif">I'm on serve Navdata
        over Ice in my develop bay y get a Marshalling exception. I take
        a lot time finding the error but i can't see the error ¿anyone
        can help me?</font></p>
    <p><font face="Helvetica, Arial, sans-serif">I have this
        implementation of navData:</font></p>
    <p>
      <meta http-equiv="content-type" content="text/html; charset=utf-8">
    </p>
    <pre style="background-color:#ffffff;color:#000000;font-family:'DejaVu Sans Mono';font-size:9,0pt;"><i><font size="-1"><span style="color:#000080;font-weight:bold;">import </span>jderobot

<span style="color:#000080;font-weight:bold;">class </span>NavdataI(jderobot.Navdata):
    <span style="color:#000080;font-weight:bold;">def </span><span style="color:#b200b2;">__init__</span>(<span style="color:#94558d;">self</span>):
        <span style="color:#94558d;">self</span>.data = jderobot.NavdataData()
    <span style="color:#000080;font-weight:bold;">def </span>getNavdata(<span style="color:#94558d;">self</span>, <span style="color:#808080;">current=</span><span style="color:#808080;font-weight:bold;">None</span>):
        <span style="color:#000080;font-weight:bold;">return </span><span style="color:#94558d;">self</span>.data
    <span style="color:#000080;font-weight:bold;">def </span>setNavdata(<span style="color:#94558d;">self</span>, data):
        <span style="color:#94558d;">self</span>.data=data</font></i>

<font face="Helvetica, Arial, sans-serif">In my software only I do:</font>

<meta http-equiv="content-type" content="text/html; charset=utf-8"><i><font size="-1">ndata = jderobot.NavdataData
<span style="color: rgb(128, 128, 128);">#</span><span style="color: rgb(0, 115, 191); font-weight: bold;">TODO setear los valores del NavData
</span>ndata.batteryPercent = battery_remaining
<span style="color:#000080;font-weight:bold;">try</span>:
    ndata.pressure = <span style="color:#000080;">getattr</span>(scaled_presure, <span style="color:#008080;font-weight:bold;">"press_abs"</span>)
<span style="color:#000080;font-weight:bold;">except</span>:
    <span style="color:#000080;">print </span>(<span style="color:#000080;">str</span>(scaled_presure))
<span style="color:#000080;font-weight:bold;">try</span>:
    ndata.temp = <span style="color:#000080;">getattr</span>(scaled_presure, <span style="color:#008080;font-weight:bold;">"temperature"</span>)/<span style="color:#0000ff;">100
</span><span style="color:#000080;font-weight:bold;">except</span>:
    <span style="color:#000080;">print</span>(<span style="color:#000080;">str</span>(scaled_presure))
<span style="color:#000080;font-weight:bold;">try</span>:
    ndata.windSpeed = <span style="color:#000080;">getattr</span>(wind, <span style="color:#008080;font-weight:bold;">"speed"</span>)
<span style="color:#000080;font-weight:bold;">except</span>:
    <span style="color:#000080;">print</span>(<span style="color:#000080;">str</span>(wind))
<span style="color:#000080;font-weight:bold;">try</span>:
    ndata.windAngle = <span style="color:#000080;">getattr</span>(wind, <span style="color:#008080;font-weight:bold;">"direction"</span>)
<span style="color:#000080;font-weight:bold;">except</span>:
    <span style="color:#000080;">print</span>(<span style="color:#000080;">str</span>(wind))
<span style="color:#000080;font-weight:bold;">try</span>:
    ndata.vx = <span style="color:#000080;">getattr</span>(global_position, <span style="color:#008080;font-weight:bold;">"vx"</span>)
<span style="color:#000080;font-weight:bold;">except</span>:
    <span style="color:#000080;">print</span>(<span style="color:#000080;">str</span>(global_position))
<span style="color:#000080;font-weight:bold;">try</span>:
    ndata.vy = <span style="color:#000080;">getattr</span>(global_position, <span style="color:#008080;font-weight:bold;">"vy"</span>)
<span style="color:#000080;font-weight:bold;">except</span>:
    <span style="color:#000080;">print</span>(<span style="color:#000080;">str</span>(global_position))
<span style="color:#000080;font-weight:bold;">try</span>:
    ndata.vz = <span style="color:#000080;">getattr</span>(global_position, <span style="color:#008080;font-weight:bold;">"vz"</span>)
<span style="color:#000080;font-weight:bold;">except</span>:
    <span style="color:#000080;">print</span>(<span style="color:#000080;">str</span>(global_position))
<span style="color:#000080;font-weight:bold;">try</span>:
    ndata.rotx = <span style="color:#000080;">getattr</span>(rawIMU, <span style="color:#008080;font-weight:bold;">"xgyro"</span>)
<span style="color:#000080;font-weight:bold;">except</span>:
    <span style="color:#000080;">print</span>(<span style="color:#000080;">str</span>(rawIMU))
<span style="color:#000080;font-weight:bold;">try</span>:
    ndata.roty = <span style="color:#000080;">getattr</span>(rawIMU, <span style="color:#008080;font-weight:bold;">"ygyro"</span>)
<span style="color:#000080;font-weight:bold;">except</span>:
    <span style="color:#000080;">print</span>(<span style="color:#000080;">str</span>(rawIMU))
<span style="color:#000080;font-weight:bold;">try</span>:
    ndata.rotz = <span style="color:#000080;">getattr</span>(rawIMU, <span style="color:#008080;font-weight:bold;">"zgyro"</span>)
<span style="color:#000080;font-weight:bold;">except</span>:
    <span style="color:#000080;">print</span>(<span style="color:#000080;">str</span>(rawIMU))
<span style="color:#000080;font-weight:bold;">try</span>:
    ndata.ax = <span style="color:#000080;">getattr</span>(rawIMU, <span style="color:#008080;font-weight:bold;">"xacc"</span>)
<span style="color:#000080;font-weight:bold;">except</span>:
    <span style="color:#000080;">print</span>(<span style="color:#000080;">str</span>(rawIMU))
<span style="color:#000080;font-weight:bold;">try</span>:
    ndata.ay = <span style="color:#000080;">getattr</span>(rawIMU, <span style="color:#008080;font-weight:bold;">"yacc"</span>)
<span style="color:#000080;font-weight:bold;">except</span>:
    <span style="color:#000080;">print</span>(<span style="color:#000080;">str</span>(rawIMU))
<span style="color:#000080;font-weight:bold;">try</span>:
    ndata.az = <span style="color:#000080;">getattr</span>(rawIMU, <span style="color:#008080;font-weight:bold;">"zacc"</span>)
<span style="color:#000080;font-weight:bold;">except</span>:
    <span style="color:#000080;">print</span>(<span style="color:#000080;">str</span>(rawIMU))
<span style="color:#000080;font-weight:bold;">try</span>:
    ndata.magx = <span style="color:#000080;">getattr</span>(rawIMU, <span style="color:#008080;font-weight:bold;">"xmag"</span>)
<span style="color:#000080;font-weight:bold;">except</span>:
    <span style="color:#000080;">print</span>(<span style="color:#000080;">str</span>(rawIMU))
<span style="color:#000080;font-weight:bold;">try</span>:
    ndata.magy = <span style="color:#000080;">getattr</span>(rawIMU, <span style="color:#008080;font-weight:bold;">"ymag"</span>)
<span style="color:#000080;font-weight:bold;">except</span>:
    <span style="color:#000080;">print</span>(<span style="color:#000080;">str</span>(rawIMU))
<span style="color:#000080;font-weight:bold;">try</span>:
    ndata.magz = <span style="color:#000080;">getattr</span>(rawIMU, <span style="color:#008080;font-weight:bold;">"zmag"</span>)
<span style="color:#000080;font-weight:bold;">except</span>:
    <span style="color:#000080;">print</span>(<span style="color:#000080;">str</span>(rawIMU))
<span style="color:#94558d;">self</span>.navdata.setNavdata(ndata)</font></i><pre style="background-color:#ffffff;color:#000000;font-family:'DejaVu Sans Mono';font-size:9,0pt;"></pre><font face="Helvetica, Arial, sans-serif">But I get:</font>

  <font size="-1">File "/usr/lib/python3.5/parallelIce/navDataClient.py", line 51, in update
    navData = self.proxy.getNavdata()
  File "/usr/lib/python3.5/navdata_ice.py", line 171, in getNavdata
    return _M_jderobot.Navdata._op_getNavdata.invoke(self, ((), _ctx))
Ice.UnknownLocalException: exception ::Ice::UnknownLocalException
{
    unknown = src/Operation.cpp:3482: Ice::MarshalException:
protocol error: error during marshaling or unmarshaling
}
!! 01/21/17 18:54:38.681 error: communicator not destroyed during global destruction.

</font>Thanks<font size="-1">
</font></pre><p> </p></body></html>