Skip to Content
3

Lock errors using eclipse over the internet

Mar 16 at 09:03 PM

95

avatar image

Update 1: I found out how to reproduce the issue fairly reliably, see end of post.

Update 2: I found the root cause involves a dump and does seems to originate from Azure/SAP combination, see my answer below.

When I use my local eclipse to connect to a cloud instance (Azure), I often see timeout and locking errors. There is no problem with the connection, via SAPGUI it is perfectly stable and when it works Eclipse is also generally quick. But then very randomly I'll hit a bump that goes something like:

Save -> spinning wheel for a while > message "Timeout getting a lock"

If I try again I see the message "Object could not be locked / User DEVELOPER is currently editing ZCL..."

I have to manually remove the lock via SM12 to continue working.

It seems to happen more often when I've left the system idle for a couple of minutes - but not always.

I have 200MB fibre broadband and experience no other internet issues. SAPGUI and remote desktop to the same instance is perfectly fine. I use VPN both inbound and outbound to work remotely all day long, there are no issues whatsoever other than using ADT.

---Edit---:

I've been trying to observe a pattern, it seems to mainly happen on generation and code changes, but NOT save. The following procedure reproduces it quite often:

  1. Open SM12, view locks
  2. Open a class, make a change, activate.
  3. Make another change. You should now see the padlock and the * (change indicator) in the tab to indicate that it is locked and changed.
  4. Leave it for 10-15 minutes
  5. SM12 should still show it's locked
  6. Save the class -> success. The * is no longer in the tab but the padlock is still there.
  7. SM12 should still show it's locked
  8. Ctrl-F3 to activate -> spinny wheel -> Object could not be locked, locked by <your userid>

If you close and re-open, the last change is still there, so it definitely saved under the existing lock. But you can no longer edit until you remove the lock in SM12.

Something is definitively fishy and it's not at my end.

I'm using the latest Eclipse Oxygen with latest ADT on a Mac. I will try it on a Windows VM when I have some more time.

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

2 Answers

Florian Henninger
Mar 17 at 01:48 PM
0

Hi Mike,

I could imagine, that the backend parameters are just set in a wrong way.

Here's the link to the backend-configuration guide (Section More information).

https://tools.hana.ondemand.com/#abap

I would suggest you start first to check on those and see if it will fix the issue.

~Florian

Show 3 Share
10 |10000 characters needed characters left characters exceeded

Hi Florian,

Thanks for the input. I doubt it, but checked it anyway and found no discrepancies. Those are all "either it works or it doesn't" settings.

This happens intermittently on two Azure instances, a 7.5 and 7.52 system.

SAPGUI (even inside Eclipse) is rock solid

Running eclipse on a cloud instance is also no problem. The usual deployment setup is a Windows VM alongside a linux VM running SAP in a single virtual network. If I remote-desktop into the Windows VM, Eclipse also works flawlessly.

Over the internet it's as if ADT 'forgets' about the connection and then re-establishes a new session, because it manages to set a lock, which suddenly turns foreign.

Also, this used to work, I've been running this kind of setup for a long time without a hitch, it's in recent months that I've been having this issue. I recently deployed a new instance and when the same thing happened with that one I finally got around to posting this.

0

Over the internet it's as if ADT 'forgets' about the connection and then re-establishes a new session, because it manages to set a lock, which suddenly turns foreign.

I've experienced exactly this, connecting to a non-cloud instance via a VPN but with a shaky connection. Once the ADT/Instance connection gets confused, the only way I got things working again was to restart Eclipse. It's strange though, as I've only encountered this one time. It's like it only happens under very specific circumstances.

0
Matthew Billingham

No restart needed, it keeps the authentication, I just close the class, delete the locks and resume. Then it’s fine, until maybe I go get myself some coffee or write an email and boom, fail on next save, then locked by my other self.

0
Mike Pokraka Mar 31 at 09:39 PM
0

OK, so after installing Eclipse on a Windows machine I found the same issue there too. Then I noticed a series of dumps that coincided with the lock failures.

The dump is CALL_FUNCTION_ACCEPT_FAILED in SAPMSSY1 (RFC): Error while starting a Remote Function Call (ACCEPT).

I pulled out an RFC trace which had a little more detail than the dump: It clearly comes from eclipse (FM SADT_REST_RFC_ENDPOINT), and complains that the gateway might be closed. But the thing is if I retry then it works. Can anyone shed some light?

Here's the RFC trace file:

