Skip to content

zowe v3.2 - zowe tso issue cmd is occasionally truncating logs under certain circumstances. #2576

@savaresejt

Description

@savaresejt

Describe the bug

We upgraded from version 2.13 CLI to Version: 8.18.2 Zowe Release Version: v3.2.0 and found a bug where our compile script being called like so:

$command = "ISPSTART CMD(%CMP2 GITTEST P)"
zowe tso issue command $command --host xxx

Will intermittently fail to return all logs. We noticed that it stemmed from calling a REXX external function that looks like this:

SDSFPOLL:                                                                 
  parse arg owner, jobNumber, maxAttempts                                 
  signal on error; signal on failure; signal on syntax; signal on halt    
                                                                          
  x = isfcalls("on")                                                      
  do attempt = 1 to maxAttempts                                           
    if (userid() = 'XXXXX') then do                                       
    /*say polling*/                                                       
    end                                                                   
    isfowner = owner                                                      
    isfprefix = "*"                                                       
                                                                          
    address SDSF "ISFEXEC ST"                                             
    jobToken = 0                                                          
    do i = 1 to jobid.0                                                   
      if (jobid.i = jobNumber) & (STRIP(queue.i) = 'PRINT') then do       
        x = isfcalls("off")                                               
        return token.i                                                    
      end                                                                 
    end                                                                   
                                                                          
    call bpxwunix "sleep 1"                                               
  end                                                                          
                                                                               
rc = 8; signal error                                                           
                                                                               
error: failure: syntax: halt:                                                  
  say "ERROR: job number "jobNumber" did not hit the PRINT queue. Last status",
  " was "queue.i " waited " maxAttempts " seconds."                            
                                                                               
exit rc                                                                        
```

Around 50% of the calls failed to return all logs. One thing we noted was interesting is that when we uncommented the line `say polling` the function returned all logs every time.

**Expected and actual results**

We expected to see all logs returned every time after upgrading.

<!--
Details about the behavior:
1. Command issued:
```
$command = "ISPSTART CMD(%CMP2 GITTEST P)"
zowe tso issue command $command --host xxx
```  
2. Expected results: All logs are returned
3. Actual results: Logs are not returned 50% of the time.
4. Applicable log files:

-->
**Describe your environment**

<!--
- Zowe CLI version installed (run command `zowe --version`):
CLI Version: 8.18.2
Zowe Release Version: v3.2.0
- Installed plug-ins and their version numbers (run command `zowe plugins list --short`):
N.A.
- Node.js and NPM versions installed (run `node --version`, `npm --version`):
We tested this on several windows machines with different node.js versions; ranging from 18.x to 20.x
- Environment variables in use: N.A.
- Operating system and version: Windows 11
- Shell/terminal (bash, cmd, powershell, etc...): Powershell
- Daemon mode enabled or disabled: Enabled
- For more information, see Gathering information to troubleshoot Zowe CLI 
-->

**Additional context**
Rolling back the zowe upgrade immediately fixed the issue. Something is not right with returning logs from zowe tso issue cmd returning logs, it very likely has something to do with the interaction with the rexx external function I posted above. When the logs were truncated, it was at the exact same location every time.
<!-- Add any other context about the problem here. -->

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingnewThe issue wasn't triaged yet

    Type

    No type

    Projects

    Status

    New Issues

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions