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

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



Release Notes for 102.31p - Release Pending                 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 ', 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 accomodate 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 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 '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.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 chosing 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 " 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 accessable 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 << " ', " To: msg << "expected '" << cmd << " ', " ^^^ > 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 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 hilights 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 <> 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-existant 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 absorbtion 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