RUSH - RELEASE NOTES
(C) Copyright 1995,2004 Greg Ercolano. All rights reserved.

Green -- Nice features
Orange -- Useful bug fixes
Red -- Critical bug fixes

Release Notes
Final Beta 102.42
Current Release 102.41, 102.411, 102.412, 102.413
Previous Releases 102.40g 102.40g2, 102.40g3
102.40f 102.40f2, 102.40f3
102.40e
102.40d
102.40c
102.40b
102.40a
102.40
102.31p 102.31p2
102.31n
102.31m, 102.31m1, 102.31m2, 102.31m3, 102.31m4
:

Release Notes for 102.42                     RELEASE SCHEDULED: 07/11/2005
--------------------------------------------------------------------------
> IRIX: As of 102.42 and up, rush for SGI only supports IRIX 6.5 and up.

  irix 6.2 does not handle C++ name mangling correctly for classes passed
  back through functions and methods, causing improper destructor calls, 
  and mangled memory. No workaround except to upgrade to new OS.

> [SUBMIT] Added new example submit scripts.
	o submit-mayatile.pl
          Shows how to submit a maya image render as tiles on multiple machines.

	o submit-maya6.pl
	  Uses new '-r sw|mr|hw|vr' stuff.

	o submit-rayz.pl
          Simple submit script for Silicon Grail's 'rayz'

> [WWW-RUSH] Various fixes:
        o Job edit now can manage multiple jobs at a time (KILLEROBOT)

	o Added 'Change # Cpus' button to the "Cpus" report screen

        o Added a 'G_viewonly' flag, so the systems administrator can disable
	  www-rush users from being able to change jobs (ie. 'read only')

	o Mods to handle new 'floating point' and 'negative' frame numbers in jobs.

> [SUBMIT SCRIPTS] Various fixes to submit scripts:

	o Added 'python' to submit-generic script languages that can be submitted

	o All renders now pipe output through logtrim to improve render times.
	  The line buffering offered by logtrim improves render times, preventing
	  per-character buffer flushing to the file server.

	o Auto generated job titles widened from 15 characters to 25 characters

	o Submit scripts now use ~/.rush/.submit-XXXXX for history droppings,
	  instead of just "~/.submit-XXXXX". Prevent's user's top level 
	  directory from getting messy.

	o Alert windows now limited to not exceed the size of the desktop.

        o OSX no longer needs separate submit scripts.
          The OSX "submit-foo.app" packages invoke the same perl script files that
          the windows and linux users use.

        o Help text is now out of the submit scripts, and in a separate 'help' directory
	  in the same dir as the scripts. Improves readability.

	o Linux/Irix/Windows distributions of Rush now include the Mac's "Applications" dir
	  for the submit scripts.

        o 'Submit Host' field should now allow one to specify multiple hostnames.
	  This will cause one of the hosts to be chosen at random, to allow distribution
	  of job serving to any of a group of remote machines.

        o Linux version of submit-maya scripts now invoke 'display' instead of fcheck.
	  This is to work around a bug where 'fcheck' doesn't properly open if stdin
          is not a terminal.

	o New 'Start Irush?' chooser added to all submit scripts (under Advanced Options)
	  allows user to control whether a new IRUSH window is opened each time or not.
	  Choices are yes, no, and "ask". 'ask' prompts you as part of the job submit
	  confirmation dialog:

              
o 'batch clipping' problem fixed. There was a problem at the special boundary condition where the last frame in the frame range matches the last frame in the frame list. eg. "1-281 batching 5" was still trying to render 281-285, because 281 was the last frame in the list. Fixed. (ARRI) o There are now three different file choosers the Rush submit scripts can use: 1) the "old" one 2) FLTK's new file chooser 3) the "native" OS file chooser Which is used can currently be selected by an environment variable at the top of the submit script. In the future, this will be selectable as a preference in the input form. > [SUBMIT-MAYATILE] Now can render multiple frames, instead of just single frames. Making use of floating point capabilities to make it easy to tell which frame is which. > [SUBMIT-AFTERFX] Added a chooser for which version of AfterFX to use. This allows the submit script to support multiple versions of After Effects, eg. during beta testing. > [SUBMIT-MAYA-FLOATING] The submit-maya-floating script has been removed. This script is made obsolete by floating point number support added to submit-maya.pl > [RUSHSENDMAIL] various: o Rush now uses 'rushsendmail' on all platforms o Made mail.log output clearer. Convert \r\n pairs to [CR] and [LF] respectively. > [LOGTRIM] Fixes and additions to 'logtrim' program: o Added -f flag to logtrim; uses fsync() to flush output o Unix: Fixed problem that caused child process to orphan itself. Changed setsid(2) -> setpgid(0,0) (fixes problem with fcheck not opening under unix because it wants access to a tty), and disabled process groups in logtrim(1). Certain circumstances where a csh or sh was the child of logtrim(1), the shell (and its children) would become orphaned on requeue of frames, b/c logtrim was starting it's own sessions. Fixed in 102.42; logtrim no longer changes process groups, so children remain in same process group. o Windows: Fixed 'access denied' errors. When used under Windows via the submit scripts (ie. Max Log Size > 0), logtrim(1) was returning an error message, eg: logtrim: pipe.Open()CreateProcess failed: 'cmd /c mayabatch ..': Access is denied. > [IRUSH] Various bug fixes: o Fixed problem with UTF8 paste on old releases of linux. (WDPTV) o Addressed various pasting problems from irush for cross platform. Mac would paste double-spaced lines. Windows would paste LF's w/out CR's, making odd box chars when pasting into notepad/wordpad. Using static copy buffers now. o User can now backscroll logs during continous render output. When the user back scrolled a tailing log file, each time the renderer added new output, the screen would scroll back to the bottom, making it hard to peruse logs while verbose renders are running. Only happened if irush's "Preferences | Tail Logs" is enabled (default). Fixed: while user holds mouse button down on scroll bar, it will hold the scroll position, even during continuous output from the renderer. Cause: was working in 102.31m, but a logic bug crept into the 'mouse button down' logic. (ROFER) o Fixed problem with hostnames like 3d01 in 'All Cpus' report FLTK's '@' color codes weren't being terminated with "@.", causing codes to leak into hostnames; '3d01' would be displayed as 'd01' (FIDO.SE) o Fixed benign 'X_ChangeProperty: BadValue' error under linux. Changed argc=0 -> argc=1 during call to Fl_Window::show(argc,argv); (WDPTV) o All references to 3dsite changed to seriss in help and 'about' dialog > [IRUSH] Various features added: o An 'i' information icon was added to all buttons, to make it more obvious how to view the context sensitive help docs. These icons can be disabled via the 'Edit | Preferences | Use Info Icons' o Added '^C' ability to copy from the Job Edit | Remove Cpus + Never Cpus browsers. o Double-Left-click on a frame in AllCpus or Cpus report now shows the log. o Middle-click on a frame in AllCpus or Cpus report shows the log AND image. o Added a "View Image" button to the "Frame Controls". This way the user can select a frame and hit "View Image" to JUST see the image. o fixed ALT-DOUBLE on frame so that it doesn't check ALT key after 'log view' finishes. o Fixed tooltips to show 'Middle Click' to invoke 'imgcommand'. Also fixed irush-help. o Job edit window now split into separate tabbed screens o Warns about stale frame logs if frame is still 'Que'. Slider bar (split screen) shows in orange with warning message. o Normal character-at-a-time text selection is now available in the 'frame logs' window. Before, you could only select and paste entire lines. o ImgCommand's environment includes RUSH_LOGDIR + RUSH_LOGFILE variables. This saves the imgcommand the trouble of having to parse these values from having to parse these values from a separate invocation of 'rush -ljf'. > [RUSH] Various fixes to Rush: o Fixed bug in scheduling tasks that timeout with unresponsive jobserver; tasks were not resorting into their priority groups. (VINTON 07/07/05) [This fix was backported to 102.417 and released to vinton] o Fixed bug in rush(1) [client] that caused unnecessary hostname namelookups on the entire rush hosts file when it's initially loaded. o When logs can't be opened, shows "user@host" as part of error message, so users/sysadmins can see the permission context during the creation of the log files. o New rush.conf setting "framelog.ext" lets the sysadmin globally set the default filename extension to be appended to all frame log filenames, eg. on an all Windows network, it may be useful to have framelog.ext set to ".txt", so that all log filenames will have ".txt" appended by default. This setting can be overridden by the user on a per-job basis via the 'logext' submit command. o New submit command "logext" lets users control the filename extension appended to all frame log filenames. If set to ".txt", then log filenames will have ".txt" appended. This overrides any setting for the "framelog.ext" in the rush.conf file. o +hostgroups and criteria are now case insensitive o 'rush -ping' shows shorter, more descriptive error messages.. Server side error messages are now shown. OLD: meade: rush: 'rush -ping': TradeUidGid() failed: connection reset by peer NEW: meade: Error from meade[192.168.0.14]: host 192.168.0.9 not in rush/etc/hosts OLD: sup: rush: 'rush -ping': select() on connect(): (113) No route to host NEW: sup: select() on connect(): No route to host o 'rush -reload [hosts,rush.conf]': new command line option, to let the sysadmin force rush daemons to reload their 'rush.conf' or 'hosts' files (flushing out IP caches) o 'rush -rc' wasn't allowing hostname aliases to be used. o 'rush -status -c 0 +any' fixed subtle output delay problem. Output would be 'bursty' if machines were down, causing rushtop(1) to appear to sometimes hold a few seconds, then 'catch up', then eventually even out. o 'rush -status now shows RAM and SWAP totals for the Windows platforms. (It didn't in earlier versions -- omission?) o 'rush -dlogstats': added a 'Warn' field o 'rush -ac' wouldn't work with FQDN hostnames. Hostnames containing dots would confuse 'rush -ac's hostname parser into thinking the '.' indicated a 'max cpus per host' cap, eg. "+group=10.1". Fixed; FQDN's now go through OK. (WDPTV) o Errors starting processes under Windows are now added to the rushd.log. StartProcess() errors were not getting added to the rushd.log. This showed up when someone removed the c:\temp dir on a windows machine. The errors were getting in the 'Cpus' report (rush -lc), but NOT in the rushd.log. (ASSEMBLECO.COM) o rushd: solved problem with dual interfaced license servers; handles situation where license servers on dual interface machine may re-arrange their interface order after a reboot. (GORK/RIOT) o rushd: Fixed UDP error messages not printing 'ALERT/EXIT' in rushd.log -- 03/26,12:06:42 LICENSE server altix350 ready to issue 10 licenses 03/26,12:06:42 INFO TCP listening on port 696, service 'rushd', sockfd=4 udp: iface bind(134.14.97.114:696): Cannot assign requested address -- and missing CRLF for this error: -- [root@altix350 var]$ ../bin/rush -uping altix350 rush: iface bind(134.14.97.114): Cannot assign requested address[root@altix350 var]$ -- o rushd: 'client sent us garbage' error now includes a URL describing problem o Rush now reloads hosts file each time license won't validate. This ensures a manual change to the hosts file gets picked up. 09/07,04:55:18 LICENSE 'meade': valid host is NOT in rush hostlist (/usr/local/rush/etc/hosts) 09/07,04:55:18 LICENSE no servers could validate license (30 sec retries) <-- reloads hosts file here o rush.conf 'smtpport' was being ignored; now fixed. o Fixed problem with loading checkpoint files. On reboot, job was not loading if it contained a hostname that was no longer in the rush hosts file. Example: 1) Job requests hosts a,b,c 2) Sysadmin removes host 'b' from hosts file 3) Daemon reboots 4) On reloading job requesting hosts "a,b,c", job fails to load because 'b' is no longer a valid host. Behavior is now: 'b' is ignored; a message is printed to the log warning host is dropped from job, job continues to load normally. o jobcheckpoint now ignores errors if 'waitfor' or 'dependon' jobids no longer exist. (CIS,09/30/04). Previous behavior was if waitfor or dependon jobids no longer existed (because they were dumped or autodumped), the parent job would not restart after reboot, logging a rushd.log error: 09/30,13:26:32 CHECKPOINT START: Loading /usr/local/rush/var/jobs-checkpoint 09/30,13:26:32 CHECKPOINT /usr/local/rush/var/jobs-checkpoint: Line 118: 'waitfor tahoe.87': unknown jobid 09/30,13:26:32 ALERT *NOT* starting jobid tahoe.88 due to above error o Linux: modified to correctly resolve ram+swap under Fedora Core 2. (There was a change to the /proc/meminfo data format) o When a host is removed from the hostlist, it is now automatically removed from all jobs and schedules, to prevent repeating errors about invalid hostnames, etc. o Rushd now retries network setup if network hardware not yet ready on boot Retries starting TCP/UDP services every 20 seconds until success. Will possibly help with Windows machines that have delays starting up IP networking. o 'rush -reserve': fixed problem where optional [ramval] was not being parsed correctly: % rush -reserve somehost@100 2048 rush: usage: rush -reserve [-server ] cpuspec [ramval] Now fixed. (ROFER) o Fixed a problem with Rush attempting to contact machines no longer in rush/etc/hosts (CHARLEX) If a machine was removed from the rush/etc/hosts file while hosting a job, the remotes rendering the frames would continue to try to contact that machine, even if the remotes were rebooted. They would retry sending reboot msgs to the machine, complaining in the rushd.log file: ALERT SendRebootMessages() to 'HOSTNAME' failed: 'HOSTNAME': valid host is NOT in rush hostlist (c:\rush/etc/hosts), msg='reboot' ALERT SendRebootMessages() to 'HOSTNAME' failed: 'HOSTNAME': valid host is NOT in rush hostlist (c:\rush/etc/hosts), msg='reboot' o Fixed a problem with rushd license server not reloading a new license.dat file if steady stream of traffic was being sent to daemon. (Various mods were made to rushd's license reloading system) > [RUSH] New features added: o donemail/dumpmail now includes 'Frame Info' report o 'rush -tss' now takes optional 'csh' or 'perl' arguments to output either csh or perl versions of the submit scripts. (Ditto for -trs) o 'rush -status': 'S' field now has new swapin/swapout/swapbad values o 'rush -status': New options -jobs/-cpus/-usage lets user control which information is shown. If none specified, old behavior results (for backwards compatibility). Decreases packet sizes used by 'rushtop', 'rush -laj' and 'rush -lac'. o 'rush -rotate': different log files can now be specified for rotation, eg: 'rush -rotate cpu.acct [host..]' o Added two new environment variables passed to render scripts: o $RUSH_FIRST_FRAME -- the first frame in the job o $RUSH_LAST_FRAME -- the last frame in the job These variables are useful if the render script wants to determine if it's working on either the first or last frame in the job. o Negative frame numbers now supported by rush. eg. rush -af -10--5 (-10 thru -5), rush -log -10 (view log for frame -10) o Floating point frame numbers now supported by rush. eg. rush -af 1.50-2.00,.10 This radically changed the data in network messages: BUMPED VERSION .41->.42 o Added 'framepad' to rush.conf, to allow control of global frame padding value used in all of rush. See: http://seriss.com/rush.102.42/rush/rush-conf.html#FramePad o 'rush -lf' and 'rush -lc' reports can now be reformatted. Added: framefmt cpufmt frameheader1 cpuheader1 frameheader2 cpuheader2 ..to the rush.conf file. o Various reports have wider fields to support floating point frame numbers, and wider job titles, jobids and hostnames: rush -lj: JOBID and TITLE widened rush -lf: FRAME, HOSTNAME and JOBID widened rush -lc: FRAME, JOBID widened rush -lac: HOST, JOBID, TITLE, FRAME widened rush -lah: HOSTNAME widened rush -lfi: JOBID widened rush -tasklist: HOSTNAME, FRAME widened o "Valid host not in rush hosts list" errors improved. On some systems, only the IP address was being printed. o dependon jobs start frames right away if primary job already has done frames. Prevents need to pause parent job before starting child jobs. o subtle problem with 'rush -waitfor' fixed. If 'rush -waitfor +1h' was applied after a job was done, and then frames were requeued, the frames would still start running right away. (workaround was to pause job first, but now that's no longer necessary) Now job will wait after frames are requeued. o You can now requeue all frames with 'rush -que all' o Added negative hostname caching. Causes rushd to ignore hosts that have no or bad hostname lookups, instead of beating on DNS, creating delays in daemon's responsiveness. o Implemented 'task hints' (message indexing) to prevent linear lookups. This should greatly improve the speed network messages are processed by the daemons, avoiding linear lookups for database information. Also added -dstats to show hint hit/miss info. This radically changed the data in network messages: BUMPED VERSION .41->.42 o Added 'rush -catlog [cpu.acct|rushd.log..]' to obsolete 'rush -dcatlog' etc. Lets admins access remote accounting logs. o Added new example script (rush/etc/cpu-utilization.pl) to print simple cpu utilization reports. o Frame logs now reports Rush version number in frame logfile headers, eg: --------------- Rush 102.42 -------------- -- Host: tahoe -- Pid: 2142 [..] o Improved error reporting for rresvport() errors. o Added [-b bytes] to 'rush -uping' o Some bugs fixed that prevented raw IP addresses from being used in jobids and in the rush/etc/hosts file (instead of hostnames). > [RUSHTOP] New features added to 'rushtop' o Now uses new 'rush -status -usage' to minimize packet sizes o hyperthreads now show up under Windows as separate processors. o Now shows swap (paging) activity as 'orange' bar in swap column o Added a 'logarithmic decay' (default on) for bar graph o 'non-responding' now uses yellow/black chevrons instead of white lines. o Added a popup menu with: 1) 'use decay' option to enable/disable graph 'decay' 2) online help, including screenshots, bar descriptions, etc 3) update speed 4) Can select between new default Yellow/black warning chevrons and old white-line-hashmarks. State saved in ~/.rushtoprc file
> [RUSHADMIN] New features added to 'rushadmin' o There are now easy ways to configure these commonly modified values in the rush.conf file: > Mail server settings > ntrushuid/gid values > Rush administrator user names ..go into 'rushadmin' and click the 'Rush Config' tab > [INPUT] various additions to the 'input' program used by submit scripts: o Added 'tabs' o Added 'imagename' to box o Added systemflags 'eb' for unix (anticipating 'install' program) o Added browserchoice, a browser widget (VPJ) o Using DoubleWindow to prevent scrolling flicker o Added $RUSH_QCCHECK variable to .common.pl to verify keywords are correct o Added inputchoice, a combo of a chooser and input widget o Added native file browsing for Mac and Windows (VPJ) via the env variable "RUSH_FILECHOOSER" which can be set to 'n'=native, 'f'=fltk new, 'o'=old. to affect the file browsers used in eg. submit scripts. By default, 'o' is assumed if the variable is unset. o Greatly improved syntax error reporting throughout app. (no more blank error msgs) > [INSTALL] Various fixes to the installer scripts o OSX: install.sh now adds rush path to /etc/profile. o examples/test-submit: changed /usr/tmp -> /var/tmp o LINUX+MAC: install.sh now adds rush/bin to csh.cshrc + csh.login, without adding it more than once. > [INTERNALS] Various fixes to the internal libraries o Many fixes/mods to the PipeCommand module for WIN2K/Unix Unix: setsid() now optional, allowing eg. irush to bring up fcheck w/out removing the tty association. Win2K: mods for new Block transfer mode for speedy tty printouts, and to prevent deadlocking. o FLTK: Applied patches to fix Mac new add_fd() threading problems noticed by forsberg.se. Rewrote the add_fd() code. o FLTK: Fixed minor resize behavior problem with html help windows. o FLTK/OSX: Bug causing irush/onrush/rushtop to randomly hang was fixed. If irush/onrush/etc were left running for long periods, they would eventually hang due to a threading bug in some OSX specific GUI code. Cause: Threading reentrance bug in code I submitted to FLTK. -erco (PIXELMAGIC) o Modified fltk-utf8 to avoid forced centering under redhat9, and positioning titlebars offscreen in FC2. o OSX: Memory leak bug fixed in irush/onrush/rushtop. Cause: A mac OSX CreateEvent() call was not being freed with ReleaseEvent(). o Fixed problem where users would have to use "FU" to modify their own jobs. If the user's login name contained spaces, Rush would only see the first word in their name, so authentication would fail eg. "Joe User" because Rush would record the username as just "Joe". (ROFER) o MyBrowser now does copy() operation automatically via ^C, so you can copy from the "Job Edit | Never Cpus" and "Remove Cpus" browsers. o MyButton now has 'info' help icon user can see. Release Notes for 102.416 - LOGTRIM, FORCEUID FIXES, FLTK DUAL PROC MAC FIXES -------------------------------------------------------------------------- > [RUSH] Fixed 'unknown uid XXX' problem with forceuid remotes were unnecessarily verifying the job owner's login name, even though forceuid should have overrided it. This caused problems if the job owner's login name wasn't a valid account on the remote. (ashton.se/pixelmania.se/chimney.se and pixelmagicfx) > [RUSHTOP/ONRUSH/IRUSH] First attempt at mods to prevent Mac dual proc related crashes Mods made to the fltk/src/Fl_mac.cxx file for threading on multiprocs. Unsure if mods fully fixed problem, but seem to help. > [SUBMIT-MAYA6] Added to 102.416 04/07/05 > [RUSH] Fixed problem with 'rush -ac host.domain.com' (WDPTV) > [RUSH]Rebuilt mac GUIs with new FLTK add_fd() thread code Should fix continuing crashing problem that forsberg.se reported on DUAL PROC macs. Had to add new 'rush -status/-laj/-lac/-dlogstats' code to fix delays in rushtop. > [LOGTRIM]Added -f flag to logtrim; uses fsync() > [LOGTRIM] Prevented child orphaning w/logtrim under unix. Changed setsid(2) -> setpgid(0,0) (fixes problem with fcheck not opening under unix because it wants access to a tty), and disabled process groups in logtrim(1). Certain circumstances where a csh or sh was the child of logtrim(1), the shell (and its children) would become orphaned on requeue of frames, b/c logtrim was starting it's own sessions. Fixed in 102.42; logtrim no longer changes process groups, so children remain in same process group. logtrim, MyPipe modified. > [INSTALL/WINDOWS] Mods to install script to 'cacls' c:\temp, c:\rush\var + c:\rush\etc to open the perms to 'Everyone'. Apparently important for success on some WIN XP systems. > [BOOT/OSX] Fixed recursion in Rush/Rush boot script for 'restart' (unused) and mods for Tiger boot script. Release Notes for 102.415 - FIX FOR PEERLESS AND MODS FOR VPJ -------------------------------------------------------------------------- > [Unix] locks down UDP port listener before daemonizing. Ensures programs started after rushd returns don't steal rush's port 696. > [input] New widget 'selectbrowser' added to input's .in file language. This allows submit scripts to have selection browsers. > [submit scripts] input program now uses RUSH_FILECHOOSER environment variable to control which kind of file browser is displayed when the user clicks "BROWSE" buttons in submit scripts. RUSH_FILECHOOSER can be set to any of these values: "f" -- yields the FLTK file chooser "o" -- yields the 'old' file chooser "n" -- yields the 'native' file chooser (eg. Windows or OSX choosers) The default is "o", consistent with previous versions. Release Notes for 102.414 - FIX FOR EMC2VISFX 10/06/04 -------------------------------------------------------------------------- > Added rush.conf 'smbloghack'; if enabled, log re-opened if it doesn't exist. Works around weird file sharing problem with Linux SMBFS mounts to win2k server. Release Notes for 102.413 - FIX FOR COREENT.COM 3COM ADAPTERS 09/17/04 -------------------------------------------------------------------------- > [RUSH] Fixed Windows license server problems with 3com adapters, (skips bridges). (COREENT) > [RUSH] Fixed Linux problems with Fedora Core as a license server Skips sit* interfaces. (LAPCC) > [RUSH] Added regsecurity.exe to etc\bin.nt and install.bat to ensure rushtop shows graphs correctly. > [RUSH] Fixed problems with 'rushtop' showing ram/swap for new linux releases, eg. Fedora Core2. (ERCO)
Release Notes for 102.412 - FIX FOR WDPTV 06/24/04
--------------------------------------------------------------------------
> [RUSH.CONF] Added rush.conf option to adjust maximum jobid number 999.
  WDPTV ran out of jobids on one machine on 06/24/04, wanted value to be 
  configurable.




