MQSeries Workflow 3.2.1 - Hotfix #4 ----------------------------------- INDEX ------------------------------------------------ 1. Installation of Hotfix #4 1.1 Installation on IBM OS/2 1.2 Installation on Microsoft Windows 1.3 Installation on IBM AIX 1.4 Installation on Sun Solaris 1.5 Installation on HP-Unix 2. Important Notices 2.1 General 2.2 Enabling Traces 3. Changes 3.1 Changes in Hotfix #4 ----------------------------------- 1. Installation of Hotfix #4 ============================ 1.1 Installation on IBM OS/2 ---------------------------- 1.1.1 Which files must be downloaded? The Hotfix #4 consists of the following self-extracting executables: WF321OAU.EXE - U.S. English language version including the common files of MQSeries Workflow server 1.1.2 Unpack the files Copy the WF321OAU.EXE to a temporary directory and invoke it using the command: WF321OAU x:\directory /D (x:\directory is you MQWF subdirectory, i.e. d:\fmcos2) This command unpacks all files. 1.1.3 Update your existing MQSeries Workflow installation Note: First stop any running MQSeries Workflow programs before installing this Hotfix. To install this Hotfix, make a save copy of your current files. Copy all files to the relevant directories. Reboot the system to activate the changes done of the Hotfix installation. 1.1.4 Upgrading your existing MQSeries Workflow Configuration 1. Because updates of DB2 bind files are included in this package, you must bind the new files to your MQSeries Workflow Runtime databases. For each configuration on your system, invoke fmczrdb -y -o:b to create the bindings. This may take several minutes. 1.2 Installing the Service Pack on Windows NT, Windows 95 and Windows 98 ------------------------------------------------------------------------ 1.2.1 Which files must be downloaded? The Hotfix #4 consists of the following self-extracting executables: WF321NAU.EXE - U.S. English language version including the common files of MQSeries Workflow server WF321NBU.EXE - U.S. English language version including the common files of MQSeries Workflow buildtime WF321NCU.EXE - U.S. English language version including the common files of MQSeries Workflow client 1.2.2 Unpack the files Copy the WF312NxU.EXE to a temporary directory and invoke it using the command: WF321NxA x:\directory /D (x = A, B or C, x:\directory is the MQWF subdirectory, i.e. d:\fmcwinnt) This command unpacks all files. 1.2.3 Update your existing MQSeries Workflow installation Note: First stop any running MQSeries Workflow programs before installing this Hotfix. To install this Hotfix, make a save copy of your current files. Copy all files to the relevant directories. Reboot the system to activate the changes done of the Hotfix installation. 1.2.4 Upgrading your existing MQSeries Workflow Configuration 1. Because updates of DB2 bind files are included in this package, you must bind the new files to your MQSeries Workflow Runtime databases. For each configuration on your system, invoke fmczrdb -y -o:b to create all bindings.This may take several minutes. 1.3 Installation on IBM AIX --------------------------- 1) First, stop all running MQSeries Workflow processes, for example by shutting down the MQSeries Workflow System using the admin utility "fmcautil". 2) As root, perform the command 'slibclean'. 3) Update your MQSeries Workflow 3.2.1.20 installation (Service Package #2 applied as pre-requisite) using smit - "update to latest level" to level 3.2.1.21. Note: Your configuration (profiles, /home/fmc/..., /var/fmc/...) will not be modified by the installation update. 4) Because updates of DB2 bind files are included in this package, you must bind the new files to your MQSeries Workflow Runtime databases. As user "fmc" invoke fmczrdb -o:b If you need to do this update in a 3-Tier environment, then the following command sequence is required: a) db2 attach to user - you will be prompted for the password - the default Runtime Database user-id is 'fmc', if this has been choosen during the installation of the product b) fmczrdb -o:b -u -p - the default password is 'password' - now the rebind will start - this may take several minutes. 1.4 Installation on SUN Solaris ------------------------------- 1) First, stop all running MQSeries Workflow processes, for example by shutting down the MQSeries Workflow System using the admin utility "fmcautil". Make sure that all MQSeries Workflow processes are stopped and no file of the product is in use. 2) This is how to update your MQSeries Workflow 3.2.1.20 files (Service Package #2 applied as pre-requisite). Issue the following command line as user "root", replace the path "/tmp/fmc-3.2.1-hotfix_4.pkg" from this example with the fully qualified path and filename of your ".pkg" file: pkgadd -d /tmp/fmc-3.2.1-hotfix_4.pkg accept the installation of this package and overwriting files of the previous package. Note: Your configuration(s) (profiles, /home/fmc/..., /var/fmc/...) will NOT be modified by the update. 3) Because updated DB2 bind files are included in this package, you must bind the new files to your MQSeries Workflow Runtime databases. As user "fmc" invoke fmczutil and choose the configuration identifier of the configuration you want to update. Then choose the 'r'untime database menu and select 'b'ind to create all bindings. This may take several minutes. After completion of these 3 steps your system is ready to run. You can restart administration server as usual by invoking fmcamain & 1.5 Installation on HP-Unix --------------------------- 1) First, stop all running MQSeries Workflow processes, for example by shutting down the MQSeries Workflow System using the admin utility "fmcautil". Make sure that all MQSeries Workflow processes are stopped and no file of the product is in use. 2) This is how to update your MQSeries Workflow 3.2.1.20 (Service Package #2 applied as pre-requisite). Use "sam" to install the new package. Use the "software" icon, and select "add software to local host". Then choose the installation from the CD and enter the fully-qualified path to the file "wf321hau.pkg" and the file name itself. Choose "Install" from the "Actions" pulldown menu and confirm twice. After completing the installation, continue with step 3. If you do not want to use sam, you can use "swinstall" with the appropriate command line parameters that suit your needs. Note: Your configuration(s) (profiles, /home/fmc/..., /var/fmc/...) will NOT be modified by the update. 3) Because updated DB2 bind files are included in this package, you must bind the new files to your MQSeries Workflow Runtime databases. As user "fmc" invoke fmczutil and choose the configuration identifier of the configuration you want to update. Then choose the 'r'untime database menu and select 'b'ind to create all bindings. This may take several minutes. After completion of these 3 steps your system is ready to run. You can restart administration server as usual by invoking fmcamain & 2. Important Notices ==================== 2.1 General ----------- o If the system fails to start by invoking fmcemain, shut down MQSeries Workflow. Then, run the following commands as user fmc: - endmqm -i , e.g. endmqm -i FMCQM - dltmqm , e.g. dltmqm FMCQM - fmczqqm -o:i Now you can start your MQSeries Workflow system as user fmc: strmqm , e.g. strmqm FMCQM runmqtrm -m FMCQM -q FMCTRIGGER &, assuming FMC is the qualifier being used fmcamain & 2.2 Enabling Traces ------------------- o To enable full tracing, enter: fmczchk -dc trc:99 To disable trace, enter: fmczchk c trc:0 3. Changes ========== 3.1 Problems addressed in Hotfix #4 ----------------------------------- 11579 Number of MQ processes increases inadequately - CCSID 0 shows up More than 60 workstation with up to 2 clients each are causing an extremly increase of MQ processes. Not all closed connections are dropping the their MQ processes. 12360 fmczchk traps if installation profile does not exist scenario: rename key "Installation" and start fmczchk 12406 SG name with 9 chars --> assertion in bootstrap If a user specifies a system group name with the length of 9 character in the machine profile SFMCDATA(FMCHEMPR) the bootstrap utility on /390 gets an assertion. 12409 Server start and stop time cannot be reset The settings for the Cleanup and Scheduling Server specified on the domain level - and then again on the system level. In particular, a start/stop time for these servers have specified. However the domain settings are inherited to the systems that don't have the particular server settings. Due to this setup the scheduling/cleanup server would start on all systems - obviously only one of them being successful starting the servers; the other systems would show errors in the system log (cleanup/scheduling server already started) which is OK. The scheduling/cleanup server should run only on one particular system. Trying to disable the start/stop time did not work, because the run time import did not reset start/stop to null if they are not set. 12623 Add method to support automatic filter test tool A Special method and some hooks to avoid showing message boxes is required in order to support an automatic Filter TestTool. 12633 Deadlock during ProgramFinished for two non end activities A deadlock occurs if two none end activities of the same process finish simultaneously and the succeeding activities of both activities are end activities. 12640 Bootstrap doesn't work with lowercase userid. When calling fmczbstr, with parameter -u the database user who is allowed to update the database is specified. On Windows and Unix, the userid can have lowercase characters. fmczbstr checks, if this id is a valid MQS Workflow syntax, for example if all characters are uppercase. 12644 CreateProcInst returns NOT_UNIQUE although keep name false The same API Program from 300 clients are running simultaneously. For Process creation, a process name is specified and the keep name flag is set to false. From time to time the CreateProcess API returns with an NOT_UNIQUE error. 12669 If a block diagram does no longer exist, the next access from the Property Dialog to a class of block diagrams results in an outage. 12671 sequence of select ... for read and subsequent delete in scheduling server may cause deadlocks 12687 Filters(...NOT LIKE ...) are not handled by Filter dialog Add support to Filter OCX to handle filters containing .... NOT LIKE ... .... NOT IN ... .... NOT BETWEEN ... 12732 390-Exeserver abends, when GUI-user logs off 1. USER001, gui-client-logon, start some processes, logoff 2. XYZ, gui-client-logon, logoff 12734 NT Service fails on some machines In a Service DLL memory should not be allocated on the heap for a global variable... 12744 4.2 is rejected as invalid float on OS/390 Import of the installation verification FDL FMCHEPD fails with 3.2.1 PTF Level 1. Problem caused by the IsValidFloat() method of the syntax checker, which rejects 4.2 as invalid. The largest possible double is DBL_MAX : 2.54753e-79 and that therefor 4.2 is rejected, because it is larger than DBL_MAX. Since atof will fail anyway, if an over or underflow occurs. Disable the underflow/overflow checking. 12760 MQIrc variable not thread save in modules fmccfmlc.cxx and fmccdifs.cxx 12773 Exe server going down in 'A' - 3.2.1 12792 ExeSvr terminates at StartSupportTool. Execution Server terminates if supporttools is started that has no ImplementationData for the PEA's platform. 12793 FmcOptions::operator() returns invalid parameter If the following FmcOptions object is created FmcOptions topped( 2, "-i:AApLrAAAAAAAAAAAAAAAAQ== -y:FMC", {'p','y'} ); topped() returns 'p' as a found option and topped.arg() returns "LrAAAAAAAAAAAAAAAAQ==" as parameter. 12796 Execution server dumps during QryProcInstCtnr. Problem: The EXE server crahsed with a CEE dump and the following Errors Server1: *** Pre-condition failed in FMC.A321COG1.INL#(FMCMPROC)(2501): !CtnrsRequestedIsNull() Aborting ... CEE3204S The system detected a protection exception. From entry point fmckRequire(const char*,const char*,unsigned int) at compile unit offset +0000030C at address 1B07ED9C. Server2: *** Pre-condition failed in FMC.A321COG1.INL#(FMCMPROC)(2501): !CtnrsRequestedIsNull() Aborting ... CEE3204S The system detected a protection exception. From entry point fmckRequire(const char*,const char*,unsigned int) at compile unit offset +0000030C at address 1AE90D9C. 12822 Flowmark 2.3 compatible DLL applications do not work Compatibility check box must be selected in the program definition in buildtime. However, the FRL contains definitions of all templates and programs for all instances it contains. The migration tool imports the FRL using the settings found inside. 12844 Bug if process and top level block have the same name 12858 Incorrect message expiration time in responses When a client puts an asynchronous request (like ExecuteProcessInstanceAsync()) with a message expiration time of n seconds, the corresponding response has an expiration time of only n/10 seconds. 12919 FmcStream::ExcContentError in FmcAssignmentData::UpdateFrom() Occasionally the Execution Server is going down. 12926 Remote Buildtime database on SUN not possible It should be possible to create a remote buildtime database on UNIX platform with fmcbdcdb.exe. The path separator for NT "\" cannot be used on UNIX it must be "/". 12950 xml sample should be linked to version 3.2.1 12957 Execution server goes down when container is updated 12960 NT client security violation, output queues APAR IY09504 Configuration: NT Client and /390 Server The workflow client opens its output queues with the following permission bit set: MQOO_SET_IDENTITY_CONTEXT This bit is only set by application that want to explicitly set the UserIdentifier field of the message descriptor, which effectively allows the application to masquerade as any users it wants to. 12963 AIX:Handle EINTR in Semaphore calls PEA under heavy system load can lead to the following problem: The blocking semaphore calls are returned with EINTR, indicating that the call was interrupted by a hardware interrupt. This situation needs to be handeled appropriately. Two undocumented environment/profile variables are introduced with this fix: FMC_SEM_EINTR_RETRY_COUNT specifies how often the semaphore lock call is to be retried. Default value is 10. FMC_SEM_EINTR_DELAY_MILLISECONDS specifies how many milliseconds the calling thread is to sleep after a failed call. Default value is 20. 12964 Trace not threadsafe. Running a PEA on AIX multiprocessor with many concurrently active non-fenced DLL entrypoints (i.e. many active threads) intermittently leads to assertions if tracing is switched on. 13032 _ACTIVITY may already be set in output container. Assertion in fmcenact CreateSaveOutputContainer(). 13081 MQWF/390 Mixed case messages are issued even F ADMT,D +FMC19010I NUMBER OF RUNNING administration server INSTANCES: 1. +FMC19010I NUMBER OF RUNNING cleanup server INSTANCES: 0. +FMC19010I NUMBER OF RUNNING execution server INSTANCES: 1. +FMC19010I NUMBER OF RUNNING scheduling server INSTANCES: 0. +FMC19010I NUMBER OF RUNNING program execution server INSTANCES: 1. 13082 PMR 56599,519 - fmcamain and fmcsmain disappear The fmcamain tracefile tracenew.fmcamain.458 shows the following entry: 2000-04-07, 05:36:44.99, fmckdbg.cxx( 118), ( 0,Er,Kr), fmcamain( 458- 462), f mckAssert(const char*,const char*,unsigned int), THROW_INT, FmcAssertionExceptio n, Condition=*** Assertion failed in e:\v321\src\fmcstim.cxx(280): FmcTimeStamp: :Now() >= _dueTimeStamp, Origin=File=e:\v321\src\fmckdbg.cxx, Line=118, Function =fmckAssert(const char*,const char*,unsigned int) 2000-04-07, 05:36:45.02, fmccdmgr.cxx( 521), ( 1,Er,FM), fmcamain( 458- 462), F mcDeviceMgr::HandleGet(FmcDeviceCtxRef&,FmcDevDataRef&,FmcSFServerCtrl&,FmcDevRe gItem&), Unexpected Exception happened during Get From Device : FMTIMER