• Recent
    • Tags
    • Popular
    • Register
    • Login

    Please Note This forum exists for community support for the Mango product family and the Radix IoT Platform. Although Radix IoT employees participate in this forum from time to time, there is no guarantee of a response to anything posted here, nor can Radix IoT, LLC guarantee the accuracy of any information expressed or conveyed. Specific project questions from customers with active support contracts are asked to send requests to support@radixiot.com.

    Radix IoT Website Mango 3 Documentation Website Mango 4 Documentation Website Mango 5 Documentation Website

    Persistent TCP from 2.8 publisher to 3.2 Data Source: Broken pipe (Write failed)

    Mango Automation general Discussion
    2
    6
    1.5k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • AldoRamosA
      AldoRamos
      last edited by

      Having upgraded the receiver, I'm now seeing the following errors on publishers which have not yet been upgraded:

      Persistent TCP: Broken pipe (Write failed)
      

      Is Persistent TCP version dependent? Should it fail, or should it continue working between different versions?

      1 Reply Last reply Reply Quote 0
      • phildunlapP
        phildunlap
        last edited by

        It is dependent, but it's always reverse compatible. Meaning, a 3.2 TCP Receiver can receive from a 2.8 publisher. Sometimes this broken pipe error is caused by a validation issue, where a point on the sending end may have some conflict or invalid state to the receiving end. One end probably logged an error message, I would think.

        1 Reply Last reply Reply Quote 0
        • AldoRamosA
          AldoRamos
          last edited by

          Here is the log from a 2.8 publisher:

          DEBUG 2017-12-11 15:13:17,540 (com.serotonin.m2m2.persistent.pub.PersistentSendThread.sendRealTime:452) - Sending datapoint with index: 1
          DEBUG 2017-12-11 15:13:17,541 (com.serotonin.m2m2.persistent.pub.PersistentSendThread.sendRealTime:452) - Sending datapoint with index: 0
          DEBUG 2017-12-11 15:13:17,541 (com.serotonin.m2m2.persistent.pub.PersistentSendThread.sendRealTime:488) - Publish queue size: 0
          DEBUG 2017-12-11 15:13:20,177 (com.serotonin.m2m2.persistent.pub.PersistentSendThread.sendRealTime:452) - Sending datapoint with index: 7
          DEBUG 2017-12-11 15:13:20,177 (com.serotonin.m2m2.persistent.pub.PersistentSendThread.sendRealTime:452) - Sending datapoint with index: 6
          DEBUG 2017-12-11 15:13:20,177 (com.serotonin.m2m2.persistent.pub.PersistentSendThread.sendRealTime:452) - Sending datapoint with index: 2
          DEBUG 2017-12-11 15:13:20,178 (com.serotonin.m2m2.persistent.pub.PersistentSendThread.sendRealTime:452) - Sending datapoint with index: 3
          DEBUG 2017-12-11 15:13:20,178 (com.serotonin.m2m2.persistent.pub.PersistentSendThread.sendRealTime:452) - Sending datapoint with index: 4
          DEBUG 2017-12-11 15:13:20,178 (com.serotonin.m2m2.persistent.pub.PersistentSendThread.sendRealTime:452) - Sending datapoint with index: 5
          DEBUG 2017-12-11 15:13:20,178 (com.serotonin.m2m2.persistent.pub.PersistentSendThread.sendRealTime:488) - Publish queue size: 0
          DEBUG 2017-12-11 15:13:22,165 (com.serotonin.m2m2.persistent.pub.PersistentSendThread.sendRealTime:452) - Sending datapoint with index: 1
          DEBUG 2017-12-11 15:13:22,165 (com.serotonin.m2m2.persistent.pub.PersistentSendThread.sendRealTime:452) - Sending datapoint with index: 0
          DEBUG 2017-12-11 15:13:22,165 (com.serotonin.m2m2.persistent.pub.PersistentSendThread.sendRealTime:488) - Publish queue size: 0
          DEBUG 2017-12-11 15:13:22,186 (com.serotonin.m2m2.persistent.pub.PersistentSendThread.closeConnection:661) - Sending close packet
          WARN  2017-12-11 15:13:22,187 (com.serotonin.m2m2.persistent.pub.PersistentSendThread.closeConnection:669) - Failed closing SendThread socket.
          java.net.SocketException: Broken pipe (Write failed)
                  at java.net.SocketOutputStream.socketWrite0(Native Method)
                  at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109)
                  at java.net.SocketOutputStream.write(SocketOutputStream.java:132)
                  at com.serotonin.m2m2.persistent.pub.TimedOutputStream.write(TimedOutputStream.java:47)
                  at com.serotonin.m2m2.persistent.common.Packet.writeHeader(Packet.java:322)
                  at com.serotonin.m2m2.persistent.common.Packet.writePacket(Packet.java:280)
                  at com.serotonin.m2m2.persistent.pub.PersistentSendThread.closeConnection(PersistentSendThread.java:663)
                  at com.serotonin.m2m2.persistent.pub.PersistentSendThread.runImpl(PersistentSendThread.java:267)
                  at com.serotonin.m2m2.rt.publish.SendThread.run(SendThread.java:56)
          

          And the Data Source/Listener (3.2)

          DEBUG 2017-12-11 15:19:17,503 (com.serotonin.m2m2.persistent.ds.PersistentDataSourceRT$TcpConnectionHandler.runImpl:557) - /166.176.184.183:4865: ensuring point 105DP_temp, index: 8
          DEBUG 2017-12-11 15:19:17,503 (com.serotonin.m2m2.persistent.ds.PersistentDataSourceRT$TcpConnectionHandler.ensurePointV5:809) - /166.176.184.183:4865: ensuring point 105DP_temp
          DEBUG 2017-12-11 15:19:17,504 (com.serotonin.m2m2.persistent.ds.PersistentDataSourceRT$TcpConnectionHandler.ensurePointV5:817) - /166.176.184.183:4865: point 105DP_temp already exists in RT list
          DEBUG 2017-12-11 15:19:17,504 (com.serotonin.m2m2.persistent.ds.PersistentDataSourceRT$TcpConnectionHandler.updatePointV5:882) - /166.176.184.183:4865: saving point 105DP_temp updates
          DEBUG 2017-12-11 15:19:17,625 (com.serotonin.m2m2.persistent.ds.PersistentDataSourceRT$TcpConnectionHandler.runImpl:567) - /166.176.184.183:4865: confirmed 105DP_temp with client
          INFO  2017-12-11 15:19:17,625 (com.serotonin.m2m2.persistent.ds.PersistentDataSourceRT$TcpConnectionHandler.runImpl:579) - /166.176.184.183:4865: point init done
          INFO  2017-12-11 15:19:17,700 (com.serotonin.m2m2.persistent.ds.PersistentDataSourceRT.run:357) - Received socket from /166.176.184.169:12742
          DEBUG 2017-12-11 15:19:17,768 (com.serotonin.m2m2.persistent.ds.PersistentDataSourceRT$TcpConnectionHandler.runImpl:504) - /166.176.184.169:12742: client requested version 8
          DEBUG 2017-12-11 15:19:17,768 (com.serotonin.m2m2.persistent.ds.PersistentDataSourceRT$TcpConnectionHandler.runImpl:512) - /166.176.184.169:12742: using version 8
          DEBUG 2017-12-11 15:19:17,865 (com.serotonin.m2m2.persistent.ds.PersistentDataSourceRT$TcpConnectionHandler.updatePointHierarchy:960) - /166.176.184.183:4865: updatePointHierarchy
          DEBUG 2017-12-11 15:19:17,874 (com.serotonin.m2m2.persistent.ds.PersistentDataSourceRT$TcpConnectionHandler.updatePointHierarchy:967) - /166.176.184.183:4865: updatePointHierarchy: count=8
          WARN  2017-12-11 15:19:17,874 (com.serotonin.m2m2.persistent.ds.PersistentDataSourceRT$TcpConnectionHandler.run:466) - /166.176.184.183:4865: Connection handler exception
          java.lang.NullPointerException
                  at com.serotonin.m2m2.persistent.ds.PersistentDataSourceRT$TcpConnectionHandler.updatePointHierarchy(PersistentDataSourceRT.java:977)
                  at com.serotonin.m2m2.persistent.ds.PersistentDataSourceRT$TcpConnectionHandler.runImpl(PersistentDataSourceRT.java:711)
                  at com.serotonin.m2m2.persistent.ds.PersistentDataSourceRT$TcpConnectionHandler.run(PersistentDataSourceRT.java:436)
                  at java.lang.Thread.run(Thread.java:748)
          
          1 Reply Last reply Reply Quote 0
          • phildunlapP
            phildunlap
            last edited by

            If you save your Persistent Data source again, it might resolve. Can you share the JSON for the data source (perhaps without its auth key)?

            1 Reply Last reply Reply Quote 0
            • AldoRamosA
              AldoRamos
              last edited by

              Wish all problems in life were that easy. ;-)

              Saving it was all it took. Things are back to normal, now.

              Thanks!

              1 Reply Last reply Reply Quote 0
              • phildunlapP
                phildunlap
                last edited by

                Yeah, sorry, that was a bug. Got the fix in, though.

                1 Reply Last reply Reply Quote 0
                • First post
                  Last post