Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VLOG causing crash #63

Open
Kindred87 opened this issue May 8, 2021 · 3 comments
Open

VLOG causing crash #63

Kindred87 opened this issue May 8, 2021 · 3 comments
Labels
bug Something isn't working

Comments

@Kindred87
Copy link

Kindred87 commented May 8, 2021

Wombat will enter a state where it always crashes immediately during startup before the GUI is visible. The issue is resolved when the VLOG file is deleted from the AppData\Roaming\Wombat\db directory. Not sure if it has to do with the size (2GB) or something else.

Running v0.50 on Windows 10.

db.zip

@arkanmgerges
Copy link

arkanmgerges commented May 30, 2021

I'm getting also related to vlog db

Control time="2021-05-30T11:40:33+03:00" level=error msg="[App] app: failed to create database: During db.vlog.open: Value log truncate required to run DB. This might result in data loss"
I needed to delete the content of AppData\Roaming\Wombat\db in order for Wombat to run again

Running on Windows 10 Pro

@lukasvosyka
Copy link

Having the same issue. Actually, why does it need a DB file of 2GB size?

@Kindred87
Copy link
Author

Kindred87 commented Jul 4, 2021

Having the same issue. Actually, why does it need a DB file of 2GB size?

When compressed, the directory contents are only 2-3 MB which makes me suspect that the process is writing repetitive information that bloats it up to the 2GB file size.

The error posted by @arkanmgerges matches in part ErrTruncateNeeded from BadgerDB. This error is only referenced in UpdateSkipList() during memtable creation.

badger/errors.go:99

// ErrTruncateNeeded is returned when the value log gets corrupt, and requires truncation of
// corrupt data to allow Badger to run properly.
ErrTruncateNeeded = errors.New(
             "Log truncate required to run DB. This might result in data loss")

badger/memtable.go:215

func (mt *memTable) UpdateSkipList() error {
    if mt.wal == nil || mt.sl == nil {
	    return nil
    }
    endOff, err := mt.wal.iterate(true, 0, mt.replayFunction(mt.opt))
    if err != nil {
	    return y.Wrapf(err, "while iterating wal: %s", mt.wal.Fd.Name())
    }
    if endOff < mt.wal.size && mt.opt.ReadOnly {
	    return y.Wrapf(ErrTruncateNeeded, "end offset: %d < size: %d", endOff, mt.wal.size)
    }
    return mt.wal.Truncate(int64(endOff))
}

@rogchap rogchap added the bug Something isn't working label Dec 12, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants