carla-simulator / carla

Open-source simulator for autonomous driving research.
http://carla.org
MIT License
11.28k stars 3.65k forks source link

LowLevelFatalError [File:Unknown] [Line: 136] Exception thrown: close: Bad file descriptor [system:9] When running performance_benchmark.py #6872

Open zhanglixuan0720 opened 11 months ago

zhanglixuan0720 commented 11 months ago

CARLA version: 0.9.14 Platform/OS: Ubuntu 20.04, Inrel Core i7-11800H, RTX 3080 16GB Problem I have experienced: When I ran the performance_benchmark.py (location: PythonAPI/util/performance_benchmark.py) to check the performance of the Carla simulator on my machine, I encountered the error from the Carla Server. The error information is as follows:

LowLevelFatalError [File:Unknown] [Line: 136] 
Exception thrown: close: Bad file descriptor [system:9]
Signal 11 caught.
Malloc Size=65538 LargeMemoryPoolOffset=65554 
CommonUnixCrashHandler: Signal=11
Engine crash handling finished; re-raising signal 11 for the default handler. Good bye.
Segmentation fault (core dumped)

The command I run the Carla Server is:

./CarlaUE4.sh -RenderOffscreen

The command I run as Client is:

python performance_benchmark.py --file benchmark_all.md

What I expected to happen: The program should run normally and give me a report about the performance of the Carla simulator on my machine that stored in benchmark_all.md. Steps to reproduce: One can reproduce this error by running the command listed above. Other information: I tried to locate and solve this problem and found every time the Carla Server crashed when the Client program invokes world.get_settings(). This problem will happen after the program simulates multiple sensor configs in performance_benchmark.py.

def set_world_settings(world, args = None):  # rows 358

  if args == None:
    settings = world.get_settings()
    settings.synchronous_mode = False
    settings.fixed_delta_seconds = 0.0
    settings.no_rendering_mode = False
    world.apply_settings(settings)
  else:
    settings = world.get_settings()    # <--- The Crala Server crashes when the Client program runs here.
    settings.synchronous_mode = args.sync
    settings.fixed_delta_seconds = args.fixed_dt if args.sync else 0.0
    settings.no_rendering_mode = args.no_render_mode
    world.apply_settings(settings)  # rows 371
AuderySun commented 8 months ago

@zhanglixuan0720 Hi, lixuan. Could you let me know if you've been able to solve this error? I am meeting the same issue.