Deadlock when locking map in MultiArchRepo #70

Closed
opened 2022-02-13 15:42:18 +01:00 by Jef Roosens · 1 comment

Currently, when a MultiArchRepo tries to add a new package from a path, it deadlocks when trying to lock its repos map. This after having added a fix from spytheman that stopped a segfault.

Steps to reproduce (from scratch):

Note: these steps should be performed on the associated branch multi-arch-repos.

  1. install libarchive & openssl
  2. make clean (only if you haven't freshly cloned the repo)
  3. make v to build the compiler
  4. make run to start the application
  5. python test.py 1 in another terminal session to send a single test package to the server

The result is that lock r.repos in the add_from_path function in file src/repo/multi.v deadlocks, causing the program to never progress. The program seems to still respond to async requests just fine, but they all lock up at the same line.

Currently, when a MultiArchRepo tries to add a new package from a path, it deadlocks when trying to lock its `repos` map. This after having added a fix from spytheman that stopped a segfault. Steps to reproduce (from scratch): **Note**: these steps should be performed on the associated branch `multi-arch-repos`. 0. install libarchive & openssl 1. `make clean` (only if you haven't freshly cloned the repo) 2. `make v` to build the compiler 3. `make run` to start the application 4. `python test.py 1` in another terminal session to send a single test package to the server The result is that `lock r.repos` in the `add_from_path` function in file `src/repo/multi.v` deadlocks, causing the program to never progress. The program seems to still respond to async requests just fine, but they all lock up at the same line.
Jef Roosens added this to the 0.2.0 milestone 2022-02-13 15:42:18 +01:00
Jef Roosens added the
bug
label 2022-02-13 15:42:18 +01:00
Jef Roosens added a new dependency 2022-02-13 20:06:48 +01:00
Jef Roosens added a new dependency 2022-02-13 20:07:13 +01:00
Jef Roosens removed this from the 0.2.0 milestone 2022-02-14 15:14:47 +01:00
Jef Roosens added the
V
label 2022-02-17 09:39:58 +01:00

I've decided to move away from this design pattern for now.

I've decided to move away from this design pattern for now.
Jef Roosens added the
wontfix
label 2022-03-27 15:06:52 +02:00
Jef Roosens removed a dependency 2022-03-27 15:06:59 +02:00
Jef Roosens removed a dependency 2022-03-29 13:53:22 +02:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: vieter-v/vieter#70
There is no content yet.