**** Trace file opened at 20180331 210646 UTC, by disp+work                                                                                                    
**** Versions SAP-REL 753,0,16 RFC-VER U 3 1782874 MT-SL                                                                                                      
======> CPIC-CALL: 'ThSAPCMRCV', communication rc: CM_DEALLOCATED_ABEND (cmRc=17), taskhandler rc: READ_FROM_GW_FAILED (thRc=239)                              
Error with SAP gateway communication; check if SAP gateway is closed                                                                                          
ABAP Programm: SAPMSSY1 (Transaction: )                                                                                                                        
Called function module: SADT_REST_RFC_ENDPOINT                                                                                                                
User: DEVELOPER (Client: 001)                                                                                                                                  
Destination: NPL_752_openSAP (Handle: 1, DtConId: 00000000000000000000000000000000, DtConCnt: 0, ConvId: 26968172,{871330C0-3514-11E8-C5C0-ECC27F000001})      
EPP RootContextId: 00000000000000000000000000000000, ConnectionId: 871330C0351411E8C5C0ECC27F000001, ConnectionCnt: 17                                        
EPP TransactionId:                                                                                                                                            
SERVER> RFC Server Session (handle: 1, 26968172, {871330C0-3514-11E8-C5C0-ECC27F000001})                                                                      
SERVER> Caller host:                                                                                                                                          
SERVER> Caller transaction code:  (Caller Program: SAPJCo31)                                                                                                  
SERVER> Called function module: SADT_REST_RFC_ENDPOINT                                                                                                        
Error RFCIO_ERROR_SYSERROR in /bas/753_REL/src/krn/rfc/abrfcpic.c : 3838                                                                                      
CPIC-CALL: 'ThSAPCMRCV', communication rc: CM_DEALLOCATED_ABEND (cmRc=17), taskhandler rc: READ_FROM_GW_FAILED (thRc=239)                                      
Error with SAP gateway communication; check if SAP gateway is closed                                                                                          
Error RFCIO_ERROR_MESSAGE in /bas/753_REL/src/krn/rfc/abrfcio.c : 1985 

Then I also looked into the Gateway trace and found a curious bit of info that seems to indicate that it's disconnecting its own public ("P") and local (L) network interfaces from each other:

***LOG Q0R=> GwReadFromRemGw, GwRead ( GwRead-006) [gwdp.c       4843]                                                                                
Sat Mar 31 21:25:04:466 2018                                                                                                                          
***LOG Q0I=> NiIRead: P=51.136.32.17:3300; L=10.0.0.159:31255: recv (110: Connection timed out) [/bas/753_REL/src/base/ni/nixxi.cpp 5430]            
*** ERROR => NiIRead: SiRecv failed for hdl 223/sock 27                                                                                              
    (SI_ECONN_BROKEN/110; I4; ST; P=51.136.32.17:3300; L=10.0.0.159:31255) [nixxi.cpp    5430]                                                        
***LOG S23=> GwDisconnectClient, client disconnected (237) [gwxxrd.c     11191]                                                                      
GwDisconnectClient: client 237 disconnected, hostname = <my_public_hostname>.westeurope.cloudapp.azure.com, addr = 51.136.32.17, tp = sapdp00        
*****************************************************************************                                                                        
*                                                                                                                                                    
*  LOCATION    SAP-Gateway on host vhcalnplci.dummy.nodomain / sapgw00                                                                                
*  ERROR       connection to partner                                                                                                                  
*              '<my_public_hostname>.westeurope.cloudapp.azure.com:sapgw00'                                                                          
*              broken                                                                                                                                
*                                                                                                                                                    
*  TIME        Sat Mar 31 21:25:04 2018                                                                                                              
*  RELEASE     753                                                                                                                                    
*  COMPONENT   NI (network interface)                                                                                                                
*  VERSION     40                                                                                                                                    
*  RC          -6                                                                                                                                    
*  MODULE      /bas/753_REL/src/base/ni/nixxi.cpp                                                                                                    
*  LINE        5430                                                                                                                                  
*  DETAIL      NiIRead: P=51.136.32.17:3300; L=10.0.0.159:31255                                                                                      
*  SYSTEM CALL recv                                                                                                                                  
*  ERRNO       110                                                                                                                                    
*  ERRNO TEXT  Connection timed out                                                                                                                  
*  COUNTER     499                                                                                                                                    
*                                                                                                                                                    
*****************************************************************************                                                                        

Show 2 Share
10 |10000 characters needed characters left characters exceeded

Hi Mike,

thanks for raising this issue. We recently faced this problem ourselves and will investigate it as soon as possible. Thanks for the already detailed error messages these help a lot.

We will keep you updated.

Regards, Felix

1
Felix Otto

Great, thanks!

0