Commit Graph

6030 Commits

Author SHA1 Message Date
Blyron 7e69258e2d
Aaron/updateurls (#6994)
* Set commit for download libsomscout

* Update urls to new storage

* Merge dev into current branch
2023-12-12 23:00:20 -08:00
MattRoweEAIF 48fa35f1da english demo video update 2023-11-28 11:45:05 +01:00
berndgassmann 9490ec085d
Prevent from segfault on missing SignalReference when loading OpenDrive (#6934)
* Prevent from segfault on missing SignalReference when loading OpenDrive

Prevent from segfault on failing SignalReference identification when
loading OpenDrive files

Since boost is compiled without exceptions in CARLA there is no
meaningful error handling for boost optional via exceptions. Therefore,
a validity check has to be introduced to react on potential issues.

* Update changelog

---------

Co-authored-by: Blyron <53337103+Blyron@users.noreply.github.com>
2023-11-27 16:18:46 +01:00
MattRoweEAIF dd64af486a
embedded OASIS demo video (#6944)
Co-authored-by: Blyron <53337103+Blyron@users.noreply.github.com>
2023-11-24 08:35:01 +01:00
Bernd Gassmann 6489eafa4c Fix typo in comment 2023-11-24 08:33:40 +01:00
Bernd Gassmann 7003a7cfbf Fix RSS python code
and adapt on updated synchronous mode handling
2023-11-24 08:33:40 +01:00
Bernd Gassmann 800b394d2a Fix build of RSS version with python 3.10 and Ubuntu 22.04 2023-11-24 08:33:40 +01:00
MattRoweEAIF f64c09e2f6 small fixes 2023-11-23 11:39:49 +01:00
MattRoweEAIF 458f6dde14 added docs key links 2023-11-23 11:39:49 +01:00
MattRoweEAIF 439de84399 removed benchmark link 2023-11-23 11:39:49 +01:00
MattRoweEAIF e74523e5e8 changed video thumbnail 2023-11-23 11:39:49 +01:00
MattRoweEAIF f40ab65904 removed outdated patch instructions 2023-11-23 11:39:49 +01:00
MattRoweEAIF b745d6eeff removed build status 2023-11-23 11:39:49 +01:00
javiergrCS c461f901cf
Javiergr cs/recorder doors (#6922)
* Fix a typo in setting the max brake

From self._max_steer to self._max_brake

* Fix example commands in Multi-GPU docs

Only one dash before `-nullrhi` argument

* Correct incoherent structuring of tutorial for adding sensor to CARLA.

* Add contribution to CHANGELOG.md

* Add notes into breakout boxes in sensor create tutorial.

* Update build_linux.md

Change pseudopath to linux format

* Update build_linux.md

The same change 1 line above

* Fixing Recast pulling by branch instead of hash id

* Added functionality to the recorder to add door state info

* Final update

* Correction CarlaRecorder.h

* Include correction CarlaRecorderQuery.cpp

* Last correction

* Changelog update

* Last corrections

---------

Co-authored-by: kykim0 <kykim144@gmail.com>
Co-authored-by: bernatx <bernatx@gmail.com>
Co-authored-by: Paul Erik Frivold <paulerikf@gmail.com>
Co-authored-by: Balázs Kis <balazs_kis35@yahoo.com>
Co-authored-by: matejm42 <116560704+matejm42@users.noreply.github.com>
Co-authored-by: Blyron <53337103+Blyron@users.noreply.github.com>
2023-11-23 09:36:43 +01:00
Tay Yim 834679d254
Fix typo in map_town13.md (#6920)
* Update map_town13.md

Typo: This should be Town 12
2023-11-17 09:58:40 +01:00
Fabian Oboril 0ac122b699 Enable RSS build with CARLA 0.9.15 2023-11-15 15:34:25 +01:00
MattRoweEAIF 603633c08f
Tidy up of SimReady docs after release (#6910)
* added simready instructions

* tidied up SimReady instructions

* typos
2023-11-14 13:02:28 +01:00
bernatx 2e5039636a adding graph to document 2023-11-13 09:14:50 +01:00
MattRoweEAIF 14ebea6686 added simready instructions 2023-11-13 09:12:36 +01:00
MattRoweEAIF 1510f7522d added details from james 2023-11-13 08:59:58 +01:00
MattRoweEAIF 53a7a15fa0 fixed imagge path 2023-11-13 08:59:58 +01:00
MattRoweEAIF cb208cb150 synkrotron docs 2023-11-13 08:59:58 +01:00
MattRoweEAIF 25623bfdb3
Release docs for CARLA 0.9.15 (#6894)
* digital twin docs 1st draft

* update

* started procedural buildings tool docs

* started procedural building docs

* added town 13

* added images

* final details procedural buildings

* corrections

* typos

* reordered intro

* fixed world.yml

* added final images for town 13

* calibrated town 13 map

* ROS docs

* added town 13 to catalogue

* corrected extended docs page

* updates

* added town15 docs
2023-11-10 12:14:29 +01:00
bernatx 8890249035 changelog 2023-11-10 10:54:28 +01:00
bernatx 89c864fbe1 changelog 2023-11-10 10:31:44 +01:00
MattRoweEAIF bac6931e28
Update .readthedocs.yaml python version to 3.7 (#6893)
Changed the python version to 3.7 to address ReadTheDocs build problems
2023-11-10 10:01:33 +01:00
bernatx e4421b4310 new 0.9.15 version 2023-11-10 09:43:13 +01:00
MattRoweEAIF b23c757ae8
Removed python version option from .readthedocs.yaml (#6892)
* added mkdocs config file

* deleted .yml file

* removed python.version from yaml
2023-11-10 08:33:24 +01:00
MattRoweEAIF 638fc0b349
Modifed .readthedocs.yaml (#6891)
* added mkdocs config file

* deleted .yml file
2023-11-09 18:32:44 +01:00
MattRoweEAIF 280d7ef943 added mkdocs config file 2023-11-09 16:12:58 +01:00
bernatx 4d7ab9e9cb removing ROS2 from release 2023-11-09 16:12:00 +01:00
bernatx 67b928bae0 fixing Jenkinsfile for ROS2 package 2023-11-09 09:57:37 +01:00
bernatx 285f0cd091 content version 2023-11-08 22:30:16 +01:00
bernatx d3341d674f make ROS2 in a separate package 2023-11-08 22:29:28 +01:00
Guillermo 272791266e CHANGELOG 2023-11-08 19:08:44 +01:00
Guillermo 642a36d75e Fixed ending lane control bug 2023-11-08 19:08:44 +01:00
LuisPoveda 116edcdc69 Change previous solution, now quaternions are created with the unit values 2023-11-08 12:13:42 +01:00
LuisPoveda 8d63885767 fix transform null value in rviz 2023-11-08 12:13:42 +01:00
LuisPoveda 406f5e1460 fix compiling error 2023-11-08 12:13:42 +01:00
LuisPoveda 8fc7af31fe fix carla collision event name 2023-11-08 12:13:42 +01:00
LuisPoveda 4ee75c4bc0 fix clock topic name 2023-11-08 12:13:42 +01:00
LuisPoveda b6e16802f2 changed clock to be rosgraph 2023-11-08 12:13:42 +01:00
Aaron fe185f0fc2 Set commit for download libsomscout 2023-11-07 15:37:50 +01:00
bernatx 9ed3574c71 New content version 2023-11-06 12:34:52 +01:00
LuisPoveda 8ce4ca9ed3
Ros2 (#6862)
* Adding ROS2 manager

* Trying to compile fastDDS in windows, but have problems with dependencies

* Camera sensors connected to ROS2, dependencies disabled temporaly

* Including enum with sensors list

* adding GNSS sensor capture

* adding IMU sensor capture

* adding DVS sensor capture

* adding Lidar sensor capture

* adding SemanticLidar and Radar capture

* adding ObstacleDetector and some fixes

* modify cmakelists, failed to find libatomic

* fixed libatomic

* compile fast-dds with libc++

* fixed compliation fast dds with libcxx

* linked carla with fastdds

* Fixed Fast-DDS lib
Now its compiled to a intermediate lib with a bridge so libstdc++ can be used

* moved all ros2 deps to ros2 folder
renamed types from .cxx to .cpp

* Finally FastDDS compiled and working inside CARLA

* exposed publish function for testing

* fixed code style

* make ros2 optional

* make ros2 optional

* Added defines to compile ROS2 code

* ros image publisher working

* deleted some buffer copies

* Added more topics  and ROS2 types

* Adding sensor Transform as argument, and add function to send buffer or serialize and send buffer

* Removing empty buffer from DVS sensor

* fixed lidar publisher

* fixed lidar publisher

* Fix buffer of RGB in ROS2

* adding timestamp of each frame into ROS2 manager

* sending timestamps with frame to ROS2

* put apart timestamp from frame counter call

* adding BufferView to share buffers

* adding BufferView to share buffers

* adding ros_name attribute to all actors

* mapping ros_name for each actor

* ROS2 is now published in a different thread
Publishers now can be created on demand and be reused
Added subscriber for ego vehicle
Fixed build scripts

* forgot to add this fix

* add ros2 to windows scripts

* fixed default ros topic names

* fix topic name duplication

* Adding functions for enable/disable sensors publishing without listen to it

* Added Camera info and ROI types
RGB Camera now publishes in both topics

* move camera info immutable data to the constructor

* Publish transform for all topics
Create Camera DVS subtopics
Fixed bug with Lidar

* Added flip Y to semantic lidar

* Adding callbacks for subscribers from Unreal

* Adding camera info to ROS2 (resolution and FOV)

* Finished ROS2 naming from python

* Fixed bug with ros names

* Delete topics when deleting the sensors

* setting the rosname same as default no longer rewrites it

* ROS transform fix

* Added all camera topics with the image and camera info
Added vehicle control
Added clock publisher

* Change ros2 topic names for vehicle subscriber and  clock publisher

* Rename vehicle control ros2 topic name

* rename subscriber type to CarlaEgoVehicleControl

* Fix semantic lidar default ros name
Fix sizeof the semantic lidar data buffer

* Changed controller stored as string to pointer

* Back to previous version for default hero ros name
Removed debug prints

* Remvoe callback when ego publisher disconnects

* Serializing DVS data before sending to ROS

* dvs camera image and lidar

* DVS Pointcloud publishing

* Remove unnecessary fields

* Send local transforms to ros

* avoid transform recalculation if not needed

* Optical Flow Camera fixed

* Set fixed branch for Fast-DDS to avoid cmake version change issues

* Finally Working on package

* Fix style from FastDDS auto generated files

* Added ros2 to ubuntu in jenkins

* removed ros2 from jenkins, test

* restore ros2 in jenkins

* fix copy shareds, and removed server dependency from libcarla

* test installing the fastdds dependencies in jenkins

* move installing deps to separate stage

* removed install deps

* Fixing test_benchmark_streaming

* Fixed imu orientation and camera info data

* Fixing test_benchmark_streaming.cpp with BufferView

* Removing DEBUG_ONLY()

* publish collision sensor

* Fixing unit-tests with the new BufferView

* camera info is set once

* Fix echo camera info

* fix transform rotation

* Fixing ros_name attribute creation

* fixed camera info and region of interest publish

* fix IMU compass

* Forgot to add ros2 flag to jenkins package

---------

Co-authored-by: bernatx <bernatx@gmail.com>
2023-11-06 12:34:07 +01:00
Axel1092 f7dbdf8189
Vehicle usd collisions (#6459)
* Added collision shape generation for vehicles

* Fixed wrong physics asset assignment to skeletal mesh

* Fixed long line

* Fixed crash with missing optional data from USD

---------

Co-authored-by: Antonio Peris Sanchez <perissanchezantonio@gmail.com>
Co-authored-by: Blyron <53337103+Blyron@users.noreply.github.com>
2023-11-06 09:52:03 +01:00
Blyron 80d3471171
Digital Twins 0.2 version (#6768)
* Bitmap sent and drawn in widget texture with bugs

* Map bitmap shown on widget

* Concated meshes generated in the same lane to avoid errors during simplification

* Navigation added to widget

* Avoid Simplify to remove border vertices and try to parallel assets creation process

* Road Generation 0.1 version ready

* Removing Engine Association, Formatting CarlaTools Build dependencies

* Change container type of generated procedural mesh componetns to be supported by UPROPERTY

* Fixed indices jumping by two

* Added in separate thread junctions generation

* Started dynamic database creation

* Dynamic database creation temporally removed

* First step of merge. Coords of bottom left corner and top right corner

* Libraries added to build system

* Git ignore for osmrenderer to avoid ThirdParties directory to be tracked

* Lat and Lon coords for corners sent from server to client

* Transformed to local coords meshes' vertices' coords

* Coords format error fixed

* Saving xodr and osm files inside of OpenDrive folder

* Widget fixed

* UI design improved

* WIP Windows build system for osm-world-renderer

* Socket implementation replaced by boost asio framework in osmrenderer

* Added multithreaded simplification of meshes

* Build system adapted to wndows

* Headers fixed to avoid windows specific heraders compilation

* Remove warnings

* Added widget to import building from houdini

* Added origin latitude and longituda to OSM to OpenDRIVE conversion functions. Fixed Houdini importer widgets.

* Add Houdini plugin download to the build system

* Moved houdini blueprint. Houdini plugin now dowloads by default

* Added houdini download for windows

* OpenDriveToMap Now is a UOBject instead of widget

* Added Lane mark generation.

* Roads materials and distance field scale set to 0

* M_PI macro fixed for windows osm-renderer build system

* Added Lane Marking generation

* Fixed compilation issue related with std pair non copyable lane

* Fix bug where different lanes were concating. Fix bug where end of roadmark was creating an artifact

* Lanes Marks material assignation

* Fix compilation issue and reading from not valid memory crash

* Middle Lane mark duplication bug fixed - temp solution

* Added bumps along road

* Adding marchingcubes library and added to create junctions

* Added junctions generations using marching cube and smoothed

* Fixed linux compilation and removed couple warnings

* Using previous algorithim for two road connections

* Code cleanup

* Remove debug state

* Format Files

* Format third parties files

* Spaces removal

* Fix code format

* Added spawnning for trees

* New branch to don`t loose modifications in code

* Removing unnecesary spaces

* Set trees for designer

* Tag static mesh actor from road type

* One tile with landscape and road cut

* Changed format of For

* WidgetCreated

* Widget progress

* LevelCreator Update

* Folder for basicParameters in father map

* Father map from template

* Terrain mesh generated from noise and road mask

Road mask not applied

* Assign SubLevel by position

* Changed to static functions

* StrigUpdate

* Added missing UFUNCTIONS

* Trying to move Houdini actors to tiles

* Meshes from Houdini to Tiles

* Number of X and Y tiles exposed

* Modify to new functions

* Modifying code to create a new variable-offset and table to ingest blueprints

* Update assignTile Function

* Updating widget and cpp file to relocate meshes

* Update Widget and create local copy of OpenDriveToMap

* Added planes as landscape

* RoadImported fixed

* Simplification done in UE side

* Update Houdini pipeline

* Fixed osmrenderer compilation for windows

* Generate landscape and set materials

* Generate UVs for lane meshes. Generate Normals and Tangets for lane meshes

* Delete unnecesary files

* Widget updated

* Exposing different variables to BPs

* Update Assets

* Asset path names fixed

* Fixed height for misc objects, set default landscape

* Rotate Light boxes

* Adding OSM Importer plugin

* Fixed normals on sidewalks

* Update adding buildings plugin

* Adding missing BP

* Update

* Fix BP_Instanced

* Update OSMImporter

* Creating BP_BuildingCreator

* LevelCreator Fixed

* Update building asset creation

* If def add for osm renderer

* Building block variation and styles

* Updated values and generation for demo3

* Fix Widget

* Changed unreal FSocket for boost sockets. Fixed road position errors

* Update building creation

* Updated Building Height

* Fixing line colors

* Added Planes in missing stuff

* Update for meshes

* Update deformation, avoid creation of individual buildings and add check for deformation

* Deleted unnecesary files

* New branch to work on building generation

* Added shorts walls and roofs

* Improve triangulation of polygons using UE

* Fixing pipeline

* Disabling shadows for roads and terrain

* Updated default values for BP_Opendrivetomap

* Updated OpenDriveToMap

* Use Editor world instead of GetWorld

* Added HTTP module

* Change customfiledownloader API

* Adding debuginformation

* Using OpenDriveToMapObject

* Adding Debug stuff

* Expose Buildings names in ue4

* Remove from root when generation finished

* Adding Slopes to building generation

* Table update

* Set pivot point at centre of building and Set use of material instances

* Updating Buildings plane stuff

* Fixing walls for building generator

* Update data table

* Updated road generation

* Update DT

* Update Origin of map and set moving for large map

* Remove logs prepare blueprints for getting new info

* Update slope fix and material for slopes

* Updated Digital Twins for 12/06

* Added direct URL support

* Avoid some crashes and improve QoL

* Height fix

* Tried to expose largemap in tick

* New vegetation scatter tool

* Added Full largemap support

* Edit building levels in some type of levels

* Updated static meshes instead of procedural meshes

* Updated building generation and reduced logs

* Vegetation tool into landscape pipeline

* Demo ready for digital twins

* Automated download of plugin

* Update linux build script for UE4 Plugins

* Disable sidewalks in junctions

* Re enable sidewalksin crossing lanes

* Removed asserts added checks to avoid generation of sidewalks on road

* Optimizations for VRAM

* Move actors slowly to sub levels

* Added optimizations and support for smaller or bigger maps in tiles, modified TileSize

* Garage and shed styles

* Update generation stages

* Update garage and shed parameters

* Changed method generation to tile by tile

* Fixed memory leak and UOpenDriveToMap is a uobject now

* Fixed tile by tile generation

* Added Heightmap support to map gen

* last update

* Commandlet generation working

* Merge finished

* Update DefaultEngine.ini to rever default rhi

* Clean up HoudiniImporterWidget.cpp

* Add with editor and make editor only code

* Setup dependencies for CarlaTools plugin

* Update StreetMap plugin commit and gitignore

* Update Content version

* Update next content version

* Changed based type of OpenDrivetomap

* Remove intermediate files if need similar to BuildCarlaUE4.sh

* Update order of execution of donwload

* Try to run download plugins everytime is used

* Update packages sh avoid to delete anything

* Fixing setup in windows

* Add UE Constructor to Commandlet

* More fixes

* content version

* Update package sh and update

* Update Streetmap version

* Update dependencies

* Update StreetMap commit

* Fix typo in gitignore

* Update STMap plugin commit

* Revert latest changes in windows package script

* Update comments

---------

Co-authored-by: aollero <aollero@cvc.uab.cat>
Co-authored-by: aollero <adriollero@gmail.com>
Co-authored-by: Axel <axellopez92@outlook.com>
Co-authored-by: marionzki <mnoriegazamora@gmail.com>
Co-authored-by: bernatx <bernatx@gmail.com>
2023-10-31 11:24:22 +01:00
bernatx 133cd319d7 Adding missing Town15.package.json 2023-10-28 10:13:31 +02:00
bernatx 7c106b9426 adding Town15 as AdditionalMap 2023-10-27 14:39:37 +02:00
Michal Sojka 2de8ad017d
PythonAPI: Fix segfaults due to incorrect GIL locking (#6718)
* PythonAPI: Fix segfault in GetAvailableMaps

When using CARLA with Python 3.10, I'm getting a segfault in
GetAvailableMaps. The problem disappears when PyList manipulation does
not happen with GIL unlocked, as done in this commit.

The initial part of crash backtrace (from GDB) is below:

    Program terminated with signal SIGSEGV, Segmentation fault.

    warning: Section `.reg-xstate/49253' in core file too small.
    #0  _PyInterpreterState_GET () at ./Include/internal/pycore_pystate.h:117
    117	   return tstate->interp;
    [Current thread is 1 (Thread 0x7fe6fe48f740 (LWP 49253))]
    (gdb) bt
    #0  _PyInterpreterState_GET () at ./Include/internal/pycore_pystate.h:117
    #1  get_list_state () at Objects/listobject.c:26
    #2  PyList_New (size=0) at Objects/listobject.c:159
    #3  0x00007fe6fdc0dab0 in boost::python::detail::list_base::list_base() () from /nix/store/c95f3nrkz3sflvycihyw1c8q4nk47p4m-boost-1.79.0/lib/libboost_python310.so.1.79.0
    #4  0x00007fe6ef9ecfc4 in boost::python::list::list (this=0x7ffd8a8aae28) at include/boost/python/list.hpp:61
    #5  GetAvailableMaps (self=...) at source/libcarla/Client.cpp:26
    #6  0x00007fe6efb6a8fe in boost::python::detail::invoke<boost::python::to_python_value<boost::python::list const&>, boost::python::list (*)(carla::client::Client const&), boost::python::arg_from_python<carla::client::Client const&> > (rc=..., f=<optimized out>, ac0=...)
        at include/boost/python/detail/invoke.hpp:73
    #7  boost::python::detail::caller_arity<1u>::impl<boost::python::list (*)(carla::client::Client const&), boost::python::default_call_policies, boost::mpl::vector2<boost::python::list, carla::client::Client const&> >::operator() (args_=<optimized out>, this=<optimized out>)
        at include/boost/python/detail/caller.hpp:233
    #8  boost::python::objects::caller_py_function_impl<boost::python::detail::caller<boost::python::list (*)(carla::client::Client const&), boost::python::default_call_policies, boost::mpl::vector2<boost::python::list, carla::client::Client const&> > >::operator() (
        this=<optimized out>, args=<optimized out>, kw=<optimized out>) at include/boost/python/object/py_function.hpp:38
    #9  0x00007fe6fdc1b4dd in boost::python::objects::function::call(_object*, _object*) const () from /nix/store/c95f3nrkz3sflvycihyw1c8q4nk47p4m-boost-1.79.0/lib/libboost_python310.so.1.79.0
    #10 0x00007fe6fdc1b6a8 in boost::detail::function::void_function_ref_invoker0<boost::python::objects::(anonymous namespace)::bind_return, void>::invoke(boost::detail::function::function_buffer&) ()
       from /nix/store/c95f3nrkz3sflvycihyw1c8q4nk47p4m-boost-1.79.0/lib/libboost_python310.so.1.79.0
    ...

* PythonAPI: Fix segfault in get_random_location_from_navigation()

When I run generate_traffic.py under Python 3.10, I get a segfault at
line:

    loc = world.get_random_location_from_navigation()

The backtrace from gdb looks like this:

    #0  0x00007f04552ad7e7 in new_threadstate () from /nix/store/zqj9irpw63pal9r4671p1gjd9jiw5sid-ros-env/lib/libpython3.10.so.1.0
    #1  0x00007f04552adaa1 in PyGILState_Ensure () from /nix/store/zqj9irpw63pal9r4671p1gjd9jiw5sid-ros-env/lib/libpython3.10.so.1.0
    #2  0x00007f040afd4f32 in std::_Function_handler<void (carla::client::WorldSnapshot), MakeCallback(boost::python::api::object)::{lambda(auto:1)#1}>::_M_invoke(std::_Any_data const&, carla::client::WorldSnapshot&&) ()
       from /nix/store/zqj9irpw63pal9r4671p1gjd9jiw5sid-ros-env/lib/python3.10/site-packages/carla/libcarla.cpython-310-x86_64-linux-gnu.so
    #3  0x00007f040b1d4ab1 in carla::client::detail::CallbackList<carla::client::WorldSnapshot>::Call(carla::client::WorldSnapshot) const () from /nix/store/zqj9irpw63pal9r4671p1gjd9jiw5sid-ros-env/lib/python3.10/site-packages/carla/libcarla.cpython-310-x86_64-linux-gnu.so
    #4  0x00007f040b1d424a in std::_Function_handler<void (carla::Buffer), carla::client::detail::Episode::Listen()::{lambda(auto:1)#1}>::_M_invoke(std::_Any_data const&, carla::Buffer&&) ()
       from /nix/store/zqj9irpw63pal9r4671p1gjd9jiw5sid-ros-env/lib/python3.10/site-packages/carla/libcarla.cpython-310-x86_64-linux-gnu.so
    #5  0x00007f040b23fc41 in boost::asio::detail::completion_handler<boost::asio::detail::binder0<carla::streaming::detail::tcp::Client::ReadData()::{lambda()#1}::operator()() const::{lambda(boost::system::error_code, unsigned long)#1}::operator()(boost::system::error_code, unsigned long) const::{lambda()#1}>, boost::asio::io_context::basic_executor_type<std::allocator<void>, 0ul> >::do_complete(void*, boost::asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long) ()
       from /nix/store/zqj9irpw63pal9r4671p1gjd9jiw5sid-ros-env/lib/python3.10/site-packages/carla/libcarla.cpython-310-x86_64-linux-gnu.so
    #6  0x00007f040b24ae85 in boost::asio::detail::strand_service::do_complete(void*, boost::asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long) ()
       from /nix/store/zqj9irpw63pal9r4671p1gjd9jiw5sid-ros-env/lib/python3.10/site-packages/carla/libcarla.cpython-310-x86_64-linux-gnu.so
    #7  0x00007f040b1a94f5 in boost::asio::detail::scheduler::do_run_one(boost::asio::detail::conditionally_enabled_mutex::scoped_lock&, boost::asio::detail::scheduler_thread_info&, boost::system::error_code const&) ()
       from /nix/store/zqj9irpw63pal9r4671p1gjd9jiw5sid-ros-env/lib/python3.10/site-packages/carla/libcarla.cpython-310-x86_64-linux-gnu.so
    #8  0x00007f040b199351 in boost::asio::detail::scheduler::run(boost::system::error_code&) [clone .isra.0] () from /nix/store/zqj9irpw63pal9r4671p1gjd9jiw5sid-ros-env/lib/python3.10/site-packages/carla/libcarla.cpython-310-x86_64-linux-gnu.so
    #9  0x00007f040b1ac1cb in std:🧵:_State_impl<std:🧵:_Invoker<std::tuple<carla::ThreadPool::AsyncRun(unsigned long)::{lambda()#1}> > >::_M_run() ()
       from /nix/store/zqj9irpw63pal9r4671p1gjd9jiw5sid-ros-env/lib/python3.10/site-packages/carla/libcarla.cpython-310-x86_64-linux-gnu.so
    #10 0x00007f040bce05c3 in execute_native_thread_routine () from /nix/store/2fpmbk0g0ggm9zq89af7phvvvv8dnm7n-gcc-12.3.0-lib/lib/libstdc++.so.6
    #11 0x00007f045509fdd4 in start_thread () from /nix/store/1x4ijm9r1a88qk7zcmbbfza324gx1aac-glibc-2.37-8/lib/libc.so.6
    #12 0x00007f04551219b0 in clone3 () from /nix/store/1x4ijm9r1a88qk7zcmbbfza324gx1aac-glibc-2.37-8/lib/libc.so.6

It turns out that its caused by releasing GIL for too long. We fix it
by releasing the GIL only for the actual libcarla call and
constructing Python objects with GIL locked.

---------

Co-authored-by: bernat <bernatx@gmail.com>
2023-10-27 14:37:46 +02:00