srsran / srsRAN_Project

Open source O-RAN 5G CU/DU solution from Software Radio Systems (SRS) https://docs.srsran.com/projects/project
https://www.srsran.com
GNU Affero General Public License v3.0
514 stars 175 forks source link

Assertion `has_value()' failed - Invalid tiny_optional<T> access #289

Closed raul-parada closed 11 months ago

raul-parada commented 12 months ago

Issue Description

Assertionhas_value()' failed - Invalid tiny_optional access when executingsudo ./gnb -c gnb_zmq.yaml`

Setup Details

Ubuntu 22.04.3 LTS Docker Compose version v2.21.0 srsRAN_4G 23.04.1 srsRAN_Project 23.10.1

Expected Behavior

Run gnb succesfully

Actual Behaviour

Lower PHY in executor blocking mode.

--== srsRAN gNB (commit 374200dee) ==--

Connecting to AMF on 10.53.1.2:38412 Available radio types: zmq. /home/rparada/srsRAN_Project/include/srsran/adt/tiny_optional.h:78: constexpr T& srsran::detail::base_tiny_optional<T, Args>::value() & [with T = std::unique_ptr; T ...Args = {}]: Assertion `has_value()' failed - Invalid tiny_optional access. Aborted

Steps to reproduce the problem

Followed this tutorial: https://docs.srsran.com/projects/project/en/latest/tutorials/source/flexric/source/index.html Installed everything from source except zmq Run docker from srsRAN_Project (log attached) log.txt

Additional Information

[Any additional information, configuration or data that might be necessary to reproduce the issue]

faluco commented 12 months ago

Hello Raul,

Could you please recompile the gnb in Debug mode and share the backtrace printed after the assertion gets triggered?

To do so pass this -DCMAKE_BUILD_TYPE=Debug to cmake before rebuilding the gnb.

raul-parada commented 12 months ago
sudo cmake ../ -DENABLE_EXPORT=ON -DENABLE_ZEROMQ=ON -DCMAKE_BUILD_TYPE=Debug

-- Assertion level set to PARANOID
-- Found libdw: /usr/lib/x86_64-linux-gnu/libdw.so  
-- Could NOT find libbfd (missing: LIBBFD_LIBRARY LIBBFD_INCLUDE_DIR) 
-- Could NOT find libdwarf (missing: LIBDWARF_LIBRARY LIBDWARF_INCLUDE_DIR) 
-- Found Backward: /home/rparada/srsRAN_Project/cmake/modules  
-- Building with backward-cpp support
-- Checking for module 'mbedtls'
--   No package 'mbedtls' found
-- MBEDTLS LIBRARIES: /usr/lib/x86_64-linux-gnu/libmbedcrypto.so
-- MBEDTLS STATIC LIBRARIES: /usr/lib/x86_64-linux-gnu/libmbedcrypto.a
-- MBEDTLS INCLUDE DIRS: /usr/include
-- Checking for module 'fftw3f >= 3.0'
--   Found fftw3f , version 3.3.8
-- FFTW3F LIBRARIES: /usr/lib/x86_64-linux-gnu/libfftw3f.so
-- FFTW3F STATIC LIBRARIES: /usr/lib/x86_64-linux-gnu/libfftw3f.a
-- FFTW3F INCLUDE DIRS: /usr/include
-- Found FFTW3F: /usr/lib/x86_64-linux-gnu/libfftw3f.so  
-- UHD LIBRARIES UHD_LIBRARIES-NOTFOUND
-- UHD INCLUDE DIRS UHD_INCLUDE_DIRS-NOTFOUND
-- Could NOT find UHD (missing: UHD_LIBRARIES UHD_INCLUDE_DIRS) 
-- YAMLCPP LIBRARIES: /usr/lib/x86_64-linux-gnu/libyaml-cpp.so
-- YAMLCPP INCLUDE DIRS: /usr/include
-- FINDING ZEROMQ.
-- SSE4.1 is enabled - target CPU must support it
-- AVX is enabled - target CPU must support it
-- AVX2 is enabled - target CPU must support it
-- FMA is enabled - target CPU must support it
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) 
-- Checking for module 'sctp'
--   No package 'sctp' found
-- SCTP LIBRARIES: /usr/lib/x86_64-linux-gnu/libsctp.so
-- SCTP INCLUDE DIRS: /usr/include
-- FFT_LIBRARIES: /usr/lib/x86_64-linux-gnu/libfftw3f.so
-- Building srsRAN version 23.10.1
-- Configuring done
-- Generating done
-- Build files have been written to: /home/rparada/srsRAN_Project/build
faluco commented 12 months ago

Yes, build the gnb and run it, then share the backtrace after the assertion message is printed

raul-parada commented 12 months ago

I got this now:

Lower PHY in executor blocking mode.

--== srsRAN gNB (commit 374200dee) ==--

Connecting to AMF on 10.53.1.2:38412
Failed to connect SCTP socket to 10.53.1.2:38412. error="Connection timed out" timeout=1396ms
srsGNB ERROR: Failed to create SCTP gateway.

Aborted (core dumped)
faluco commented 12 months ago

This message is printed when the gnb cannot connect to the core network. Please make sure you are running a core network and that the correct IP addresses are set. You can check these settings in the following documentation link: https://docs.srsran.com/projects/project/en/latest/tutorials/source/amariUE/source/index.html?highlight=zmq#id4

raul-parada commented 12 months ago

I have running 5GCore (open5gs), however, it is not clear the IPs I should configure and where

faluco commented 12 months ago

These settings can be configured in the .yaml configuration file of the gnb. Inside the configs directory of the project you can find sample configuration files and at the beginning you'll find these specific settings.

raul-parada commented 12 months ago

In the https://docs.srsran.com/projects/project/en/latest/tutorials/source/flexric/source/index.html says to use a given gnb.yaml file with a given configuration. Which IP rang should I use then? I would like to do the mentioned tutorial.

faluco commented 12 months ago

As it seems you are using open5gs in a docker the ip addresses should be the ones in the gnb config file. Please check the open5gs logs for any errors when the gnb tries to connect and that those ip addresses are accessible. Also, check this troubleshooting section: https://docs.srsran.com/projects/project/en/latest/tutorials/source/flexric/source/index.html#core-network-not-running

ismagom commented 11 months ago

Hi @raul-parada, do you have any update on the original issue?

raul-parada commented 11 months ago

Looks solved!

Lower PHY in executor blocking mode.

--== srsRAN gNB (commit 374200dee) ==--

Connecting to AMF on 10.53.1.2:38412
Available radio types: zmq.
Connecting to NearRT-RIC on 127.0.0.1:36421
Cell pci=1, bw=10 MHz, dl_arfcn=368500 (n3), dl_freq=1842.5 MHz, dl_ssb_arfcn=368410, ul_freq=1747.5 MHz

==== gNodeB started ===
Type <t> to view trace