+8
-7
@@ -817,7 +817,8 @@ func (db *Lowlevel) getMetaAndCheck(folder string) *metadataTracker {
|
|||||||
var err error
|
var err error
|
||||||
defer func() {
|
defer func() {
|
||||||
if err != nil && !backend.IsClosed(err) {
|
if err != nil && !backend.IsClosed(err) {
|
||||||
warnAndPanic(err)
|
l.Warnf("Fatal error: %v", err)
|
||||||
|
obfuscateAndPanic(err)
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
|
|
||||||
@@ -945,14 +946,16 @@ func (db *Lowlevel) verifyLocalSequence(curSeq int64, folder string) bool {
|
|||||||
|
|
||||||
t, err := db.newReadOnlyTransaction()
|
t, err := db.newReadOnlyTransaction()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
warnAndPanic(err)
|
l.Warnf("Fatal error: %v", err)
|
||||||
|
obfuscateAndPanic(err)
|
||||||
}
|
}
|
||||||
ok := true
|
ok := true
|
||||||
if err := t.withHaveSequence([]byte(folder), curSeq+1, func(fi protocol.FileIntf) bool {
|
if err := t.withHaveSequence([]byte(folder), curSeq+1, func(fi protocol.FileIntf) bool {
|
||||||
ok = false // we got something, which we should not have
|
ok = false // we got something, which we should not have
|
||||||
return false
|
return false
|
||||||
}); err != nil && !backend.IsClosed(err) {
|
}); err != nil && !backend.IsClosed(err) {
|
||||||
warnAndPanic(err)
|
l.Warnf("Fatal error: %v", err)
|
||||||
|
obfuscateAndPanic(err)
|
||||||
}
|
}
|
||||||
t.close()
|
t.close()
|
||||||
|
|
||||||
@@ -1165,8 +1168,6 @@ func unchanged(nf, ef protocol.FileIntf) bool {
|
|||||||
|
|
||||||
var ldbPathRe = regexp.MustCompile(`(open|write|read) .+[\\/].+[\\/]index[^\\/]+[\\/][^\\/]+: `)
|
var ldbPathRe = regexp.MustCompile(`(open|write|read) .+[\\/].+[\\/]index[^\\/]+[\\/][^\\/]+: `)
|
||||||
|
|
||||||
func warnAndPanic(err error) {
|
func obfuscateAndPanic(err error) {
|
||||||
l.Warnf("Fatal error: %v", err)
|
panic(ldbPathRe.ReplaceAllString(err.Error(), "$1 x: "))
|
||||||
msg := ldbPathRe.ReplaceAllString(err.Error(), "$1 x: ")
|
|
||||||
panic(msg)
|
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-1
@@ -531,5 +531,6 @@ func fatalError(err error, opStr string, db *Lowlevel) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
warnAndPanic(fmt.Errorf("%v: %w:", opStr, err))
|
l.Warnf("Fatal error: %v: %v", opStr, err)
|
||||||
|
obfuscateAndPanic(err)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user