Operating System - OpenVMS
1753774 Members
7015 Online
108799 Solutions
New Discussion

Re: %TIE-W-PSIG_WRONG and %TIE-W-PSIG_ADDR errors

 
Robert Gezelter
Honored Contributor

Re: %TIE-W-PSIG_WRONG and %TIE-W-PSIG_ADDR errors

Mario,

While I am an advocate of using AEST and TIE as tools, I do agree with the comments by Hoff et al that recompiling the source is the far better alternative.

Is there a particular reason why the sources cannot be recompiled directly on the Itanium?

- Bob Gezelter, http://www.rlgsc.com
x2084
Trusted Contributor

Re: %TIE-W-PSIG_WRONG and %TIE-W-PSIG_ADDR errors

Yes, there is a known bug in the I64 linker related to creating TIE signatures. It's not as simple as "It doesn't generate TIE signatures correctly".

Anyway, SECURESHRP is not affected by this (from an 8.3 system):

ANAL/IMAGE/INTER SYS$COMMON:[SYSLIB]SECURESHRP.EXE
...
Link flags
Call SYS$IMGSTA
Image has main transfer
Traceback records in image file
Press RETURN to continue, or enter a period (.) for next file:

Images linked with /nonative do have a "TIE Signatures present" entry in the Link flags.

Re: %TIE-W-PSIG_WRONG and %TIE-W-PSIG_ADDR errors

Robert,

We had to use AEST because in some cases we didn´t have the source codes anymore.

For applications we have the source codes we recompile/relink the Cobol/SQL-Cobol programs. This is the better choice for many reasons. Performance, for example.

-Mario
Robert Gezelter
Honored Contributor

Re: %TIE-W-PSIG_WRONG and %TIE-W-PSIG_ADDR errors

Mario,

I agree. AEST (and VEST) are extremely useful tools, but recompilation is the best choice.

You may find my article and presentation "Strategies for Migrating from Alpha and VAX systems to HP Integrity Servers on OpenVMS" interesting.

The OpenVMS Technical Journal article can be found via
http://www.rlgsc.com/publications/vmstechjournal/migrationstrategies.html

The presentation from the 2008 HP Technology Forum can be found at http://www.rlgsc.com/hptechnologyforum/2008/migrationstrategies.html

Translation is a useful tool, particularly since shareable libraries make it more precise than an "all or nothing" choice.

- Bob Gezelter, http://www.rlgsc.com
Bill Pedersen
Regular Advisor

Re: %TIE-W-PSIG_WRONG and %TIE-W-PSIG_ADDR errors

Tim:

I know this post is a decade or so old but I have just run across this issue with a newly translated image for a client and it sounds like this is similar to the issue you mention.  It is not linked against the base image but is linked against:

        Shareable Image List

                0)  "DECC$SHR"
                1)  "LIBOTS"
                2)  "SECURESHRP"

 I am running on 8.4 update 1100...

You mention a linker that solved the problem.  Did the fixes never get into the standard linker?

Thanks,

Bill.

Bill Pedersen
CCSS - Computer Consulting System Services, LLC
H.Becker
Honored Contributor

Re: %TIE-W-PSIG_WRONG and %TIE-W-PSIG_ADDR errors

> Did the fixes never get into the standard linker?

To answer the question: yes, as far as I know this fix is not in the standard linker.

As mentioned before, SECURESHRP very likely doesn't have a problem caused by this linker bug. On recent VMS versions (V8.4-2L1) I can't see the footprint of that bug in SECURESHRP. Can you show an output of analyze/image from your SECURESHRP, especially the PROGRAM SEGMENT SUMMARY?

What is the full error message, is SECURESHRP mentioned?

And yes, if you have a linker with the fix for the mentioned bug, and if SECURESHRP is affected by the bug, you need to re-link SECURESHRP.

Bill Pedersen
Regular Advisor

Re: %TIE-W-PSIG_WRONG and %TIE-W-PSIG_ADDR errors

Tim,

Thanks for getting back to me.  This is, as I mentioned, on 8.4U1100...  Not likely to get to VSI version for a while.

Full error message is:

%TIE-W-PSIG_WRONG, Wrong PSIG [000000007B2CC540] for SECURESHRP_AV[12]
%TIE-W-PSIG_ADDR, PSIG invalid address : 000000007B2CC540

Analyze/Image of SECURESHRP.EXE...

Analyze Image                                27-FEB-2018 19:05:56.44                                                   Page 1

SYS$COMMON:[SYSLIB]SECURESHRP.EXE;1

ANALYZ I01-55

This is an OpenVMS IA64 (Elf format) shareable image file

Image Identification Information, in section 8.

    Image name:                                 "SECURESHRP"

    Global Symbol Table name:                   "SECURESHRP"

    Image file identification:                  "X-9"

    Image build identification:                 "0100000081"

    Link identification:                        "Linker I02-37"

    Link Date/Time:                             27-JUL-2012 12:31:08.05

Image Transfer Information, in segment 8.

    Main Transfer

        Entry Address:                          000000000004FF80 (segment 2.)

        GP Value:                               00000000002F0000

Image Activation Information, in segment 9.

    Match Control

        Algorithm:                              LESS/EQUAL

        Major ID:                               1.

        Minor ID:                               4.

    Global Pointer:                             00000000002F0000

    Whole program FP-mode:                      VAX FLOAT

    Symbol Vector in segment 8.

    Link flags

        Call SYS$IMGSTA

        Image has main transfer

        Traceback records in image file

        TIE Signatures present

    Shareable Image List

        SYS$BASE_IMAGE

        SYS$PUBLIC_VECTORS

    Component List, Image / Current System Version

        SYS$K_VERSION_BASE_IMAGE                (3.0 / 3.0)

        SYS$K_VERSION_MEMORY_MANAGEMENT         (3.0 / 3.0)

        SYS$K_VERSION_PROCESS_SCHED             (2.0 / 2.0)

        SYS$K_VERSION_SYSGEN                    (1.64 / 1.64)

        SYS$K_VERSION_LOGICAL_NAMES             (1.0 / 1.0)

        SYS$K_VERSION_SECURITY                  (2.32 / 2.32)

        SYS$K_VERSION_IMAGE_ACTIVATOR           (1.64 / 1.64)

        SYS$K_VERSION_STABLE                    (1.64 / 1.64)

        SYS$K_VERSION_MISC                      (1.64 / 1.64)

        SYS$K_VERSION_VOLATILE                  (1.64 / 1.64)

        SYS$K_VERSION_SHELL                     (1.64 / 1.64)

        SYS$K_VERSION_MULTI_PROCESSING          (2.16 / 2.16)

Analyze Image                                27-FEB-2018 19:05:56.44                                                   Page 2

SYS$COMMON:[SYSLIB]SECURESHRP.EXE;1

ANALYZ I01-55

Elf Header Information, at file address 0.

    Class:                                      ELF-64

    Data:                                       Little-endian byte order

    Elf Header Version:                         1.

    OS ABI:                                     OpenVMS

    OS ABI Version:                             2.

    Type:                                       Shareable

    Machine Architecture:                       IA_64

    Elf File Version:                           1.

    VMS Completion Code:                        SUCCESS

Analyze Image                                27-FEB-2018 19:05:56.44                                                   Page 3

SYS$COMMON:[SYSLIB]SECURESHRP.EXE;1

ANALYZ I01-55

PROGRAM SEGMENT SUMMARY      Table at file address 00000048, 10. segments, 56. bytes each, 560. total bytes

Number  Type                 Virtual Address  Memory Size      File Address     File Size         Flags

  1. LOAD                 0000000000010000 00000000000019B0 0000000000000400  = Memory Size    -WR------------Pro------------
  2. LOAD                 0000000000020000 0000000000000070 0000000000000000 0000000000000000  -WR------------Pro------------
  3. LOAD                 0000000000030000 000000000005B1D0 0000000000001E00  = Memory Size    X-R------------Pro------Shr---
  4. LOAD                 00000000000B0000 0000000000002CD0 000000000005D000  = Memory Size    --RNwr---------Pro------------
  5. LOAD                 00000000000C0000 0000000000000510 000000000005FE00  = Memory Size    --RNwr---------Pro------Shr---
  6. LOAD                 00000000000D0000 000000000000002C 0000000000060400  = Memory Size    --RNwr------VecPro------------
  7. LOAD                 00000000000E0000 0000000000003748 0000000000060600  = Memory Size    --R------------Pro------------
  8. LOAD                 00000000000F0000 0000000000000054 0000000000063E00  = Memory Size    -WR------------Pro---Sho------
  9. LOAD                 0000000000100000 00000000000022F8 0000000000064000  = Memory Size    --RNwr---------ProNwfSho------
  10. DYNAMIC              0000000080000000 000000000000A170 0000000000066400  = Memory Size    --R---------------------------

