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

Error running beet duplicates plugin #2444

Closed
gatlinnewhouse opened this issue Feb 19, 2017 · 11 comments
Closed

Error running beet duplicates plugin #2444

gatlinnewhouse opened this issue Feb 19, 2017 · 11 comments
Labels
needinfo We need more details or follow-up from the filer before this can be tagged "bug" or "feature."

Comments

@gatlinnewhouse
Copy link

Problem

I cannot run beet duplicates

Running this command in verbose (-vv) mode:

$ beet -vv duplicates

Led to this problem:

user configuration: /home/delueze/.config/beets/config.yaml
data directory: /home/delueze/.config/beets
plugin paths: /home/delueze/.config/beets/plugins
Sending event: pluginload
artresizer: method is (2, (6, 9, 7))
library database: /home/delueze/.config/beets/library.blb
library directory: /home/delueze/Music
Sending event: library_opened
Traceback (most recent call last):
  File "/usr/bin/beet", line 11, in <module>
    load_entry_point('beets==1.4.4', 'console_scripts', 'beet')()
  File "/usr/lib/python3.6/site-packages/beets/ui/__init__.py", line 1209, in main
    _raw_main(args)
  File "/usr/lib/python3.6/site-packages/beets/ui/__init__.py", line 1196, in _raw_main
    subcommand.func(lib, suboptions, subargs)
  File "/usr/lib/python3.6/site-packages/beetsplug/duplicates.py", line 135, in _dup
    items = lib.items(decargs(args))
  File "/usr/lib/python3.6/site-packages/beets/library.py", line 1335, in items
    return self._fetch(Item, query, sort or self.get_default_item_sort())
  File "/usr/lib/python3.6/site-packages/beets/library.py", line 1310, in _fetch
    model_cls, query, sort
  File "/usr/lib/python3.6/site-packages/beets/dbcore/db.py", line 855, in _fetch
    rows = tx.query(sql, subvals)
  File "/usr/lib/python3.6/site-packages/beets/dbcore/db.py", line 676, in query
    cursor = self.db._connection().execute(statement, subvals)
sqlite3.OperationalError: database or disk is full

Here's a link to the music files that trigger the bug (if relevant):

Setup

  • OS: Manjaro Linux x86_64
  • Python version: 3.6.0
  • beets version: 1.4.4
  • Turning off plugins made problem go away (yes/no): no? I am using a plugin.

My configuration (output of beet config) is:

############################################################################
## Beets Configuration file.
## ~./config/beets/config.yaml
#############################################################################
 
### Global Options
library: /home/delueze/.config/beets/library.blb
directory: /home/delueze/Music/
pluginpath: /home/delueze/.config/beets/plugins
ignore: .AppleDouble ._* *~ .DS_Store
per_disc_numbering: true
threaded: no
 
# Plugins
plugins: [
  duplicates,
  edit,
  embedart,
  fetchart,
  ftintitle,
  lyrics,
  missing,
  replaygain,
  rymgenre,
  setlister,
  scrub
]
 
# Import Options
import:
  move: true
  write: true
  delete: false
  resume: ask
  incremental: false
  quiet_fallback: skip
  timid: true
  group_albums: yes
  languages: en
  log: ~/beets-import.log

# Autotagger options
match:
  preferred:
    contries: ['US','GB|UK','JP']
    media: ['CD','Digital Media|File']
    original_year: yes

# Path options
paths:
  default: %asciify{$albumartist/$album%aunique{}/$track $title}
  singleton: %asciify{$artist/$album%aunique{}/$track $title}
  comp: %asciify{Various Artists/$album%aunique{}/$track $title}
 
### Plugin Options

# Embeded album art options
embedart:
   compare_threshold: 80
   maxwidth: 500

# FetchArt options
fetchart:
   minwidth: 500
   sources: coverart albumart wikipedia

# Lyrics options
lyrics:
   force: yes
   google_API_key: SCRUBBED

