RP/MessageQ 4.0A - stack dump on AXPs - CR031769
(Doc ID 766398.1)
Last updated on FEBRUARY 07, 2025
Applies to:
Oracle MessageQ - Version 4.0 and laterInformation in this document applies to any platform.
Information in this document applies to any platform
Goal
DESCRIPTION: The following code dumps when run. There are 2 files necessary in order to recreate this. The first is a COM file to build the executable: This does not happen on VAXes, and appears to be an "Alpha'sim". Putting printfs appears to change register addresses, and circumvents the stack dumps. ******* DMT.COM starts here ************* $cxx main.cxx $ cxxlink [.axp]main,sys$input:/opt dmq$entryrtl/share $ dmtr :== $s:[rdurr.anew]main.exe $ dmtr ******* DMT.COM ends here ******* MAIN.CXX starts here ******** #include <stdio.h> #include <dmq$include:p_entry.h> #include <dmq$include:p_symbol.h> int main(int argc, char **argv) { // UNCOMMENT THE FOLLOWING LINE TO PREVENT THIS PROGRAM FROM CRASHING // printf(""); q_address my_primary_queue; q_address my_secondary_queue; int32 attach_mode = PSYM_ATTACH_TEMPORARY; int32 q_type = PSYM_ATTACH_PQ; int32 dmq_status; int32 messages_flushed; dmq_status = pams_attach_q(&attach_mode, &my_primary_queue, &q_type, (char *) 0, /* No name necessary */ (int32 *) 0, /* No name length */ (int32 *) 0, /* Use default name space */ (int32 *) 0, /* No name space list len */ NULL, NULL, NULL); attach_mode = PSYM_ATTACH_TEMPORARY; q_type = PSYM_ATTACH_SQ; dmq_status = pams_attach_q(&attach_mode, &my_secondary_queue, &q_type, (char *) 0, /* No name necessary */ (int32 *) 0, /* No name length */ (int32 *) 0, /* Use default name space */ (int32 *) 0, /* No name space list len */ NULL, NULL, NULL); dmq_status = pams_detach_q(&my_secondary_queue, (int32 *) 0, /* Use default detach opt */ (int32 *) 0, /* No detach opt list len */ &messages_flushed); printf("test1\n"); pams_exit(); printf("test2\n"); } ********* MAIN.CXX ends here***** Run the com file and it will build, link and run the exe. You will get the following error: test1 test2 %SYSTEM-F-ACCVIO, access violation, reason mask=04, virtual address=000000007ABE8000, PC=FFFFFFFF808BF85C, PS=0000001B Improperly handled condition, image exit forced. Signal arguments: Number = 0000000000000005 Name = 000000000000000C 0000000000000004 000000007ABE8000 FFFFFFFF808BF85C 000000000000001B
Solution
To view full details, sign in with your My Oracle Support account. |
|
Don't have a My Oracle Support account? Click to get started! |
In this Document
Goal |
Solution |