Skip to Content
author's profile photo Former Member
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 a comment
10|10000 characters needed characters exceeded

Related questions

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 a 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()

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.