[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference turris::c_plus_plus

Title:C++
Notice:Read 1.* and use keywords (e.g. SHOW KEY/FULL KIT_CXX_VAX_VMS)
Moderator:DECCXX::AMARTIN
Created:Fri Nov 06 1987
Last Modified:Thu Jun 05 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:3604
Total number of notes:18242

3569.0. "CXXLINK ASSERTION FAILURE key too long" by STAR::BEYH () Tue May 13 1997 11:20

I have the DEC C++ V5.5-017 compiler installed on an OpenVMS/Alpha system, 
running OpenVMS Version 7.1.  While trying to build a sharable image, the 
prelink phase failed when I added the "/Repository" switch complaining 
about "key too long".  I need to add the repository directories to resolve
routine names.

Please let me know what information you need (pointer to system and files, etc.)

Thank you,
Yehia Beyh
OpenVMS engineering
DTN 381-1215



This is the command from the makefile:                                                             

$ CXXLINK $(MMSDIR)OLE32_SHR.OPT/OPT,OLE32_EXPORTS.OPT/OPT,OLE32_LIBS.OPT/OPT,OLE32_LIBS.OPT/OPT -
  /SHARE=$(MMS$TARGET_NAME).EXE/DEB/REPOSIT=([OLE32_STG_PROPS.OBJ])

This is the linker result:

$ CXXLINK [.COM]OLE32_SHR.OPT/OPT,OLE32_EXPORTS.OPT/OPT,OLE32_LIBS.OPT/OPT,OLE32_LIBS.OPT/OPT
/SHARE=[.OBJ]DCOM$OLE32_SHR.EXE/DEB/REPOSIT=([OLE32_STG_PROPS.OBJ])
ASSERTION FAILURE key too long
%NONAME-F-NOMSG, Message number 00000004
%TRACE-F-NOMSG, Message number 0009804C
  image    module    routine             line      rel PC           abs PC
 CXX$LINK  CXDEMANGLE  assert           12933 0000000000000048 00000000000346A8
 CXX$LINK  CXDEMANGLE  find_record      13334 0000000000000D14 0000000000035374
 CXX$LINK  CXDEMANGLE  demangle_lookup_class_template
                                        13420 0000000000001004 0000000000035664
 CXX$LINK  PRELINK_PHASE  translate_symbol_to_filename
                                         5023 0000000000000718 0000000000033558
 CXX$LINK  PRELINK_PHASE  prelinker      4785 00000000000001EC 000000000003302C
 CXX$LINK  PRELINK_MAIN  main           13017 0000000000000260 0000000000030260
 CXX$LINK  PRELINK_MAIN  __main             0 0000000000000070 0000000000030070
                                            0 FFFFFFFF84D230D8 FFFFFFFF84D230D8
%MMS-F-ABORT, For target [.OBJ]DCOM$OLE32_SHR.EXE, CLI returned abort status: %X10000004.
$
T.RTitleUserPersonal
Name
DateLines
3569.1DECCXL::WIBECANThat's the way it is, in Engineering!Tue May 13 1997 11:414
Thanks for reporting this.  I'll talk to one of the CXXLINK experts and get
back to you.

						Brian
3569.2what's is the status on note 3569STAR::BEYHThu May 15 1997 13:5910
    Hi Brian, 
    
    Have you heard anything from the experts? 
    
    
    Thanks,
    -Yehia
    
    
    
3569.3on my plateHNDYMN::MCCARTHYA Quinn Martin ProductionThu May 15 1997 17:3011
The Expert on the demangler isn't working in the group anymore so Brian sent it 
to Brian (me).

I have yet to take a look at it.  

Do you have any other problems with the demangler database?

There is an open problem report where CXXDEMANGLE crashes when the name typed 
in on the command line is too long.  

Brian J.
3569.4command too long ?STAR::BEYHThu May 15 1997 17:4622
    Hi Brian J.
    
    I removed the demangler database in order to proceed with the link. I
    am not using the database at all. 

    I was wondering if the problem could be as result of the length of the 
    routine names (exceeding 31 char long). I have a number of routines that 
    fit that category.
     
> There is an open problem report where CXXDEMANGLE crashes when the name type
> in on the command line is too long.

    It is possible that the line is too long, but I shortened the command to
    less than 100 chars and it still failed. The error message was 
    "Key too long" would that be the same as "command too long"?

    If the case is "command too long", could you think of a way to work 
    around this problem?

    Thanks,
    -Yehia