Skip to content

** Linux Discovery Troubleshooting **

1. Discovery May fail.

  • Check discover logs and restart the discovery.
  • If rediscovery doesn't work, Contact the support.

2. Discovery taking too much of time.

  • Discovery may may get stuck due to network delays.
  • We recommend to check network latency and restart the discovery.
  • If restarting discovery doesn't work, try "Force Discover"
  • If it fails, Contact the support.

3. Attach May fail.

  • Check x-ray logs and retry x-ray start.
  • If it fails, Contact the support.

4. Detach May fail.

  • Check x-ray logs and retry x-ray stop.
  • If it fails, Contact the support.

5. Analyze May fail.

  • Contact the support.

6. Attach/Detach May get stuck for longer time.

  • Contact the support.

7. Running a 32-bit application on a 64-bit computer throws an error

Problem Statement:

When you run a 32-bit application on a 64-bit computer, you may get the following error message:

/opt/ch-run.sh: </binary/locations>: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

Solution:

There are two steps that must be carried out so that running the 32-bit application on a 64-bit computer does not throw an error. The steps are:

Step 1: Check if the binary file is a 32-bit file and if the application necessitates a 32-bit binary file only.

Step 2: Check if the binary file requires installation of glibc.i686 to start the process. Add the glibc.i686 install command in the the docker file:

RUN yum install -y glibc. I686

Result:

The 32-bit application runs smoothly on a 64-bit computer.

8. Xray may fail to mysql process.

Problem Statement:

  • If the Application (mysql) is started with systemd, The associaged systemd unit file has a clause: RuntimeDirectory=mysqld
  • which creates a runtime directory “/run/mysqld“ on filesystem with ownership as “mysql:mysql“.
  • This clause also makes sure to remove this directory once the systemctl stop mysql gets invoked.
  • Here Xray may fail while restarting process with probe.
  • Xray fails as run directory is missing. This run directory is needed to create the pid file and runtime socket files if any

Solution:

Below is the workaround:

  • Stop the mysql Application:

    sudo systemctl stop mysql

  • Typical systemd unit file path: /lib/systemd/system/mysql.service
  • comment the RuntimeDirectory=mysqld clause in unit file as:

    #RuntimeDirectory=mysqld

  • Reload systemd configuration:

    sudo systemctl daemon-reload

  • Pre-create the run file directory:

    sudo mkdir -p /run/mysqld

  • Add ownership:

    sudo chown mysql:mysql /run/mysqld/

  • Start the mysql Application:

    sudo systemctl start mysql

  • Rediscover the machine and start the Xray.