Wave_serverV error

Skip to first unread message

El Berto

Jul 2, 2021, 8:52:46 AM7/2/21
to Earthworm Community Forum

Hi to all, I suddenly got this error after Earthworm has been correctly running for several months, last night it stopped working:

20210702_UTC_09:17:56 _writeTraceDataRaw(): failed
20210702_UTC_09:17:56 server_thread.c: _writeTrDRaw() failed on tank[1] for ACOM.HNZ.OX.HP

What's wrong?

I removed all other EW modules from startstop_unix.d to keep only wave_serverV:

 nRing               2
 Ring   WAVE_RING 1024
 Ring   HYPO_RING 1024

 MyModuleId    MOD_STARTSTOP  # Module Id for this program
 HeartbeatInt  50             # Heartbeat interval in seconds
 MyClassName   OTHER             # For this program
 MyPriority     0             # For this program
 LogFile        1             # 1=write a log file to disk, 0=don't
 KillDelay      30            # seconds to wait before killing modules on
                              #  shutdown
 HardKillDelay  5             # number of seconds to wait on hard shutdown
                              #  for a child to respond to KILL signal
                              #  If missing or 0, no KILL signal will be sent
#  maxStatusLineLen   80     # Uncomment to specify length of lines in status
# statmgrDelay          2     # Uncomment to specify the number of seconds
                                        # to wait after starting statmgr
                                        # default is 1 second

 Process          "statmgr statmgr.d"
 Class/Priority    OTHER 0
 Process        "wave_serverV wave_serverV.d"
 Class/Priority    OTHER 0

But still keeping error.

Here my wave_serverV.d:

MyModuleId    MOD_WAVESERVERV # wave_server's module id
RingName      WAVE_RING        # name of transport ring to get data from
LogFile       1                # 1=write log file to disk; 0=don't
                               # 2=write to module log but not stderr/stdout
HeartBeatInt  15               # seconds between heartbeats to statmgr
ServerIPAdr          # IP address of machine running wave_server
                               # binds to all local available IPs
ServerPort    16022            # port for receiving requests & sending waves
GapThresh     1.5              # threshhold for gap declaration
                               # (in sampling periods)


SocketTimeout 11000  # Timeout length in MILLISECONDS for socket calls
                     # This is for calls sending responses back to the
                     # client. Values should be a few seconds, certainly
                     # less than one minute.

ClientTimeout  60000 # Optional.  Not recommended feature but it does work.
                     # Timeout in MILLISECONDS for response from client.
                     # Threads that have not heard anything from their client
                     # in this period will exit.
                     # Comment out or set to -1 if you don't want to
                     # kill threads of silent clients.

IndexUpdate   10               

TankStructUpdate 1

# The file where TANK structures are stored

TankStructFile /home/pi/ew/run/tanks/p1000-1.str

# I open many files, one tracedata file for each SCNL channel to serve
# At 500 bytes/second, 1 channel requires 41.2 megabytes per day.
# NOTE: Record size must be multiple of 4 bytes or wave_serverV will crash
# with data misalignment.
# Also, record size must not be greater than MAX_TRACEBUF_SIZ, currently 4096,
# (defined in tracebuf.h)
#           SCNL      Record       Logo                  File Size   Index Size       File Name     New       
#          names       size  (TYPE_TRACEBUF2 only)         (megabytes) (max breaks)     (full path)      Tank      

Tank    ACOM HHZ OX -- 4096 ${EW_INST_ID} MOD_WILDCARD       1         10000         /home/pi/ew/run/tanks/OX.ACOM.HHZ.tnk   
Tank    ACOM HHZ OX HP 4096 ${EW_INST_ID} MOD_WILDCARD       1         10000         /home/pi/ew/run/tanks/OX.ACOM.HHZ.HP.tnk

# Advanced Options
# YES = 1, NO = 0, NO = (default)

#RedundantTankStructFiles  Set to 1 to use redundant tank struct files. (Recommended)
RedundantTankStructFiles 1

#RedundantIndexFiles  Set to 1 to use redundant tank index files. (Recommended)
RedundantIndexFiles      1

# Must be set if RedundantTankStructFiles = 1
TankStructFile2 /home/pi/ew/run/tanks/p1000-2.str

InputQueueLen 4000

MaxMsgSize 4096

Debug 1

#SocketDebug Set to 1 to get SOCKET_ew debug statements
SocketDebug 0

If I change location from HP to 01 I have no error.
What could be wrong?

I was using Earthworm 7.8, after make clean and make, no changes.
I installed Earthworm 7.10 and now is working correctly.

Victor Preatoni

Jul 4, 2021, 10:28:36 AM7/4/21
to Earthworm Community Forum

if you sniff WAVE_RING filtering for ACOM what do you get?
:$  sniffwave WAVE_RING ACOM v

I can see you defined tanks for ACOM HHZ channels, but the error you get is for HNZ.

Also, why your Index Size (max breaks) is so high??. Default config is about 40, I am using 100. But I see no reason for such a high value like 10000.
Reply all
Reply to author
0 new messages