
You have just configured the HTTP port in your SAP system but, the service couldn’t be startup and keep on failing. From the SMICM trace log, you notice the following error message is captured,
***LOG Q0I=> NiIBindSocket: bind (98: Address already in use)
*** ERROR => NiIBindSocket: SiBind failed for hdl 65/sock 22
(SI_EPORT_INUSE/98; I4; ST; 0.0.0.0:8088) [nixxi.cpp 3908]
*** ERROR => IcmBindService: NiBuf2Listen failed for host itsiti.com:8080 (rc=-4): NIESERV_USED
*** WARNING => IcmAddService: Could not start service (rc=-22) PORT=8080,PROT=HTTP,TIMEOUT=60,PROCTIMEOUT=600
The above error message is captured based on SAP on Linux operating system. If you are SAP on Windows operating environment, it will be something similar like below,
***LOG Q0I=> NiIBindSocket: bind (10013: WSAEACCES: Permission denied)
[Thr 8548] *** ERROR => NiIBindSocket: SiBind failed for hdl 1 / sock 9
(SI_EPORT_INUSE/10013; I4; ST; 0.0.0.0:8080)
*** ERROR => MsSCommInit: NiBufListen(8080) (rc=NIESERV_USED)
Solution
The error is due to the highlighted port (example 8080) is already being used by some other process.
As per SAP Note 1845121 – Address already in use – how to find the process listening on port, you need to use the following commands (corresponding to your operating system) to find out the PID of the process, which is already listening to the port.
- Windows
netstat -aon | findstr [PORT-NUMBER]
- Linux
netstat -nap | grep [PORT-NUMBER]
ss -ntlp | grep [PORT-NUMBER]
- Linux/Unix
lsof -n -P -i :[PORT-NUMBER]
So, based on the PID you can find the process in the Task Manager (Windows) or in the output of the ps -ef command (Linux/Unix).
Next action, up to you to decide,
- Kill the PID, if the process wasn’t supposed to listen to the port.
- You may also restart your operating system, which will release the port and allow yours to listen to it.


