#1 Windows error: Open Object Rexx Interface has stopped working with EECEncrypt EECDecrypt

1.0
accepted
Mark Hessling
None
2014-03-09
2014-02-23
Jeff
No

Mark,
We were using since several years the EECEncrypt and EECDecrypt functions without problems.

Since we migrated from Windows XP to Windows 7 64bit version, the Rexx program is failing very often with a Windows error panel: "Open Object Rexx Interface has stopped working".
See at the bottom more details on the error.

Despite it occurs with all versions from 4.1.0 to 4.1.2, it looks to be more frequent on ooRexx 4.1.3 (containing oodialog 4.2.2).
Problem is still present with ooRexx 4.2.0 and ooDialog 4.2.3.

After having spent a lot of time in trying to find the root cause, it appears that Rexx EEC functions are causing the problem.

Note that we are running the 32bit versions of ooRexx/oodialog because programs are accessing the IBM Personal communication sessions using EHLAPI32.dll which is 32bit only.

It is specified in the Rexx/EEC Reference document, in Bugs section, that there are some memory leaks.

Do you think the failure I encounter is this kind of problem ?

Is this problem known ?

Do you plan to try to fix this problem ?

I cannot provide you the entire program as it requires a specific environment to run it (IBM Intranet).

But if you need it, I can try to provide you an example, despite the failure is irregular.

Thanks for your help.


At Failure time, the command line shows: > Terminated with exit code -1073741819 with the Windows message: "Open Object Rexx Interface has stopped working".

From the windows problem details panel (Control Panel\System and Security\Action Center\Problem Details) here is the Description:

With REXXHIDE.EXE:
Faulting application name: REXXHIDE.exe, version: 4.1.3.9341, time stamp: 0x51d621ae
Faulting module name: ntdll.dll, version: 6.1.7601.18229, time stamp: 0x51fb1072
Exception code: 0xc0000005
Fault offset: 0x0002e3be
Faulting process id: 0x29cc
Faulting application start time: 0x01cefedf245b6f78
Faulting application path: C:\PROGRAM FILES (X86)\OOREXX\REXXHIDE.exe
Faulting module path: C:\Windows\SysWOW64\ntdll.dll
Report Id: b81e468d-6adb-11e3-a67d-0021cc61b3e8

With REXX.EXE
Faulting application name: rexx.exe, version: 4.1.3.9341, time stamp: 0x51d621ad
Faulting module name: ntdll.dll, version: 6.1.7601.18229, time stamp: 0x51fb1072
Exception code: 0xc0000005
Fault offset: 0x0002e426
Faulting process id: 0x462c
Faulting application start time: 0x01ceede604b31735
Faulting application path: C:\Program Files (x86)\ooRexx\rexx.exe
Faulting module path: C:\Windows\SysWOW64\ntdll.dll
Report Id: 593647fa-59d9-11e3-9f7f-0021cc61b3e8

With REXXHIDE.EXE and ooRexx 4.1.2 (faulting module is different but symptom is the same)
Faulting application name: REXXHIDE.exe, version: 4.1.2.8305, time stamp: 0x503d7f0a
Faulting module name: rexx.dll, version: 4.1.2.8305, time stamp: 0x503d7eff
Exception code: 0xc0000005
Fault offset: 0x000644e5
Faulting process id: 0xc68
Faulting application start time: 0x01cefe112dd1326e
Faulting application path: C:\Program Files (x86)\ooRexx\REXXHIDE.exe
Faulting module path: C:\Program Files (x86)\ooRexx\rexx.dll
Report Id: da4d2776-6a28-11e3-a381-001e3746a47e

Discussion

  • Mark Hessling
    Mark Hessling
    2014-02-23

    I haven't seen this problem before so it isn't fixed.

    I would need to be able to replicate the problem before I can fix it, so can you provide me with an idea of the behaviour of your ooDialog program so I might code an equivalent test program that doesn't use ooDialog? What I need is something along the lines of:
    the program calls EECEncode followed by EECdecode multiple times and on the 20th invocation of EECencode the crash occurs.

    Where does the string come from that is encoded/decoded? Directly from ooDialog or via another variable?

    Are EECencode and EECdecode the only Rexx/EEC functions you use?

     
  • Mark Hessling
    Mark Hessling
    2014-02-23

    • status: open --> accepted
    • assigned_to: Mark Hessling
     
  • Mark Hessling
    Mark Hessling
    2014-02-23

    Also need to know which encryption type you are using: DES, BLOWFISH or RIJNDAEL

     
  • Jeff
    Jeff
    2014-03-09

    • The EECencode and EECdecode functions are the only ones that are used with BLOWFISH encryption type.
    • The key is 16 characters long.
    • The encode string is composed of:
      • The computer UUID
      • A user passsord that is read from a ooDialog Password Edit control field.
    • The encoded string is converted from Char to Hex and written in the Windows Registry.
    • To get back the user password, the encoded string is read from the Windows registry, converted from Hex to Dec and then decoded.

    I was able to reproduce the problem using a subset of my program that I attached:
    - Start the rexxbug.rex program.
    - Press the "PMR to EcuRep" button (method ecurep).
    - It starts a modeless dialog (Popupaschild).
    - The ftp_psw and UUID variables are Encrypted and then Decrypted.
    Note: this is done to reproduce the failure. Error also occurs with EECencrypt only.

    • Failure occurs when the modeless dialog is closed (Quit button): the Windows Open Object Rexx Interface error panel pops-up.

    I noticed that there is no failure if the "ConnectListViewEvent('60','CHANGING','ONCHANGING') method or the "FillData" method are removed.
    I am wondering if problem is caused by Rexx EEC or ooRexx/ooDialog.
    I previously open ooRexx Ticket #1248 to report the problem.

    I reproduce the error on Windows 7 64bit PCs with ooRexx Addressing mode 32 bit:
    - Version 4.2.0, build date Feb 22 2014, containing ooDialog 4.2.3.9852.
    - Version 4.1.2, build date Aug 28 2012, containing ooDialog 4.2.2.9150.

     
    Attachments