Opened 8 years ago

Last modified 3 years ago

#748 new defect

1.2.16 in Natty Narwhal is perpetually "building database", maybe why no uploads

Reported by: anonanonanon Owned by: quinox
Priority: normal Milestone: Release 1.3.0
Component: nicotine Version: 1.2.16
Keywords: database, natty, share Cc:

Description

I use 1.2.16 for Ubuntu 11.04. My shares are in an external/portable drive that Nicotine should have no problem accessing. But the bar on the bottom of the gui says "building database" all of the time, it never completes. This doesn't stop my ability to download, but it means no one gets to see my shares. Do you have any ideas? Thanks.

Change History (8)

comment:1 Changed 8 years ago by quinox

Thanks for making your post, we value bug reports highly.

I suspect the scanning crashed and thus isn't able to complete. Could you try running N+ from a terminal/shell? You will most likely see a tracktrace in the terminal/shell when it comes across an insurmountable problem while scanning.

comment:2 Changed 8 years ago by medyje

The same problem here. That's what I get in terminal after trying to share only one directory. Nicotine shows that it is perpetually "Scanning Shares":

  • - - - -

Unhandled exception in thread started by Traceback (most recent call last):

File "/usr/lib/pymodules/python2.7/pynicotine/shares.py", line 56, in RescanShares?

files, streams, wordindex, fileindex, mtimes = self.rescandirs(msg.shared, self.config.sectionstransfers?sharedmtimes?, self.config.sectionstransfers?sharedfiles?, self.config.sectionstransfers?sharedfilesstreams?, msg.yieldfunction, self.np.frame.SharesProgress?, name=_("Shares"), rebuild=rebuild)

File "/usr/lib/pymodules/python2.7/pynicotine/shares.py", line 283, in rescandirs

newsharedfilesstreams = self.getFilesStreams(newmtimes, oldmtimes, sharedfilesstreams, newsharedfiles, yieldfunction)

File "/usr/lib/pymodules/python2.7/pynicotine/shares.py", line 618, in getFilesStreams

streams[directory] = oldstreams[directory]

File "/usr/lib/python2.7/shelve.py", line 121, in getitem

f = StringIO(self.dict[key])

File "/usr/lib/python2.7/bsddb/init.py", line 270, in getitem

return _DeadlockWrap(lambda: self.db[key]) # self.db[key]

File "/usr/lib/python2.7/bsddb/dbutils.py", line 68, in DeadlockWrap?

return function(*_args, _kwargs)

File "/usr/lib/python2.7/bsddb/init.py", line 270, in <lambda>

return _DeadlockWrap(lambda: self.db[key]) # self.db[key]

KeyError?: '/home/user/Music/broadcast - extended play'

  • - - - - -

OS: Ubuntu 11.04

Nicotine: Nicotine+ 1.2.16

Thanks for help!

comment:3 Changed 8 years ago by artemv

Here it perpetually says 'building database' (not 'scanning shares'):

Unhandled exception in thread started by 
Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.7/pynicotine/shares.py", line 56, in RescanShares
    files, streams, wordindex, fileindex, mtimes = self.rescandirs(msg.shared, self.config.sections["transfers"]["sharedmtimes"], self.config.sections["transfers"]["sharedfiles"], self.config.sections["transfers"]["sharedfilesstreams"], msg.yieldfunction, self.np.frame.SharesProgress, name=_("Shares"), rebuild=rebuild)
  File "/usr/lib/pymodules/python2.7/pynicotine/shares.py", line 283, in rescandirs
    newsharedfilesstreams = self.getFilesStreams(newmtimes, oldmtimes, sharedfilesstreams, newsharedfiles, yieldfunction)
  File "/usr/lib/pymodules/python2.7/pynicotine/shares.py", line 624, in getFilesStreams
    streams[directory] = self.getDirStream(newsharedfiles[directory])
  File "/usr/lib/pymodules/python2.7/pynicotine/shares.py", line 647, in getDirStream
    stream += self.getByteStream(file_and_meta)
  File "/usr/lib/pymodules/python2.7/pynicotine/shares.py", line 669, in getByteStream
    message.packObject(2) +
  File "/usr/lib/pymodules/python2.7/pynicotine/slskmessages.py", line 303, in packObject
    return struct.pack("<I", object.value)
struct.error: integer out of range for 'I' format code

Ubuntu 11.04, Nicotine+ 1.2.16

It works fine if I give Nicotine some smaller dir, and with this collection of 8370 dirs it fails.

Thanks for otherwise great app btw )

comment:4 Changed 7 years ago by info@…

I can confirm this issue.

Likely a file or folder is the cause. I have a few folders with music (albums, vinyl, live sets and downloads) and the issue only occurs when adding the downloads folder which contains only 52 folders.

OS: Linux 3.1.5 on Arch Linux Nicotine: 1.2.16 Python: 2.7.2

comment:5 Changed 7 years ago by anonymous

same here, i am on mint 12 and this only hit me last week. i have uninstalled, deleted all config files in home, and reinstalled. same problem each time. i didnt use the ubuntu version from the repo, i used the deb from the nicotine main site.

it started when i added a second shared folder for friends only, when i reinstalled i shared only things i have already been sharing before the problems but i still ge the freeze

comment:6 Changed 7 years ago by smok@…

Confirmed here on Ubuntu 12.04.1, Nicotine+ 1.2.16.

A database can only be built when a programme runs as root.

comment:7 in reply to:  6 Changed 6 years ago by rizze

I also ran into this problem. Don't know how to find the corrupted file in a 30GB database...

Replying to smok@…:

A database can only be built when a programme runs as root.

Tried this, but it didn't work for me. Also using Ubuntu 12.04.1, Nicotine+ 1.2.16.

comment:8 Changed 3 years ago by gfarmerfr

Milestone: Release 1.2.17Release 1.3.0
Note: See TracTickets for help on using tickets.