GeoscienceAustralia / ginan

The Australian Government, through Positioning Australia (part of Geoscience Australia), is funding the design, development and operational service of a Global Navigation Satellite System (GNSS) position correction system - the Ginan service and toolkit. The application of the Ginan correction service by a GNSS device has the potential to increase positioning accuracy from meters to centimetres across Australia. The suite of software systems in this repository (the Ginan toolkit) will be used to create the service. It is available now under an open source licence. Ginan will give individuals and organisations no-cost access to the Ginan software and service as a public good.
https://geoscienceaustralia.github.io/ginan/
Other
207 stars 95 forks source link

Failed to run pea by using ppp_example.yaml on ubuntu22.04 #92

Closed wsaddasw1989 closed 2 weeks ago

wsaddasw1989 commented 3 weeks ago

Dear ginan team, I install the ginan on ubuntu22.04 according to the README.md file and using the ubuntu22.sh script. Everything is good during the installing and complining process, but I got "NAN foud. Exiting ..." ERROR in the first epoch process while runing "./pea --config ppp_example.yaml". All the files and yaml are default ones and the inputdata is well prepared. There are the same problem while runing on CentOS8. Here is the cmake info and run info on ubuntu22.04. Is there any problem? Thank you.

-- The C compiler identification is GNU 11.4.0 -- The CXX compiler identification is GNU 11.4.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Setting ccache off -- Setting optimisation on -- Setting parallelisation on -- Found OpenMP_C: -fopenmp (found version "4.5") -- Found OpenMP_CXX: -fopenmp (found version "4.5") -- Found OpenMP: TRUE (found version "4.5")
-- Setting docs on -- Found Doxygen: /usr/bin/doxygen (found version "1.9.1") found components: doxygen dot -- Looking for pthread.h -- Looking for pthread.h - found -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success -- Found Threads: TRUE
-- Found OpenSSL: /usr/lib/x86_64-linux-gnu/libcrypto.so (found version "3.0.2")
-- Found Boost: /usr/lib/x86_64-linux-gnu/cmake/Boost-1.74.0/BoostConfig.cmake (found suitable version "1.74.0", minimum required is "1.73.0") found components: log log_setup date_time system thread program_options serialization timer stacktrace_addr2line stacktrace_backtrace -- Found NetCDF: /usr/lib/x86_64-linux-gnu/libnetcdf_c++4.so;/usr/lib/x86_64-linux-gnu/libnetcdf.so
-- Could NOT find BLAS (missing: BLASLIBRARIES) -- Looking for sgemm -- Looking for sgemm - not found -- Looking for sgemm -- Looking for sgemm_ - found -- Found BLAS: /usr/lib/x8664-linux-gnu/libopenblas.so
-- Looking for cheev
-- Looking for cheev_ - found -- Found LAPACK: /usr/lib/x86_64-linux-gnu/libopenblas.so;-lm;-ldl
-- Found LAPACK and BLAS -- Found YAML library: /usr/lib/x86_64-linux-gnu/libyaml-cpp.so -- Found NetCDF library: /usr/lib/x86_64-linux-gnu/libnetcdf_c++4.so -- Found Eigen version: 3.4.0 -- Found Boost version: 1.74.0 -- Found Mongocxx version: 3.6.7 -- Found C++ compiler: GNU 11.4.0 -- Found Git: /usr/bin/git (found version "2.34.1") -- Git branch tag: untagged-0f26327-dirty -- Git branch: main -- CMAKE_CURRENT_BINARY_DIR: /ginan/src/build -- CMAKE_CURRENT_SOURCE_DIR: /ginan/src -- CMAKE_CXX_FLAGS: -std=c++2a -fpermissive -Wall -Wno-write-strings -Wno-deprecated-declarations -Wno-format-overflow -Wno-narrowing -Wno-unused-but-set-variable -Wno-sign-compare -Wno-stringop-truncation -Wno-unused-variable -Wno-switch -Wno-dangling-else -Wno-misleading-indentation -Wno-format-truncation -Wno-extern-c-compat -Wno-format-zero-length -Wno-array-bounds -Wno-restrict -O3 -fopenmp -pthread -- Configuring done -- Generating done -- Build files have been written to: /ginan/src/build

PEA starting... (main untagged-0f26327-dirty from Tue Apr 30 04:29:34 2024)

Checking configuration file ppp_example.yaml Loading configuration from file ppp_example.yaml

=============================== Configuration...

Inputs: snx_files: ./products/igs_satellite_metadata.snx ./products/tables/sat_yaw_bias_rate.snx ./products/tables/qzss_yaw_modes.snx ./products/tables/bds_yaw_modes.snx ./products/IGS1R03SNX_20191950000_07D_07D_CRD.SNX atx_files: ./products/igs20.atx clk_files: ./products/IGS2R03FIN_20191990000_01D_30S_CLK.CLK bsx_files: ./products/IGS2R03FIN_20191990000_01D_01D_OSB.BIA igrf_files: ./products/tables/igrf13coeffs.txt ocean_tide_loading_blq_files: ./products/tables/OLOAD_GO.BLQ atmos_tide_loading_blq_files: ./products/tables/ALOAD_GO.BLQ ocean_pole_tide_loading_files: ./products/tables/opoleloadcoefcmcor.txt erp_files: ./products/finals.data.iau2000.txt sp3_files: ./products/IGS2R03FIN_20191990000_01D_05M_ORB.SP3 planetary_ephemeris_files: ./products/tables/DE436.1950.2050 gpt2grid_files: ./products/tables/gpt_25.grd rnx_inputs: ./products/../data/ALIC00AUS_R_20191990000_01D_30S_MO.rnx ./products/../data/DARW00AUS_R_20191990000_01D_30S_MO.rnx ./products/../data/HOB200AUS_R_20191990000_01D_30S_MO.rnx ./products/../data/MADR00ESP_R_20191990000_01D_30S_MO.rnx ./products/../data/MAJU00MHL_R_20191990000_01D_30S_MO.rnx ./products/../data/MARS00FRA_R_20191990000_01D_30S_MO.rnx ./products/../data/MAS100ESP_R_20191990000_01D_30S_MO.rnx ./products/../data/MATE00ITA_R_20191990000_01D_30S_MO.rnx ./products/../data/MAW100ATA_R_20191990000_01D_30S_MO.rnx ./products/../data/MAYG00MYT_R_20191990000_01D_30S_MO.rnx ./products/../data/MBAR00UGA_R_20191990000_01D_30S_MO.rnx ./products/../data/MCIL00JPN_R_20191990000_01D_30S_MO.rnx ./products/../data/METG00FIN_R_20191990000_01D_30S_MO.rnx ./products/../data/MGUE00ARG_R_20191990000_01D_30S_MO.rnx ./products/../data/MRO100AUS_R_20191990000_01D_30S_MO.rnx

Outputs: trace level: 10 receiver trace filename: ./outputs/ppp_example/_pppexample.TRACE network trace filename: ./outputs/ppp_example/_pppexample.TRACE gpx filename: ./outputs/ppp_example/_pppexample.GPX

Process Modes: Preprocessor: 1 SPP 1 PPP: 1 Minimum Constraints: 0 Ionospheric: 0 RTS Smoothing: 1

Systems: GPS: 1 GLONASS: 0 GALILEO: 1 BEIDOU: 0 QZSS: 0 LEO: 0

Epochs: epoch_interval: 30

=============================== ...End Configuration

Threading with max 32 eigen threads Threading with max 2147483647 omp threads Logging with trace level:10

Mongo connecting to database @ mongodb://localhost:27017 Loading ATX file ./products/igs20.atx Loading SP3 file ./products/IGS2R03FIN_20191990000_01D_05M_ORB.SP3 Loading ERP file ./products/finals.data.iau2000.txt Loading CLK file ./products/IGS2R03FIN_20191990000_01D_30S_CLK.CLK Loading BSX file ./products/IGS2R03FIN_20191990000_01D_01D_OSB.BIA Loading IGRF file ./products/tables/igrf13coeffs.txt Loading SNX file ./products/igs_satellite_metadata.snx Loading SNX file ./products/tables/sat_yaw_bias_rate.snx Loading SNX file ./products/tables/qzss_yaw_modes.snx Loading SNX file ./products/tables/bds_yaw_modes.snx Loading SNX file ./products/IGS1R03SNX_20191950000_07D_07D_CRD.SNX Loading GPT file ./products/tables/gpt_25.grd Loading Ocean Pole Tide file ./products/tables/opoleloadcoefcmcor.txt Loading planetary ephemeris file ./products/tables/DE436.1950.2050 Initialising station ALIC Initialising station DARW Initialising station HOB2 Initialising station MADR Initialising station MAJU Initialising station MARS Initialising station MAS1 Initialising station MATE Initialising station MAW1 Initialising station MAYG Initialising station MBAR Initialising station MCIL Initialising station METG Initialising station MGUE Initialising station MRO1 Mongo connecting to database : ppp_example @ mongodb://localhost:27017 Mongo connected to database : ppp_example

