Skip to Content
author's profile photo
Former Member

Int 3 during RfcOpenExtV3

Hi. I've written a C++ application running on Windows 2000. It performs an RfcOpenExtV3 call. If this call fails the application waits about 30 seconds and tries again. The reason for the failure is the redundant SAP system I'm trying to establish a connection to is taken down on weekends for several hours. After some number of attempts at reopening I get into a very strange condition where I'm sitting on an INT 3 instruction (breakpoint). None of my code is on the stack in the thread related to the INT 3. I will capture the 5 items on the stack the next time this happens so I can present accordingly. I did some reading/investigating about a possible timing problem in socket handling, COM and RFC but I don't want to speculate too soon incase someone else has seen this condition and can recommend a program change, library update, Windows patch (currently Win2K SP2) or something I have yet to consider. Any help would of course be greatly appreciated 😊

Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

1 Answer

  • Posted on Feb 27, 2005 at 08:55 AM

    Hi Howard!

    SAP systems need quite a time for startup. You are definitely hit startup-phase with your remote call.

    If no other options pop up, here an alternative plan:

    - use ping instead of repeated RFC

    - if ping is not successful -> that's a shutdown

    - first successful ping triggers a longer waiting period

    - normal RFC

    Try to get startup time (5 minutes, 10 minutes), so that your waiting will ensure complete system startup. Maybe ping is still successful during shutdown -> first few (3?) tries might be with RFC, then trigger wait period for shutdown time.

    But maybe you got better solution,

    regards,

    Christian

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member Former Member

      Here is what is on the stack when the INT 3 occurs:

      NTDLL! 77f813b1()

      NTDLL! 77fcfdda()

      NTDLL! 77f96745()

      NTDLL! 77fb5c15()

      NTDLL! 77fa6afc()

      NTDLL! 77fccc55()

      RSVPSP! 6859dbdc()

      RSVPSP! 685a0474()

      KERNEL32! 7c57438b()