Key for Flags: X (Execute), W (Write), R (Read), Nwr (No write but relocations), Ini (Initialization code), Res (Resident),

               Vec (Vector), Pro (Protected), Nwf (No write but fixups), Sho (Short data), Shr (Shared), Nrc (No recovery code)

SECTION SUMMARY              Table at file address 0007CE00, 13. sections, 64. bytes each, 832. total bytes

Number  Type                 Name                              File Address     File Size         Flags

  1. NULL                                                   0000000000000000 0000000000000000  ------------------------------
  2. STRTAB               .shstrtab                         000000000007CC00 0000000000000095  ------------------------------
  3. STRTAB               .strtab                           000000000007CA00 0000000000000115  ------------------------------
  4. VMS_TRACE            .debug_line                       0000000000070600 0000000000009C34  ------------------------------
  5. VMS_TRACE            .trace_abbrev                     000000000007A400 0000000000000357  ------------------------------
  6. VMS_TRACE            .trace_info                       000000000007A800 00000000000014C9  ------------------------------
  7. VMS_TRACE            .trace_aranges                    000000000007BE00 0000000000000560  ------------------------------
  8. PROGBITS             .comment                          000000000007C400 000000000000004A  ------------------------------
  9. NOTE                 .note                             000000000007C600 0000000000000190  ------------------------------
  10. NULL                 $LINKER RELOCATABLE_SYMBOL        0000000000000000 0000000000000000  ------------------------------
  11. STRTAB               .dynstr                           0000000000066670 0000000000000023  -A----------------------------
  12. SYMTAB               .symtab                           000000000007C800 00000000000001B0  ------------------------------
  13. VMS_SYMBOL_VECTOR    .vms_symbol_vector                0000000000064000 0000000000000098  -A----------------------------

Key for Flags: W (Write), A (Alloc), E (Execute), S (Strings), I (Info link), L (Link order), O (OS-specific processing),

               G (Group), Sho (Short), Nrc (No recovery code), Gbl (Global), Ovr (Overlaid), Shr (Shared), Vec (Vector),

               64b (Allocate 64bit address), Pro (Protected)

Analyze Image                                27-FEB-2018 19:05:56.45                                                   Page 4

SYS$COMMON:[SYSLIB]SECURESHRP.EXE;1

ANALYZ I01-55

The analysis uncovered NO errors.

**bleep**/IMAGE sys$library:secureshrp.exe

===================================

Thanks,

Bill.

Bill Pedersen
CCSS - Computer Consulting System Services, LLC
Bill Pedersen
Regular Advisor

Re: %TIE-W-PSIG_WRONG and %TIE-W-PSIG_ADDR errors

It should be noted, that the program RUNS and does give the expected output, just that it gives these warnings.  Not having the source, as least as far as we can determine so far, lead us to use AEST to translate it.

I have implemented a filter to get rid of the warning messages for the client so they are happy, but...

Best,
Bill.

Bill Pedersen
CCSS - Computer Consulting System Services, LLC
H.Becker
Honored Contributor

Re: %TIE-W-PSIG_WRONG and %TIE-W-PSIG_ADDR errors

 

The PROGRAM SEGMENT SUMMARY does not show a signature segment. The linker bug only shows if there is a signature segment and if one more condition is met.

(The signature segment comes after the Sho[rt] segments, here numbers 8 and 9, and before the DYNAMIC segment, here number 10.)

I don't know much about the TIE messages. But they contain a P1 address. You can check with SDA whether it is an address of an image installed with shared address data, which SECURESHRP is. For a process with SECURESHRP mapped, just do a "SDA> map 7B2CC540". From what I see, I would expect the address to be in "Short data (read only)".