Operating System - OpenVMS
1827892 Members
1966 Online
109969 Solutions
New Discussion

Improperly handled condition

 
SOLVED
Go to solution
Juan M. Lazaro
Advisor

Improperly handled condition

Hi to all,

I've had an error this night and it close my session, while I try to rename a 10 blocks file, the error is as follows:

Improperly handled condition, bad stack or no handler specified.
Signal arguments: Number = 0000000000000005
Name = 000000000000000C
0000000000000000
000000007FFD2000
FFFFFFFF80009A44
0000000000000012

Register dump:
R0 = 000000007FF9DD18 R1 = 000000007AEDE1E0 R2 = 000000007FF9FEA6
R3 = 0000000000000021 R4 = 000000007FFCEF74 R5 = 000000007FFCF800
R6 = 000000007FFCDCC8 R7 = 000000007AEAE1A8 R8 = 000000007AE27FB0
R9 = 000000007FFCECC0 R10 = 000000007FFA4F28 R11 = 000000007FFCDBE8
R12 = 000000007FFCDA68 R13 = 000000007AEE28A8 R14 = FFFFFFFF820721C0
R15 = 000000007AEE25E0 R16 = 0000000000000000 R17 = 00000000000007BC
R18 = 000000007FFD1FE8 R19 = 000000007FFA42F0 R20 = 0000000000000000
R21 = 0000000000004C4E R22 = 000000007FF9FEA6 R23 = 00000000000000CA
R24 = 000000007FFCED09 R25 = 0000000000000001 R26 = 000000007AF6863C
R27 = 0000000000000000 R28 = 0000000000000000 R29 = 000000007FF9DCF0
SP = 000000007FF9DCF0 PC = FFFFFFFF80009A44 PS = 3000000000000012
%S, Remote connection closed

%W, image data (records not beginning with "$") ignored

In any case, the file was renamed.

I'm in OVMS 8.2, with all the patches on day, and the system is an ES45.

I agree any help about that, because I don't understand the meaning of the message, I was looking about it but I haven't found anything than could help me....

Thanks in advance...

Juan
7 REPLIES 7
GuentherF
Trusted Contributor

Re: Improperly handled condition

Most likely a program bug. Was this using straight DCL-RENAME?

There is a small chance that your process' PGFLQUOTA is too low and automatic stack expansion at address could not be done below 7FFD2000.

/Guenther
Juan M. Lazaro
Advisor

Re: Improperly handled condition

Hi Günther!

yes, the dump success with the DCL-RENAME, maybe could be a program bug.

The user PGFLQUO is too high, 10.000.000, then I think this isn't the problem...

Many thks
Volker Halle
Honored Contributor

Re: Improperly handled condition

Juan,

the 'Improperly handled condition' message and the register dumps comes from the last chance handler. Whatever program you were running (DCL-RENAME) incurred an ACCVIO (access violation) trying to access the P1 space address 7FFD2000. The PC = 80009A44 (in system S0 space) points to the failing instruction. You can issue the following command on that ES45 system to obtain the failing instruction:

$ ANAL/SYS
SDA> EXA/INS 80009A44
SDA> EXA/INS 80009A44-30;40
SDA> EXIT

With the instruction stream data, you can figure out, which instruction actually caused the failure.

The %S, Remote connection closed and the %W message following the register printout seem to indicate, that the RENAME operation may have somehow been embedded in some DCL procedure.

If you can reproduce this error, you could use SET PROC/DUMP to enable a process dump, if an unhandled exception occurs.

Volker.
Juan M. Lazaro
Advisor

Re: Improperly handled condition

Hi Volker!

Many thanks about your reply, then you don't think is a VMS bug?

Other question, where can I find documentation about the information displayed with the examine/instruction? because, I have the information, but I don't know how interpret it?

SDA> exa/ins 80009a44
OTS$MOVE_C+003C4: LDQ R20,#X0018(R18)
SDA> exa/ins 80009a44-30;40
OTS$MOVE_C+00394: ADDQ R19,#X08,R16
OTS$MOVE_C+00398: RET R31,(R26)
OTS$MOVE_C+0039C: BIS R31,R31,R31
OTS$MOVE_C+003A0: SUBQ R18,R19,R16
OTS$MOVE_C+003A4: LDQ_U R31,(SP)
OTS$MOVE_C+003A8: BLT R16,#X000003
OTS$MOVE_C+003AC: LDA R16,#XFEC0(R16)
OTS$MOVE_C+003B0: BLE R16,#X000037
OTS$MOVE_C+003B4: LDQ_U R31,(SP)
OTS$MOVE_C+003B8: LDQ R16,#X0008(R18)
OTS$MOVE_C+003BC: LDA R19,#X0100(R19)
OTS$MOVE_C+003C0: LDQ R27,#X0010(R18)
OTS$MOVE_C+003C4: LDQ R20,#X0018(R18)
OTS$MOVE_C+003C8: LDQ_U R31,(SP)
OTS$MOVE_C+003CC: LDQ_U R31,(SP)
OTS$MOVE_C+003D0: LDL R31,#X0100(R18)
OTS$MOVE_C+003D4: LDL R31,#X0120(R18)

And how can I know to which image correspond those instructions? they are the same in all the ES45 than I have.

The RENAME instruction wasn't in a DCL procedure, the operators do a SET HOST 0/LOG=FILE.LOG or a TELNET 0 /LOG=FILE.LOG, but those messages aren't relevant for me.

Other question, there is any way to tell the system do automaticaly a process dump if an unhandled exception occurs?

Thanks again.

Juan
Volker Halle
Honored Contributor
Solution

Re: Improperly handled condition

Juan,

the failing instruction tried to access virtual address 7FFD2000 and couldn't:

OTS$MOVE_C+003C4: LDQ R20,#X0018(R18)

R18 = 000000007FFD1FE8

The instruction added %X18 to the address in R18 and used the result as a virtual memory address to fetch the value stored at this address into R20. This failed. The failing virtual address in the signal array is 7FFD2000 = 0x7FFD1FE8 + 0x18 - all this is consistent so far.

The routine OTS$MOVE is called from various places in the operation system to move/copy data around in memory. This routine does not have a problem, it's the parameters used to call that routine, which are pointing to an invalid/inaccessible address.
You cannot find out, who called this routine, without capturing a process dump.

The question whether this may be an OpenVMS bug, cannot be answered until we've found out, which IMAGE was involved. OpenVMS images should NOT incur unhandled conditions.

The '%S, Remote connection closed' seems to indicaite, that a TELNET session was involed.

But the '%W, image data (records not beginning with "$") ignored' indicates, that the iamge was run as part of a DCL procedure and there was input data available in that DCL procedure (records not beginning with '$'), which was supposed to be meant as input for the running iamge, which terminated. This might be a simple typo in the DCL procedure, but should be investigated to better understand the failure scenario.

The Alpha instructions et is documented in the ARM (Alpha Architecture Reference Manual) or the Alpha Architecture Handbook - both are not part of the OpenVMS documentation set.

If you add a SET PROC/DUMP command into the user's LOGIN.COM, a process dump will be written, if an image incurs an improperly handled condition.

Volker.
Juan M. Lazaro
Advisor

Re: Improperly handled condition

Hi Volker!

Many many thanks about your explanation, it has been too helpfull to me. I'm go to try to get the books about Alpha Architecture.

Thanks again.

Juan
Juan M. Lazaro
Advisor

Re: Improperly handled condition

I know now the register dump meaning.

Many thanks to Volker again.

Juan