Como consertar o comando repo forall no Ubuntu 18.04?

0

Estou tentando usar o comando repo que instalei via snap no Ubuntu 18.04. A maioria dos comandos estava funcionando bem, mas quando tento executar repo forall , recebo o seguinte erro:

repo forall -c 'pwd'
Traceback (most recent call last):
  File "/home/user/aosp/.repo/repo/main.py", line 531, in <module>
    _Main(sys.argv[1:])
  File "/home/user/aosp/.repo/repo/main.py", line 507, in _Main
    result = repo._Run(argv) or 0
  File "/home/user/aosp/.repo/repo/main.py", line 180, in _Run
    result = cmd.Execute(copts, cargs)
  File "/home/user/aosp/.repo/repo/subcmds/forall.py", line 230, in Execute
    pool = multiprocessing.Pool(opt.jobs, InitWorker)
  File "/snap/git-repo/18/usr/lib/python2.7/multiprocessing/__init__.py", line 232, in Pool
    return Pool(processes, initializer, initargs, maxtasksperchild)
  File "/snap/git-repo/18/usr/lib/python2.7/multiprocessing/pool.py", line 138, in __init__
    self._setup_queues()
  File "/snap/git-repo/18/usr/lib/python2.7/multiprocessing/pool.py", line 234, in _setup_queues
    self._inqueue = SimpleQueue()
  File "/snap/git-repo/18/usr/lib/python2.7/multiprocessing/queues.py", line 354, in __init__
    self._rlock = Lock()
  File "/snap/git-repo/18/usr/lib/python2.7/multiprocessing/synchronize.py", line 147, in __init__
    SemLock.__init__(self, SEMAPHORE, 1, 1)
  File "/snap/git-repo/18/usr/lib/python2.7/multiprocessing/synchronize.py", line 75, in __init__
    sl = self._semlock = _multiprocessing.SemLock(kind, value, maxvalue)
OSError: [Errno 13] Permission denied

Eu olhei para essa questão:

link

Mas meu diretório /dev/shm parece bem:

ls -lad /dev/shm
drwxrwxrwt 2 root root 40 May 26 16:40 /dev/shm

Os seguintes comandos funcionam bem:

$ cd /dev/shm
$ touch test
$ ls -la test
-rw-rw-r-- 1 myuser myuser 0 May 26 21:00 test

Alguma outra ideia?

Aqui estão os detalhes da minha versão do repo:

repo version v1.12.37
       (from https://gerrit.googlesource.com/git-repo)
repo launcher version 1.23
       (from /snap/git-repo/18/bin/repo)
git version 2.12.0
Python 2.7.12 (default, Nov 19 2016, 06:48:10) 
[GCC 5.4.0 20160609]

Talvez o problema esteja vindo dessa linha de código?

link

Quando escrevo um programa de exemplo assim, funciona bem:

int main(void)
{
    const char *name = "/permission_test_semaphore";

    sem_t* sem = sem_open(name, O_CREAT | O_EXCL, 0600, 0);
    if (SEM_FAILED == sem) {
            printf("Create semaphore failed %s, errno = %d\n", name, errno);
    } else {
            printf("Created semaphore succeeded\n");
    }

    return 0;
}

Então ainda pesquisando ...

    
por satur9nine 27.05.2018 / 01:51

1 resposta

0

A solução não usa snap para instalar o comando repo. Use apt em vez disso. Não faço ideia do porquê.

    
por satur9nine 30.05.2018 / 07:37