Release Notes for 102.41 - RELEASE: 03/03/2004
--------------------------------------------------------------------------
> rush: JOB CHECK POINTING!!
  Restarting a job server will bring the jobs back to life 
  from where they left off.

> Various submit script improvements

     o Added 'submit-renderman', to submit Pixar's RIB renders

     o Added 'submit-renderdotc' to submit Dot Software's 'RenderDotC' renders

     o Added 'submit-nuke' to submit Digital Domain's 'Nuke' compositor.

     o All submit scripts now have these under the Advanced Options:
     
           > JobStartCommand   - command to run before job starts rendering 1st frame
	   > JobDoneCommand    - command to run when job finishes rendering last frame
	   > JobDumpCommand    - command to run when job is dumped
	   > DoneMail          - mail sent when job finishes rendering last frame
	   > DumpMail          - mail sent when job is dumped
	   > AutoDump          - Enables job to automatically dump

     o All submit scripts now prevent 'batching' beyond the last frame 
       in frame range. New "Batch Clip" option control this feature.

     o All submit scripts now have a 'Defaults' button;
       Hit this to revert all input fields to their default values.

     o (Windows) Fixed problem leaving frozen window behind after submit

     o submit-lightwave: fixed bug preventing ConfigDir and ContentDir
       from being passed properly to the lwsn command line.

     o submit-lightwave: fixed bug ignoring frame batching value.

     o submit-shake: fixed bug with file browser for shk files
       Browser was searching for files ending in .ma and .mb instead of .shk.

     o submit-maya.pl/windows: fixed problem leaving frozen window behind after submit

     o submit-shake.pl: fixed problem with file browser for shk files
       The browser was searching for files ending in .ma and .mb instead of .shk.

     o submit-shake.pl: fixed 'update' button
       This involved fixing the 'input' program; 'updatecommand' was not 
       in Field's class copy constructor.

     o submit-maya: now runs FixPath() in $imagedir
       This ensures the $imagedir respects any local changes made by the 
       sysadmin for the FixPath() function.

     o Fixed bug with submit scripts sometimes showing empty error windows, eg:

       