Starting to process epochs... Starting epoch #1 Synced 15 stations... Warning: SVN not found for E06 Warning: Block type not found for E06, attitude modelling etc may be affected, check sinex file Warning: Looking for precise position, but no precise ephemerides found for E06 Warning: No sat pos found for E06. Warning: SVN not found for E10 Warning: Block type not found for E10, attitude modelling etc may be affected, check sinex file Warning: Looking for precise position, but no precise ephemerides found for E10 Warning: No sat pos found for E10. Warning: SVN not found for E16 Warning: Block type not found for E16, attitude modelling etc may be affected, check sinex file Warning: Looking for precise position, but no precise ephemerides found for E16 Warning: No sat pos found for E16. Warning: SVN not found for E17 Warning: Block type not found for E17, attitude modelling etc may be affected, check sinex file Warning: Looking for precise position, but no precise ephemerides found for E17 Warning: No sat pos found for E17. Warning: Looking for precise position, but no precise ephemerides found for E20 Warning: No sat pos found for E20. Warning: Looking for precise position, but no precise ephemerides found for E22 Warning: No sat pos found for E22. Warning: SVN not found for E23 Warning: Block type not found for E23, attitude modelling etc may be affected, check sinex file Warning: Looking for precise position, but no precise ephemerides found for E23 Warning: No sat pos found for E23. Warning: SVN not found for E28 Warning: Block type not found for E28, attitude modelling etc may be affected, check sinex file Warning: Looking for precise position, but no precise ephemerides found for E28 Warning: No sat pos found for E28. Warning: SVN not found for E29 Warning: Block type not found for E29, attitude modelling etc may be affected, check sinex file Warning: Looking for precise position, but no precise ephemerides found for E29 Warning: No sat pos found for E29. Warning: SVN not found for E32 Warning: Block type not found for E32, attitude modelling etc may be affected, check sinex file Warning: Looking for precise position, but no precise ephemerides found for E32 Warning: No sat pos found for E32. Warning: SVN not found for E34 Warning: Block type not found for E34, attitude modelling etc may be affected, check sinex file Warning: Looking for precise position, but no precise ephemerides found for E34 Warning: No sat pos found for E34. Warning: SVN not found for E35 Warning: Block type not found for E35, attitude modelling etc may be affected, check sinex file Warning: Looking for precise position, but no precise ephemerides found for E35 Warning: No sat pos found for E35. ------- PREPROCESSING STATIONS --------

------- DOING STATE TRANSITION --------

------- CALCULATING PPP MEASUREMENTS --------

Warning: No PCO found for AOAD/M_T NONE for GAL Warning: No PCV found for AOAD/M_T NONE for GAL Warning: No PCO found for AOAD/M_T NONE for GPS L5 ------- DOING STATE TRANSITION --------

------- DOING PPPPP KALMAN FILTER --------

x: 1 -4.05205e+06 4.21284e+06 -2.5451e+06 10.4277 2.23874 0 0 0 0 22.5539 ......

xp: -nan -nan ......

R : ......

v : -2.46991 -13.0676 -2.87429 -20.8263 ......

NAN found. Exiting...

smcclusky commented 3 weeks ago

Can you please send you actual .yaml configuration file and the Ginan software version you are using (the commit tag).

wsaddasw1989 commented 3 weeks ago

Can you please send you actual .yaml configuration file and the Ginan software version you are using (the commit tag).

This is the git log info of the software version. commit 0f263270daa1d5234d1194d3bc314cf3dca85f38 (HEAD -> main, origin/main, origin/HEAD) Merge: 7b79153 a92d809 Author: Ronald Maj 36747983+ronaldmaj@users.noreply.github.com Date: Tue Apr 30 14:29:34 2024 +1000

I am using the default ppp_example.yaml file. And I don't think its the problem of yaml file. https://github.com/GeoscienceAustralia/ginan/blob/main/exampleConfigs/ppp_example.yaml

