giwty / switch-library-manager

Complete solution to manage, organize and keep your local switch backup game library up to date . Cross platform, supports all game formats.
235 stars 45 forks source link

"Interrupted system call" when scanning files. #47

Closed bmn001 closed 4 years ago

bmn001 commented 4 years ago

SLM will scan all of my files. Most of them it will successfully read. Some of them it will not.

My environment: Ubuntu Linux 20.04. I'm scanning files on a mounted drive.

Checking the debug log, a successful read looks like this:

2020-09-30T09:54:37.043-0700    DEBUG   nsp-update/gui.go:386   process process:BOXBOY plus BOXGIRL [010018300D006000][v0].nsp (55/220)

And a failed read looks like this:

2020-09-30T09:54:37.043-0700    DEBUG   nsp-update/gui.go:386   process process:Baba Is You [01002CD00A51C000][v0].nsp (56/220)
2020-09-30T09:54:37.059-0700    ERROR   db/localSwitchFilesDB.go:325    [file:Baba Is You [01002CD00A51C000][v0].nsp] failed to read NSP [reason: open /mnt/roms/Nintendo Switch/nsp/base/Baba Is You [01002CD00A51C000][v0].nsp: interrupted system call]

github.com/giwty/switch-library-manager/db.(*LocalSwitchDBManager).getGameMetadata
    /Users/twig/IdeaProjects/nsp-update/db/localSwitchFilesDB.go:325
github.com/giwty/switch-library-manager/db.(*LocalSwitchDBManager).processLocalFiles
    /Users/twig/IdeaProjects/nsp-update/db/localSwitchFilesDB.go:195
github.com/giwty/switch-library-manager/db.(*LocalSwitchDBManager).CreateLocalSwitchFilesDB
    /Users/twig/IdeaProjects/nsp-update/db/localSwitchFilesDB.go:112
main.(*GUI).buildLocalDB
    /Users/twig/IdeaProjects/nsp-update/gui.go:371
main.(*GUI).handleMessage
    /Users/twig/IdeaProjects/nsp-update/gui.go:198
github.com/asticode/go-astilectron.(*Window).OnMessage.func1.1
    /Users/twig/go/pkg/mod/github.com/asticode/go-astilectron@v0.16.0/window.go:431
github.com/asticode/go-astilectron.(*dispatcher).dispatch.func1
    /Users/twig/go/pkg/mod/github.com/asticode/go-astilectron@v0.16.0/dispatcher.go:62

Suggestion is to have the app retry when a read fails for any reason.

giwty commented 4 years ago

Will add retries, thanks.

giwty commented 4 years ago

Fixed in 1.3.7