ortfo / db

A readable, easy and enjoyable way to manage portfolio databases using directories and text files. Initially made for https://ewen.works.
https://ortfo.org/db
MIT License
2 stars 1 forks source link

Build sometimes crashes with `fatal error: concurrent map read and map write` #89

Open ewen-lbh opened 4 months ago

ewen-lbh commented 4 months ago

fatal error: sync: unlock of unlocked mutex

goroutine 54 [running]:
github.com/ortfo/db.(*RunContext).PreviouslyBuiltWork(...)
    /mnt/datacore/projects/ortfo/db/build.go:148
github.com/ortfo/db.(*RunContext).PreviouslyBuiltMedia(_, {_, _}, {{0x0, 0x0}, {0xc000bb6040, 0xd}, {0xc000b98618, 0x17}, {0xc000aff500, ...}, ...})
    /mnt/datacore/projects/ortfo/db/build.go:153 +0xea
github.com/ortfo/db.(*RunContext).UseMediaCache(_, {_, _}, {{0x0, 0x0}, {0xc000bb6040, 0xd}, {0xc000b98618, 0x17}, {0xc000aff500, ...}, ...}, ...)
    /mnt/datacore/projects/ortfo/db/media.go:297 +0x336
github.com/ortfo/db.(*RunContext).AnalyzeMediaFile(_, {_, _}, {{0x0, 0x0}, {0xc000bb6040, 0xd}, {0xc000b98618, 0x17}, {0xc000aff500, ...}, ...})
    /mnt/datacore/projects/ortfo/db/media.go:178 +0x427
github.com/ortfo/db.(*RunContext).HandleMedia(_, {_, _}, {_, _}, {{0x0, 0x0}, {0xc000bb6040, 0xd}, {0xc000b98618, ...}, ...}, ...)
    /mnt/datacore/projects/ortfo/db/media.go:408 +0x210
github.com/ortfo/db.(*RunContext).Build(_, {_, _}, {_, _}, {_, _})
    /mnt/datacore/projects/ortfo/db/build.go:611 +0xa26
github.com/ortfo/db.(*RunContext).BuildSome.func1()
    /mnt/datacore/projects/ortfo/db/build.go:431 +0x725
created by github.com/ortfo/db.(*RunContext).BuildSome in goroutine 1
    /mnt/datacore/projects/ortfo/db/build.go:402 +0x510