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

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

Release Notes
Current Release 102.42a9, 102.42a8, 102.42a7, 102.42a6, 102.42a5, 102.42a4, 102.42a3, 102.42a2, 102.42a, 102.42
Previous Releases 102.42
102.41, 102.411, 102.412, 102.413
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
102.31k

 
Release Notes for 102.42a9                               Fixes/Features: 06/09/08
---------------------------------------------------------------------------------
> RUSH
  o RUSH: OPTIMIZE NETWORK MESSAGES
    Optimized an unusual condition that caused unnecessary rush network chatter
    when cpus were available for rendering but ram was not.
    Added rush.conf 'optimizeramsched' flag which can be set to '0' to disable
    this new optimization. (AURYN/LAIKA)

  o RUSH: Added FIFO scheduling
    Added new 'sched fifo' command to rush.conf.
    When enabled, jobs use FIFO order when priorities are otherwise equal.
    If used, must be enabled on ALL machines.
    To use FIFO scheduling, uncomment this line in the rush.conf:
        sched fifo
    ..and push the modified rush.conf file to all machines: rush -push rush.conf +any
    (SOHOVFX/ARRI/SCANLINE/PIXELMAGIC/BSGVFX)

  o RUSH: logdir pathname conversion
    Added new logdir_convert "from" "to" option to rush.conf file
    to allow log directories to be converted on the fly for non-homogenous
    configurations where drive mappings are required, such as SAN mappings
    as "local" drives where S: may be the only way to access a SAN drive
    on windows machines in a mixed unix/windows network config.

  o RUSH: Large frame requeues (Select All|Que on a 7000 frm job) optimized
    Large requeues when many frames were running at the time backlogged UDP buffers
    with 'kill' notices. Now threads UDP/TCP message handling in while operation runs. (TURNER)

  o [WINDOWS] Fixed 49 day wrap around timer (again)
    Keeps track of 'seconds since boot' timer wraps correctly now.
    This fixes problem where after 49 days of uptime, the Rushd on Windows 
    machines would stop doing its 30 second checks for changes to the 
    license.dat, hosts and rush.conf file.

  o RUSH: Fixed problem with 'change priority' error recovery
    During TCP errors caused by premature peer connection closure was
    not being abandoned correctly. This caused rushd to continue try to
    talk over dead link for each priority value being changed with long
    timeouts, causing rushd to appear unresponsive during that time.
    Dan had particularly large list of cpus to change, so rushd was
    offline for a long time during the command's continued execution
    (dan@sohovfx 11/30/07) Workaround: don't interrupt a 'change priority'
    operation while in progress.  This problem has been fixed in 102.42a9,
    such that the operation can be interrupted without side effects.

  o RUSH: Fixed problem with using rsh(1) to remotely restart rushd
    On Macs, using rsh(1) to restart rushd could cause the rsh to hang if the local shell
    is /bin/sh (not an issue if shell is /bin/tcsh)
    
    rsh(1) passes pipes and sockets to the child processes, causing rsh not
    to return properly when a program like rushd backgrounds itself.

    Solution was to have rushd close all file descriptors above stdin/out/err
    during daemonization to ensure none of rsh's pipes get inherited by the 
    daemon.

  o Re-instated 'rush -jobremarks' (was lost due to a source code regression)
    and submit command 'jobremarks' (REG.TESTED/OK)

  o Added 'rush -exitnotes' (REG.TESTED/OK)
    This is a low-latency way for jobs to set the 'NOTES' field of the 'Frames' report
    when a render is exiting. (as opposed to using 'rush -notes', which uses TCP and
    can negatively affect the job server's response if run too frequently)

  o 'rush -push': preserves file modes of existing file before overwriting
    Allows distributing the S99rush file (which is executable)

  o cpu.acct file: added online/offline state to 'r' (rotate) field (MINSK/CIS)

  o cpu.acct file: new 's' (state) field shows timestamps for online/offline state changes. (MINSK/CIS)

  o cpu.acct file: added rush.conf 'cpuacct_usetabs' flag; if set to '1', cpu.acct fields
    will be tab delimited instead of space delimited. (Lessens size of file)

  o rush/etc/hosts: detects too few fields

  o rush/etc/hosts file now allows comments at end of data lines. (ORPHANAGE)

  o [MICROSOFT] reports new 'log on failure' messages with newer compiler

  o Fixed improper hostname reporting:
    % rush -ping router
    rush: 'fe.erco.x' [router]: valid host is NOT in rush hostlist (/usr/local/rush/etc/hosts)
           ---------
  	   This is the last host in the rush hosts file.
	   Also should be showing the IP address in the brackets.

  o 'Ram unvailable (x>y)' messages in 'rush -lc' reports; value for 'y'
    could sometimes go below zero, which is reasonable during calculations
    (due to TASK_START states). Reports now have value clamped to zero 
    for clarity.

> IRUSH

   o Added Edit -> Preferences -> Themes.
     First loads $RUSHDIR/rush/etc/.irush-themes (if it exists)
     Then tries to load user's own ~/.irush-themes (if it exists)
     Contents are merged, and will appear in Preferences -> 'Themes' menu.

       

   o Frame range optimizations weren't enabled.
     This speeds up changing the state of many frames at once, such
     as doing a Frames -> Select All -> Que.
     Code that optimized large lists of frames (eg. 7000 frames)
     to convert 'rush -que 1 2 3 .. 7000' into a single 'rush -que 1-7000' command
     was accidentally disabled due to a simple > vs >= bug. (TURNER)
  
   o Added 'usetheme' to .irushrc file, to allow saving of user's Theme preference setting.
     Also allows admin to define default theme in $RUSHDIR/rush/etc/.irushrc

   o License warnings update automatically

   o Added 'jobremarks' to "Job Edit" (TESTED, OK)

   o Added 'irush -fu' command line flag, updated 'irush -help' (TESTED, OK)

   o Fixed problem with auto-scrolling frames report when sorting enabled
     (FATIMA @ HAMMERHEAD)
     One line fix:
             tty_browser->topline() == 1)	// OLD
             tty_browser->topline() <= 1)	// NEW

   o Fixed 'Edit -> Select All' option
     (JEREMEY@BSGVFX 11/15/07)

   o 'All Cpus' report: larger buttons under 'Hosts' section

> SUBMIT SCRIPTS:

    o submit-3delight -- added new submit script

    o submit-dependon and submit-dependon.bat demo: 
      removed unix-specific /bin/sleep commands.

    o .common.pl prevents chdir() to tmpdir

    o submit-fusion.pl -- Released with support for ConsoleSlave

    o submit-animo.pl -- Added more "Alpha Channel" and Pixel Aspect Ratio options.

    o submit-maya*.pl -- Added REPORTERROR=0 env variable setting to prevent senddmp.exe
                         (See rush.general posting from Greg on 01/29/2008)

    o submit-maya-and-mray-tile -- removed old maya 'exit 128 license error' code

    o submit-maya-tile -- added layers support

    o submit-maya.pl -- added 'default' and 3delight Renderer: prompt options
    	> maya2008 mods (32bit and 64bit)
	> 3delight plugin additions
	> Removed old maya 'exit 128 license error' code
	> added license pause ability, Licpause+Retry (DADO/WILDBRAIN)
	> Warns about spaces in pathnames

    o submit-harmony -- doc modifications

    o submit-nuke -- numerous modifications for consistency

    o submit-renderman -- numerous modifications for consistency

    o submit-shake-quicktime -- numerous fixes to support codecs

    o submit-softimage -- added -continue flag

    o Added -presets and -help command line flags to:
	> submit-3dsmax.pl
	> submit-afterfx.pl
	> submit-cinema4d.pl
	> submit-combustion.pl
	> submit-generic.pl
	> submit-houdini.pl
	> submit-mray-tile.pl
	> submit-nuke.pl
	> submit-rayz.pl
	> submit-realflow.pl
	> submit-renderman.pl
	> submit-shake-quicktime.pl
	> submit-turtle.pl

> RUSHADMIN:
   > Added 'Scheduling' tab to adjust new rush.conf fifo scheduling flag

   > Some minor onscreen documentation mods, small GUI improvements

> INPUT:

    o added 'updatecommand' to 'choice'

> INTERNAL:

   o String Library: fixed problem with String::ExpandEnvironmentVariable()
     when expanding variables at the end of string. (Found when irush Hotkey
     was set to e.g. "echo LOGNAME IS $LOGNAME", the $LOGNAME would be empty,
     but using "echo LOGNAME IS ${LOGNAME}" would work.

   o Updated TCP/UDP iface bind() error messages to include port number

   o [INTERNAL] Back ported MicrosoftDeprecate.H

   o [INTERNAL] Back ported MyMalloc.C exit callback

   o Makefile: linux lib64 specifics

   o Makefile: Mac now builds universal binaries by default

   o FrameType: operator- and operator+ converted to const

   o IRUSH: Converted frame optimization from doubles to FrameType,
     to support large floating point frame numbers (10000.005),
     avoiding suffering limitations of floating point precision.

 
Release Notes for 102.42a8                             Features/Fixes: 02/15/2007
---------------------------------------------------------------------------------
> RUSHD

   o OSX: Important fix for rushd.log filling Mac OSX disks with numerous errors:
     [..]
     12/14,00:00:00 FAIL/TCP   Accept failed: Accept(): Socket operation on non-socket
     12/14,00:00:00 FAIL/TCP   Accept failed: Accept(): Socket operation on non-socket
     12/14,00:00:00 FAIL/TCP   Accept failed: Accept(): Socket operation on non-socket
     [..]
     This was caused by a bug in OSX 10.4.8 (and older) where the res_init(3) call
     sometimes closes stdin (intermittant problem). This would happen whenever 
     the rush/etc/hosts file was pushed out, or with a 'rush -reload hosts'.

     This is a bad, bad bug in OSX, so a workaround was implemented:
     checks if stdin closed after res_init(), and if so, re-attaches stdin to /dev/null.
     (Lubo/CHRISTOVFX, Michael/LOOKFX)

   o UNIX: Close all unwanted file descriptors before invoking renders.
      (eg. close 3..OPEN_MAX within 'intermediate process' after vfork)

   o UNIX: Fix to 'rush -catlog' and 'rush -dcatlog' to prevent leaking
     open file descriptors to daemon. (UNIX only; doing open() before fork())
   
   o Fixed problem with 'donemail' not being sent if a jobdonecommand is also set.

   o Small change to rush.conf file: removed 15 character truncation for hostname field
     of the frames report:
     BEFORE: framefmt      "%-4s %-7s %-3d %-15.15s %-7d %-16s %-14s %-8s %s"
      AFTER: framefmt      "%-4s %-7s %-3d %-15s %-7d %-16s %-14s %-8s %s"
                                           ^^^^^
   o CpuInfo-MICROSOFT: Fixed problem with cpu info not showing up under Microsoft Vista.
     Involved zeroing out structures with memset() before making PDH calls.

   o During submit, if 'logdir' is not accessable, error message includes the username
     and hostname to give a permission context to the error message, eg:

          OLD: rush -submit: LogDir: /some/path: permission denied
	  NEW: rush -submit: fred@tahoe: LogDir: /some/path: permission denied
	                     ^^^^^^^^^^

     Esp. useful under windows, where the rushd service that has to access the file
     is running under a different security context (which won't have access to the file)
     vs. the submitting user.

   o donemail: now prints reports in this order:
	--- Frame Info Report:
	--- Frames Report:
	--- Job Report:

   o rushd.log choke installed as added precaution for the above Accept() error msgs;
     msgs won't repeat more than once every 5 seconds.

   o Commented out title truncations from all submit scripts, so that job titles
     derive from the complete scene filename.

   o Stream library falls back to stderr if fp un-initialized.

   o Added 'ssb=' field to 'rush -ping' to print 'Seconds Since Boot' value
     for tracing problems with windows time stamps.

   o WINDOWS: Fix for the 'rush -status' error:
     X PdhValidatePath('\Memory\Pages Input/sec'): The specified object is not found on the system 
     ..which was preventing some windows machines from not showing up in rushtop
     because Windows wasn't providing Page In/Page Out counters. (seth/PROLOGUE FILMS)

> IRUSH

   o New 'Search Filter' feature
     See demo: http://seriss.com/rush/flash/irush-report-demo.html.

   o Fixed 'Cmd' button causing sort buttons from previous report to disappear.

   o WINDOWS: Now tries to use HOMEDRIVE and HOMEPATH environment
     variables for saving the user's .irushrc file if HOME isn't set.
     Falls back to c:\temp only if none of the above are set. (NIKLAS/SWISS INT'L)

   o MySystem() checks to see if GetExitCode() fails

   o Modifications for special priority sorting (RAINMAKER)

   o (LINUX) Invoking help docs tries different attempts to open browser, in order:
     htmlview, firefox, mozilla, konqueror.

   o (LINUX) Install script now creates /etc/profile.d/rush-render-queue.{csh,sh} scripts,
     to avoid modifying the /etc/profile and /etc/csh.cshrc* files.

> RUSHTOP

   o WINDOWS: Now tries to use HOMEDRIVE and HOMEPATH environment
     variables for saving the user's .rushtoprc file if HOME isn't set.
     Falls back to c:\temp only if none of the above are set.

   o Help viewer now have selectable text for copy/paste

> RUSHADMIN

   o (WINDOWS) Fixed 'integrity check' problem with "Rush Config" tab
     (CHI/RAINMAKER)

> SUBMIT SCRIPTS

   o All submit script's menu bars now have a new 'Edit -> Preferences -> Use native filechooser'
     option, which enables your local operating system's native file chooser.
     (ie. on macs you'll get the 'mac' file chooser, on Windows you'll get
     the default windows file chooser, etc)

     Once you change this setting, it will be remembered for all your
     rush submit script invocations.

     Screenshots: http://seriss.com/rush-current/features/rush-102.42.html#NativeFileChooser

   o All submit script's 'Help' viewers now have selectable text for copy/paste
     You can now highlight text from the help screens, and use ^C to copy
     examples into the paste buffer.

   o submit-maya
       > Added 'MI generation' option to just generate MI files
         See the 'Render' pulldown menu for the new 'migen(mi)' option.
	 Click on the 'Help' button (at the bottom of the submit form) for more info 
	 on how to use this new option.

   o submit-maya + submit-maya-tile:

       > Added optional "Project:" prompt, so that a fixed
	 project directory can be specified, instead of parsing the
	 project from the scene file pathname. (FILM ROMAN,NICKELODEON)

       > Added new '-field' command line argument, so that /any/
         of the input fields can be preset from the command line. Useful
         for MEL script invocations.

       > Added checks to see if scene file exists.
         Both on submit, and during rendering.  Prevents situations where Maya
	 doesn't return a non-zero exit code if scene file can't be opened. (alpha3)

       > Added Maya 8.5 environment variable settings

   o submit-maya-tile:

       > Added 'Background Color:' field for setting background style.
         This allows the user to either choose 'none' to allow the alpha channel to
         be transparent, or to choose a specific color (such as 'white' or 'black')
         to set the background to a flat color.

       > Added Maya 8.5 environment variable settings

   o submit-softimage:

        > 'logtrim' default enabled to speed up rendering for "-verbose full"
	  Can be configured off easily by setting "$G::logtrim_always = 0;"
	  (STEVE/SUSPECTTV)

	> Under windows, invokes "xsibatch.bat" instead of just "xsibatch"
	  (HARVEY/BSKYB, LOOKFX)

	> Added command line presets (-field SceneFile:/some/path/foo.scn)

        > Call to 'siclean' now disabled by default. 
	  Can now configure on easily by setting "$G::dosiclean = 1;"

   o submit-3dsmax:

        > Fixed problem causing "Error opening scene file: c:\temp\test.max"
	  (HARVEY/BSKYB)

        > Added environment variable setting examples for 3dsmax8
	  (HARVEY/BSKYB)
	  
   o submit-fusion (BETA): Eyeon reports that .flw -> .comp.
     Script now browses for both extensions. Script still not recommended
     for use; Eyeon still doing more testing.

   o Added new script "submit-harmony" for ToonBoom's 2D animation software
     Also added submit-pix2vec, which handles vectorization. For information on using and installing
     these scripts, see: http://seriss.com/rush-current/submit-harmony/
     (FILMROMAN/IDT ENTERTAINMENT)

   o submit-maya, submit-shake, submit-softimage, submit-harmony
     all now have "-help" and "-field" options. The new "-field"
     allows submit forms to be preset via the command line, eg:

     //server/scripts/submit-maya.pl -field Frames 1-150 -field "Job Title" Maya_Test
     //server/scripts/submit-shake.pl -field Frames 1-10 -field "Job Title" Shake_Test
    
   o Removed cause of 'black DOS windows' during submit (.common.pl)

   o Removed 25 character truncation of job titles from all submit scripts
     since now irush has resizable columns.

   o submit-generic fix to handle exit(2) [requeue] from user's custom commands.
     (RAINMAKER/BEN STEELE)

   o Added simple Python and Ruby example scripts:

         > simple-submit.py  -- Simple Python example of how to submit a rush job
         > input-example.py  -- Simple Python example of how to bring up a GUI using rush's 'input' program

         > simple-submit.rb  -- Simple Ruby example of how to submit a rush job
         > input-example.rb  -- Simple Ruby example of how to bring up a GUI using rush's 'input' program

> LOGTRIM
    o WINDOWS: Mods for better error reporting; call to MyPipe::GetExitCode() wasn't
      checking for failure to /get/ exit code. (windows!)

    o WINDOWS: Fixed problem in MyPipe-MICROSOFT causing this error in logtrim:

        logtrim: WARMING: could not get exit code: pipe.GetExitCode(): WaitForSingleObject() timeout

      ..changed:

        BEFORE: switch ( err = WaitForSingleObject( pi.hProcess, 0 ) )
         AFTER: switch ( err = WaitForSingleObject( pi.hProcess, INFINITE))

      ..this ALSO fixed a problem that caused perl scripts to report 'Can't spawn'
      errors when "Max Log Size" is >0.

> INSTALL SCRIPTS:
  o Linux install script now creates /etc/profile.d/rush-render-queue.{csh,sh}
    files, instead of directly hacking /etc/profile and /etc/csh.{cshrc,login}.
    This is so that OS updates that affect the latter files don't affect rush
    from starting on boot.


 
Release Notes for 102.42a7                                     August 2006
--------------------------------------------------------------------------

> IRUSH:
  o Switching jobs in irush now updates the job's title in the Irush title bar.
    (JWALT/CBS and SEAN/TURNER)

  o Added 'Upper:AllCpus' option to the 'Edit Hotkeys' menu
    This way one can make hotkeys for 'rush -lac' that includes colored reports.
    (ORPHANAGE)

  o Added ability for 'Hotkeys' to be 'repeatable':
      1) Hit 'REP'
      2) Hit one of your pre-programmed Hotkey menu item (or function keys)
         to cause it to repeat.
    (DYLAN/FUEL, COREY/INSOMNIAC)

  o Hotkey menu turns green when repeat button is hit, indicating it too
    can be repeatable.
    (DYLAN/FUEL, COREY/INSOMNIAC)

  o Enabled better autodetection when new columns are added to reports.
    Helps custom generated reports work as expected as 'hotkey' scripts.
    (RAINMAKER)

  o Control buttons now remain a fixed size during irush window resizing.
    (Replaced Fl_Group with FixedSizeGroup)

> RUSHD: 

  o [OPTIMIZATION] unix/vfork and Windows both use internal 'rush -spawn'
    instead of 'rushd -spawn' to avoid overhead of rushd reloading 
    rush/etc/hosts file.  Customers with large rush/etc/hosts files will 
    benefit here; removes per-frame overhead of hosts file reload.
    (ZOIC/ORPHANAGE/WBFA)

  o Removed 'settlement delay' when UDP errors encountered by recvfrom()
    which was causing sluggish response to UDP traffic, and these error messages:
    Udp::Receive():recv_from(): Connection reset by peer
    ..mostly under windows.
        Symptoms: 
	    a) Many 'connection reset by peer' errors in rushd.log
	    b) Messages coincided with UDP specific sluggishness ('-lac', '-status', rushtop)
	    c) By contrast, TCP commands relatively responsive (-ping,-lj,-lf)
            d) CPU use of rushd was very /low/ during non-response periods
    (DYLAN/FUEL)

  o OSX: fixed free memory calculation for Mac/OSX, added 'inactive' ram to free count)
    Result: more accurate view of free vs. used memory in rushtop for OSX platforms.
    (ROB/CIS)

  o 'rush -cp @100' shortcut for changing priority of all cpus implemented

  o Added new rush.conf commands "win.priority.daemon" and "win.priority.render"
    to allow the priority of the daemon and the renders to be explicitly set 
    by the sysadmin, to help keep the daemons responsive during heavy rendering
    (DYLAN/FUEL), eg:

	# Make daemon 'above normal' priority, keep renders at regular priority
        os=windows win.priority.daemon above_normal
        os=windows win.priority.render normal

    Valid settings are:
	 normal, above_normal, below_normal, idle, realtime

  o Knocked some other error managing 'settle down' delays from 5sec -> 1sec

  o Resolver library reset when hosts file reloads (so that DNS server info
    is rehashed)

  o Changed handling of JOBPASS/UNPASS events to not look for frames
    to prevent unnecessary error message babbling in the logs.

  o Silenced 'connection reset by peer' messages from recvfrom(), as these
    could happen when sending eg. reboot messages to remotes that were down,
    causing needless babbling in the rushd.log
    (DYLAN/FUEL)

  o Added fedora3 libs to release dir (so 64bit machines can install correctly)
    Tested on 64bit fedora4.

  o Added -D_FILE_OFFSET_BITS=64 compile flag to rush and rushd to ensure
    64bit runs OK when mounting 64bit remote file systems. (CAPITAL-FX,08/22/06)

  o Added logdir.sync to rush.conf: allows disable fsync() commits for frame logs

> RUSHTOP: 
  o Reports 'rush -status' errors (reported on the optional 'X' line)
    so as to make eg. PDH library errors visible. Shows errors as white text 
    over a red background.

> RUSHADMIN:
  o Fixed 'rush: command not found' error on OSX when rushadmin
    invoked from Finder.

> SUBMIT-TURTLE:
  o Frame Padding now assumes 'default' intead of '1' (ENGINEROOM?)
  o Added 7.x settings

> INSTALL SCRIPTS:
  o Unix install scripts modified to recommend starting daemon with 
    /usr/local/rush/etc/S99rush start
    ..which is more consistent than /etc/init.d/rush and/or /System/Library/StartupItems.

> SUBMIT-MAYA SCRIPTS
  The submit-maya vs. submit-maya6 scripts were confusing people.
  So the scripts were renamed:
      > The new style "Render -r" scripts were renamed to "submit-maya"
      > The old style "maya -batch" scripts were renamed to "submit-maya-old".

  Here's the specific name changes to the maya scripts:
      SUBMIT-MAYA  --> SUBMIT-MAYA-OLD
      SUBMIT-MAYA6 --> SUBMIT-MAYA

  And the name changes to the maya tile scripts:
      SUBMIT-MAYA-TILE  --> SUBMIT-MAYA-OLD-TILE
      SUBMIT-MAYA6-TILE --> SUBMIT-MAYA-TILE

  So to use the newest scripts, use 'submit-maya'.

> INPUT:
  o Added submitboxup/boxdown, cancelboxup/down, helpboxup/down
  o Added togglebutton
  o checkbutton
  o choice: added 'boxup' (allow redefinition of boxup type)
       
 
Release Notes for 102.42a6                     06/12/06 -- IMPORTANT FIXES
--------------------------------------------------------------------------
> IRUSH:
      o Shows warning if license will expire within 5 days.
        See license warning image

      o Fixed problem with report buttons not showing for hotkeys

      o IRUSH: Fixed small bug in Hotkeys: sometimes hitting hotkeys won't show
	formatted reports properly; 'jobs' or 'frames' reports would use the 
	formatting from the last report that was generated, instead of applying
	the report formatting for the programmed hotkey. Problem depends on the
	last report that was on screen. 
	
	Replication: 
	    1) Program a hotkey to generate a 'Jobs' report. 
	    2) Hit the "Frame Info" button (generates an unformatted report)
	    3) Hit your new hotkey; the job report will remain unformatted
	       (no resizable columns or sort buttons)
	Caveats:
	    If you hit the 'Jobs' button, then your hotkey, it will work correctly.

> RUSH:
      o IMPORTANT UNIX FIX: fixed fork() bug with 'rush -ljf JOBID' command
        that left behind an extra copy of the daemon if the JOBID specified doesn't
	exist. Also added code to detect similar errors and prevent the problem.
	(WARNER/HAGGE,ELECFX/PVC,EFILM/VAILE)

      o Fixed problem with daemons not reporting missing log dirs in user's framelist.
        'rush -notes' was being invoked w/out the frame number, causing these errors in rushd.log:
	rush: 'rush -notes': frame range error: 'ERROR: can't create log as erco@tower: //some/path: No such file or directory': bad frame number at 'E'

      o UNIX OPTIMIZATION: vfork() option added to reduce memory use when rushd starts processes.
        Solves problem caused if someone dumps several jobs at once on a large
	job server, and job server suddenly starts using a lot of memory due
	to fork() being called to run job[done/dump]commands and archival of
	jobinfo/framelist files. The fork()s were causing page table activity
	(in spite of the fact that 'copy on write' should prevent memory use).
	(for ZOIC/LAIKA/VINTON)

      o New option in rush.conf: use_vfork [0|1].
        use_vfork is now on by default.

      o Silence these ALERTs:
        05/29,18:18:09 ALERT Task 'CpuPass1' ignored for non-existant frame -99999 from ?@remotenode:1457[#.#.#.#:1457]
        Prev=jobserver 0 jobserver.94,SOME_TITLE -99999  433 1  JobPass  Job state is 'Done'
         New=jobserver 0 jobserver.94,SOME_TITLE -99999  433 1  CpuPass2 Ram unavailable on remotenode (1>0)
	(RENDERROCKET)

      o Frame state change security messages modified to be consistent with other change notices:
        OLD: SECURITY jobowner@tahoe.33(JOBTITLE) frames changed (1-100) to state Done by someone@somehost
	NEW: SECURITY someone@somehost changed frames (1-100) to state Done for job jobowner@tahoe.33(JOBTITLE)

      o Silenced extraneous messages about frame state changes
        when the command the user ran din't actually change any frames. eg:
        SECURITY .. frames changed (xx) to state (yy) by (someuser)"
        (THE ORPHANAGE) 

      o rush.conf has new "browser.command" to allow control over which HTML browser
        is used for viewing some html documentation (eg. Irush|Help|Tutorial).
	See http://www.seriss.com/rush-current/rush/rush-conf.html#Browser.Command (WBFA/HAGGE)

> SUBMIT SCRIPTS:

      o SUBMIT-MAYA6-TILE:
           > Fix for Alpha channel getting flattened out by ImageMagick.
	     (SEAN P/TURNER)

      o SUBMIT-MAYA6:

	   > Fixes for rendering with Mental Ray Standalone with batched frame ranges

	   > Handles floating point rendering

	   > Handles stepped batching (eg. Frames: 1-100,2   BatchFrames: 10)

           > submit-maya6 has greatly enhanced "Help" documentation
	     ..for how to use the script in its various forms for:

		Maya Software Rendering
		Maya Floating Point Rendering
		MentalRay For Maya Rendering
		MentalRay Standalone Rendering
		RenderMan Rendering

	     To see these new docs, click on the "Help" button at the bottom
	     of the submit form, showing how to use each of these rendering options.

           > Fixed Chdir message to indicate changing to project dir

	   > Added RenderMan plugin variables

           > Prints warning if user's maya preferences dir doesn't exist
	     (which causes command line renders to fail with weird error from maya)
	     Checks:
                   MAC: $HOME/Library/Preferences/Alias/maya
                 LINUX: $HOME/maya
               WINDOWS: No checks

      o SUBMIT-SHAKE-QUICKTIME:
          > Added lots of Quicktime codecs, thanks to Mike Marcus at Gadget-MC.

> INTERNALS:
      o input's Yes/No dialog now uses red/green colored buttons
      o AlertMessage improved, OK/Cancel buttons stay constant size

 
Release Notes for 102.42a5                          04/15/06 -- SMALL MODS
--------------------------------------------------------------------------
> RUSH:
      o rush -lah: Report if there are too many hosts in rush/etc/hosts
        Modified to now show:

  % rush -lah
  IP               Hostname        Ram  Cpus MinPri Criteria
  192.168.0.10     geneva          1024 2    0      +any,+w2k,+work
  192.168.0.3      rotwang         100  2    0      +any,+erco,+linux,linux,linux6.0,intel,dante
  192.168.0.9      ontario         100  2    0      +any,+erco,+linux,linux,linux6.0,intel,dante
  [..]
  192.168.5.132    r0129           100  1    0      +any,+sgi
  192.168.5.133    r0130           100  1    0      +any,+sgi
  *** ERROR: TOO MANY HOSTS IN RUSH HOSTS LIST [24 found, 20 max]     <--
  *** ERROR: The following hosts are being ignored by rush..          <--
  ***     192.168.5.134    r0131           100  1    0      +any,+sgi <--
  ***     192.168.5.135    r0132           100  1    0      +any,+sgi <--
  ***     192.168.5.136    r0133           100  1    0      +any,+sgi <--
  ***     192.168.5.137    r0134           100  1    0      +any,+sgi <--

      o [INTERNAL] 'rush -dlog e' now reports license reload time checks,
        in addition to hosts/rush.conf.


> WWW-RUSH:
    o Help links open new window
    o Small additions to JobEdit help

> IRUSH:
    o "Frm Info" fixed in "All Cpus" and "Cpus"

> SUBMIT:

    o submit-maya6       -- added 'mentalray-standalone' option using 'Render -r mi', Mray Flags, Debug, etc.
    o submit-lightwave   -- added JD Trout's mods (loni.ucla.edu) for lightwave/linux
    o cpu-utilization.pl -- applied minsk@CIS's $daystart bugfix, added some comments

 
Release Notes for 102.42a4                         03/09/06 -- IRUSH FIXES
--------------------------------------------------------------------------
> IRUSH:
     o Removed CRLFS from 'rush -rn' commands. Hostnames with crlfs was causing problems
       with daemons. (FUEL/DYLAN)

     o Added ^A to do a 'select all' for both windows

     o Some mods to \r \n stuff

     o Fixed handle leak in MyPipe-MICROSOFT + MyPipeCommand

> RUSH:
    o 'Trade uid/gid' error messages weren't reporting remote hostname in logs
       OLD: 03/14,17:15:17 SECURITY   TradeUidGid() FAILED: 'XXX': bad uid/gid handshake
       NEW: 03/14,17:15:17 SECURITY   TradeUidGid() FAILED: 'XXX': bad uid/gid handshake from ontario[192.168.0.9]

> SUBMIT:
    o (WINDOWS) submit-bmrt.bat wasn't installed in Windows distribution properly

 
> --- Internal Release: 102.42a3 (03/01/06)
  Irush optimizations/fixes. No changes affect network messages.
  Client/server compatible w/102.42a

> IRUSH:
    o IRUSH: Now has interactively resizable columns. See:
      http://www.seriss.com/rush/patches/102.42/irush-resizable.html

    o irush beta: Optimizations for irush sorting: switched to using qsort for buttons,
      and realtime sorts use new optimization for worst case sorts. (LUMA PICTURES)

    o irush beta: Fixed threading problem that appeared only in irush beta testing
      causing irush to hang on OSX after long periods of REP operation. (FUEL)

> RUSH:
    o Fixed fork() problem with 'rush -lc' if jobid unknown and delivery of error message
      fails, an orphaned daemon would result.

> SUBMIT SCRIPTS:
    o Fixed problem with submit script file browsers under Linux 64bit systems
      accessing IRIX64 mounts, and giving a "Value too large" error. (LOOKFX)
      (Added -D_FILE_OFFSET_BITS=64 to FLTK and Rush build flags)

> Internals/Preventative Maintenance:
    o Fixup Makefiles to ensure all FLTKDIR= settings are consistent.

    o Modified Makefile: 'make release' automatically builds .make-XXXX.out file

    o Converted all TCPSENDEXIT -> TCPSEND, added 'int forked = 0;' to all functions,
      to ensure no problems occur with fork() return vs. exit() management in macros.

    o Verified all funcs using TCPSEND redefine "EMSG" macro for accurate log msgs.

 
> --- INTERNAL RELEASE 102.42a2 (02/07/06)

  Maintenance fixes + new submit scripts.
  No changes affect network messages. Client/server compatible w/102.42a

> IRUSH:
  o IMPORTANT FIX: fixed a problem with 'rush -log' for 
    floating point frames (as reported by TURNER with submit-mayatile.pl
    for viewing logs for 0001.00, 0002.00, etc)

  o Clearer description text for Job Edit remove cpus

  o Using centralized ShowLogsForSelectedFrames() (removed redundant code)

  o (Did NOT take jobcommandlogs stuff from 102.42b)

> rushd:

  o "Dependon" behavior fixes (for theorphanage)

  o JobState_TCPCMD: Fails if user tries to 'rush -cont' a job that isn't paused.

> RUSH:
  o Trims hostlist if too many hosts, instead of failing outright.
    (Host.C)

  o Fixed problem with daemon not resolving IP addresses when a host
    reboots with no network access temporarily.

    Fixes this problem that occurs right after boot:
        01/25,06:51:47 INIT.D     Startup script '/usr/local/rush/etc/S99rush start'
        01/25,06:51:47 INIT.D     Executing: ( /usr/sbin/ipconfig waitall && cd /usr/local/rush/var && /usr/local/rush/bin/rushd ) &
        01/25,06:51:48 LICENSE    select() on connect(): Connection refused          <--
        01/25,06:51:48 LICENSE    no servers could validate license (30 sec retries)
    ..where the last two messages repeat for 15mins after network connectivity
    is restored. Also fixes this problem:

        01/25,07:07:26 ALERT      Udp::GetRemoteHostname(192.168.0.9): host 192.168.0.9 not in tower:/usr/local/rush/etc/hosts
        01/25,07:07:27 ALERT      Udp::GetRemoteHostname(192.168.0.12): host 192.168.0.12 not in tower:/usr/local/rush/etc/hosts

    ..where hosts ARE in the rush/etc/hosts file, but the entries remain ???
    due to the network outage, and weren't being recached, due to missing
    call to _CacheNIS() in the Host::IsIpAddr() method. 'rush -lah host'
    would actually FIX the problem, due to how that command fixes the cache. (CIS/MINSK 01/25/06)

  o  Fix for 'rush -rc' slowness when removing cpus.
    (Job.C: was doing hostname lookups on .tid's) ENGINEROOM/CURIOUSPICTURES

  o IMPORTANT FIX: 'rush -push' Fix for Windows 'Operation would block' error
    which shows up when 'rush -push'ing on large windows nets.

  o Fix for 'rush -lfi' for single frame rush jobs not reporting ETAs

  o Fixed rare duplicate entries in -laj/-lac reports.
    Problem caused by transmission serial numbers.

  o Added setlogin(2) calls to OSX.
    Use 'use_setlogin' in rush.conf to allow enable/disable. (on by default)

  o Added [optional] use_setlogin to rush.conf

  o Added [optional] submit.nice to rush.conf

  o Added [optional] use_localized_pdh to rush.conf

  o Widened "Owner" field from 8 to 14 for 'rush -lj/-laj/lac' fields.
    (rush.conf)

  o rushd/windows: now gets cpu status info if Windows is localized
    in a language other than English. (This can be disabled in the
    rush.conf file with 'use_localized_pdh no') *TESTED 01/22/06 on WIN2K*

  o Fixed jobcheckpoint loading -- jobs with blank lines in job notes was
    preventing job from restarting. [SOHO] *TESTED 01/22/06*

    Fixes this error:
        01/12,11:19:56 CHECKPOINT /usr/rush/var/jobs-checkpoint: Line 841: 'notes' nothing specified
        01/12,11:19:56 ALERT      *NOT* starting jobid muppy.14 due to above error

  o Enforcing line length limit for command line arguments:
        rush -jobnotes "XXXX"
        rush -notes "#:XXXX"
        rush (-online/-offline/-getoff) -msg "XXXX"
    'rush' will fail with an error message if line too long to prevent crashing
    daemons. (DYLAN/FUEL) *TESTED 01/22/06*

  o Expanded String.C line limits from 1000 -> 4096 for Sprintf() methods.
    Dylan @ fuel reported a problem caused by hitting a line limit for
    job notes and frame notes.

  o -checkhosts now checks license count

  o (Some small -rendersim fixes)

> SUBMIT SCRIPTS:

  o .common.pl: allows '#' comments in screen description text

  o Added new submit scripts and tweaks to Makefile:
        submit-cinema4d
        submit-fusion
        submit-realflow
        submit-turtle
        submit-maya6-tile

  o Included Mac's examples/Applications dir for all platforms.
    (Makefile.pl)

  o Changed G::logtrim_always from 1 -> 0 for all scripts by default.
    (logtrim somehow causing trouble under Windows)

  o submit-animo -- numerous slate/ddr fixed for Keith Pang's tests

  o submit-combustion -- 'tabified' form

  o submit-maya:
        > Maya 7.0 Mel fixes for mray standalone rendering
        > Maya 7.0 default variables
        > Added 'SaveMIDirectory' prompt (XRAY/A52)
        > Fixed image viewing for mray renders that don't print full image pathname (XRAY/A52)

  o submit-maya6:
        > Maya 7.0 default variables

        > Added 'renderman(rman)' to Renderer: chooser

  o submit-mayatile:
        > Maya 7.0 default variables
        > Added auto-project determination (TURNER)
        > Fixes for image directory use, -rd flag

  o submit-maya6-tile:
          > New script that uses newer 'Render -r [sw|mi]' syntax
            for tiled rendering of both Maya and Mental Ray rendering. See:

            http://www.seriss.com/rush-current/submit-maya6-tile/

  o submit-mray:
        > RenderFlags moved to MentalRayFlags
        > Added 'FieldRendering' flag for SI style field rendering (coreent)
        > Added checks for if MI file doesn't exist
        > "Tabified" the form
        > Numerous improvements to the docs, documenting above

  o submit-shake-quicktime:
        > IMPORTANT FIX: argument order problem
        > Added verbosity option
        > Separate "Sorenson Video 3" and "Photo-JPEG" options

  o submit-shake: 
        > NumberOfCpus default changed to 1 to prevent cpu overuse
        > Added -field stuff, to support command line presets
          (to allow plugins to invoke submit-shake with presets)

  o submit-combustion: "tabified" the form

  o submit-softimage:
       > Added SPM_HOST example settings
       > XSI 4.0 default values
       > xsi command line changes: "xsi" -> "xsibatch", "-script" -> "-scene"
       > Prompt change: LogDir -> LogDirectory
       > Wasn't setting the "Job Title" to the scene filename (regex fix)

  o (input: ported over all improvements to date from 102.42b (12/02/2005))

> WWW-RUSH

  o added check for Windows/Apache (HWEST/BSKYB)

> EXAMPLES
      o .common.pl added new functions: sgn(), SaveSubmitInfo(), BatchStepSubmit()
      o Added input-example.py

> Internals/Preventative Maintenance

  o Disabled some ERCODEBUG messages leftover for TASKIO_RECV
    (Task.C)

  o Fixes for Help guis not using correct help directory.
    (common/MyBrowser.H)

  o Removed unused 'underline' stuff from MyLinkLabel.

  o FLTK/MICROSOFT: Fixed CR/LF paste problem

  o Upgraded to 1.1.6-3 utf8 with patches

  o Boot script [MAC OSX]: added 'ipconfig wait' to solve Mac problem
    with rush not starting right away on boot.

 
Release Notes for 102.42a                MAINTENANCE RELEASE (SMALL FIXES)
--------------------------------------------------------------------------

> Small irush copy/paste fixes for Windows.
  Fixes fltk crlf problem with pasting into older apps like Notepad, DOS.
  Submitted and applied Fltk's STR #961.

> submit scripts: changed all "$G::logtrim_always = 1;" to set to "0" instead.
  logtrim isn't handling spaces in arguments correctly on Windows, and Xray
  reported a logtrim "Can't spawn" error for Windows XP (which we can't 
  replicate here)

> submit-softimage: fixed some old variable references to {LogDir} -> {LogDirectory},
  and added code to optionally load the SI environment file. (XTFX/STOPOST.SE)

> 102.42 very first release had problem with "From " field getting forced into
  rush emails. Release updated same day with fix. (VINTON/CIS)

> submit-maya: added tweaks to allow middle-click to view mental ray renders
  where the full pathname isn't in the render output. (XRAY/A52)

> submit-maya: added a 'Save MI Directory' field under the 'Maya' menu,
  so the user can keep a copy of the MI files generated. (XRAY/A52)

> submit-maya: small indenting problem in help docs fixed

> Windows didn't have the examples/Applications directory for macs. (fixed)

 
Release Notes for 102.42                              RELEASED: 07/11/2005
--------------------------------------------------------------------------
> [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 Old copy is here: http://seriss.com/rush/ftp/patches/102.42/submit-maya-floating.txt > [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. o 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. 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. > Modifie