`inputs:

inputs_root: ./products/

atx_files:  [ igs20.atx                             ] # required
igrf_files: [ tables/igrf13coeffs.txt               ]
erp_files:  [ finals.data.iau2000.txt               ]
planetary_ephemeris_files: [ tables/DE436.1950.2050 ]

troposphere:
    gpt2grid_files: [ tables/gpt_25.grd ]

tides:
    ocean_tide_loading_blq_files:   [ tables/OLOAD_GO.BLQ                  ] # required if ocean loading is applied
    atmos_tide_loading_blq_files:   [ tables/ALOAD_GO.BLQ                  ] # required if atmospheric tide loading is applied
    ocean_pole_tide_loading_files:  [ tables/opoleloadcoefcmcor.txt ] # required if ocean pole tide loading is applied

snx_files:
# - "*.SNX" # use a wild card to include all files matching the description in the directory
- igs_satellite_metadata.snx
- tables/sat_yaw_bias_rate.snx
- tables/qzss_yaw_modes.snx
- tables/bds_yaw_modes.snx
- IGS1R03SNX_20191950000_07D_07D_CRD.SNX

satellite_data:
    # nav_files:
    # - "*.rnx"
    clk_files:
    # - "*.CLK"
    - IGS2R03FIN_20191990000_01D_30S_CLK.CLK
    bsx_files:
    # - "*.BIA"
    - IGS2R03FIN_20191990000_01D_01D_OSB.BIA
    sp3_files:
    # - "*.SP3"
    - IGS2R03FIN_20191990000_01D_05M_ORB.SP3

gnss_observations:
    gnss_observations_root: ../data/
    rnx_inputs:
    # - "*.rnx"
    - ALIC00AUS_R_20191990000_01D_30S_MO.rnx
    - DARW00AUS_R_20191990000_01D_30S_MO.rnx
    - HOB200AUS_R_20191990000_01D_30S_MO.rnx
    - "M*.rnx"

outputs:

metadata:
    config_description:    ppp_example

outputs_root:              ./outputs/<CONFIG>

gpx:
    output:                true
    filename:              <RECEIVER>_<CONFIG>_<YYYY><DDD><HH>.GPX

trace:
    level:                 2
    output_receivers:      true
    output_network:        true
    receiver_filename:     <RECEIVER>_<CONFIG>_<YYYY><DDD><HH>.TRACE
    network_filename:      <RECEIVER>_<CONFIG>_<YYYY><DDD><HH>.TRACE
    output_residuals:      true
    output_residual_chain: true
    output_config:         true

# log:
#     output:                false
#     directory:             ./logs/
#     filename:              log<LOGTIME>.json

satellite_options:

global:
    error_model:    ELEVATION_DEPENDENT #  {uniform,elevation_dependent}
    code_sigma:     0                   # Standard deviation of code measurements
    phase_sigma:    0                   # Standard deviation of phase measurmeents
    models:
        phase_bias:
            enable: false

# E05:
#     exclude: true # Exclude satellites
# E06:
#     exclude: true

receiver_options:

global:
    elevation_mask: 15       # degrees
    error_model:    ELEVATION_DEPENDENT # {uniform,elevation_dependent}
    code_sigma:     0.3      # Standard deviation of code measurements, m
    phase_sigma:    0.003    # Standard deviation of phase measurmeents, m
    clock_codes:    [AUTO, AUTO]
    zero_dcb_codes: [AUTO, AUTO]
    models:
        phase_bias:
            enable: false
        troposphere:         # Tropospheric modelling accounts for delays due to refraction of light in water vapour
            enable: true
            models: [ gpt2 ] # List of models to use for troposphere [standard,sbas,vmf3,gpt2,cssr]
        tides:
            atl:    true     # Enable atmospheric tide loading
            enable: true     # Enable modelling of tidal disaplacements
            opole:  true     # Enable ocean pole tides
            otl:    true     # Enable ocean tide loading
            solid:  true     # Enable solid Earth tides
            spole:  true     # Enable solid Earth pole tides
# ALIC:
#     receiver_type:    "LEICA GR25"                 # (string)
#     antenna_type:     "LEIAR25.R3      NONE"       # (string)
#     apriori_position: [-4052052.7254, 4212835.9872,-2545104.6139] # [floats]
#     aliases:          [PIVOT] # set as pivot station
#     models:
#         eccentricity:
#             enable:   true
#             offset:   [0.0000,   0.0000,   0.0015] # [floats]

processing_options:

process_modes:
    preprocessor:        true  # Preprocessing and quality checks
    spp:                 true  # Perform SPP on receiver data
    ppp:                 true  # Perform PPP network or end user mode
    ionosphere:          false # Compute Ionosphere models based on GNSS measurements
    slr:                 false # Process SLR observations

epoch_control:
    # start_epoch:         2019-07-18 00:00:00
    # end_epoch:           2019-07-18 23:59:30
    # max_epochs:          2880
    epoch_interval:      30    # seconds
    wait_next_epoch:     3600  # seconds (make large for post-processing)

gnss_general:
    rec_reference_system:      GPS
    sys_options:
        gps:
            process:                true
            reject_eclipse:         false
            # clock_codes:            [ L1W, L2W ]
            code_priorities:        [ L1W, L1C, L2W ]

        gal:
            process:                true
            reject_eclipse:         false
            code_priorities:        [ L1C, L5Q, L1X, L5X ]

preprocessor:                  # Configurations for the kalman filter and its sub processes
    cycle_slips:               # Cycle slips may be detected by the preprocessor and measurements rejected or ambiguities reinitialised
        mw_process_noise:    0    # Process noise applied to filtered Melbourne-Wubenna measurements to detect cycle slips
        slip_threshold:   0.05 # Value used to determine when a slip has occurred
    preprocess_all_data:  true

spp:
    # always_reinitialise: false # Reset SPP state to zero to avoid potential for lock-in of bad states
    max_lsq_iterations:  12    # Maximum number of iterations of least squares allowed for convergence
    outlier_screening:
        raim:            true # Enable Receiver Autonomous Integrity Monitoring
        max_gdop:        30   # Maximum dilution of precision before error is flagged

ppp_filter:

    outlier_screening:
        chi_square:
            enable:          false # Enable Chi-square test
            mode:            NONE  # Chi-square test mode {none,innovation,measurement,state}
        prefit:
            max_iterations:  3     # Maximum number of measurements to exclude using prefit checks before attempting to filter
            omega_test:      false # Enable omega-test
            sigma_check:     true  # Enable sigma check
            sigma_threshold: 4     # Sigma threshold
        postfit:
            max_iterations:  10    # Maximum number of measurements to exclude using postfit checks while iterating filter
            sigma_check:     true  # Enable sigma check
            sigma_threshold: 4     # Sigma threshold

    ionospheric_components:            # Slant ionospheric components
        common_ionosphere:             true                   # Use the same ionosphere state for code and phase observations
        use_gf_combo:                  false                  # Combine 'uncombined' measurements to simulate a geometry-free solution
        use_if_combo:                  false                  # Combine 'uncombined' measurements to simulate an ionosphere-free solution

    chunking:
        by_receiver:           false # Split large filter and measurement matrices blockwise by receiver ID to improve processing speed
        by_satellite:          false # Split large filter and measurement matrices blockwise by satellite ID to improve processing speed
        size:                  0

    rts:                       # Rauch-Tung-Striebel (RTS) backwards smoothing
        enable:                true
        lag:                   -1
        inverter:              LDLT  # Inverter to be used within the rts processor, which may provide different performance outcomes in terms of processing time and accuracy and stability
        filename:              <CONFIG>_<RECEIVER>.rts

model_error_handling:
    meas_deweighting:                # Measurements that are outside the expected confidence bounds may be deweighted so that outliers do not contaminate the filtered solution
        deweight_factor:       1000  # Factor to downweight the variance of measurements with statistically detected errors
        enable:                true  # Enable deweighting of all rejected measurement
    state_deweighting:               # Any "state" errors cause deweighting of all measurements that reference the state
        deweight_factor:       1000  # Factor to downweight the variance of measurements with statistically detected errors
        enable:                true  # Enable deweighting of all referencing measurements
    ambiguities:
        outage_reset_limit:    5     # Wait for 5 consecutive missing epoch of data before reseting ambiguity
        phase_reject_limit:    2     # Reset ambiguity after 2 large fractional residuals are found (replaces phase_reject_count:)
        reset_on:                    # Reset ambiguities when slip is detected by the following
            gf:                true  # GF test
            lli:               true  # LLI test
            mw:                true  # MW test
            scdia:             true  # SCDIA test

estimation_parameters: global_models: eop: estimated: [false] # Estimate state in kalman filter sigma: [-1] # Apriori sigma values - if zero, will be initialised using least squares process_noise: [0] # Process noise sigmas eop_rates: estimated: [false] # Estimate state in kalman filter sigma: [-1] # Apriori sigma values - if zero, will be initialised using least squares process_noise: [0] # Process noise sigmas ion: estimated: [false] # Estimate state in kalman filter sigma: [-1] # Apriori sigma values - if zero, will be initialised using least squares process_noise: [0] # Process noise sigmas

receivers:
    global:
        pos:
            estimated:          [true]
            sigma:              [100]
            process_noise:      [30]
        pos_rate:                       # Velocity
            estimated:          [false] # [bools] Estimate state in kalman filter
            sigma:              [0]     # [floats] Apriori sigma values - if zero, will be initialised using least squares
            process_noise:      [0]     # [floats] Process noise sigmas
            # process_noise_dt:   SECOND  # (enum) Time unit for process noise - sqrt_sec, sqrt_day etc
            # apriori_val:        [0]     # [floats] Apriori state values
            # mu:                 [0]     # [floats] Desired mean value for gauss markov states
            # tau:                [-1]    # [floats] Correlation times for gauss markov noise, defaults to -1 -> inf (Random Walk)
        clock:
            estimated:          [true]
            sigma:              [1000]
            process_noise:      [100]
        clock_rate:
            estimated:          [false]
            sigma:              [0.005]
            process_noise:      [1e-4]
        ambiguities:
            estimated:          [true]
            sigma:              [1000]
            process_noise:      [0]
        ion_stec:                        # Ionospheric slant delay
            estimated:          [true]   # Estimate state in kalman filter
            sigma:              [200]    # Apriori sigma values - if zero, will be initialised using least squares
            process_noise:      [10]     # Process noise sigmas
        trop:
            estimated:          [true]
            sigma:              [0.3]
            process_noise:      [0.0001]
        trop_grads:
            estimated:          [true]
            sigma:              [0.03]
            process_noise:      [1.0E-6]
        code_bias:
            estimated:          [true] # false
            sigma:              [20]
            process_noise:      [0]
        phase_bias:
            estimated:          [false]
            sigma:              [10]
            process_noise:      [0]

mongo: # Mongo is a database used to store results and intermediate values for later analysis and inter-process communication enable: primary # Enable and connect to mongo database {none,primary,secondary,both} primary_uri: mongodb://localhost:27017 # Location and port of the mongo database to connect to primary_database: primary_suffix: "" # Suffix to append to database elements to make distinctions between runs for comparison

secondary_database:

# secondary_suffix:    ""                          # Suffix to append to database elements to make distinctions between runs for comparison
# secondary_uri:       mongodb://localhost:27017   # Location and port of the mongo database to connect to
# output_config:       NONE                        # Output config {none,primary,secondary,both}
output_components:   primary                     # Output components of measurements {none,primary,secondary,both}
output_states:       primary                     # Output states {none,primary,secondary,both}
output_measurements: primary                     # Output measurements and their residuals {none,primary,secondary,both}
output_test_stats:   primary                     # Output test statistics {none,primary,secondary,both}
delete_history:      primary                     # Drop the collection in the database at the beginning of the run to only show fresh data {none,primary,secondary,both}
output_trace:        primary

`

smcclusky commented 3 weeks ago

Hi wsaddasw1989, We cannot reproduce your error on an AWS EC2 ubuntu 22.04 server using the same software version as you (same commit). The only thing that we can see is that the version of the software you are building is: PEA starting... (main untagged-0f26327-dirty from Tue Apr 30 04:29:34 2024)

Whereas our fresh build from a github clone says: PEA starting... (main untagged-0f26327 from Tue Apr 30 14:29:34 2024)

You can note the absence of "dirty" in our build, suggesting that something may have been changed in one of the Ginan directory monitored by git? Maybe you should try a rebuild to be sure something didn't get inadvertently changed?

wsaddasw1989 commented 2 weeks ago

Hi smcclusky, The changed monitored by git may caused by some unimportant modify.

I tried the ubuntu22.04.4 and the old ubuntu22.04, and change the linux kernal to the old version, it just produce the same error. This work was done on my local virtual machine. But I when try it on the cloud ecs machine by unsing the ubuntu22.04 from the cloud service provider, it works well.

Then I try ubuntu20.04.6 on my local virtual machine, it works well. So I think there is something incompatible to the new Ubuntu22.04 version. But I don't know what cause it.

I am glad that I have bypassed this problem. Thank you very much.