"Yeah it failed, but why?" It turns out the scripts were not using system() properly to detect errors from the local shell. The fix now advertises error messages correctly, to prevent this problem. o All submit-scripts checked for help documentation errors and omissions. o submit-mray: added support for .mi2 files (single frame .mi files with multiple frames of info within) o submit-mray: detects "no more licenses" errors, does a pause/retry o submit-mray: fixed problem where you'd get an error if the 'Output Image' path is left blank. 'Output Image' is now optional. o submit-lightwave: Small fixes to online docs for the scene file/config dir/content dir fields; missing links for the "?" buttons. o All submit scripts now support supplying '%s' at the "Log Directory" prompt, which includes the jobid in the log directory pathname. This is especially useful for submit-generic.pl. o submit-generic: now has a prompt for Jobstart/Done/Dump commands, so that external scripts can be invoked for doing job cleanup. o All submit scripts refer to common subroutines in rush/etc/.common.pl. This makes the submit scripts shorter, and decreases redundant code. So for instance, the famous 'FixPath()' function can be customized to support your local pathname conversions, and it will affect ALL the submit scripts. You can easily distribute any changes to the .common.pl script with: 'rush -push .common.pl +any' > rush: various features added o 'rush -lhg' now supports optional +hostgroup argument. eg. 'rush -lhg +farm' will list only the machines in the +farm hostgroup. o 'rush -lhc' now supports optional criteria argument. eg. 'rush -lhc irix6.2' will only list machines with irix6.2 criteria. o 'rush -submit' now sorts 'rush -submit' commands, to ensure cpus are last. This avoids errors like 'ram must precede cpus', and problems with 'Submit Commands' in submit scripts getting stuck in the wrong order. Also, all submit scripts were modified to inject 'Submit Options' before the 'cpus' command. o 'state' submit command now allows lowercase 'pause'/'run' o 'frames' submit command now allows lowercase 'done', 'hold', etc. eg. "1-100=done" (used to only allow "1-100=Done") o rushd: '-lc' and '-lcf' now fork() to prevent blocking daemon during large reports. Also added error checking in rushd's ListCpus code so that it stops sending right away on a transmission error (WDP). Prevents DOS. Applied to 102.41 and 103.00 o rush: -submit, -jobnotes, and -jobcommand* all report 'Line too long' if maximum line width exceeded, instead of silently truncating output. APPLIED TO 102.41, 103.00 o rushd: now advertises version number/boot time during log rotation 10/03,20:32:20 ROTATE Log rotated. pid=27047, 0/2 busy, ONLINE 10/03,20:32:20 ROTATE ontario RUSHD 103.00 PID=27047 Boot=10/03/03,20:32:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ o rush/rushd: internal code changes; legacy 'listallcpus/full' tcp msgs changed to 'listallhosts/full'. Breaks tcp message compatibility with other versions. APPLIED TO 102.41, 103.00. o "logdir /somepath/%s" submit now doesn't fail if dir exists CIS wants to be able to leave the logdirs behind, and let them be able to cycle back into use. o 'rush -lc' now allows hostname and hostgroup arguments Lets user list cpus for *all jobs* served by a particular host or hostgroup, eg: rush -lc ontario -- cpu list for all jobs served by ontario rush -lc +any -- cpu list for all jobs on the network o 'rush -lf' now accepts a frame range argument. eg. 'rush -lf 1-10,2'. o 'jobinfo' log now have 'rush -lfi' report appended. The statistics in the 'rush -lfi' report were added to the end of the 'jobinfo' file, which is written out whenever a job finishes. o 'donemail' now sends mail when last frame renders instead of DUMP Before 102.41, rush only sent 'donemail' when the job was dumped, making it necessary to have 'AutoDump' enabled. This is no longer the case. To get the older behavior, use the new 'dumpmail' command. o 'rush -status' now uses exponential backoff for hosts powered off Prevents 'rushtop' from sending packets repeatedly to machines turned off, to prevent arp storming on large networks. (WBFA) (102.41 and 103.00) o 'rush -lfi' report now shows some new statistics (shown in red): % rush -lfi Average Total Jobid State Total Perc Elapsed Elapsed Average ETA ------------ ----- ----- ---- ---------- ---------- ------------------------ rotwang.3 Que 2 %4 - - - rotwang.3 Run 2 %4 - - - rotwang.3 Done 46 %92 00:00:11 00:08:36 Thu Feb 12 17:47:16 2004 rotwang.3 Fail 0 %0 - - - rotwang.3 Hold 0 %0 - - - rotwang.3 --- rotwang.3 Render Elapsed: 00:02:25 rotwang.3 Render Start: 02/12,17:44:45 rotwang.3 Render End: 02/12,17:47:10 There is a new column, 'Total Elapsed', showing the sum of the elapsed times for all frames, giving and idea of how many cpu hours were needed to render the job. The 'Render Elapsed' is time elapsed between when the job started rendering the first frame, and when it finished rendering the last frame. The difference between 'Total Elapsed' and the 'Render Elapsed' is the amount of time saved by rendering on multiple cpus.. the more cpus used during rendering, the smaller 'Render Elapsed' will be. > rush: various fixes o fixed donemail/dumpmail on mac Changed /usr/lib/sendmail -> /usr/sbin/senmail o rush: 'rush -cont' now does not cancel 'waitfor' commands So it is now safe to 'rush -pause' a 'waitfor' job, knowing it will return to the proper wait state after being continued with 'rush -cont'. Previously, 'rush -cont' would start the job running unconditionally, even if it had a 'waitfor' state set up, effectively cancelling it. To now cancel a 'waitfor', use 'rush -waitfor -'. (Verified in 102.41 and 103.00) o OSX: fixed 'setreuid' warning errors in daemon logs o 'rush jobid.xxx -waitfor +8' gave 'jobid.xxx: unknown option' error Fixed. o rushd: Fixed an important inmaxmsgs loop problem affecting license.dat/hosts/rush.conf reloads Apparently the license.dat, hosts, and rush.conf would take a LONG time to reload if the daemon were pelted with udp packets at least every 10 secs, causing delay in reload checks, and other cleanup scheduling. (WDP email=11/26/03) o rush: now checks for all fields in the hosts file The fact a sysadmin could leave fields out would cause odd problems in the program's output; eg. 'rush -lah' would appear all on one line. o When no jobids are available, rush would report a blank error message Daemon was displaying error message from a different jobid class. o rushd: fixed '-lc' and '-lcf' to detect TCP write failures Wasn't checking error return for SendView();, caused rushd to keep trying for each cpu into a timeout. o rushd: fixed -checkpoint bug where two daemons remain running If a 'rush -checkpoint' transaction failed (due to a network error or ^C'ed report), it would cause two daemons to remain running, and from that point on, that machine's jobs will start acting strangely. An indicator of the problem in 102.40g and older: you would see a 'FAIL/CHKPNT' error in the rushd.log. Normally that would be a benign message, but in this context the error state would cause /two daemons/ to remain running, causing intercommunication and confusion. Here's an example message from rushd.log: 09/25,18:55:17 FAIL/CHKPNT Fputs[2]: write failed: _SureWrite(): Connection reset by peer ..from that point on, there will be two daemons running. Kill the child to correct the problem, not the parent. APPLIED TO ALL VERSIONS: 102.40f01, 102.41, 103.00 > irush: various features o Added 'Frm Info' button to Cpus/All Cpus reports o offline/online/getoff adds 'whodunnit' messages to 'All Cpus' report. This change to irush simulates the existing behavior in onrush(1), which leaves a paper trail in the 'All Cpus' report of who changed the online/offline state of machines. o Added new preference 'Edit|Preferences|Use TTY Overstrike' This lets user enable or disable \r overstriking in the tty window, so overstriking progress output messages can either be shown normally, or expanded into separate lines. o Help menu now has link to website and local docs. o Supports Japanese language log files. Be sure to turn on "Edit|Preferences|Language|Japanese (S-JIS)" or "Japanese (UTF8)". Adobe After Effects uses S-JIS. (INTERNAL NOTES: Use fltk-utf8-1.1.4 and Xutf8.0.1.0 with Jean-Marc's patch to fix ^A/^U in Fl_Input widgets). o 'Hotkey | Edit' dialog grays out if user tries to edit hotkeys defined in the /global/ .irushrc file. > irush: various fixes o On OSX, Command-C now does the copy operation o "Job Edit | View Cpus"; fixed problem with copy/paste from 'View Cpus' browser o "OSX Menu Bar" fixed: on Panther (OSX 10.3.x) the OSX menu bar would become 'dead' to mouse events soon after opening irush. (FLTK BUG #209) > OSX: fixed "OSX menu bar" for all GUI apps on 10.3.x Under OSX 10.3.x, after the first mouse event in any window, the OSX main menu bar for that app would become unusable. Small bug in FLTK specific to 10.3.x fixed. > rush.conf: allows changing default timeout for rush -lac/-laj/-status/-push/etc. (ORPHANAGE,WDP) Now the [-s secs] and [-c count] arguments to these functions now have configurable defaults the sysadmin can change via the rush.conf file: rush.lac_secs 3 rush.lac_count 2 rush.laj_secs 3 rush.laj_count 2 rush.status_secs 3 rush.status_count 2 rush.push_secs 3 rush.push_count 2 rush.dlogstats_secs 3 rush.dlogstats_count 2 (102.41 and 103.00) > Changed all occurances of 'chown 0.0' to 'chown 0:0' Panther no longer supports the 0.0 syntax. APPLIED TO 102.41, 103.00 > rushadmin: uses tabbed windows to increase screen realestate. As a result, rushadmin window is smaller, so it can fit on 640x480 screens without squishing the browser. > internal: MyFile::UseStdin() added. > internal: 'errmsg' removed from Priority and Duration class, global static in Task class. Makes tasks MUCH smaller! Release Notes for 102.40g3 -------------------------------------------------------------------------- > Windows: Fix for 'interface 0x0' problem ROFER Release Notes for 102.40g2 -------------------------------------------------------------------------- > submit scripts/Windows: prevented frozen submit windows Implemented Win32::Process::Create() to spawn irush, to prevent frozen submit window from being left behind. MOVING PIXELS Release Notes for 102.40g - 08/07/03 -------------------------------------------------------------------------- > RUSH: Can now limit the number of cpus per host via +any=20.1 See the 'cpus' documentation for more. > Windows install.bat script now creates 'Start' menu items and makes better use of variables.
> submit-afterfx.pl and submit-brazil.pl (3DMax) added to release > submit-maya.pl: Added fix for stripping the leading slash from UNC paths under Unix to prevent maya hanging problem described here. > submit-shake.pl: Added 'Retries' and 'Retry Behavior' options to the Advanced Options, so one can control how many retries occur, and what happens when all retries fail. > RUSH: Fixed problem with 'rush -push' having rename errors, because of MyFile::RemoveOnClose() method in rushd. > RUSH: Fixed problem with 'rush -reserve' showing up owned by 'ntrush' instead of user who ran the command. > RUSH: extra checking during submit of job for uid/gid range. Prevents users with gid=0 from submitting jobs > All submit scripts: Added fix for OSX/Jaguar problem with Submit windows appearing 'behind' other windows. > All submit scripts: added fix for windows with 'Submit' button not having any effect, when .pl extension not present. > IRUSH/OSX: tailing frame logs wasn't working correctly. Fixed a problem where 'rush -log -tail ..' wasn't working under OSX/Jaguar > RUSH: Fixed problem with 'rush -reserve' causing errors on windows: can't create log: /dev: The system cannot find the file specified. > MAC: 'input.app' directory was missing PkgInfo and Info.plist files; Makefile fixed. > RUSH: fixed missing CRLF at end of ParseFrameRange() errors. > RUSH: rush -checkpoint: removed redundant 'criteria' entry > RUSH: Removed 'errmsg' from Frame class -- helps decrease rushd memory use for jobs with large frame lists. > rushadmin/irush: Fixed error message problem in PipeCommand-MICROSOFT; CloseHandle() was hiding error messages for CreateProcess() > rushadmin: Added error checks for OpenCommand() failures; if eg. 'rush -dlogstats' CreateProcess() failed, no error was printed. Error messages now added to the tty. > submit-scripts: added .common.pl to the examples directory, which will be more heavily used by future releases. > submit-scripts: Added FLTK 'plastic' scheme to all submit scripts, ie. linux, windows, irix all now have the 'gummy' buttons and 'ruled' background:
> Added mklnk tool to the Windows release. > Install script adds resource forks to input and input.app to ensure no problems with the submit 'Success' windows when submit scripts invoked from finder. 1) install.sh modified 2) mac.r and Rez added to etc/bin 3) input program now COPIED instead of SYMLINKED to rush/examples/bin so Rez program doesn't erase the binary on following the link. > Fixed input's File|Help menu bar to show images. Added new fl_register_images() to main(), and fltk_images to Makefiles > submit-afterfx now warns against specifying empty 'Comp Name' > input: Added 'image' to input's 'box' type, so images can be embedded in forms. See rush/html/input/index.html#Box for details. > input: Added boxup and boxdown to the 'button' class, and 'use_plastic' global to force a plastic button default. > input: disable FLTK_SCHEME env variable to prevent irush from coming up with the plastic scheme. > install scripts: modified to force rush and rushd perms correctly UPDATE 103.00! > fltk: now using fltk-1.1.4rc2 for all widgets > fltk: tweaked Fl_Scroll.cxx to support the plastic 'ruled' background > fltk: tweaked Fl_Tooltip.cxx to delay tooltips for all widgets. Release Notes for 102.40f3 - 05/30/03 -------------------------------------------------------------------------- > Fix to 'macperlwrap' to handle OSX 10.2.6 Finder Release Notes for 102.40f2 - 04/12/03 -------------------------------------------------------------------------- > Worked around "unknown adapter_type 0x0" errors in rushd.log by doing adapter check on the server only. > IRUSH: RUSH_DIR is inserted to path only if not already set (WDP) Release Notes for 102.40f - Released 03/26/03 -------------------------------------------------------------------------- > Added 'host=' prefix to rush.conf This allows a single 'rush.conf' file to be maintained across platforms, containing settings specific for particular hostnames. The 'host=..' command can be used as a prefix to *any* rush.conf command, similar to the 'os=' prefixes. See docs for details. > submit scripts have improved install instructions Since icons and 'drag and drop' for the Mac have been added, the install instructions for the submit scripts have been formalized to include setting up desktop shortcuts for the scripts. > rush install script now for all platforms Previously, only Windows and OSX had install scripts. Now linux and irix have install scripts as well; see $RUSH_DIR/etc/bin/install.sh > rush: if daemon can't create logfile, error shown in framelist 'NOTES' field This helps people see the error right away. Windows and Unix. This can be disabled in the rush.conf with 'logdirerr 0'. > rush: 'rush -reserve' lets you specify the reserve job server New '-server <host>' option lets you specify the server for the job, to override the default of the host being reserved. See docs for details. > rush: '-nolog' option added to jobstartcommand/jobdonecommand/jobdumpcommand Mainly added so that jobdumpcommand can clean up the logdir, without getting 'File in use' errors under Windows :/ (VINTON) > rush: when maxtime expires, timeout value appended to frame log eg, --- KILLED: MAXTIME EXCEEDED 00:30:00 J.P. finds this useful for post-mortem analysis; see newsgroup 02/07/2003 (VINTON) > rush/IRIX: 2 gig of swap reporting error fixed A machine with 2Gig of swap would show up as -2048. Fixed (WDTV/ADLER) > MAC: all guis now have icons! Now you can drag and drop tools like IRUSH onto the Desktop or Dock, and you'll get an icon with it.
> MAC: submit scripts have icons too Point the Finder at /usr/local/rush/examples/Applications to see the clickable versions of the submit scripts, which can be copied to network directories as needed, so users can later drop references to them on to their desktop or dock.
> rush: New 'permit' command in rush.conf ..lets the sysadmin control which users permitted to use getoff, online, offline, as well as whether they can use 'kill' or 'almighty' priorities. (WARNER) Example: permit { admin: { root,administrator # only root/admin can administer 'everything' } online,offline: { * # everyone allowed to online/offline } getoff: { bill,jane # only bill+jane can use 'getoff' } kill,almighty: { bill,jane # only bill+jane can use kill/almighty priorities } } > rushtop: color coded hostnames show online/offline status Hostnames show in dark green if online, dark gray if offline.
> onrush: registers who did what when in the REMARKS field When someone uses onrush to change the state of a machine (online/offline/getoff) it shows who did it when in the 'Remarks' field of the irush 'All Cpus' report. > irush: single middle click on framelist opens image So now middle-click will run the 'imgcommand' to display the image for a frame. This, in addition to the existing alt-double-click. Added because under Windows if the user keeps alt depressed while the fcheck viewer is opening, the window opens behind the other windows, according to Sean. (TURNER) > rush: 'rush -uping' supports '-c 0' to send packets indefinitely. See docs for details. > rush: 'rush -dlogstats' shows error logging statistics Useful for determining trouble in logs quickly. See docs for details. > submit-maya: added 'Max Log Size' option This lets one specify a limit for the output of maya, in bytes, so if the output gets too volumnous, it gets truncated. The use of 'logtrim', a tool that comes with rush, is employed to manage output truncation. > www-rush: now has links to text-only version of reports See bottom of each report for new 'Text only' link. When clicked, opens a new window with the report in a plain-text format that can be cut+pasted, and viewed at the full width and height of your browser. > rushadmin: added a 'general health check' feature Checks for common problems, presents output in a host table format.
> rush/windows: error messages improved for logdir errors Microsoft's CreateFile() indicates 'file not found' errors, when it should really say 'permission denied' if the file server is denying read/write access. Added a file attribute query, which casues a more informative 'Network password incorrect (permission denied)' error instead. > submit-maya: "Render Flags" can now contain embedded variables This is also documented in the "?" help button for the "Render Flags" field: You can embed Perl environment variables, eg. $ENV{RUSH_FRAME} will be expanded at render time. So if you specify:
			   ----------------------------------------------
	    Render Flags: | -im CityWalls_Base_Node_$ENV{RUSH_FRAME}     |
			   ----------------------------------------------
      
..when frame 244 is rendering, this will expand to -im CityWalls_Base_Node1_244 on the maya command line.
> 'daemon-cachemode' and 'app-cachemode' have been moved from rush.conf to rush hosts. This is to support the ability to have hostgroups in the rush.conf file (which implies the hosts file has already been loaded..) When upgrading, be sure to diff in this change to your existing rush 'hosts' and 'rush.conf' files. > rushadmin/Mac: fixed copy/paste via Apple-C, Apple-V on the Mac FLTK fixed a problem with the text editor where copy/paste via the keyboard didn't work under Mac OSX. (GOLDCREST PRODS) > irush: 'Job Edit' button now shows an error if jobid invalid Before, it would simply open an empty 'Job Edit' screen. > MAC: all guis can now be invoked from Finder The OSX "Finder" appends a weird "-psnxxxxxx" flag to the application, which was causing tools like 'rushtop' to only show the local machine. Also, a /very/ empty PATH is passed to programs when invoked from Finder. Rush GUIs now ensure a proper minimal path, and ignore this "-psn" flag. > submit-shake.pl had a bug with batch frames Was including batch value as step rate for shake, eg: 1-10x10 instead of 1-10. > mac guis were not backgrounding when invoked from terminal Modified wrapper to fork(). Was also affecting the submit scripts, which would leave the submit window behind, because irush wasn't backgrounding. Fixed. > IRIX: fixed problem with memory/swap reporting in 'rush -status' Does not affect rushtop(1), but does affect the totals reported in the M and S lines. (WDP/ADLER) > logtrim(1) tool that comes with rush now has '-c cmd [args]' option ..so Windows can truncate output without loosing the exit code of the render. DOS pipes don't pass the exit code of the renderer if its output is piped through a filter (like logtrim), so -c is needed to do it correctly. > Tweaked PipeCommand and MyPipe to use CREATE_BREAKAWAY_FROM_JOB, with limit JOB_OBJECT_LIMIT_BREAKAWAY_OK. Needed for submit-generic's invocation of input.exe/MyPipe to be able to invoke irush/PipeCommand without negative crosstalk between the parented jobs. > Fixed adminuser permission check for commands like 'rush -dexit'. > Fixed Udp::RemoteHostInfo() to show hostname in error msgs > Upgraded to FLTK 1.1.2 to fix problem with 'I' cursor being left behind after irush's 'job dump' confirmation dialog, which appeared to be a bug in FLTK's Fl_Text_* widget(s). > unix/onrush: show error dialog if 'rush -online/-offline/-getoff' fails. Needed if invoking user is not in line_group. > (WINDOWS) MyFile.C now does GetFileAttribute() check, so commands like 'rush -log' (and in irush, log viewing) now advertise real permission errors, instead of those stupid 'invalid argument' errors from fopen(). > submit-generic.pl: documented exit codes in "?" help button for 'Commands:' prompt > rush/linux: added links to install script to ensure "init 1" stops rush daemons > Advanced to FLTK 1.1.3 in this release. Patches were made for Fl_Text_Editor problems; see the FLTK newsgroup for messages dated on or around 03/23/03. (escrow: See fltk.microsoft/ERCO text file describing these patches) Release Notes for 102.40e - Fixes -------------------------------------------------------------------------- > irush: online/offline confirm window now word-wraps If the user selected many hosts to online/offline/getoff, confirm window showed the hosts on a loooong single line. Now wordwraps. Also, duplicate hostnames are now ignored.
> WWW-RUSH: colors added to all www-rush reports
> irush: colors added to 'all cpus' report
> www-rush: fixed problem with "Set Jobid" button This was preventing "Set Jobid" from working on some browsers, which return '&nbsp;' back as a double-character 0xc2/0xa0 in form postings, instead of the usual 0xa0. > rush: security hole fixed Daemon would accept TCP connections from hosts not in the daemon's rush hosts file. > irush/WINDOWS: Fixed problem with leftover 'rush.exe' processes Ported over new w2k 'Job Objects' code to PipeCommand.C and MyPipe.C. Problem prevented under old NT systems as well. > Standardized "-" and "off" as valid arguments to these flags: 'rush -autodump' 'rush -logflags' 'rush -frameflags' > (internal) Strip() added to String library Release Notes for 102.40d - Fixes Released 10/28/02 -------------------------------------------------------------------------- > rush: Fixed initgroups() bug in access test. Affects the logdir test problem mentioned in 102.40c. > rush: Daemon lock file errors were being lost under windows. "ALERT c:\rush/var/.rushd.LCK: Invalid argument (can't open daemon lockfile)" Lock checks preceded opening of rushd.log; under windows, stdout/err gets tossed by default. Fixed; lock errors are now cc'ed to rushd.log, as well as stdout/err. (ORPHANAGE) > IRIX: Compiled with new fltk that allows for middle mouse click on scroll bar trough, and has fltk fixes the pulldown menu problem where you have to release and click to pick an menu item. Release Notes for 102.40c - Fixes Released 10/22/02 -------------------------------------------------------------------------- > rush/redhat 7.x: submit failed if root can't access the log directory. eg. '[pathname]: No such file or directory' even though dir exists and is accessable as the user, but not as root. /Not/ experienced on redhat 6.1, only 7.x and up. Fix uses setreuid() as perscribed by access(2). (WDTV) > rush/unix: logdir error reported 'No such file or directory' instead of 'Permission denied' This has been around for a while; an initgroups(2) call that immediately followed the access(2) call stepped on errno, distorting the error message. (WDTV) > rush: donemail wasn't working If 'donemail' was set, mail wasn't being sent. Introduced in 102.40. (VINTON) Also, fixed LF -> CR/LF pair problem in rushsendmail.C that was preventing VC7 compile from transacting SMTP correctly. > rush: licpause causes job to get stuck in licpause state After first frame returned an exit code of 2 in the 'licpause' state, the job would enter a licpause state, the counter staying at zero. Fixed logic in Job::ChangeState(). Introduced in 102.40. (VINTON) > Upgraded to FLTK 1.1.1; fixes some popup menu behavior, enables one to middle-mouse click on scroll bar troughs to seek absolute positions in reports. > rush error message; spelling error fixed: 'not accessable' -> 'not accessible'. Release Notes for 102.40b - Fixes Released 10/14/02 -------------------------------------------------------------------------- > All tcp oriented commands now include hostname in error message. eg. 'rush -lf howland.34 ontario.59' will respond: BEFORE: rush: select() on connect(): (113) No route to host AFTER: rush: howland: select() on connect(): (113) No route to host ^^^^^^^^ > submit scripts: Fixed a problem with 'BATCH FRAMES ERROR' (CROMOSOMA) Bug where that error would occur even if batch frames was 1 or nothing when a step frame is specified in the frame range. Scripts fixed: submit-maya.pl submit-arnold.pl submit-generic.pl submit-houdini.pl submit-lightwave.pl submit-shake.pl > rush.conf: Added for development use only: udpusecspermbit -- choke for udp back-to-back xmits, rush -ulf. > Fixed docs for 'rush -lajf' to indicate [-t timeout] instead of -s/-c > Added 'rush -lajf' to command line help. Release Notes for 102.40a - Important Bugfixes Released 10/01/02 -------------------------------------------------------------------------- > rush: -reserve flag would submit job stuck in Start state > rush: Kill mechanism fixes 1) Fixed bad logic in jobid test in CanBump(): BEFORE: victim.GetJobid().IsJobidStr(killer.GetJobidStr()) AFTER: !victim.GetJobid().IsJobidStr(killer.GetJobidStr()) 2) Commented out bumpcheck optimization. > irush: optimized sorting time for large reports Hitting the sort buttons on 1000 frame reports would take a while; fixed. > rush: fixed problem where 'rushd -nofork' didn't prevent log rotations This prevented debugging efforts that would run past the log rotation hour. All previous versions have this problem. > rush: fixed bug where a frame range with a zero increment hangs rushd Basically a denial of service; as it put the job server daemon into an infinite loop. All previous versions have this problem. (hot fix for 102.31h as 102.31hg for ESCFX) > Minor tweaks to examples/input-example.pl to support OSX. Release Notes for 102.40 - Released 09/26/02 -------------------------------------------------------------------------- *** RUSH ITEMS *** > rush: can now set a job to wait until a certain time (CENTROP) 'waitfor' can now take a time value for an argument, eg: waitfor +8h -- start 8 hours from now waitfor +30m -- start in 30 minutes waitfor 7:30p -- start at 7:30pm > rush: implemented 'maxcpus' with wakeups on frame completion (CENTROP) > rush: 'rush -done' will start dependon frames (ORPHANAGE) > rush: 'waitforstate' sets the state 'waitfor' expects jobs to change to This means you don't have to dump the other jobs being waited for. (CENTROP) > rush: Added #frames total/done/fail/hold/run to -ljf and -checkpoint -ljf and -checkpoint needed to show the number of frames in the various states useful for 'watcher' scripts. > rush: jobstartcommand/jobdonecommand/jobdumpcommand commands implemented This affected ALOT of code, and cleaned up the job state machine in a big way. (CENTROP) > rush: Added 'maxtimestate' to submit and commandline Lets user set the state frame changes to when maxtime expires. (CENTROP) > rush [WINDOWS]: errors opening log files (permission, etc) wasn't logging to rushd.log Windows only. > rush: 'autodump fail' added. Causes a job to automatically dump if job finishes with any failed frames. (ESC/FX) > rush: newtask messages sorted by priority (CENTROP) > rush: Added 'rush -frameflags' command line option This lets the user change the frameflags on the fly. > rush: Added optional '-msg text' argument to 'rush -offline/online/getoff' rush -offline -msg 'Bad memory' rush -getoff -msg 'X login session' ..These messages are shown in the new 'REMARKS' column of 'rush -lac' reports. > rush [WINDOWS]: windows rushd.log rotations fixed Log rotations under windows were sometimes not rotating because of a permission error from the windows rename() and MoveFile() functions. So now, instead of renaming the file, we make a copy then truncate. > rush [UNIX]: Fixed problem where jobinfo/framelist files were not being created in rush log directory The following permission errors were being logged in the rushd.log file whenever a job was dumped: 08/08,16:49:41 ALERT SaveFrameList(): can't become user: setegid(20): Operation not permitted 08/08,16:49:41 ALERT SaveJobInfo(): can't become user: setegid(20): Operation not permitted This indicates the saving of the framelist/jobinfo files were failing. User.C::BecomeUser() was modified; order of seteuid()/setegid() were reversed Apparently this has been a problem as far back as 102.31m, and no one noticed it. Unix only. (Windows is not affected) (WDP/TV) > rush: Reinforced UDP protocol to handle stuck 'Strt' frames Implemented a better 'Timeout' protocol which sends *single* 'Timeout' messages once every 'udpresttimeout' to the job server. (WDP/TV) > rush: cpu.acct save would do close() even if open failed > rush: fixed memory leak in Logical.C class Assignment operator was leaking memory. (ESC/FX) > rush[WINDOWS]: render commands can now supply backslashes without escaping It used to be you had to escape the backslashes during submit with: command perl \\\\server\\bin\\myscript Whereas now you can just say: command perl \\server\bin\myscript > 'rush -tasklistfull' indenting fixed for "Spec:" field > rush: Submit command 'state' now accepts lowercase for states. > rush: added ability to customize 'rush -lac' reports. See rush.conf file; allcpusheader1, allcpusformat, etc. *** IRUSH ITEMS *** > When you exit irush and re-run it, it remembers the 'Cmd' you typed. > You can now specify the window title from the command line Example: "irush -title 'MY SHOW'" will set the irush window title to "MY SHOW" > You can have irush automatically generate a report on startup Example: "irush -button Frames tahoe.34" will push the "Frames" button on startup, showing the framelist for the 'tahoe.34' job. > Hotkeys menu now turns yellow when hotkey command running > 'Jobs' report shows jobs with busy cpus in bold > 'Job Edit' window has new fields.. o MaxCpus -- sets the maximum cpus for the job o MaxTimeState -- sets the state frames change to when maxtime expires o WaitForState -- sets the state 'waitfor' waits for other jobs to change to o JobStartCommand -- command to run before first frame renders o JobDoneCommand -- command to run when job renders last frame o JobDumpCommand -- command to run when job is dumped > Added scroll bars to 'View Cpus' > Can now requeue frames when multiple jobids selected Works now in reports: "Frames", "Cpus" and "All Cpus". > Hitting 'Logs' in the All Cpus report now tails the frame log (BUZZ) > "Daemon Log" buttons now track to bottom of file if 'Tail Logs' is enabled. *** MISC ITEMS *** > String: Quote() now escapes the escape chars. This should allow things like 'rush -command "cmd /c dir \"' to work correctly. > rushadmin: ESC no longer closes text editor window > rushadmin: makes sure there's a CRLF at end of file during save > submit-mayaman-air: added to the distribution > submit-houdini: added to the distribution > submit-generic: added features: o Added 'AutoDump' and 'Maxtime' to "Advanced Options" o Moved 'Batch Frames' from "Advanced Options" into main options o Enlarged the "Commands" window > rush: Added 'Priority:' to header for frame logs > rushadmin: added scroll bars to text editor and terminal > Fixed problem with alert messages not sizing vertically Height calculations were being ignored. Verified fixed on linux/mac/windows. Affected submit scripts (monkey popup window showed only top part of msg) > Various documentation mods to pretty up the tables. > 'rush -lj' report now has similar field widths as 'rush -laj'. 'rush -lj' NOTES column has become separate ELAPSED and REMARKS columns 'rush -laj' added REMARKS column Formatting for STATUS field set to 8 chars for new job states. > 'rush -status': new 'remarks' field added to 'j' data line > Process.C: initializer missing for 'Process::nice'. Never noticed until job[start/done/dump]command stuff added. > input: added 'helpcolor' to submit options > Improved output of 'rush -rc foo bar tahoe.37' for hostgroups: BEFORE: +any=3@400: 2 task(s) deleted +any=3@400: 1 task(s) deleted AFTER: +any=3@400: 2 task(s) deleted by foo +any=3@400: 1 task(s) deleted by bar ^^^^^^ > Got rid of extra license reload 1 minute after rushd boots > Frame.H, Task.H, String.H, Conf.H: some methods 'inline' for speed > Ran gprof on code; some optimizations to heavily used subs. * Added choke to prevent scheduler from running >1 sec * Added bumpcheck flag to prevent constant bumpchecks * Added choke to prevent newtasks from causing bumpchecks and updates on each newtask transmission. * Short circuit the scheduler if machine offline > Added logflags to 'rush -ping' > Added jobid to output response for 'rush -que' etc. BEFORE: 0005: Que AFTER: ontario.35 0005: Que > Added jobid to 'rush -lc' report. (Needed in irush for frame requeue when multiple jobs selected) BEFORE: CPUSPEC[HOST] STATE FRM PID JOBTID PRI ELAPSED NOTES +any=4@400k[howland] JobPass - - 16087 400k 00:00:00 Job state is 'Done' AFTER: CPUSPEC[HOST] STATE FRM PID JOBTID PRI ELAPSED JOBID NOTES +any=4@400k[howland] JobPass - - 16087 400k 00:00:00 ontario.737 Job state is 'Done' > Added 'REMARKS' to 'rush -lac' report. BEFORE: HOST OWNER JOBID TITLE FRM PRI PID ELAPSED geneva - - - - - - Offline tahoe - - - - - - Online AFTER: HOST OWNER JOBID TITLE FRM PRI PID ELAPSED REMARKS geneva - - - - - - Offline Bad Memory tahoe - - - - - - Online > Added 'const char const *' for << operator to string class > Brought the submit-*.pl scripts up to speed with MaxTime/MaxTimeState, job[start/done/dump]commands, etc. > Logging bug for seqids fixed: would print "job_seqid" even in cpu_seqid context: BEFORE: "dupe job_seqid (181==181)" AFTER: "dupe seqid (181==181)" This would cause confusing daemon debugging info when checking for dupe seqids. > Added logtrim(1) to the release > During 'rush -down', rushd only awakens jobs that were modified. > PassReason mechanism implemented so that only 'no more maxcpus' JobPass states can be reawakened. > Much obsolete code removed > Removed obsolete JobPass timeout mechanisms from Task class. We no longer need timers for that. Release Notes for 102.31p2 - Released 08/06/02 Fixes -------------------------------------------------------------------------- > IRIX: Fixed sgi irush error "irush: rld: Fatal Error: Cannot Successfully map soname 'libpng10.so.0'" error. Removed dependence on libpng/libjpg on irix platform; it comes with FLTK. Makefile.IRIX modified. > WINDOWS/OSX: Fixed irush FLTK bug fixed regarding Copy/Paste in irush "Edit -> Copy" and ^C short cut affected; wasn't pasting under OSX and Windows due to a bug in Fltk 1.1.0rc4. > WINDOWS: Fixed irush error "rush: '&&' : bad frame number at '&'" error. ..when user selects multiple frames in the "All Cpus" view and chooses "Requeue". (KILLERROBOT) > rushd: removed conditional abort() if local hostname not in rush/etc/hosts. The abort() was left over from old debug session. Release Notes for 102.31p - Released 07/30/02 Fixes/Features -------------------------------------------------------------------------- > IRUSH: Now sysadmin can customize $RUSH_DIR/etc/.irushrc This lets the sysadmin control irush's defaults, and define custom hotkeys. The user's own ~/.irushrc can override the defaults in the global .irushrc file. > WWW-RUSH: various cosmetic and operational improvements. Modified HTML for buttons and browsers to support new Explorer and Netscape 6.x on all platforms. Buttons now should look better, and browsers should all show in a fixed-width font. Also, bugs with 'Job-Edit' (Command, ImgCommand and LogDir) were fixed. 1) Fixed width fonts in all browsers (Netscape 4.x + 6.x, Explorer, Mozilla 1.0) 2) Buttons are aligned nicely in all browsers. (Note: older Netscape 4.x won't look as nice; doesn't support style sheets well) > rush now uses Windows 2000 'Job Objects' to manage killing frames. This should greatly improve rush's ability to kill jobs that have large, stubborn child process trees under Windows 2000. The Unix version has always been good at killing process trees; only windows needed the fix. For years Windows has had unreliable process killing until Job Objects were implemented in Win2k. > irush now has 'View cpus..' buttons in the 'Job Edit -> Cpus Modification' screen Lets users cut + paste from list of cpus for adding to job or neverhosts.
> rushtop now stretches graphs to fit horizontal window size
> rush -lj/-laj: %Done vs %Fail percentage 81% vs 20% rounding problem fixed. > IRUSH: disabling help messages now affects sortbuttons as well. In fact, it now affects everything for sure; Fl_Tooltip::disable() is now used instead of per-widget enable/disabling. > IRUSH: sorting can now be ascending or descending. Sort buttons are now 'tri-state' so one can choose which direction to sort columns:
> All submit script browsers now support filters (eg. *.shk, *.ma, *.mb) > All the GUIs now have icons under Windows > www-rush: fixed problem which prevented 'Tasklist' button in upper right corner from working correctly. > www-rush: fixed 'Job-Edit' problem which prevented users from changing LogDir, ImgCommand and Command. > Unix boot script modified to include rush dir in daemon's path. > 'rush -rc' no longer decrements the #cpus in hostgroups Removing cpus from a hostgroup (eg. "+any=30") should not change the cpu cap. However, removing cpus from a host (eg. "tahoe=2") will still decrement the cap (eg. 'rush -rc' causes "tahoe=2" ---> "tahoe=1"), since it reflects actual cpus in that case. > 'rush -lc' reports now show 0 cpu hosts, eg. "tahoe=0@100" Former behavior was to show blank lines, making it impossible to remove from irush. > input: Removes trailing slashes from 'Browse' > irush: fixed 'sort by jobid' so it sorts by hostname first, jobid second > 'rush -checkpoint' showed incorrect 'donecommand' > 'rush -notes 1:""' and 'rush -notes 1:"-"' clears notes > rush: All stat() calls now strip off trailing slashes This fixes a problem in windows where _stat() fails on pathnames with trailing '/'s. > IRUSH: Fixed bug where duplicate HOTKEYS would accumulate in the ~/.irushrc file. Now irush finds and removes duplicate entries. > OSX: Fixed problem where rushtop(1) shows multiproc's cpu usage incorrectly. On multiproc OSX systems only; only the first processor shows cpu usage correctly, the second processor (and up) shows incorrectly. > rush -down: now forces all cpu JobPass states to restart > rush: fixed problem where removing both procs of a dual-proc cpu specification would leave an empty slot in the -lc report. > rush: fixed problem where a job wasn't restarting frames that were hung on a remote after it rebooted. This happened if job had finished all its other frames; the cpus would remain in the JobPass state. These now re-idle when the remote server reboots, causing frames to pick up again. > rush: (windows only) fixed unclosed handle in daemon caused by MaxTime timeouts. Job::FrameLogMessage(); wasn't closing pi.hThread. > rushadmin/OSX: 'rushdamin' wasn't in the Mac OSX distribution tar file. Fixed Makefile. > rush/MAC OSX: Udp buffer size set to 64k to fix 'Message too long' messages when using 'rush -push' for files larger than 9k. > input.exe - fixed 'slow submit' problem Under windows NT/2K, there was a long delay once the "submit" button was pressed. MyPipe-MICROSOFT.C includes Sleep to prevent cpu spinning (which was starving child's cpu) > www-rush: added help documentation for "Cpu Controls" (it was missing) > Fixed all TCP error messages that print "expected 'foo <bar>', got 'yada yada'" > Added a non-gui submit-maya example written in DOS batch. > 'rush -status' docs updated to include C/S/M cpu status fields. > Fixed bug in IsJobidAssigned(): wasn't using jobidsep. > rush: 'frames' submit command can now have comments following it > input: caller can now optionally specify filters for the file browsers now. The default is to show all files if no filter specfied. All submit-*.pl scripts enhanced to use new filter specs. > Report machines that fail IP lookups > Fixed 'hosts' error message regarding bad IP address > Added IRIX64 ifdefs > Added copy ctor and assignment operator to Duration.[CH] > MyFile.C tweaked to show filenames in quotes, to help clarify possibly blank ("") filenames. > 'rush -lcf' uses slightly wider columns to accommodate larger field names. > Modified 'rush -lcf' report to shows cpus that have #cpus=0. Also shows extra Cpu class info (Cpu_Xxx:). > www-rush: Added 'View Cpus' and 'View NeverHosts' links to the 'Cpus Edit' screen. > IRUSH: The environment variable "IRUSH" is now set within irush, to flag to external programs they are being invoked from within irush, so they can change their output accordingly. > Windows: Now using Visual Studio 2000 .NET to compile. Brought all source into conformance; new iostream demands, /DVS2000 /EHsc flags for new() overloading, etc, warnings, etc. Also localized FLTK in ./fltk.microsoft. > Changed G_conf.logflags from a String to a const char*, to prevent problems in very low level code not yet being initialized. (The String class initializer eventually refers back to G_conf.logflags during error checking) *.[CH] modified. (INSURE CHECK) > Switched to fltk-1.1.0rc4 to support fix for Redhat 7.3 menus not working. (Involved tweaks to prevent Fl_Multiline_Output from having all text selected by default) > Added method ExpandEnvironmentVariables() to String class Release Notes for 102.31n - Released 04/23/02 Fixes/Features -------------------------------------------------------------------------- > IRUSH: Added '#Cpus' to CPUS report, so user can change the number of cpus for +hostgroup specifications > IRUSH: Better sorting for date, jobid, percentage, and numeric fields. Using a new adaptive sort algorithm that should handle all fields correctly. (ADLER) > Added new ability to save job submit forms allows one to re-submit jobs easily Very useful feature for animators submitting the same jobs over and over. New File->Load and File->Save Form options added to the submit screen's main menu bar. Click here for how to use this new feature.
> Several new submit scripts added: shake, lightwave, mentalray See the $RUSH_DIR/examples for these new scripts: submit-shake.pl submit-lightwave.pl submit-mray.pl > submit-maya.pl and friends modified to use the new HTML apphelp and new inputstring, inputfilename, and new '-H histfile' operations. > MAC OSX: better handling of resource forks during installation, This should improve ease of use. > IRUSH: fixed sort buttons such that hitting them strips color info. Ripped out old sort code to use newer code that reuses existing 'sort on the fly' code. (ADLER) > Fixed bug introduced in 102.31m3 wrt saving reboot notification information SaveRebootFile(): fixed reentrance problem wrt use of static return from RushDir_NET(). > rush docs: added RUSH_RAM environment variable to the documentation. (VINTON) > input: added several features to support new submit-*.pl Help, Job Form Histories, etc: o Added new -H command line flag to support history files. (File -> Load/Save Form, etc) o Added 'updatecommand' to 'button { }', so that form can be updated procedurally. See 'submit-shake.pl'. o Added new oneline 'inputstring', 'inputfilename' and 'inputmultiline' input commands. o Added 'apphelp' global command, so that global HTML help could be defined for the application. Added 'apphelp on' options to all input fields that support help buttons, so help buttons can be tied to the global HTML help. > All documentation now has automated version number stamps. Release Notes for 102.31m4 - Patch 04/??/02 Rushd Vinton Patch -------------------------------------------------------------------------- > Modified rush to use _exit() when exiting from fork()ed child processes for 'rush -lf', 'rush -dcatlog', 'rush -checkpoint', hourly console msgs, and the maxtime frame log messages. This prevents the forked children from calling the DTORs for all the parent-allocated jobs and frames, preventing memory pages from being 'copied on write' by the DTORs. Release Notes for 102.31m3 - Patch 04/??/02 Rushd Vinton Patch -------------------------------------------------------------------------- > Fix for 'Job::FrameLogMessage()' being re-invoked repeatedly when 'maxtime' has elapsed for frames in DIE state, causing numerous forked processes under unix. (VINTON) > SaveRebootFile: removed extraneous variables that were already constants. > Fixed open file leak in Sched::LoadRebootHosts() if a hostname fails a hostname lookup. Release Notes for 102.31m2 - Patch 04/??/02 Vinton Patch -------------------------------------------------------------------------- > irush was missing sorting for "All Cpus"; fixed (VINTON) > IRUSH fixed sorting for All Cpus and All Hosts field Wasn't sorting if sort button was on, and report regenerated. Fixed. > irush tweaked to show more of last line in file during log tails > submit-maya.pl and submit-generic.pl now use history files so that the user can easily load job submissions from the "File" menu. '-H' option added to input to support the concept of a 'history'. > 'input': program modified to allow <messagefile> to be '-' to read stdin, simplifying 'submit-*' scripts. > 'input': Fixed 'showfail' being ignored for submit button > etc/.render has quotes around $PATH for people using CSH on windows who have paths that contain spaces. Release Notes for 102.31m1 - Patch 03/26/02 GMFX 3COM FIX -------------------------------------------------------------------------- > Fix for 3com network cards where Netbios() call fails to open driver for ethernet macaddr. Release Notes for 102.31m - Released 03/12/02 Major Features/Fixes -------------------------------------------------------------------------- > Unix: fixed subtle groups bug when testing for directory and file existence; initgroups() added to IsDir_NET(), CanCreateFile_NET() and Access_NET() (CENTROPOLIS) > Windows: Process killing during requeues/getoff's etc. modified to do a more 'sure kill'. (VINTON 03/12/02) > 'rush -command' has been enhanced to read stdin if no command is specified, eg. you can now redirect from stdin; 'rush -command < file'. 'rush -imgcommand' and 'rush -donecommand' were similarly enhanced. IRUSH now makes use of this feature, to prevent quoting restrictions. > Mac OSX: First official release of the GUI's for the mac platform: namely irush, rushadmin, rushtop, onrush, etc. > Windows: avoids problem where a sluggish disk server for the frame logs no longer affects daemon response during process creation. Process creation modified. Also, now logs process id correctly. > 'submit-maya window is now resizable, so you can widen the fields, to see long filenames. To facilitate this, the 'Advanced' options are now in a separate window; hit 'Advanced' button to see it. > rushadmin now backgrounds itself (ILLUVATAR) > 'rush -log' now has '-tail' option to enable 'tailing' logs in realtime. > When 'MaxTime' bumps a frame, a message is appended to the frame log > IRUSH o Tailing of frame logs in realtime has been added. Keeps window scrolled to bottom of log, too! 'Edit->Tail Logs' option added.
o Revamped 'online help'; Now uses scrollable html based popup help. Implemented into irush. New online irush 'tutorial' and 'Tips And Tricks' sections were added.. Example irush online help screen:
o Image Command is now invoked if you hold down ALT while double clicking on a frame. This obsoletes the 'Use Image Command' checkbox, so its no longer needed in the irush preferences. o Subtle bug with 'Use Image Command' caused checkbox to sometimes show 'off', but image command would still run. Same changes applied to 'Use Colors' and 'Help Messages'. Code simplified. o 'Hosts' and 'All Hosts' report now shows '???.???.???.???' hosts in red, to help make obvious a problem is a foot. o Fixed problem with 'Logs' button not lighting up during double click on frame log. (Need this now that 'Tail Logs' option is available) o Tooltip help messages have been added to all irush buttons now and input fields. This includes the 'frame' and 'job' report screens, describing what double click actions are available. o Mods to ensure long running processes aren't left behind. Identified this when 'rush -log -tail' was added. Both UNIX and MICROSOFT code modified for PipeCommand class to ensure *killing* subprocess and children; under unix, setsid() added. o irush wasn't printing errors if 'rush' executable couldn't be found. Fixed: now prints error in the tty window. o 'Run' menu renamed 'Hotkeys' > 'rush -an' only adds neverhosts if not already in the neverhosts list > 'rush -ping' now includes the number of entries in the tasklist (tasks) > 'rush -log' was reporting 'file not found' errors to cout instead of cerr; fixed. > Windows install script uses new setenv command that appends to PATH without fear of quoting problems in existing paths. install.bat modified and simplified. Also, ability to remove rush environment variables added to uninstall.bat. > INTERNALS: o MyFile::Open() added optional 'mode' argument to force open perms on things like tmp files. o irush: Massive name changing for EditRunCommand -> EditHotKeyCommand, runcmd -> hotkeycmd, and other related variable name changes. o input: Multiple windows now supported; added 'winshow/winhide' options to the 'button' type, and added 'hide' option to 'window' type. o ntkill: improved error messaging, fixed problem where -f wasn't being parsed correctly. Might improve killing of subprocesses. o killpid.exe renamed to killtree.exe, rush.conf modified accordingly o windows: improved performance of gmake by including -r Release Notes for 102.31k - 02/05/02 Simple Fixes -------------------------------------------------------------------------- > rush: ignores blank lines that contain white space in rush hosts file > Backed out submit-maya.pl fix to clamp rendering beyond batch limit, due to problems caused if a user adds more frames in irush later. Better to render 'bonus' frames than to cause confusion when adding frames. > Windows: setsockopts() precedes bind() to ensure SO_REUSEADDR correctly implemented. > Windows: Various changes to TCP library to further detect and prevent non-blocking I/O EADDRINUSE errors on connect(). Subtle fixes made to error code checking and pass backs. 3 tier BSD error deferral identified; bind() error deferred through connect() and on to select(). > Tweaked bmrt-test.pl to include invoking 'perl' interpreter on self to avoid weird winnt 'error #193'. > rush/windows: implemented error #193 to complain about unknown interpreter. Release Notes for 102.31j - 01/29/02 Simple Fixes -------------------------------------------------------------------------- > irush: 'Job Edit->Done' wouldn't always indicate 'You're not owner' dialog. Removed 'return(-1)' from AlertMessage.C during readqueue() loop. > rush/windows: stdin was not being inherited by render scripts This important fix helps people running Softimage/XSI and 'gmake' under windows. Fixes 'stdin: unable to duplicate file handle' errors, and others. > irush/unix: fixed 'pipe read error' when double clicking frames to view logs SIGCLD signals from imgcommand's system(3) was causing read()s to fail. > Added 'disablepflags' to rush.conf Lets sysadmins disable 'k' and/or 'a' priority flags. > submit-maya.pl tweaked to prevent run beyond last frame when batching. Had to back this out in 102.31k due to problems this causes in irush if frames are added. Release Notes for 102.31i - 01/14/02 Simple Fixes -------------------------------------------------------------------------- > IRUSH: "All Cpus -& Reque" and "Logs" now use jobid from report This was causing the CURRENT JOB to be affected, instead of the job selected from the 'All Cpus' report. Removed unusable or non-intuitive controls (eg. 'Remove Cpu', 'Change Priority'), made separate controls for the All Cpus report. > Windows Only: removed "Pid:" from frame logs; it was reporting the daemon's pid instead of the frame. Removed from log until this can be resolved. Lack of fork()/exec() behavior makes this pretty hard :/ Release Notes for 102.31h1 - 01/11/02 Special Fix -------------------------------------------------------------------------- > Fixed frame fail problem with linux served jobs rendering on windows machines Linux job server was not interpreting SIGHUP messages sent by NT machines correctly, causing requed, getoff'ed, or otherwise bumped frames to not requeue, but would show up as 'Fail'. (VINTON 01/11/02: 102.31h1) Release Notes for 102.31hg - 09/26/02 Special Fix: ESCFX -------------------------------------------------------------------------- > Fixed bug where '0' as frame increment causes crash Release Notes for 102.31hf - 09/20/02 Special Fix: ESCFX -------------------------------------------------------------------------- > More attention to Logical.C constructor Logical's assignment operator leaked memory. (ESC/FX 09/23/02) Release Notes for 102.31he - 09/20/02 Special Fix: ESCFX -------------------------------------------------------------------------- > Fixed memory leak Logical's assignment operator leaked memory. (ESC/FX 09/20/02) Release Notes for 102.31h - 01/08/02 Simple Fixes -------------------------------------------------------------------------- > Fixed problem where tasklists grow with old jobs Rush now sweeps old jobs out of the tasklist, to prevent accumulation that would slow down the cpu scheduler. Problem would show on machines reserved or offline for long periods during high volume job submissions. Added 'taskkeepalivesecs' to rush.conf, which sets the keepalive interval. Systems programmer notes: TASKCHANGE_KEEPALIVE messages added to protocol to initiate sweeps. Modified: Task.[CH], Conf.[CH] Sched.C (PROTOCOL CHANGE/CENTROPOLIS) > Further speed improvement/optimization in windows Tcp transactions. Removed SetLastError(), and added more correct error message generation to make getsockopt(SO_ERROR) report errors from connect()s. Also: o Replaced Tcp::Fgets with faster reader from rush.C. o ReadSelect() now done BEFORE the recv() o rush's private TcpFgets() consolidated into Tcp.C o Error handling for BinaryRead() et al. > irush now honors the RUSH_FU variable to preset the FU button (TURNER) > 'rush -jobnotes' multiline notes no longer uses multiple connections Streamlined into one single connection. (PROTOCOL CHANGE/ESC FX) > irush: fixed FLTK bug with tooltips showing wrong tooltip Imported fix to Fl_Tooltip.cxx from fltk-1.1.0b8 over to local copy of fltk-1.1.0b5. > irush: fixed stuck-down buttons when doing right-click help while tooltip displayed This was fixed in fltk by Mike Sweet in 1.1.0b9 and up. I imported the fix to a local copy of 1.1.0b5. > Fixed typo in examples/submit-lw.pl; "lwns" -> "lwsn". (CHERNICK) > irush: About->Help: focus box disabled for monkey > 'rush -submit' no longer blocks daemon if invoked interactively. (ESC FX) Release Notes for 102.31g - 12/18/01 Simple Features/Fixes -------------------------------------------------------------------------- > 'rush -cp' Can now change number cpus for host groups on the fly You can now do things like 'rush -cp +any=100@200 =30' (ESC) > keepall/keeplast implmented for Windows (they had never been ported) > 'rush -reserve' does uid/gid range checks (CENTROPOLIS) > Created Conf::CheckUidGidRange() to consolidate uid/gid range checks Modified: Process.C, Spawn-UNIX.C, User.C > Added 'submit-lw.pl' to the examples directory; submits lightwave jobs. > 'framelist' and 'jobinfo' file perms abide 'forceuser' rules now > Restored 'connection refused' for tcp connections. Added select()/getsockopt(SO_ERROR) to handle non-blocking connect()s. > Speed up of windows Tcp Added black magic Sleep(0) to Windows Tcp::BinaryRead() Release Notes for 102.31f (PRERELEASE) 11/09/01 Simple Features/Fixes -------------------------------------------------------------------------- > Windows frame logs now log the actual user the process is running as (RunningAs:) as well as the 'Nice:' and 'Pid:' values. > Windows now keeps track of the user who submitted the job. When users control each other's jobs, their usernames are now compared to determine whether they are allowed to do so or not (eg. windows now heeds 'disablefu'). (PROTOCOL CHANGE) Windows processes still run as the user configured for the service, and when *windows jobs* run on *unix processors*, the user it runs as is *still* the ntrushuid/gid. > Removed 'OLD_SUBMIT' code in rushd.C; no need for it. > OSX / Mac now supported. No code was modified, only new -DARWIN files for CpuInfo and Net. > RUSH modifications o Added 'rush -lacf' (VINTON) o permissions on framelist/jobinfo files were inherited from daemon. now set umask to 0 so perms are open, just like the frame logs o 'rush -lc' 'cpuspec' column widened by a few chars to prevent ragged reports. At some point this should be customizable, just like the -lj/-laj reports. o Windows/rushd now uses a 'sharing write lock' to prevent DOS xcopy from hanging when it hits the .RUSHD.LCK file during customer installation. o rush 'nevercpus' now supports +hostgroup specifications 'rush -an/-rn' has had +hostgroup support for a while. o rush/windows: MicroSoft.C: full error messages now supported Fixes from common/MicroSoft.C applied to daemon. o .rushd.LCK file now contains the rushd's PID o "Fgets(): recv(fd,buf,1): got 0 bytes" errors now indicate remote host info (VINTON) > IRUSH modifications o Added to Edit->Preferences->Use Image Command o rushtop remembers previous window size o 'Cpus' and 'Frame Info' reports now in color Added 'Frame Info' report type to Run->Edit menu, tested. o Fixed sorting behavior for first column of all color reports Color formatting characters were affecting alphabetic sorting of first column. Few noticed; alphabetical ordering wasn't as critical as the grouping. o irush: fixed sorting behavior for color "** NO RESPONSE" messages (VINTON) o Irush's window size is preserved in ~/.irushrc o Fixed 'tabbing order' focus navigation for all buttons/controls o Added 'Network -> Rushtop Window' and File->New->Rushtop + Onrush Gives easy access to the other programs from within irush. o irush: Added 'Edit->Preferences->Help Messages' This allows disabling the 'tooltip' help messages > onrush: o added Fl::wait(0.1) for 'NO DATA', disabled chooser coloring o status selector is now always white. > rushsendmail (windows) moved from rush/bin to rush/etc/bin > input: mods to support better submit GUI behavior for windows o buttons now have 'exitok' keyword o buttons now have 'xyinc' keyword o buttons no longer unlink the INPUT_DBASE file (command must do it) > Using new version of GUI toolkit FLTK 1.1.0b5 This fixes some redraw problems, event bugs, cut + paste behavior, and adds 'focus box' behavior, etc. > Source code preparation for deposit -- #define MICROSOFT, etc. > All inconsistent references to 'neverhosts' in code and docs now changed to 'nevercpus' Release Notes for 102.31e - 11/06/01 Simple Features/Fixes -------------------------------------------------------------------------- > irush: simplified interface layout Did various things to help irush compile with fltk 1.1.0b5 (but still releasing with fltk 1.0.9). Among other things, sort buttons use new MyButton::SetFocusBox(0) to disable focus box. FLTK 1.1.0b5 MODIFICATIONS: 1) Symbols commented out from fl_draw.cxx and unconditional return added to fl_symbols.cxx, 2) Fl_Choice patch applied to prevent "Select All.." down-button overdrawing text for choices. > rush -dexit/-dexitnow kills renders before exiting > rushd: improved PDH error message reporting All errors in PDHMSG.H implemented. > irush: Fixed sizing behavior of gray window after divider repositioned If after reposition of divider, double clicking a frame to view logs caused divider to revert to a previous position. FL_DRAG now sets savebar_y. > irush: Fixed delay with double click on frame to see logs Using Fl::wait(0.1) during pipe reading waits. > Added diagnostics (-dlog a) for job dumping to help trace delays in windows version during dumping. > rush/var/lastjobid file included in release Helps scripts that try to read this file to predict the next jobid will work after a new install or upgrade. > A keyhit will now close help windows Supports use of focus box and spacebar to open windows > Added /MD compile flag to ensure multithreaded DLL > irush: On exit, kills any pending operations This prevents delays when choosing close, as it would wait until other operations would complete. Release Notes for 102.31d - 10/28/01 Simple Features/Fixes -------------------------------------------------------------------------- > Windows rush now supports donemail rush.conf must have 'smtpserver' and 'smtpfrom' configured for donemail to work under windows. > Admin can control column formatting of 'rush -lj / -laj' via rush.conf Customers can now change the output format of -lj and -laj via these new rush.conf commands: jobheader1, jobheader2, jobfmt, alljobsheader1, alljobsheader2, alljobsfmt. > rush(1): added "-t <tcp_timeout>" flag to control tcp timeouts Rewrote TCP library to use non-blocking sockets. That was fun. (CENTROPOLIS) > Fixed rushtop bug where MANY windows would open if typo on command line. If user specified incorrect hostnames on command line, caused rushtop to open multiple error windows. > Added 'tcptimeout' to the rush.conf file, to control the default This setting affects the default for both daemon (rushd) and client (rush). > irush: windows resize behavior modified when grey window open When window is resized, if grey tty area is present, it sizes with the screen. If it's not present, then the white tty resizes. This also corrects a problem where a resize could cause the tty area to run into the button area. > rush on windows: squelch 'connection reset by peer' messages in -laj. These messages are from machines up but not running rush. MS doesn't give the return address, so it's a useless error. > irush: jobids on command line overrides RUSH_JOBID variable Also: when jobid set, title of window changes to jobid WITHOUT the distracting irush version info. > input(1) now supports creating simple popup boxes -p and -t options added. > rushtop: added -s command line argument to control update speed (CENTROPOLIS) > All GUI's now have icon names (Fl_Window::xclass("name")) This allows icons to be assigned to windows (CENTROPOLIS) > rushtop -help GP fault under windows fixed Release Notes for 102.31c - 10/20/01 Important Bugfix/Features -------------------------------------------------------------------------- > Fixed stray pointer bug that affects dependon in Windows Modified String::SetFieldSep() (VINTON) > rushd closes all unused sockets/files before spawning render This prevented rushd restarts when orphaned renders were still running. Unix and Windows. (CENTROPOLIS) > irush/rushtop/onrush modified to not eat Xwindows colormap Added Fl::visual() to main, prevents Fl_Pixmap() from razing the colormap to the ill effect of other X programs (CENTROPOLIS) > rushtop(1): corrected reporting of ram for linux Wasn't subtracting out kernel buffers and caches from used memory, causing rushtop(1) to show more ram in use than was necessary. (ICT) > irush: added Fl_Window::xclass("irush") to support icons > rush -push verifies remote Close()ed correctly Release Notes for 102.31b - 10/16/01 Important Bugfix/Features -------------------------------------------------------------------------- > Avoid bind() errors during daemon restarts. Stop/Starting the daemon causes it to start immediately, avoiding 1 or 2 minute Added new rush.conf option 'tcplistener.reuseaddr' > Added daemon lock file, to prevent multiple instances of daemon Prints error if starting extra daemon, eg: # /etc/init.d/rush start rush start: rushd: daemon already running > Fix for logdir creation in NFS directories not exported to root This fix should really work this time, unlike 102.30e. (GVFX) > IsFile_NET() includes character devices as files now. Important fix to bug introduced in 102.31 wrt /dev/null changing from a character device to a normal file when logfile is /dev/null (ie. logging is disabled), esp when using 'rush -reserve'! Release Notes for 102.31a - 10/13/01 Features/Fixes -------------------------------------------------------------------------- > rushtop(1) indicates dead machines by drawing white "////"s over cpu bar > rushtop(1) now properly shows cpu activity for dual proc linux hosts cpu0 always showed 0 activity, while cpu1 showed correctly. Fixed. > Windows rushd closes CreateProcess() handles hThread and hProcess during process kills. The rushd.exe "handles" count was increasing whenever processes were Killed. Fixed. > rush.conf defaults modified, as per Centropolis experiments: maxnewtaskmsgs: changed from 20 to 30 jobupdatethrottle: changed from 30 to 10 > rushtop(1) now sorts all hosts alphabetically > rushtop(1) on unix now backgrounds itself unless new -nofork flag specified. > rushtop(1) new flags added: -d and -nofork > Fixed these windows specific problems: o Fixed rushtop(1) so as not to leave behind orphaned 'rush.exe' processes. o rushd(1) now backgrounds process kills. Improves speed on slow or loaded machines. o Fixed release scripts: rush wasn't killing processes because the new killpid.exe program was released to examples\bin instead of etc\bin. o Fixed rushd(1) so both cpus of dual proc windows machines show up in rushtop(1). o Fixed problem where hitting 'Send' caused an error in the TTY window about the "2>&1" redirection. Release Notes for 102.31 - 10/01/01 MAJOR FEATURES RELEASE -------------------------------------------------------------------------- > 102.31 RUSH ENHANCEMENTS: o New 'rushtop' gui shows realtime graphs of cpu, memory and swap for all machines running rush daemons. Similar to SGI's 'gr_osview(1) but for all processors on the net, not just one machine.

