Changes between Version 4 and Version 5 of v5.1


Ignore:
Timestamp:
01/19/12 16:48:13 (10 years ago)
Author:
branden
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • v5.1

    v4 v5  
    1 {{{ 
    2 Release Notes: Earthworm Version "v5.1" 
    3  
    4 NEW MODULES: 
    5  
    6 k2ew: Communicates with the K2 data logger from Kinemetrics. Uses TCP or COM port for communication on WindowsNT, TCP or TTY (serial) comms on Unix. See src/data/sources/k2ew/Doc for documentation. 
    7  
    8 ringdup: Program to read messages (with user given logos) from one ring and deposit them in another. This is mainly copied from export. This is actually two programs: ringdup_generic and ringdup_scn. 
    9  
    10 naqs2ew: Interfaces with the Nanometrics digital data acquisition program, NaqsServer, requests continuous waveform data from a list of SCNs and outputs Earthworm tracebuf packets into an Earthworm transport ring. 
    11  
    12 Event Review Using the Earthworm Database: The Event Review provides Earthworm with a remote, rapid event review capability. Its intended use is permit a duty seismologist to rapidly respond to a significant event. It was NOT designed to serve as a routine analysis facility. 
     1'''Release Notes: Earthworm Version "v5.1"''' 
     2 
     3'''NEW MODULES:''' 
     4 
     5'''k2ew:''' Communicates with the K2 data logger from Kinemetrics. Uses TCP or COM port for communication on WindowsNT, TCP or TTY (serial) comms on Unix. See src/data/sources/k2ew/Doc for documentation. 
     6 
     7'''ringdup:''' Program to read messages (with user given logos) from one ring and deposit them in another. This is mainly copied from export. This is actually two programs: ringdup_generic and ringdup_scn. 
     8 
     9'''naqs2ew:''' Interfaces with the Nanometrics digital data acquisition program, NaqsServer, requests continuous waveform data from a list of SCNs and outputs Earthworm tracebuf packets into an Earthworm transport ring. 
     10 
     11'''Event Review Using the Earthworm Database:''' The Event Review provides Earthworm with a remote, rapid event review capability. Its intended use is permit a duty seismologist to rapidly respond to a significant event. It was NOT designed to serve as a routine analysis facility. 
    1312 
    1413Its features include: 
     
    3029  
    3130 
    32 MODIFICATIONS/BUG FIXES TO EXISTING MODULES: 
    33  
    34 Libsrc Changes: 
    35  
    36 libsrc/winnt/sendmail.c: Changed the email message sender from root to root@<MailHost>. 
    37  
    38 libsrc/util/sacputaway.c: Changed the low level calls to creat/write to fopen/fwrite in order to write sac files. Previous method would sometimes write sac files (under NT only) with fewer samples than advertised in the header. 
    39  
    40 libsrc/util/logit.c: In logit_init(), moved the mutex creation to before the test of the log/nolog switch value so that the mutex is always created. Previously, if switch=0, the mutex was not created and subsequent calls to logit (on NT) caused "error releasing specific mutex" messages to appear. 
     31'''MODIFICATIONS/BUG FIXES TO EXISTING MODULES:''' 
     32 
     33'''Libsrc Changes:''' 
     34 
     35'''libsrc/winnt/sendmail.c:''' Changed the email message sender from root to root@<MailHost>. 
     36 
     37'''libsrc/util/sacputaway.c:''' Changed the low level calls to creat/write to fopen/fwrite in order to write sac files. Previous method would sometimes write sac files (under NT only) with fewer samples than advertised in the header. 
     38 
     39'''libsrc/util/logit.c:''' In logit_init(), moved the mutex creation to before the test of the log/nolog switch value so that the mutex is always created. Previously, if switch=0, the mutex was not created and subsequent calls to logit (on NT) caused "error releasing specific mutex" messages to appear. 
    4140 
    4241Added support for checking/preventing overflows of the logit buffer. Used vsnprintf() (_vsnprintf on NT) to fill a buffer without overflowing it. logit() will now write an error message to the logfile (or to stderr if disk logging is disabled) if a message that is longer than the buffer is attempted to be logged. This required an addition to platform.h. 
    4342 
    44 include/platform.h 
     43'''include/platform.h''' 
    4544 
    4645Added a define for vsnprintf() in the NT section. Removed comments from #define lines to prevent them from causing headaches when the #defines are substituted in code. Before, code that looked like 
     
    5453and the compiler would seem to issue a syntax error for no reason. 
    5554 
    56 libsrc/winnt/transport.c 
    57  
    58 libsrc/solaris/transport.c: Fixed tport_putmsg and tport_copyto so that they always release the semaphore before returning or exiting. 
    59  
    60 libsrc/util/swap.c: I modified the swap.c functions so that they now work correctly, even with non-byte-alligned data. Warning: In some cases, waveserver may return non-byte-alligned tracebuf messages. This can happen if the tracebuf messages contain odd numbers of 2-byte samples. Caltech has started exporting this kind of data to Menlo Park. 
    61  
    62 libsrc/util/socket_ew_common: Fixed incorrect formats in logit calls after select() errors (several places). The error would cause segmentation violations and core dumps. 
    63  
    64 libsrc/util/logit: added value `2' to the logflag argument of logit_init(). This value will turn off logging to standard error and standard output. The config file command is typically LogSwitch to access this feature. 
    65  
    66 libsrc/util/getutil.c: removed extra `%s' from fprintf statement, identified by Chris Wood. 
    67  
    68 libsrc/util/putaway.c: corrected `=' to `==' in two if statements in PA_close(), identified by Chris Woods. 
    69  
    70 libsrc/util/socket_ew_common.c: bug fix in recvfrom_ew(). The argument passed to recvfrom was being modified so that it wouldn't work correctly later on. This function does not appear to be used in earthworm at this time. Identified by Chris Wood. 
    71  
    72 libsrc/solaris/time_ew.c: Fixed bug where the error return from nanosleep() was not always handled properly. Identified by Chris Wood. 
    73  
    74 /libsrc/util/site.c: Changed how the hypoinverse site file is parsed in site_read. Under NT, the 'E' east-west longitude designator was being interpreted as the scientific notation exponent for the decimal minutes portion of the longitude. This ultimately caused allEast longitudes to be interpreted as West longitudes, making it impossible to run binder_ew, eqproc and any other module dependant on site.c in the Eastern Hemisphere. 
    75  
    76 ws_clientII libsrc routines: wsSearchSCN claimed to return the first menu with a matching SCN; it actually returned the last menu that matched. This has been fixed. Also, if the menup argument to wsSearchSCN is non-NULL, the search will start with the next menu after *menup; otherwise the search will start with menu_queue->head. Finally, wsGetTraceAscii now takes advantage of this change to wsSearchSCN: if the server returns with a flag (request in gap or outside of tank), another server in the menu queue will be tried. This feature probably should be added to wsGetTraceAscii. Even better, the wave_server should be able to return a complete index list so that traces can be pieced together from several servers if the servers are missing different portions of the trace. 
    77  
    78 Transport Changes: 
    79  
    80 tport_putmsg assigns and tracks the sequence numbers for each logo. tport_putmsg has a limit to the number of different logos for which it can keep track of sequences numbers (NTRACK_PUT). This has been increased from 20 to 200. The number of logos for which tport_getmsg and toport_copyfrom can track sequence numbers has been increased from 50 to 500. 
    81  
    82 Module Changes: 
    83  
    84 gaplist: Added MyModuleId command to allow module id to be configured. Added logging and "unerror" msg to statmgr when data is received from a previously dead channel. 
    85  
    86 heli_standalone: Fixed bug that prevented plotting traces of 200 SPS data at the maximum update interval (same as MAXMINUTES which is 5) 
    87  
    88 waveman2disk: Fixed an interactive user prompt so that the user is now prompted for YYYYMMDDHHMMSS. Minutes were missing before. Fixed missing null string terminator, removed unused variables. Identified by Chris Wood. 
    89  
    90 startstop_solaris/startstop.c: Added tests for null strings in parsing the config file (before handing strings to strlen). Now it won't crash when a <Process> command contains unbalanced quotes, but will instead complain of a bad <Process> command. 
    91  
    92 sniffwave: Fixed so that it prints 4-byte data properly. 
    93  
    94 wave_viewer: v1.22. Fixed problems where wave_viewer displayed data spikes when it received fill values back from wave_serverV. Fixe a problem where wave_viewer would miss-parse the wave_server reply because wave_server is writing a 0x00 character after a block of fill values. Fixed problem where wave_viewer would constantly ask for data from wave_server channels that had no data, thus bogging down the client machine and the wave_server. Introduced a bug where data points returned by wave_server that are equal to 1234567890 will be plotted by wave_viewer as 1234567889. 
    95  
    96 carlsubtrig: fixed bugs in readcfg.c and readsubs.c where blank lines in config files were not handled properly. 
    97  
    98 wave_serverV: Added signal handler to allow graceful shutdowns without shutting down all of earthworm. In WindowsNT, wave_serverV can be shut down by pressing control-C in the console window of wave_serverV. Doing `restart <pid>' will NOT work: startstop_nt does not use signals for terminating processes. In Solaris, you can use `kill <pid>' or `restart <pid>' to terminate wave_serverV gracefully. Also numerous bug fixes; see the file README.changes in the wave_serverV directory. 
     55'''libsrc/winnt/transport.c''' 
     56 
     57'''libsrc/solaris/transport.c:''' Fixed tport_putmsg and tport_copyto so that they always release the semaphore before returning or exiting. 
     58 
     59'''libsrc/util/swap.c:''' I modified the swap.c functions so that they now work correctly, even with non-byte-alligned data. Warning: In some cases, waveserver may return non-byte-alligned tracebuf messages. This can happen if the tracebuf messages contain odd numbers of 2-byte samples. Caltech has started exporting this kind of data to Menlo Park. 
     60 
     61'''libsrc/util/socket_ew_common:''' Fixed incorrect formats in logit calls after select() errors (several places). The error would cause segmentation violations and core dumps. 
     62 
     63'''libsrc/util/logit:''' added value `2' to the logflag argument of logit_init(). This value will turn off logging to standard error and standard output. The config file command is typically LogSwitch to access this feature. 
     64 
     65'''libsrc/util/getutil.c:''' removed extra `%s' from fprintf statement, identified by Chris Wood. 
     66 
     67'''libsrc/util/putaway.c:''' corrected `=' to `==' in two if statements in PA_close(), identified by Chris Woods. 
     68 
     69'''libsrc/util/socket_ew_common.c:''' bug fix in recvfrom_ew(). The argument passed to recvfrom was being modified so that it wouldn't work correctly later on. This function does not appear to be used in earthworm at this time. Identified by Chris Wood. 
     70 
     71'''libsrc/solaris/time_ew.c:''' Fixed bug where the error return from nanosleep() was not always handled properly. Identified by Chris Wood. 
     72 
     73'''/libsrc/util/site.c:''' Changed how the hypoinverse site file is parsed in site_read. Under NT, the 'E' east-west longitude designator was being interpreted as the scientific notation exponent for the decimal minutes portion of the longitude. This ultimately caused allEast longitudes to be interpreted as West longitudes, making it impossible to run binder_ew, eqproc and any other module dependant on site.c in the Eastern Hemisphere. 
     74 
     75'''ws_clientII libsrc routines:''' wsSearchSCN claimed to return the first menu with a matching SCN; it actually returned the last menu that matched. This has been fixed. Also, if the menup argument to wsSearchSCN is non-NULL, the search will start with the next menu after *menup; otherwise the search will start with menu_queue->head. Finally, wsGetTraceAscii now takes advantage of this change to wsSearchSCN: if the server returns with a flag (request in gap or outside of tank), another server in the menu queue will be tried. This feature probably should be added to wsGetTraceAscii. Even better, the wave_server should be able to return a complete index list so that traces can be pieced together from several servers if the servers are missing different portions of the trace. 
     76 
     77'''Transport Changes:''' 
     78 
     79'''tport_putmsg''' assigns and tracks the sequence numbers for each logo. tport_putmsg has a limit to the number of different logos for which it can keep track of sequences numbers (NTRACK_PUT). This has been increased from 20 to 200. The number of logos for which tport_getmsg and toport_copyfrom can track sequence numbers has been increased from 50 to 500. 
     80 
     81'''Module Changes:''' 
     82 
     83'''gaplist:''' Added MyModuleId command to allow module id to be configured. Added logging and "unerror" msg to statmgr when data is received from a previously dead channel. 
     84 
     85'''heli_standalone:''' Fixed bug that prevented plotting traces of 200 SPS data at the maximum update interval (same as MAXMINUTES which is 5) 
     86 
     87'''waveman2disk:''' Fixed an interactive user prompt so that the user is now prompted for YYYYMMDDHHMMSS. Minutes were missing before. Fixed missing null string terminator, removed unused variables. Identified by Chris Wood. 
     88 
     89'''startstop_solaris/startstop.c:''' Added tests for null strings in parsing the config file (before handing strings to strlen). Now it won't crash when a <Process> command contains unbalanced quotes, but will instead complain of a bad <Process> command. 
     90 
     91'''sniffwave:''' Fixed so that it prints 4-byte data properly. 
     92 
     93'''wave_viewer:''' v1.22. Fixed problems where wave_viewer displayed data spikes when it received fill values back from wave_serverV. Fixe a problem where wave_viewer would miss-parse the wave_server reply because wave_server is writing a 0x00 character after a block of fill values. Fixed problem where wave_viewer would constantly ask for data from wave_server channels that had no data, thus bogging down the client machine and the wave_server. Introduced a bug where data points returned by wave_server that are equal to 1234567890 will be plotted by wave_viewer as 1234567889. 
     94 
     95'''carlsubtrig:''' fixed bugs in readcfg.c and readsubs.c where blank lines in config files were not handled properly. 
     96 
     97'''wave_serverV:''' Added signal handler to allow graceful shutdowns without shutting down all of earthworm. In WindowsNT, wave_serverV can be shut down by pressing control-C in the console window of wave_serverV. Doing `restart <pid>' will NOT work: startstop_nt does not use signals for terminating processes. In Solaris, you can use `kill <pid>' or `restart <pid>' to terminate wave_serverV gracefully. Also numerous bug fixes; see the file README.changes in the wave_serverV directory. 
    9998 
    10099Fixed some bugs identified by Chris Wood: "NotDone" is now initialized before use in index_util.c; fixed possible buffer overruns in server_thread.c. Fixed return value tests for several functions, initialized "isConfigured" flag at end of config-file loop. 
     
    102101Fixed a bug in server_thread.c that aborted a menu list when an empty tank was encountered. This bug was introduced after v5.0. 
    103102 
    104 read_index: added a -g flag to list the tank gaps knwon to an index file. This provides a quick way to see the data gaps over the history of a tank file. Suggested by Steve Malone at UofW. 
    105  
    106 getmenu: fixed bug where index of outer loop (over list of servers) was also used in several inner loops. This bug had no real effect because currently getmenu has no way of putting more than one server in its list; the out loop could only be traversed one time anyway. 
    107  
    108 statmgr: Added check for return status from SendMail(); logs errors now. Added flush of transport ring on startup, so you don't get a bunch of old messages when you restart statmgr. Added the module's ID name (from the earthworm.d file) to messages reporting module death. This will help identify which module has died when you have many instances of one module running, such as k2ew. 
    109  
    110 evansassoc: moved a misplaced `return(0)' in Assoc() in doit.c Identified by Chris Wood. 
    111  
    112 evanstrig: Supplied several missing arguments to sprintf() call. Identified by Chris Wood. 
    113  
    114 eqfilter: Bug fixes: several functions declared int that should have been void. Two calls to `return(-1)' in Processor thread replaced with logit calls explaining the problem and calls to KillSelfThread(). Identified by Chris Wood. 
    115  
    116 eqalarm: Bug fix: fixed `auto' declaration of string that was being returned by a function. Identified by Chris Wood. 
    117  
    118 export: Bug fix: incorrect return value expected from accept_ew on error; it worked OK on Solaris but not on NT. Identified by Chris Wood. 
    119  
    120 sniffring: Modified argument list so that there is no more tracebuf file option -- this can be done more ellegantly with the sniffwave command. Added the possibility to sniff for message with particular logos, including wildcards. The user can specify INST_, MOD_, and TYPE_ strings desired, or omit those and only specify the ring to sniff. Therefore, "sniffring RING_NAME" is equivalent to 
     103'''read_index:''' added a -g flag to list the tank gaps knwon to an index file. This provides a quick way to see the data gaps over the history of a tank file. Suggested by Steve Malone at UofW. 
     104 
     105'''getmenu:''' fixed bug where index of outer loop (over list of servers) was also used in several inner loops. This bug had no real effect because currently getmenu has no way of putting more than one server in its list; the out loop could only be traversed one time anyway. 
     106 
     107'''statmgr:''' Added check for return status from SendMail(); logs errors now. Added flush of transport ring on startup, so you don't get a bunch of old messages when you restart statmgr. Added the module's ID name (from the earthworm.d file) to messages reporting module death. This will help identify which module has died when you have many instances of one module running, such as k2ew. 
     108 
     109'''evansassoc:''' moved a misplaced `return(0)' in Assoc() in doit.c Identified by Chris Wood. 
     110 
     111'''evanstrig:''' Supplied several missing arguments to sprintf() call. Identified by Chris Wood. 
     112 
     113'''eqfilter:''' Bug fixes: several functions declared int that should have been void. Two calls to `return(-1)' in Processor thread replaced with logit calls explaining the problem and calls to KillSelfThread(). Identified by Chris Wood. 
     114 
     115'''eqalarm:''' Bug fix: fixed `auto' declaration of string that was being returned by a function. Identified by Chris Wood. 
     116 
     117'''export:''' Bug fix: incorrect return value expected from accept_ew on error; it worked OK on Solaris but not on NT. Identified by Chris Wood. 
     118 
     119'''sniffring:''' Modified argument list so that there is no more tracebuf file option -- this can be done more ellegantly with the sniffwave command. Added the possibility to sniff for message with particular logos, including wildcards. The user can specify INST_, MOD_, and TYPE_ strings desired, or omit those and only specify the ring to sniff. Therefore, "sniffring RING_NAME" is equivalent to 
    121120 
    122121"sniffring RING_NAME INST_WILDCARD MOD_WILDCARD TYPE_WILDCARD". 
    123122 
    124 q2ew: fixed bug in options.c where the return value of getopt() was char; should be int. Identified by Chris Wood. 
    125  
    126 pick_ew: Modified pick_ra.c to calculate coda lengths correctly for non-100hz data. Strictly speaking, the program now works with data for which the sampling rate is a whole number, eg 57.0 samples/sec is ok, 57.3 samples/sec is not ok. 
    127  
    128 eqcoda: Modified to use per-channel parameters instead of global params. Per-channel params are read from the pick_ew station file. Eqcoda uses only the SCN, CodaTerm, and ClipCount fields. ClipCount is a new field to the file, specifies the maximum zero-to-peak amplitude in counts for each channel. This field was added specifically for eqcoda to calculate clipping levels. If it is omitted, a default of 2048 is used (this is the maximum counts for a standard Eworm analog channel on a 12-bit digitizer). Pick_ew ignores this field. New configfile command "StaFile filename". If this command is ommitted, eqcoda uses all the global defaults that it used to. 
    129  
    130 startstop_nt: Added display option for child process console windows. Previous options were "NewConsole" and "NoNewConsole". New option is "MinimizedConsole". Change should have no impact on current earthworm users. 
    131  
    132 hyp2000: Grabbed the latest source code from Fred Klein on 9/11/00. Contains a new command "DUG" which allows one to control which component codes will use gain corrections in the duration magnitude calculation. Also includes fixes to some obscure bugs, probably never seen in normal Earthworm use of hyp2000. 
    133  
    134 DBMS RELATED MODULES 
    135  
    136 stalist_hinv2ora: fixed a bug which caused elevations over 1000 meters to be inserted incorrectly. 
    137  
    138 usnsn_loc2ora: Added functionality to process an NSN deletion message. Such events are now permanently deleted from the DB. 
    139  
    140 archive: Added another command line option NOSAVE to allow quick deletion of trace from the DB without saving it. Also, made it so that diagnostic error is printed to the stderr as well as the log file when the Debug flag is set. 
     123'''q2ew:''' fixed bug in options.c where the return value of getopt() was char; should be int. Identified by Chris Wood. 
     124 
     125'''pick_ew:''' Modified pick_ra.c to calculate coda lengths correctly for non-100hz data. Strictly speaking, the program now works with data for which the sampling rate is a whole number, eg 57.0 samples/sec is ok, 57.3 samples/sec is not ok. 
     126 
     127'''eqcoda:''' Modified to use per-channel parameters instead of global params. Per-channel params are read from the pick_ew station file. Eqcoda uses only the SCN, CodaTerm, and ClipCount fields. ClipCount is a new field to the file, specifies the maximum zero-to-peak amplitude in counts for each channel. This field was added specifically for eqcoda to calculate clipping levels. If it is omitted, a default of 2048 is used (this is the maximum counts for a standard Eworm analog channel on a 12-bit digitizer). Pick_ew ignores this field. New configfile command "StaFile filename". If this command is ommitted, eqcoda uses all the global defaults that it used to. 
     128 
     129'''startstop_nt:''' Added display option for child process console windows. Previous options were "NewConsole" and "NoNewConsole". New option is "MinimizedConsole". Change should have no impact on current earthworm users. 
     130 
     131'''hyp2000:''' Grabbed the latest source code from Fred Klein on 9/11/00. Contains a new command "DUG" which allows one to control which component codes will use gain corrections in the duration magnitude calculation. Also includes fixes to some obscure bugs, probably never seen in normal Earthworm use of hyp2000. 
     132 
     133'''DBMS RELATED MODULES''' 
     134 
     135'''stalist_hinv2ora:''' fixed a bug which caused elevations over 1000 meters to be inserted incorrectly. 
     136 
     137'''usnsn_loc2ora:''' Added functionality to process an NSN deletion message. Such events are now permanently deleted from the DB. 
     138 
     139'''archive:''' Added another command line option NOSAVE to allow quick deletion of trace from the DB without saving it. Also, made it so that diagnostic error is printed to the stderr as well as the log file when the Debug flag is set. 
    141140 
    142141  
    143142 
    144 CHANGES TO CONFIGURATION FILES and DESCRIPTOR FILES: 
    145  
    146 Module Name Length: The limit for module name length has been increased from 20 to 32 characters. 
    147  
    148 gaplist.d: New optional command "MyModuleId". 
    149  
    150 gaplist.desc: New "error" defined; sent to statmgr when data is received from a previously dead channel. These 2 lines were added to .desc file: 
     143'''CHANGES TO CONFIGURATION FILES and DESCRIPTOR FILES:''' 
     144 
     145'''Module Name Length:''' The limit for module name length has been increased from 20 to 32 characters. 
     146 
     147'''gaplist.d:''' New optional command "MyModuleId". 
     148 
     149'''gaplist.desc:''' New "error" defined; sent to statmgr when data is received from a previously dead channel. These 2 lines were added to .desc file: 
    151150 
    152151err: 1 nerr: 1 tsec: 0 page: 0 mail: 3 
     
    154153text: "Channel alive." 
    155154 
    156 wave_serverV.d: No new parameters, but several of the comments have been corrected to reflect the actual default values in the code. PNL 6/28/00 
    157  
    158 statmgr.d: added comment that the mail program should be a full pathanme if it is specified in the .d file. 
    159  
    160 eqcoda.d: New optional command "StaFile filename" to read in per-channel parameters. 
    161  
    162 pick_ew station file: New column ClipCount (used by eqcoda, not pick_ew) specifies the maximum zero-to-peak amplitude in counts for each channel. 
    163  
    164 All config files: now logging to standard error and standard output may be turned off by setting the LogSwitch (or similar name) to 2. 
    165  
    166 DBMS/WEB RELATED CONFIGURATION FILES: 
    167  
    168 getlist: Added WebHost option -- should be set to the name of the machine which holds up the web pages and where the web administrator webmaster is located. 
    169  
    170 eqparam2html: Added WebHost option -- should be set to the name of the machine which holds up the web pages and where the web administrator webmaster is located. 
    171  
    172 ora2rsec_gif: Added WebHost option -- should be set to the name of the machine which holds up the web pages and where the web administrator webmaster is located. 
    173  
    174 KNOWN BUGS or DEFICIENCIES: 
    175  
    176 Window NT: In Windows NT, the time resolution of sleep_ew() is about 16 msec (one clock tick). On Solaris, the resolution is about 10 msec. This is a problem for ringtocoax, since packet delays need to be set to a few milliseconds. 
    177  
    178 Adsend: Automatic restarts of adsend (using the "restartMe" line in the descriptor file) can cause an NT system to hang. Therefore, you should never use the autorestart feature with adsend, but you should bring down the entire Earthworm system if adsend needs to be restarted. Comments added to adsend.desc. 
    179  
    180 statmgr: A space is needed between "tsec:" and the value. If it isn't there, things fail. 
    181  
    182 threads functions: The KillThread function on WindowsNT and Solaris terminate the thread without ensuring that no mutexes are held. If a threadholds a mutex when it dies, no other thread can get that mutex. 
    183  
    184 carlsubtrig: The system time must be set to GMT and ew_nt.cmd must have TZ=GMT in order for carlsubtrig to work. 
    185  
    186 arc2trig: on NT, exits with horrible crash when system is stopped. 
    187  
    188 ew2seisvole: on NT, exits with horrible crash when system is stopped. 
    189  
    190 Wave_viewer will display fictitious 2 to 3 sample gaps when scrolling the display. This does not happen all of the time and is only visible when there are less than 200 samples on the display (2 seconds of data for 100hz data.) 
    191  
    192 libsrc/util/putaway.c: there is no include file for the putaway routines, thus any errors in arguments passed to putaway routines are not checked by the compiler. 
    193  
    194 Wave_serverV: If a tank file is closed by the main thread while a server thread is accessing it, the next I/O error that the server thread saw would send it to the "abort" section of _writeTraceDataAscii or _writeTraceDataRaw. Here a call to fseek() would fail and lead to an endless loop of failed fseek calls. 
    195  
    196 Startstop_solaris: There MAY be a problem with the signal that startstop sends to modules during the shutdown sequence. The shutdown sequence is started (after typing "quit" to startstop or running "pau") by startstop placing a terminate message on all transport rings. Modules should see this message and start  
    197 their own shutdown. After a configurable delay, startstop checks to see that all modules have exitted. Any that are still running are sent a signal to terminate them. Currently that signal is SIG_TERM. But since wave_serverV has a handler for SIG_TERM, wave_serverV sees that as essentially the same as a terminate message.  
     155'''wave_serverV.d:''' No new parameters, but several of the comments have been corrected to reflect the actual default values in the code. PNL 6/28/00 
     156 
     157'''statmgr.d:''' added comment that the mail program should be a full pathanme if it is specified in the .d file. 
     158 
     159'''eqcoda.d:''' New optional command "StaFile filename" to read in per-channel parameters. 
     160 
     161'''pick_ew station file:''' New column ClipCount (used by eqcoda, not pick_ew) specifies the maximum zero-to-peak amplitude in counts for each channel. 
     162 
     163'''All config files:''' now logging to standard error and standard output may be turned off by setting the LogSwitch (or similar name) to 2. 
     164 
     165'''DBMS/WEB RELATED CONFIGURATION FILES:''' 
     166 
     167'''getlist:''' Added WebHost option -- should be set to the name of the machine which holds up the web pages and where the web administrator webmaster is located. 
     168 
     169'''eqparam2html:''' Added WebHost option -- should be set to the name of the machine which holds up the web pages and where the web administrator webmaster is located. 
     170 
     171'''ora2rsec_gif:''' Added WebHost option -- should be set to the name of the machine which holds up the web pages and where the web administrator webmaster is located. 
     172 
     173'''KNOWN BUGS or DEFICIENCIES:''' 
     174 
     175'''Window NT:''' In Windows NT, the time resolution of sleep_ew() is about 16 msec (one clock tick). On Solaris, the resolution is about 10 msec. This is a problem for ringtocoax, since packet delays need to be set to a few milliseconds. 
     176 
     177'''Adsend:''' Automatic restarts of adsend (using the "restartMe" line in the descriptor file) can cause an NT system to hang. Therefore, you should never use the autorestart feature with adsend, but you should bring down the entire Earthworm system if adsend needs to be restarted. Comments added to adsend.desc. 
     178 
     179'''statmgr:''' A space is needed between "tsec:" and the value. If it isn't there, things fail. 
     180 
     181'''threads functions:''' The KillThread function on WindowsNT and Solaris terminate the thread without ensuring that no mutexes are held. If a threadholds a mutex when it dies, no other thread can get that mutex. 
     182 
     183'''carlsubtrig:''' The system time must be set to GMT and ew_nt.cmd must have TZ=GMT in order for carlsubtrig to work. 
     184 
     185'''arc2trig:''' on NT, exits with horrible crash when system is stopped. 
     186 
     187'''ew2seisvole:''' on NT, exits with horrible crash when system is stopped. 
     188 
     189'''Wave_viewer''' will display fictitious 2 to 3 sample gaps when scrolling the display. This does not happen all of the time and is only visible when there are less than 200 samples on the display (2 seconds of data for 100hz data.) 
     190 
     191'''libsrc/util/putaway.c:''' there is no include file for the putaway routines, thus any errors in arguments passed to putaway routines are not checked by the compiler. 
     192 
     193'''Wave_serverV:''' If a tank file is closed by the main thread while a server thread is accessing it, the next I/O error that the server thread saw would send it to the "abort" section of _writeTraceDataAscii or _writeTraceDataRaw. Here a call to fseek() would fail and lead to an endless loop of failed fseek calls. 
     194 
     195'''Startstop_solaris:''' There MAY be a problem with the signal that startstop sends to modules during the shutdown sequence. The shutdown sequence is started (after typing "quit" to startstop or running "pau") by startstop placing a terminate message on all transport rings. Modules should see this message and start their own shutdown. After a configurable delay, startstop checks to see that all modules have exitted. Any that are still running are sent a signal to terminate them. Currently that signal is SIG_TERM. But since wave_serverV has a handler for SIG_TERM, wave_serverV sees that as essentially the same as a terminate message.  
    198196So if wave_serverV is having problems completing its shutdown, SIG_TERM won't do anything. The result is that startstop may give up and exit, leaving wave_serverV running. If that happens, the operator will have to terminate wave_serverV by doing "kill -9 <wave_serverV-pid>".  
    199197That may leave shared memory and semaphores stranded in the kernel: run the command "ipcs -a" to see.  
    200198If necessary, the stranded shared memory and semaphores may be cleaned up with the ipcrc command; must be run as root; see the man page. This problem only exists on Solaris/Unix, not on WindowsNT. 
    201199 
    202 NUMBER OF RINGS LIMITED ON SOLARIS: 
     200'''NUMBER OF RINGS LIMITED ON SOLARIS:''' 
    203201 
    204202Under Solaris 2.6 (and probably other versions as well), the maximum number of shared memory segments is six. This means that on an out-of-the-box machine you can only configure six rings. If you try to configure more than that, you will see a cryptic message from tport_create about too many open files. The fix to this problem is to add the following lines to the /etc/system file, and then reboot the system. 
     
    218216This allows for 20 rings. 
    219217 
    220   
    221  
    222   
    223  
    224   
    225 }}}