-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Corrupting MODULE files, DMSITP141T #28
Comments
I ran the test case with CALLCMS calling DIR. The CALLCMS MODULE and the DIR MODULE are both CMS User Area MODULE files and both LOAD at address X'20000'. What to do: CMS MODULE files are not relocatable, but you can specify an address where they will be loaded. GLOBAL TXTLIB GCCRES <--- we recommend using the native C runtime library, not GCCLIB The load address, X'80000' is just a guess of an address that will be higher than the largest MODULE file it will call that loads at X'20000'. Please let me know if this is not clear. I am guessing that the other programs in your tests are seeing the same issue, but if not I can test them if I have an executable. Bob Bolch |
Awesome, Bob. Thanks. Development is a lot more fun now. If you don't mind spending the time, I'll be hosting some of these trials at http://btiffin.users.sourceforge.net/vmce/ In that dir is http://btiffin.users.sourceforge.net/vmce/cbrain.c (I transfer this as V with LRECL 140), and a small test script http://btiffin.users.sourceforge.net/vmce/pbhello.cb V 80. and computus.cb, to show when Easter Sunday is for a given year. I'll correct the tectonics to move the ORIGIN, but for now, this is the MODULE being whacked (as you explained), but this MODULE stays whacked across login/logout and even across shutdown and restart.
... works fine, but once another module get executed cbrain MODULE always triggers the DMSITP141T. *This example was from ORIGIN A0000, and running FSLIST in between runs.
Stays trashed across the login. Much appreciate the help, Bob. And you can probably close this ticket as "problem is between chair and keyboard". |
I still plan to look into the cbrain part of the issue. I don't have any explanation for the behavior you are seeing, so I will get the source and do some experiments. In later versions of VM, IBM introduced the Nucleus Extension architecture to allow user programs to be loaded in high memory. The IBM NUCXLOAD command had the capability to load and relocate a CMS MODULE file to high memory and let it be called in the normal CMS way by entering the MODULE filename as a command name. VM/370 does not have NUCXLOAD, because it does not have support in the program loader to relocate a MODULE to a separate address from where it was generated. However, CMS TEXT files CAN be relocated. VMCE V1 R1.1 will add a new command NUCXTEXT, which loads TEXT files in high memory so they can be accessed as Nucleus extensions. It might be possible to use your 'callcms' program effectively, using NUCXTEXT. |
Hi Brian,
Just a quick status update. I can duplicate your symptoms here with cbrain.
I am getting a series of very weird storage overlays, but the MODULE file
itself is not being modified. Maybe it is a C library problem? I will
let you know what I find.
Bob
…On Fri, Apr 16, 2021 at 3:11 PM Brian Tiffin ***@***.***> wrote:
Awesome, Bob. Thanks. Development is a lot more fun now.
If you don't mind spending the time, I'll be hosting some of these trials
at http://btiffin.users.sourceforge.net/vmce/ In that dir is
http://btiffin.users.sourceforge.net/vmce/cbrain.c (I transfer this as V
with LRECL 140), and a small test script
http://btiffin.users.sourceforge.net/vmce/pbhello.cb V 80. and
computus.cb, to show when Easter Sunday is for a given year.
I'll correct the tectonics to move the ORIGIN, but for now, this is the
MODULE being whacked (as you explained), but this MODULE stays whacked
across login/logout and even across shutdown and restart.
gcc cbrain (cms
load cbrain
genmod cbrain
cbrain pbhelllo
... works fine, but once another module get executed cbrain MODULE always
triggers the DMSITP141T. *This example was from ORIGIN A0000, and running
FSLIST in between runs.
L CMSUSER CMSUSER
DASD 190 LINKED R/O; R/W BY MAINT; R/O BY 004 USERS
DASD 19D LINKED R/O; R/W BY MAINT; R/O BY 002 USERS
DASD 19E LINKED R/O; R/W BY MAINT; R/O BY 004 USERS
LOGON AT 15:05:17 GMT FRIDAY 04/16/21
CMS Community Edition V1 R1.0
Y (19E) R/O
U (19D) R/O
'19D' REPLACES ' U (19D) '
U (19D) R/O
Ready; T=0.01/0.01 15:05:19
cbrain pbhello
DMSITP141T OPERATION EXCEPTION OCCURRED AT 0A0002 IN ROUTINE CBRAIN.
CMS
load cbrain (clear origin a0000
Ready; T=0.01/0.10 15:06:12
genmod cbrain
Ready; T=0.01/0.01 15:06:21
Stays trashed across the login.
Much appreciate the help, Bob. And you can probably close this ticket as
"problem is between chair and keyboard".
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#28 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/ARUFCBMYC4V54FIJOQU66CTTJCDVPANCNFSM43AG4KHQ>
.
|
I tracked down the situation with cbrain. It turns out that the cbrain module is not being corrupted. It is not being built like we think, because st 20000 ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff The code loaded at X'20000' by the LOAD command is NOT INCLUDED in the MODULE file. .000006 SD 020000 Here is the definition of the START option of the GENMOD command: If omitted, then the so-called "default load point" is whatever you specified on the LOAD command, with a defult of To build the MODULE you want, supply a FROM operand on your GENMOD. In this case, LONG@TO@ starts at 20000, so that is what you want. Entering the command is complicated by the fact that @ is the default CHARDEL (character delete) editting character: TERM CHARDEL OFF Make sense? |
Yes, yes it does (fibbing for now kinda, I trust your analysis but don't have the whole picture in my head yet). ;-) Thanks for the education lesson. This is base learnin' that still needs learnin'. These little hints are wondrous. I've been keeping Feel free to close this report. Initial trials working. Will keep on reading more docs. Thanks a lot, Bob. This bodes well for setting up an attempt at getting some tools from |
Issue resolved |
Trying to track down a DMSITP141T problem.
I have a few C toyols (toy tools), mostly useless except for the challenge of
it.
One, cbrain (and esoteric programming language) is the focus today, but I can
reproduce a similar problem with this smaller C program.
This is using GCCLIB and GCCCMS from VMCE V1R1M0.
Something triggers badness, that can cause permanent problems with the MODULE.
First the smaller program and sample run. The problems depends on which CMS
routine is called.
This is a simple program, only takes a single argument, for demonstration.
And a run. The first call to CMS is LISTFILE PROFILE EXEC, works fine,
multiple times in a row. But other commands are triggering DMSITP141T. I'll
use
DIR
(and remove some of the output).So that's a minimal example. What's next is more in depth C, but actually
worse in outcome. A
genmod
module becomes corrupt and stays ccorrupt.Now, after some programs, in particular MECAFF routines, but there are others.
Immediately causes the CBRAIN MODULE to trip, every time. Across logins,
across shutdown and restart...
Need to reload and run another genmod to get back to a usuable MODULE.
Note: no recompile, just a load and genmod.
First, not sure what is causing the DMSITP141T, and worse I'm unclear how
running program can corrupt a different MODULE file on disk.
The text was updated successfully, but these errors were encountered: