IBM Support

PM04602: getThreadEndClbk in oseOS.cpp for v751 buggy

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • OMOSThreadEndCallBack *
    clb_p, void ** arg1_p, const OMBoolean onExecuteThread)
    
    {
    
     if (onExecuteThread) {
    
      // asking for a callback to end my own thread
    
      *clb_p = ?endMyThread;
    
    //*arg1_p = (void*)?hThread; ORIGINAL code
    
      *arg1_p = (void*)hThread;
    
     }
    
     else {
    
      // asking for a callback to end my thread by someone else
    
      *clb_p  = ?endOtherThread;
    
      // my thread handle
    
    //*arg1_p = (void*)?hThread; ORIGINAL code
    
      *arg1_p = (void*)hThread;
    
     }
    
    }
    
    But the crash was predominant.
    
    
    Steps to reproduce:
    --------------------
    Enclosed a simple model that will show this 'bug'.
    
    When the state chart reaches termination it will end up in this
    call in
    ntos.cpp:
    
    static void NTDoCloseHandle(void* param) {
    
    HANDLE hThread = param;
    
    if (WaitForSingleObject(hThread,INFINITE) == WAIT_FAILED)
    
    {
    
    OM_NOTIFY_ERROR('WaitForSingleObject',
    
    'NTDoCloseHandle')
    
    }
    
    if (CloseHandle(hThread) == 0) {
    
    OM_NOTIFY_ERROR('CloseHandle', 'NTDoCloseHandle')
    
    }
    
    }
    
    CloseHandle is called with a pointer to a hThread rather than a
    hThread
    .We see the exact same thing in the oseOS.cpp file.
    A pointer to a process id rather than the processid.
    
    If I just run the program in windows it will not complain, but i
    f I run
    it inside the visual studio debugger it will break at the CloseH
    andle
    line with an exception stating wrong.
    
    Work around:
    ------------
    Fixed code in OMthread.cpp
    Attached file
    
    PMR: 89439,130,846
    

Local fix

Problem summary

  • NTThread::getThreadEndClbk in oseOS.cpp for v751 buggy
    

Problem conclusion

  • Fixed in 7.5.1.1
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM04602

  • Reported component name

    TLOGIC RHAPSODY

  • Reported component ID

    5724V74RP

  • Reported release

    740

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2010-01-07

  • Closed date

    2010-03-23

  • Last modified date

    2010-03-23

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    TLOGIC RHAPSODY

  • Fixed component ID

    5724V74RP

Applicable component levels

  • R740 PSN

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SS7P9W","label":"Rational Rhapsody"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.4","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

Document Information

Modified date:
23 March 2010