rushtop(1) screenshots. Bars update once per second.

o New 'rushadmin' GUI simplifies remote admin of rush config files. This program lets you modify rush config files, and quickly distribute them out to all the other machines.
o Added 'os=unix' and 'os=windows' prefixes to rush.conf This allows a single 'rush.conf' file to be maintained across platforms. The 'os=..' command can be used as a prefix to any rush.conf command. See docs for details. o Added new job paused state 'LicPause', and new submit command 'licpausesecs' to set number of seconds before job unpauses. Useful for handling render license errors. o New 'rush -push' simplifies distributing rush hosts/license/config files. New administrative command simplifies distribution of common rush files easy, esp. on multiple platform networks. o Added Cpu/Memory/Swap fields to 'rush -status' reports This supplies cpu/memory info to the new rushtop(1) gui, which shows cpu and memory load on remote processors. o Added 'allowpush' to rush.conf. Enables/disables new sysadmin feature that allows license, hosts and config file to be easily distributed to the network (similar to 'yppush'). o Added MaxCpus; 'rush -maxcpus', irush "Job Edit" updated (But probably not yet recommended for use) o Added -lhg (list host groups) and -lhc (list host criteria). Also added these options to irush in "Networks -> Show All Criteria" and "Networks -> Show All Hostgroups" o 'rush -log' now complains if no frames specified; was silent. o Some rush return values in 'rush -log' were -1 instead of 1 o Serv2Port_NET() modified to handle port numbers in the context of service names. (if service name's first char is digit). o Serv2Port_NET() returns _host_ order port number instead of net. All code modified to support change. o iface errors improved to show in netstat format "(ip.ip.ip.ip:port)" o Udp overhauled to be more generic for bidirectional transmissions o Udp GetRemotePort() made portable o Updated email: erco@netcom.com -> erco@3dsite.com o (internal) Consolidated all xpm's to one xpm dir o Added "Title:" to rush's frame log headers. o Udp 'connection refused' now reports remote hostname, if any > 102.31 RUSH FIXES: o malloc()s, strdup()s and 'new' never fail to allocate memory. Errors are logged to the rushd.log. Prevents daemons from dumping when machine is in near-death swapping during rendering. o Fixed 'not in process table' error messages o Conf file reload causes killcommand.Clear() o Now announces uid/gid problems with remotes in 'rush -lc' reports. 'newtasknak' messages added. PROTOCOL INCOMPATIBLE WITH 102.30e and lower. (GVFX/EMERSON) o When logdir isn't accessible on a remote machine, the error is now added to the cpus report, instead of just the rushd.log > 102.31 IRUSH ENHANCEMENTS: o Added 'Down' button to frames/cpus/hosts control bar so users can interactively invoke 'rush -down' to indicate rush remote hosts are down. o Double clicking a frame shows log for that frame (as well as ImgCommand, if any.) o Job reports show 'LicPause' jobs in dark cyan o Added 'LicPause' to 'Job Controls' window o Added 'licpausesecs' to 'Job Edit' window o Fixed tabbing order for 'Job Edit' input prompts o ALT-L hotkey: invokes 'Logs' in frames report o Jobid and version number now shown in title bar. o "Logs" button rellocated slightly; some users complained it was too close to the relatively destructive 'Que' button. (STEAMBOAT) o Added 'Log Flags' chooser to job editor o Added 'Daemon Logs' button to 'Frames' 'All Hosts' and 'Cpus' reports shows logs with color high lighting o Holds last scrolled position in framelist for operations such as view 'logs' and 'try'. Similarly, in large cpu reports when doing operations such as changing priorities, removing cpus, etc. > 102.31 IRUSH FIXES: o Fixed broken 'Cpus -> Nevercpus' errors that surfaced in 102.30e. > 102.31 INPUT ENHANCEMENTS: ('input' is the GUI behind the submit-generic/submit-maya scripts) o submit-generic.pl and submit-maya.pl now let you save/retrieve your input fields to/from a file. Windows are also resizable now. input(1): Added new 'menubar' command to window{} block, which adds the 'File' menubar to the interface, letting users save/load their data entries. (525/KWCC/DIGITALLAB) o AlertMessage windows now resize to text specified (input, etc) > 102.31 INPUT GUI FIXES: o Input had bug with printing error messages (Insert(0,msg) instead of Insert(msg,0)). Affected debugging of 'input' based programs, caused them to coredump on an error. o submit-generic.pl now appends an 'exit' to commands if the shell is DOS-Batch, to ensure the exit code of the last command is returned. (MEGIDDO) > 102.31 MISC: o Fixed help windows from getting stuck on screen if user moves mouse out of window before it is created. (Under Windows, if you drag right or down, still leaves window up. But that's an fltk problem) o .render and .submit added to NT for csh users o NT version default 'taskcleanuphour' was 19 instead of 5 o manpage for rushd added o Tutorial improved; add Frame Logs, Pausing Jobs. o NT install.bat does a pushd to the bin dir, so script can be run with rsh as a single command. Release Notes for 102.30h - 08-01-01 -------------------------------------------------------------------------- > During submit, ensure can't add same frame# to a job twice, eg: frames 1-10 5 Job::Addframes() was modified. Release Notes for 102.30g - 07-10-01 -------------------------------------------------------------------------- > FIX: (linux) mac address was ignored if dummy interface installed. Affects only linux machines acting as license servers. Release Notes for 102.30f - 06-02-01 -------------------------------------------------------------------------- > FIX: rush -status not honoring -s [secs] due to mods made in 102.30e. This affected esp. onrush, causing onrush to eat cpu because 'rush -status' was spooling out so much data. Release Notes for 102.30e - 05-30-01 -------------------------------------------------------------------------- > FIX: rush -status not honoring -s [secs] due to mods made in 102.30e. This affected esp. onrush, causing onrush to eat cpu because 'rush -status' was spooling out so much data. > FIX: submit fails if root can't access the log directory. eg. '[pathname]: not a directory' even though it IS a directory, just not accessible by root.(WDTV) > FIX: daemons now detect changed license file automatically. Prevents need to reboot daemons to see new license file. Also fixed maxhosts counter -- was failing with n-1 hosts instead of n. > FIX: GetIdent() in Lic-LINUX close() sock and fopen()'s. > ENHANCE: rush -lac/-laj/-status now complete as soon as all hosts requested have responded; ie. doesn't keep waiting '-s <secs>' unless one or more hosts haven't responded yet. > ENHANCE: 'rush -jobnotes' now reads from stdin if no notes are supplied on the command line. This also helps irush edit jobnotes that contain special characters or blank lines. > FIX: rush(1) help; updated help (removed -lajq and other obsolete flags) Release Notes for 102.30d - 05-20-01 -------------------------------------------------------------------------- > ENHANCE: IRUSH: Job reports show in colors (CENTROP) > FIX: 'List All Jobs' (-laj) wasn't showing new Done/Fail states for jobs. Release Notes for 102.30c - 05-07-01 -------------------------------------------------------------------------- > ENHANCE: Added new submit script option 'maxtime' which lets one configure a maximum time for rendering frames, before the frame is automatically requeued. See MaxTime docs. (CENTROP/525) > ENHANCE: irush: added colors to frame reports (Fail shows red, Run shows green, etc). Colors can be turned on and off via "Edit->Preferences->Use Colors", which is saved in your ~/.irushrc file. See irush colors. (CENTROP) > ENHANCE: irush: added column sorts. Click on headings to sort by that heading. See irush sorting. (3DSITE/WDTV) > ENHANCE: Popup help documentation added to onrush. > FIX: irush: o Added new 'maxtime' value to Job Edit window o Dump/End/Pause/Continue makes proper job controls appear, regardless of previous context o Fixed tabing traversal problem in Job Edit; with DoneCommand and ImgCommand. o Help windows pop up quicker o Fixed problem with help windows constraining within irush o Help appears on button *release*, preventing stuck open wins. o irush now uses common HelpWindow class o split bar position no longer lost when window resized. Added call to Fl_Group::init_sizes() whenever split bar moved. > FIX: irush/onrush/input: HelpWindow no longer has bug where sometimes opens constrained within the irush window, instead of over it. Prevented delete/create for each popup by adding resizable() to HelpWindow(). Modified MyInput/onrush/irush. > ENHANCE: 'input' (used by submit-maya.pl, etc) modified to: o Allow colors to be specified for buttons o Single buttons that can run simple commands directly o A way to specify simple system() calls vs. piped output o Can optionally specify 'showfail' on a per-widget basis > RELEASE: documentation is now separate from the distribution Release Notes for 102.30b - 05-02-01 -------------------------------------------------------------------------- > FIX: irush/windows only: PipeCommand fixed buffer overrun during ReadFile() operations that was breaking \r handling. > FIX: rush operations no longer modify the user's frame notes, but may append message output to the frame notes field in reports. (internally, new 'rushnotes' field added to Frame.[CH], which is now maintained separately) > ENHANCE: New submit script 'frameflags keepnotes' allows controlling the behavior of whether frame notes are auto-cleared or not. Release Notes for 102.30a - 04-28-01 -------------------------------------------------------------------------- (eval release to megiddo) > FIX: irush: "** NO RESPONSE FROM" messages ignored during cpu/job selections (ie. 'select all') > FIX: irush: when multiple jobids are set and you hit 'Jobs', all jobs for each UNIQUE machine are shown. This prevents redundant reports for the same machines. (GVFX) > FIX: irush should now handle \r's properly. Old behavior can still be gotten via 'irush -nofix', an option that will become obsolete. (MEGGIDO) (eval release below this point) > FIX: stuck 'Strt' state frames fixes. o Ignores stale DONE messages for previous frames. Added check to verify not only sequence numbers, but frame numbers as well. o Ignores re-reaping process if already in DONE state. Included checks for multiple active processes with same PID. > FIX: 'JOBPASS ignored/state already JOBPASS' messages are now handled. > FIX: submit-generic.pl bug fixed where it was getting notes from all jobs on the machine, instead of just the one in progress. > FIX: optimization for 200 'single frame' jobs all submitted at once. Manifest: o Added 'maxnewtaskmsgs' to rush.conf files o Optimized sending newtaskmessages to prevent storming. New 'maxnewtaskmsgs' throttles back outbound messages to controllable amounts. > ENHANCE: Job reports show job state to be "Done" when all the frames are Done, 'Fail' when one or more frames have failed and the rest are done. > ENHANCE: Benign messages about sequence ids are squelched. Can be enabled via 'rush -dlog q' > INTERNALS: In Job.C, references to 'state' -> 'GetState()' Release Notes for 102.30 - 04-23-01 -------------------------------------------------------------------------- > ENHANCE: Added 'nice' as an option to the submit script, and lowered the default to 10. The old default seemed to have a profound effect on render times under i386/RedHat 6.1. > FIX: 'Imgcommand' in submit scripts was only getting the first word. Release Notes for 102.21b - 04-17-01 -------------------------------------------------------------------------- > ENHANCE: Created 'onrush' gui to control online/offline state of rush daemon > ENHANCE: All daemon state changes are now logged > ENHANCE: Added submit-generic.pl to NT release > FIX: Misc tweaks to submit-maya.pl and submit-generic.pl > FIX: fixed problem w/WINNT only: bumped/getoffed frames were "Fail"ing instead of requeueing. > INTERNALS: rush/common directory created, irush/onrush/input programs now all use common libs. Release Notes for 102.21a - 04-10-01 -------------------------------------------------------------------------- > FIX: www-rush brought up to date with 'List All Hosts', Change Priority, supports new '.' jobid separator, etc. > ENHANCE: Boot script handles more graceful shutdown when renders are running. Also, INIT.D messages added to rushd.log for clarity. > ENHANCE: submit-maya.pl made more generic. > ENHANCE: 'input' program now supports new 'showfail' flag, to control whether failure popups are displayed, in addition to the error windows. > ENHANCE: Added 'rush -cp' to allow changing of priorities on the fly > ENHANCE: 'PRI' column added to 'rush -lc' reports, eg: From: "STATE FRM PID JOBTID ELAPSED NOTES"; To: "STATE FRM PID JOBTID PRI ELAPSED NOTES"; ^^^^^^^^^^^^^ > ENHANCE: irush supports changing priorities on the fly with new -cp option. See 'Priority' button/input control in 'Cpus' report. > ENHANCE: Added 'Uping' buttons to "Cpu Controls" and "Host Controls" > ENHANCE: Added 'All Hosts Full' to main reports window > FIX: Priority value sanity checks didn't prevent bad values from taking place. Rewrote Priority::SetPriorityStr(const String& s). > FIX: irush missing on-line help for "Cpu Controls" and "Host Controls" > INTERNAL: Cpus_TCPCMD() [rushd.C] mods: From: #define EMSG "FAIL/NEVERHOSTS" To: #define EMSG "FAIL/CPUS" ^^^^ From: msg << "expected '" << cmdname << " <jobid> <fu> <specs..>', " To: msg << "expected '" << cmd << " <jobid> <fu> <specs..>', " ^^^ > INTERNAL: All comments refering to 'ChangeRequest()' [*.C,*.H] changed to 'Task::JobChanged()' Release Notes for 102.21 - 04-02-01 -------------------------------------------------------------------------- > ENHANCE: added tcpsockopt to rush.conf file, including 'TCP_NODELAY' which is now set by default > FIX: WINNT not removing C:/TEMP/.RUSH_TMP directories correctly. "RMDIR /Q /S" replaced with recursive FindFiles()/DeleteFile()/RemoveDirectory() > FIX: Changed RUSH_ISDAEMON to include pid of daemon, so render scripts invoking rush(1) don't print those 'reloading hosts file' messages. > FIX: WINNT error messages #32 and #33 fixed to show descriptive messages > ENHANCE: Windows NextPort() now called every tcp connect, rather than just when a program starts. ('static unsigned int alport' -> 'unsigned int alport') > submit-generic.pl included in unix releases Release Notes for 102.20g - 03-30-01 -------------------------------------------------------------------------- > FIX: 'connection refused' problem fixed in rresvport() for all UNIX platforms. The Windows fix (101.81) was now brought into compiles for all platforms. Release Notes for 102.20e - 03-24-01 -------------------------------------------------------------------------- > ENHANCE: irush backgrounds the 'imgcommand' using CreateProcess() on NT, and a fork()/system() on unix. > FIX: WINNT: socket()'s are all set to be non-inheritable, so child processes don't inherit TCP/UDP sockets, which can cause daemon restart difficulties if child renders with bound sockets become orphaned. (525) > FIX: Rewrote daemon redirection code; includes O_NOINHERIT for NT so daemon's log not inherited by child processes. Should also prevent all problems with NT daemon's log becoming silent. (525) Release Notes for 102.20d - 03-20-01 -------------------------------------------------------------------------- > ENHANCE: NT only: Special >CONSOLE_BREAK_EVENT< added to rush.conf's 'killcommand', so one can enable the internal kill mechanism if desired. Used to be this was ALWAYS used, preceding any configured killcommands. But this prooved to be troublesome, since in some cases it orphaned renders before the better perl kill scripts could do it a better way. (525) > ENHANCE: Submit process optimized, to prevent unnecessary destructor/constructor activity; submits of jobs with large frame lists should be snappier. > ENHANCE: Added 'jobidsep' to rush.conf file. Allows sysadmin to change jobid separator character if needed. Only '.' and '-' are recommended. Some companies may find '.' avoids problems on networks with hostnames like 'nt-3' (525) > FIX: UDPBUFSIZE set to 65000 for rush -laj/-lac/-status.. these Udp oriented reports had a 1000 character limit. (GVFX) > FIX: IRUSH 'Job Edit' wasn't handling multiple jobids for WaitFor and DependOn, and wasn't checking for trailing commas needed by the command line. > DEBUG: MyMalloc setup to use LinkList over array for increased speed during debug testing Release Notes for 102.20c - 03-16-01 -------------------------------------------------------------------------- > ENHANCE: If an 'imgcommand' is configured for a job, irush will invoke the command when you double click on a frame in the frame list. > ENHANCE: irush 'try' count reset added to 'Frame Controls' > ENHANCE: irush 'JOB EDIT' now has prompt for LogDir > ENHANCE: irush REPEAT button now highlights all repeatable buttons > ENHANCE: irush JOB EDIT, DUMP and END buttons repositioned, to avoid accidental DUMPs. > ENHANCE: windows install script makes sure C:\TEMP exists (525) > ENHANCE: 'rush -que run|start|die' added > ENHANCE: Added 'ImgCommand' to submit script, 'rush -imgcommand' for irush. > FIX: (525 Studios) fixed problem where jobs get cpus stuck in 'Done' state in cpu reports.. Job server wasn't reverting on duplicate messages. > FIX: A job is now done when dumped/ended if all its cpus (rush -lc) are not busy. This, as opposed to checking the framelist. (Works around stuck 'Strt' frames so job can still be dumped) > FIX: Reboot logging, and setuid() logging was missing CRLF's. > INTERNAL: 'X' debugging now simulates duplicate udp packets as well Release Notes for 102.20b - 03-03-01 -------------------------------------------------------------------------- > EXAMPLES: Included works in progress for R&D purposes only: ${RUSH_DIR}/examples/bin/input ${RUSH_DIR}/examples/renderman.in ${RUSH_DIR}/examples/bmrt-test.pl > ENHANCE: gethostname() errors fixed, use NETERR instead of SYSERR, etc. > ENHANCE: new rush.conf command 'killcommand', used ** by NT only **, allows one to set their own command used to kill process ids. Useful for killing stubborn CSH that comes with houdini, eg: killcommand csh -c "kill -HUP %ld" > FIX: Check for host dot-notation now uses %d.%d check instead of isdigit(hostname[0]) to avoid numeric hostname situations such as 3dsite.com. > FIX: Local host lookups now use ipaddr by default to avoid customer hostname(1) output not matching contents of rush hosts list. Use 'oldlocalhost' rush.conf flag to disable this feature. Release Notes for 102.20a - 03-01-01 -------------------------------------------------------------------------- > FIX: Workaround for irix fork()/setpgid() SGI panic on multiproc origin w/6.5.8 Use 'irixsetpgid' rush.conf flag to disable this workaround. Release Notes for 102.20 - 02-17-01 -------------------------------------------------------------------------- > ENHANCE: The behavior for 'rush -lac' has been moved to 'rush -lah', since it 'Lists All Hosts'. 'rush -lac' now lists the status of all cpus on the network, which is more reasonable behavior. > ENHANCE: 102.17c's new options -lajq/lacq has been converted to -laj/-lac, To access the old rush behavior for these flags, use: setenv RUSH_PRE102_20 1 > ENHANCE: irush modified: 'All Hosts' added, help improved. > ENHANCE: get_ether added to win/nt Release Notes for 102.17c - 02-05-01 -------------------------------------------------------------------------- > ENHANCE: rush -lajq (List All Jobs Quick) added. Helps get listings of all jobs *quickly* on large networks. Includes 'no response' summary. > ENHANCE: rush -lacq (List All Cpus Quick) added. Helps get listings of all jobs *quickly* on large networks. Includes 'no response' summary. > ENHANCE: irush o Added buttons for new 'all jobs/cpus quick' commands. o Added 'Select All Frames' to Frame Controls' "Select All..." choices. > ENHANCE: rush -status now reports machines that didn't respond in a small summary at the bottom of the report. > FIX: rush tmp dirs are now removed as root, incase pre-existing tmp directories owned by another user was left behind. (GVFX) > FIX: daemons clean up stale tasks automatically by reawakening tasks in JobPass/CpuPass states, based on hours specified in rush.conf: taskcleanhours #[,#..] Includes anti-network storming timer to offset the cleanup up to 40 minutes after the hour, based on each host's index in the host list. (BLUESKY) > ENHANCE: Added pid to cpu.acct logs. See cpu.acct for details. Release Notes for 102.17b - 02-02-01 -------------------------------------------------------------------------- > *FIX: jobtids/cputids are now uniquely assigned, even through daemon reboot. This fix prevents problems with 'stuck frames' after a daemon is rebooted, followed by a job quickly submitted to it. Release Notes for 102.17a - 01-26-01 -------------------------------------------------------------------------- > ENHANCE: Host groups can now expand to include ALL CPUS on each host. This is configurable via rush.conf's new 'expandallcpus' flag. > ENHANCE: rush.conf: added 'expandcpus' flag. > *FIX: During submit, job's ram value was not getting set properly for host group specifications. During task creation stage of host group expansions, ram was not being set. Release Notes for 102.17 - 01-18-01 -------------------------------------------------------------------------- > 'rush -logdir' added > 'rush -logflags' added Release Notes for 102.16c - 01-13-01 -------------------------------------------------------------------------- > NEW: major irush gui fixes: IRUSH 0.90; Help mostly done Repeat Run menu working, and running commands Winnt thread bug fixed; String declaration moved INSIDE locking code > ENHANCE: setenv RUSH_JOBID "tahoe-34 tahoe-35 erie-15"; rush -lj ..will now list jobs on "tahoe" and "erie", instead of local workstation. > FIX: 'rush -status' percentages now match 'rush -lj' Release Notes for 102.16b - 01-04-01 -------------------------------------------------------------------------- > NEW: irush gui now included in releases > ENHANCE: 'rush -lf' causes daemon to fork child to handle sending data > ENHANCE: 'rush -lf' and all other long reports now come up quickly (esp. sgi) due to improved TCP buffering while reading 'line at a time' data. -- added TcpFgetsNoCRLF() with recv() buffering > *FIX: 'rush -log' now uses TCPSENDEXIT() instead of TCPSEND() to do an Exit instead of a return. Problem: dupe forked daemon created if client killed during log transmission. (UNIX ONLY) > Various fixes to irush gui and www-rush for ISI.EDU install. Release Notes for 102.16a - 12-16-00 -------------------------------------------------------------------------- > ENHANCE: 'rush -uping' defaults to one ping sent, and waits only 5 secs. (Previous default behavior was 5 pings, 10 second waits) > ENHANCE: 'rush -af' now sorts frames into list, rather than appending. You can use reorder if you want to append them. Release Notes for 102.16 - 12-12-00 -------------------------------------------------------------------------- > FIX: 'rush -lj tahoe tahoe' would cause a 'list range error'; intertwined for() loop variables [t] and [r] repaired. > INTERNAL: $G_frames by default is disabled in www-rush > INTERNAL: Frand_NET() does one time srand() > INTERNAL: Added File and Lic classes, license system modified > ADDITION: 'rushd -hostid' and 'rushd -validate' Release Notes for 102.15b - 12-04-00 -------------------------------------------------------------------------- > FIX: Added <<ERR>> to all TCP message parsing errors, so exit status is returned to user. Release Notes for 102.15a - 12-04-00 -------------------------------------------------------------------------- > FIX: MS version of code only: a bug introduced in 102.14 (addition of 'rush -reserve') caused CreateProcess() not to check error codes. rushd.log contains errors "WaitForSingleObject(0): The handle is invalid." > FIX: 'rush -jobnotes -' will clear jobnotes. You couldn't clear them previously. > BUILD: Makefile's and build scripts use VERSION file now > NOTE: irush gui in alpha -> beta transition state. Release Notes for 102.15 - 11-27-00 -------------------------------------------------------------------------- > minor release bumped for BlackMountain eval. Release Notes for 102.14a - 11-15-00 -------------------------------------------------------------------------- > ADDITION: 'rush -log' created > ENHANCE: 'rush -ljf' now reports bad jobids, instead of ignoring them > ENHANCE: 'rush -lff' added line breaks between frames > ENHANCE: 'Jobid' column added to 'rush -lf' > ENHANCE: If a uid outside the uid range is used, rush complains right away. (unix only) > ENHANCE: www-rush: added an 'End' button to the Jobs screen, added docs for the Job Controls screen, added a 'Help' message at the top of the www-rush screen. 'Frames' version now officially supported. > ENHANCE: if RUSH_JOBID is set to "", behaves as if not set at all. (To support behavior in irush) > NOTES: irush (GUI) is being written. Tweaks to rush for support. Release Notes for 102.14 - 11-15-00 -------------------------------------------------------------------------- > BUGFIX: percentages in -lfi/-lj reports now shows percentages where 0<x<1 are shown as 1, and 100>x>99 are shown as 99. > ADDITION: cpu.acct includes exit code/signal number of process > BUGFIX/OPTIMIZATION: First job took ~30secs to start; tasks in IDLE/NAK. Was occuring when job server was both not serving any jobs AND not rendering any frames, and someone submits the first job. > ADDITION: 'rush -reserve' added. Lets people reserve cpus, eg. 'rush -reserve tahoe=2@200'. Optional 'ram' value can be included to reserve a particular amount of ram as well. > ENHANCE: rush -dump/pause/cont takes 'username[@host]' as argument, eg. 'rush -dump fred' dumps all jobs on localhost owned by fred. and 'rush -dump fred@host' dumps fred's jobs on a particular host > ENHANCE: rush -lj +any prints "hostname\r" if stdout isatty. Similar to 'rush -laj' so you can see which hosts it gets stuck on. > ENHANCE: rush -ac/-rc/-an/-rn all include jobid in output report, and 'extra blank line' report output bug fixed with -rc. > BUGFIX: Fixed help message for 'rush -rc'; included '.tid' syntax Release Notes for 102.13a - 11-0?-00 -------------------------------------------------------------------------- > ENHANCE: -deltaskfu cleans up stuck frames (it didn't before) > BUGFIX: Fixed help messages for -deltaskfu > ADDITION: rush -usend added for admin use only. Release Notes for 102.13 - 10-15-00 -------------------------------------------------------------------------- > ADDITION: Added "host:iface" to rush hosts file so one can specify which network iface to use, eg. use ethernet iface instead of default atm. > BUGFIX: chdir(tmpdir) after tmpdir created (UNIX) > BUGFIX: WAIT for fork()ed rmdir to finish before creating new copy Release Notes for 102.12a - 10-1?-00 -------------------------------------------------------------------------- > FIX: 'rush -criteria -' disables any previous criteria > FIX: Fixed some usage errors in 'rush -help' docs > ENHANCE: Added 'rush -fullhelp' > FIX: Daemon installs as 'chmod 4750' instead of 4755 (to prevent accidental execution by TDs) Release Notes for 102.12 - 10-11-00 -------------------------------------------------------------------------- > FIX: Fixed 'waitfor' field in 'Job Attributes'; was being ignored > FIX: Fixed 'waitfor'; wasn't kicking in frames once job entered RUN state. Job::SetState() now wakes up all JobPass tasks. Release Notes for 102.11 - 10-08-00 -------------------------------------------------------------------------- > FIX: Fixed problem with 'rush -title' not changing title in tasks (job was ok) > FIX: 'rush -command' and 'rush -donecommand' were not working; fixed > FIX: Fixed multiple retransmissions of CpuPass (during "No Available Ram") in Sched::_AdvertiseIdlePriGroup() causing these numerous ALERTs in logs: ALERT Ignored Frame Arbitration 'j2c-frmarb vaio-488 3 2 2 2 CpuPass1 "Ram unavailable on nt (150>106)" ': seqid mismatch [..] ..Skips non-IDLE tasks in second loop, where Sched::CpuPass() changes state of task, but does not remove it from tsorts array. In small amounts these msgs are benign; they just mean the task chaged state (frm got done) between the msg transmission and the remote ack. > 'rush -down' now removes tasks from remote schedulers (tasklist) since now JobTasks et al. never time out. > Changed CpuPass acking: was jobserver acked w/CPUPASS1, now CPUPASS2 > Fix for error "Task 'CpuPass2' ignored for non-existent frame 0" if cpuserver rejects a new task before a frame is assigned. > All methods in Job.C refering to cpus[].GetTasks() were moved to Cpu class to aid in centralizing GetTasks() references for "cpus-busy" dumps. > TODO: Reboot of a job server should notify all remote tasklists that the job is no longer valid, to flush inactive JobPass/CpuPass tasks from the scheduler. Currently you must 'rush -down' to clean them up. Release Notes for 102.10 - 09/29/00 -------------------------------------------------------------------------- > Added 'State' to rush -ljf > add -waitfor and -dependon > Added 'rush -cat[o]log' to rush & www-rush > Added 'rush -try' > Fix to String.C: mallocsize=0, List library bug > Tweaked rush exit codes values: -1 -> 1 Version Description ------- ------------------------------------------------------------------ 102.00 -- 09/27/00 -- Added 'dependon' -- Added Averages and ETAs -- Fixed %d -> %lu for elapsed time string conversions -- 'endl's added to SECURITY messages (eg. uid range errors) causing long lines in the logs. -- You can now -dump or -end a job in the Wait state (you had to pause it first) Also fixed related error messages. -- Added rush -command, -donecommand so these can now be tweaked on the fly while a job is running. -- Added hostname to daemon boot log messages, to catch problems if hostname changed while daemon running. 101.84d -- String.C tweaked for ignorecase in hostnames -- JobPass no longer has a timer; job re-awakens via UnPass messages -- DNS: fixed issue with local hostname being foo.bar.com, but only 'foo' configured in rush hosts. -- During 'rush -online', ensure jobs rescheduled more quickly -- www-rush: o Popen() now reports errors o fixes for add/remove cpus o new docs o JobModification: menu and all submits have docs now 101.84c -- 09/12/00 -- -- Fix: DNS CNAME's are now cached on the fly. Host.C modified. -- Added 'rush -lacf' 101.84b -- 09/10/00 -- -- Added ntrushuid/gid to control uid/gid values when jobs submit from NT *and* run under unix. -- Strengthening. Added double checks of min/max uid/gid's. No problem existed, just being paranoid. -- 'rush -d a' now precedes conf file loading, so debugging can be applied to the conf file loading process. Also, logflags commented out from conf file, to avoid overriding command line. 101.84a -- Fix for microsoft log rotation; G_conf.log was being closed but not re-attached() -- Fix: 'rush -que 1-10' changes didn't wake up JobPass state on cpu servers. 101.84 -- 09/06/00 -- -- Added 'rush -rc .<jobtid>' -- Added JobTid to 'rush -lc' report % rush -lc CPUSPEC[HOST] STATE FRM PID JOBTID ELAPSED NOTES vaio=3@11 Busy 0001 4659 1 00:00:07 ^^^^^^ -- www-rush: Fixed bug with Job Modification -> Cpus -> (all screens) where multiline text caused embedded \r\n's in 'rush -opt' commands. -- www-rush: Fixed bug with Reports -> Cpus -> Remove Cpus removing entire specs, instead of individual specs. -- FIXED 'PAUSE/CONT' PRIORITY BUG (GVFX). When a high priority job is paused, then later continued, it was not being sorted back into the list; it remained at the bottom. -- FIXED LOW PRIORITY SNEAK BUG. A single job in single priority grouping with multiple tasks only issued one task, instead of all of them. Thus, lower pri jobs would sneak in. 101.83 -- 08/26/00 -- -- Removed 'REPORT= +Frames+' message from www-rush -- 'disablefu' added to rush.conf (BLACK LOGIC). -- Added 'prioritystr' to Process.[CH], so -status can output priority for running processes -- '-status -s secs'; secs checked if >=1, else error -- Fixed jobs with single frame not rendering right away. If killer process has enough ram to use a machine, but cpu(s) are busy with indefeatable cpus, frame will take, and then requeue quickly. On single frame jobs, this means the single frame won't render for a few minutes. ** BLUESKY DECALPHA RENDERFARM FIXES ** -- Added # busy frames to 'j' field of 'rush -status' -- Add 1.13d input buffer absorption to rushd.C, and tweaks for 'inmaxmsg' to Conf.[CH] and etc/rush.conf -- Truncate domain names from framelist -- Fix problem where sometimes frame gets DONE without showing retries or pid. This was due to RUN sometimes being missed, then process completes. So frame goes straight from START -> DONE. Moved retry increment to Frame::Done(), and added pid as argument, so pid doesn't get lost. -- Added UnPass state after JobPass/CpuPass timer expirations. solves silly messages about sequid mismatches after a job completes, eg: >> ALERT Ignored Frame Arbitration 'j2c-frmarb va-12 2 3 697 1332 Idle ': seqid mismatch May also fix problem with occasional stuck Start states. -- Fixed problem with single frame renders not 'taking' (BLUESKY) -- rush -status tweaks: 'h' host record added 'p' records appear for idle cpus (fields '-'ed out) 'p' records now include priority 'd' record includes #cpus configured '-s secs' the secs value if <1 returns an error 101.82a -- (CENTROPOLIS) outbound socket()s now bind() to localhost iface. To ensure packet srcaddr same as localhost's, esp. on hosts with multiple (ethernet/hippi/fddi, etc) interfaces. -- Fixed WINNT bug with /dev/null -> nul; "logdir -" yields: /dev/null: The system can not find the path specified. 101.82 -- 'rush -exitbat <code>' for MSDOS batch scripts to use -- 'rush -an/-rn' takes host groups for arguments -- S99rush script added -- www-rush: cpus modification screen added -- www-rush: 'rush -status' screen format improved -- 08/05/00 -- 101.81 -- The -tasklist report fields have been better aligned -- Added automatic log rotation; 'logrotatehour' to rush.conf file -- When submitted job asks for cpus that are offline, shows 'offline' in "rush -lc" report. (Modified "newtaskack" to include a msg arg) -- Fixed 'rush -status'; > memcpy() dest/src swap > added #cpus total to 'd' report > 4 digit padding for frame number -- save offline/online state in reboot file -- Added system("kill <pid>") to microsoft code to ensure killing chalice correctly. -- Supported -uping and -status under WinNT -- Fixed hostname alignment in -uping -- Fixed bug in -ramlist report for total ram (Sched.C) -- Heavy mods to Tcp.C; added rresvport() support under WinNT, added an MS compat version of rresvport() -- Fixed MS error messages 101.80 -- rush -lj/ljf can now use host *OR* jobid 101.71 -- fixed close() vs closesocket() in NT version, which caused slow mouse, and left frames QUE in middle of job -- UPING is now only using one port. Phased out the 'clientport/serverport' stuff. 101.70 -- fixed 'echo ID:; id -a' debug msgs in etc/template -- NT version handles log file redirection