# rymgenre doesn't run on import, so I use it as a backup
# for when lastgenre is giving me garbage results.
rymgenre:
  classes: primary
  depth: node
 
# Fetch fresh album art for new imports
fetchart:
  sources: coverart itunes amazon albumart
  store_source: yes

# Normalizing audio decibels
# Gstreamer is a pain, but still the correct backend
replaygain:
  backend: gstreamer
  overwrite: yes

# Make playlists from setlists
setlister:
  playlist_dir:~/Music/setlists
 
# Scrub extra metadata
scrub:
  auto: no
@sampsyo
Copy link
Member

sampsyo commented Feb 19, 2017

Hi! I know this sounds silly, but is there any chance your disk is full?

sqlite3.OperationalError: database or disk is full

Can you provide more information about the filesystem where the database is stored?

@sampsyo sampsyo added the needinfo We need more details or follow-up from the filer before this can be tagged "bug" or "feature." label Feb 19, 2017
@gatlinnewhouse
Copy link
Author

library.db and library.blb is in my config folder for beets, on my home partition which has 100gb free

@gatlinnewhouse
Copy link
Author

perhaps there is an error with my /tmp/ if sqlite3 stores anything there

@sampsyo
Copy link
Member

sampsyo commented Feb 19, 2017

That's odd! Is this intermittent, or does it happen every time? Does it happen with any other command?

Or, any chance the database file has somehow gotten corrupted?

@gatlinnewhouse
Copy link
Author

okay, it seems to actually be happening on every command

@sampsyo
Copy link
Member

sampsyo commented Feb 19, 2017

Sounds like corruption, then?

@gatlinnewhouse
Copy link
Author

gatlinnewhouse commented Feb 19, 2017

Yes, I am going to try to re-import my library and then try the duplicates command to see what happens.

I will update this issue and reopen it if the problem persists.

@gatlinnewhouse
Copy link
Author

gatlinnewhouse commented Feb 21, 2017

Got another error when trying to run beet dup --move ${HOME}/.Trash

Traceback (most recent call last):
  File "/usr/bin/beet", line 11, in <module>
    load_entry_point('beets==1.4.4', 'console_scripts', 'beet')()
  File "/usr/lib/python3.6/site-packages/beets/ui/__init__.py", line 1209, in main
    _raw_main(args)
  File "/usr/lib/python3.6/site-packages/beets/ui/__init__.py", line 1196, in _raw_main
    subcommand.func(lib, suboptions, subargs)
  File "/usr/lib/python3.6/site-packages/beetsplug/duplicates.py", line 166, in _dup
    fmt=fmt.format(obj_count))
  File "/usr/lib/python3.6/site-packages/beetsplug/duplicates.py", line 180, in _process_item
    item.move(basedir=move, copy=False)
  File "/usr/lib/python3.6/site-packages/beets/library.py", line 757, in move
    dest = self.destination(basedir=basedir)
  File "/usr/lib/python3.6/site-packages/beets/library.py", line 855, in destination
    return normpath(os.path.join(basedir, subpath))
  File "/usr/lib/python3.6/posixpath.py", line 92, in join
    genericpath._check_arg_types('join', a, *p)
  File "/usr/lib/python3.6/genericpath.py", line 151, in _check_arg_types
    raise TypeError("Can't mix strings and bytes in path components") from None
TypeError: Can't mix strings and bytes in path components

But beet duplicates works fine.

@gatlinnewhouse
Copy link
Author

Nevermind, I do not have a .Trash in my home directory.

@sampsyo
Copy link
Member

sampsyo commented Feb 22, 2017

Hmm, that crash does actually look like a problem though… I'll make sure the types are right there.

@sampsyo
Copy link
Member

sampsyo commented Feb 22, 2017

OK, just pushed a fix that should address that problem on Python 3.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needinfo We need more details or follow-up from the filer before this can be tagged "bug" or "feature."
Projects
None yet
Development

No branches or pull requests

2 participants