Skip to content

Intermittent Data Race in Queues tests #16546

Closed
@zeripath

Description

@zeripath
  • Gitea version (or commit ref): v1.16.0-dev-47-g6a33b290a
  • Log gist:
==================
214s
70	WARNING: DATA RACE
214s
71	Write at 0x00c000266780 by goroutine 96:
214s
72	  gitea.com/lunny/levelqueue.(*Queue).Close()
214s
73	      /drone/src/vendor/gitea.com/lunny/levelqueue/queue.go:299 +0xde
214s
74	  code.gitea.io/gitea/modules/queue.(*LevelQueueByteFIFO).Close()
214s
75	      /drone/src/modules/queue/queue_disk.go:108 +0x4f
214s
76	  code.gitea.io/gitea/modules/queue.(*ByteFIFOQueue).Terminate()
214s
77	      /drone/src/modules/queue/queue_bytefifo.go:262 +0x27e
...
171	Previous read at 0x00c000266780 by goroutine 106:
214s
172	  gitea.com/lunny/levelqueue.(*Queue).RPop()
214s
173	      /drone/src/vendor/gitea.com/lunny/levelqueue/queue.go:198 +0x215
214s
174	  code.gitea.io/gitea/modules/queue.(*LevelQueueByteFIFO).Pop()
214s
175	      /drone/src/modules/queue/queue_disk.go:99 +0x4f
214s

Description

There is an intermittent datarace detected in the queue_disk_test due to an unlocked reset of the internal db in Close within the levelqueue.

This is fixed by: https://gitea.com/lunny/levelqueue/pulls/4

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions