Skip to content
Henning Wiedemann edited this page Sep 4, 2023 · 1 revision

Below you'll find information on how to solve common problems. If your problem is not listed you can open an issue see here. If you have found an solution please open an issue as well or directly add it here.

[TOC]


Issue Tracker

When opening an issue please provide the following information:


Common problems

yaml.parser.ParserError or yaml.scanner.ScannerError

You probably have issues with the yaml structure in the file the error complains about. Paste the yaml-files content in an YAML validator e.g. https://yamlchecker.com/

Buildserver: failed in import phase

If you have an error similar to this:

models/robots/robot_models/meshes/stl(/opt/workspace/models/robots/robot_models/meshes/stl): failed in import phase
    cannot resolve refs/remotes/autobuild/master

You probably have not initialized the given repository/submodule.

This deploy key does not have write access to this project.

Executing : git push target_remote $CI_UPDATE_TARGET_BRANCH  -o merge_request.create -o merge_request.target='master' -o merge_request.title='$CI_MR_TITLE' -o merge_request.description='${CI_MR_DESCRIPTION}  MR generated by the CI from ${CI_PROJECT_NAME}-commit ${CI_COMMIT_SHORT_SHA}' in /opt/workspace/models/robots/rh5_models/meshes/stl
 Warning: Permanently added the ECDSA host key for IP address '10.250.0.46' to the list of known hosts.
remote:
remote: ========================================================================
remote:
remote: This deploy key does not have write access to this project.
remote:
remote: ========================================================================
remote:
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

Make sure that the deploy key is given right access to the failing repository. Go to the repository page and then to Settings->Repository->Deploy Key click edit and enable write access.

The project you were looking for could not be found.

remote:
remote: ========================================================================
remote:
remote: The project you were looking for could not be found.
remote:
remote: ========================================================================
remote:
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

Either you have configured the wrong URL in your definition file. Look at remote_base and compare_model and make sure the repo you opened for your model has the same name as your model (modelname). Or in the repo specified the deploy key hasn't be enabled. If enabling it make sure to give write_access to the key, too.

I have a problem with wrongly oriented meshes as result

If the meshes in the result model are not correctly oriented, probably 90 degrees false. This might be an problem with the input model, which probably uses OBJs. As there exist two versions of OBJ one for MARS and one for all other simulators, the pipeline can't detect which version is used. Hence, if you have problems probably the MARS_OBJ is used.

The solution for your problem is to give proper oriented meshes in the input model. STL meshes e.g. are an easy solution. The convention is Z-Up Y-Forward.

Git LFS for mesh repositories

This repo uses git-lfs for the mesh repositories to save you some disk space and download time.

If you check out this repo via autoproj and you have included this model-group's package_set, autoproj will take care of it.

Normally on newer Ubuntu versions >18.04 Git-LFS should be installed with git. If you are using older versions, here's how to install git-lfs first:

  • If you can't find git-lfs in your repositories, you probably have to do:
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
  • If you once have added git-lfs to your repos simply do:
sudo apt-get install git-lfs

Afterwards git-lfs will take care of checking out the lfs files for you when you use git.

See also https://packagecloud.io/github/git-lfs/install

Trouble with Meshes according to git-lfs with and without autoproj

Normally, Autoproj supports git-lfs (see here). However, sometimes it seems to have trouble using git-lfs especially, if you haven't got a fresh bootstrap.

How to check if something went wrong

Have a look into one of your mesh files. If everything is alright, it should be a binary or at least a very large file - depending on the type. If something went wrong there'll be just three lines which refer to git-lfs with a hash of the respective file.

Here is how you can fix your issue:

  1. Install git-lfs:

    • If you haven't used git-lfs before you probably have to do:
    curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
    
    • If you once have added git-lfs to your repos simply do:
    sudo apt-get install git-lfs
    

    Afterwards git-lfs will take care of checking out the lfs files for you when you use git. See also https://packagecloud.io/github/git-lfs/install

  2. Go into the repo you are having trouble with.

    cd $FAULTY_MODEL_REPO
    
  3. Get the remote url and copy it.

    git remote -v
    
  4. Remove the faulty model repo:

    cd ..
    rm -rf $FAULTY_MODEL_REPO
    
  5. Make sure git lfs is initialized and check out the repo manually:

    git lfs install
    git clone $THE_REPO_REMOTE_URL $FAULTY_MODEL_REPO
    
  6. If you are using a special branch (e.g. develop) check it out:

    git checkout develop
    
  7. Get the submodules:

    git submodule update --init
    
  8. Everything should be fine now. But maybe you might want to rename your remote:

    git remote rename origin autobuild
    
Clone this wiki locally