× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Hi, Thomas,
The first question I would ask is, "What has changed"?  When did these problems first begin to appear? And, what were the last changes to those applications just prior to that?
Hope that helps,
Mark S. Waterbury

On Monday, September 14, 2020, 6:47:14 AM EDT, Thomas Raddatz <thomas.raddatz@xxxxxx> wrote:

Hi,

We currently have serious problems with our application and this posting asks for ideas how to debug that.

What happened?

After we updated parts of our application we are faced with various messages such as MCH3601, MCH6902 and C2M1212.

The messages clearly point to problems with dynamic memory management (allocation, reallocation and deallocation), which is used by service programs that provide "list" and "map" services. But it might also be possible that memory gets damaged due to wrong parameter lengths und unmatched parameters. I have to admit, that I do not yet know who many old programs using a *ENTRY list are still in production. Everything new and a lot of changed programs have been refactored to prototyped entry points, since we started with ILE when it appeared with V3.

How do we deploy changes to production?

For the last almost 5 years we use CMOne for change management. Before that we used to Turnover since, I think, 2000.

What did we do so far?

1) We reviewed the service programs that use dynamic memory allocation (pair review by two developers).
2) We checked procedure calls with omitted or optional parameters.
3) We completely recompiled the application and (utility) applications used by it.
4) We also tried to take advantage from the IBM Debug Memory Manager, because some parts of our application uses C functions for working with heap memory. Sadly that did not help but caused additional errors. A minor one is that you cannot even start the IBM debugger when the Debug Memory Manager is enabled:

STRSRVJOB JOB(516043/LUX_OWN/GL_MQ00003)
STRDBG SRVPGM(SY000)
  Ownership of object QTESUSRSP in QTEMP type *USRSPC changed.
  Ownership of object QTESUSRSP in QTEMP type *USRSPC changed.
  Space offset X'00000000' or X'00008000450DF000' is outside current limit
    for object TRADDATZA0RADDATZ  637255.
  Dump output directed to spooled file 1, job 637255/RADDATZ/TRADDATZA0
    created on system GFD400 on 12.09.20 16:47:23.
  Application error.  MCH0601 unmonitored by QTESGRPHSH at statement
    0000000061, instruction X'0000'.
  Function check. CEE9901 unmonitored by QTECNTDB at statement *N,
    instruction X'031E'.
  Error calling debug session handler.

Now the question of the day is what else could we do to trace down the error? Is there something we did not think at?

Any ideas would be greatly appreciated.

Regards,

Thomas.

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.