GDBM 1.11, 1.13 incorrectly handle gdbm_reorganize() if filesystem is NFS
Sebastian Gniazdowski <[email protected]> Tue, 20 Jun 2017 16:01:34 +0200
| Newsgroups | gmane.comp.gnu.utils.bugs |
|---|---|
| Message-ID | <[email protected]> |
Hello, I'm using new (not yet merged) gdbm Zsh module. It maps shell's hash table onto GDBM. Current Zsh upstream has previous version, but it behaves the same. If I don't comment-out gdbm_reorganize() call, then: % gdbmtool ./db.gdbm Welcome to the gdbm tool. Type ? for help. gdbmtool> list stdin:1.5: cannot open database db.gdbm: Can't be writer gdbmtool> even after "unbind" done in Zsh. I've checked that the unbind correctly calls gdbm_close(). Commenting-out gdbm_reorganize() call fixes this. This is a proof that gdbm_close() is really called, 100% of problem lies in gdbm_reorganize(). So basically the error is: - with NFS file-system, gdbm_reorganize() harms GDBM_FILE structure so that gdbm_close() doesn't release the database, and it's impossible to connect to the database again, if no restart of shell. -- Sebastian Gniazdowski psprint /at/ zdharma.org