Page 1 of 1

SQL and Python Errors?

Posted: October 21st, 2017, 4:57 pm
by LollyGagger
version: 2.3.0 [ba7d906]
OS: Ubuntu 16.04 Linux Container on Proxmox

I don't seem to have any issues downloading, but repairing and unpacking causes sab to crash on some of the larger nzbs (films, for instance).

Code: Select all

Exception in thread Thread-3:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
    self.run()
  File "/usr/share/sabnzbdplus/sabnzbd/assembler.py", line 143, in run
    nzo.add_to_direct_unpacker(nzf)
  File "/usr/share/sabnzbdplus/sabnzbd/nzbstuff.py", line 1355, in add_to_direct_unpacker
    self.direct_unpacker.add(nzf)
  File "/usr/share/sabnzbdplus/sabnzbd/directunpacker.py", line 137, in add
    self.create_unrar_instance()
  File "/usr/share/sabnzbdplus/sabnzbd/directunpacker.py", line 293, in create_unrar_instance
    self.unpack_dir_info = prepare_extraction_path(self.nzo)
  File "/usr/share/sabnzbdplus/sabnzbd/postproc.py", line 597, in prepare_extraction_path
    raise IOError
IOError

Exception in thread Thread-3:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
    self.run()
  File "/usr/share/sabnzbdplus/sabnzbd/assembler.py", line 143, in run
    nzo.add_to_direct_unpacker(nzf)
  File "/usr/share/sabnzbdplus/sabnzbd/nzbstuff.py", line 1355, in add_to_direct_unpacker
    self.direct_unpacker.add(nzf)
  File "/usr/share/sabnzbdplus/sabnzbd/directunpacker.py", line 137, in add
    self.create_unrar_instance()
  File "/usr/share/sabnzbdplus/sabnzbd/directunpacker.py", line 293, in create_unrar_instance
    self.unpack_dir_info = prepare_extraction_path(self.nzo)
  File "/usr/share/sabnzbdplus/sabnzbd/postproc.py", line 597, in prepare_extraction_path
    raise IOError
IOError

Exception in thread Thread-6106:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
    self.run()
  File "/usr/share/sabnzbdplus/sabnzbd/directunpacker.py", line 212, in run
    self.create_unrar_instance()
  File "/usr/share/sabnzbdplus/sabnzbd/directunpacker.py", line 311, in create_unrar_instance
    rarfile_path = os.path.join(self.nzo.downpath, self.rarfile_nzf.filename)
AttributeError: 'bool' object has no attribute 'filename'

Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
    self.run()
  File "/usr/share/sabnzbdplus/sabnzbd/downloader.py", line 465, in run
    article = sabnzbd.nzbqueue.NzbQueue.do.get_article(server, self.servers)
  File "/usr/share/sabnzbdplus/sabnzbd/nzbqueue.py", line 728, in get_article
    article = nzo.get_article(server, servers)
  File "/usr/share/sabnzbdplus/sabnzbd/nzbstuff.py", line 1476, in get_article
    nzf.completed = True
AttributeError: can't set attribute
Here's the full +Debug log. You can skip to the date of 10/21/2017 for the SQL errors affecting direct unpack failures.
https://pastebin.com/sVrYZnzQ

Re: SQL and Python Errors?

Posted: October 22nd, 2017, 2:10 am
by sander
Your pastebin file contains binary stuff (binary 0's, see below), causing that grep can't parse it.

So: pastebin problem, or ... disk problem on your container / proxmox. With disk problems you can expect all kinds of problems ...

Code: Select all

$ cat sabnzbd.txt  | grep -i -e exception -e traceback
Binary file (standard input) matches

Code: Select all

$ cat sabnzbd.txt  | dos2unix |  grep -i -e exception -e traceback
dos2unix: Binary symbol 0x00 found at line 27311
dos2unix: Skipping binary file stdin

Code: Select all

$ sed -n 27311p sabnzbd.txt | hd
00000000  32 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |2...............|
00000010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
0002b000  00 6e 20 61 6e 64 20 72  65 70 61 69 72 20 6f 6e  |.n and repair on|
0002b010  20 73 65 74 20 69 72 6f  6e 2e 6d 61 6e 2e 32 2e  | set iron.man.2.|
0002b020  32 30 31 30 2e 72 65 72  69 70 2e 70 72 6f 70 65  |2010.rerip.prope|
0002b030  72 2e 31 30 38 30 70 2e  62 6c 75 72 61 79 2e 78  |r.1080p.bluray.x|
0002b040  32 36 34 2d 68 64 34 75  0a                       |264-hd4u.|
0002b049

Code: Select all

$ cat sabnzbd.txt | hd | grep " 00 " 
0036f5f0  63 6f 6e 6e 65 63 74 69  6f 6e 0a 32 00 00 00 00  |connection.2....|
0036f600  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
0039a5f0  00 00 00 00 00 00 00 00  00 00 00 00 6e 20 61 6e  |............n an|
003ad9b0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
003b5510  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
003bd000  5f 73 65 72 76 65 72 2e  43 50 00 00 00 00 00 00  |_server.CP......|
003bd010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
003be000  00 00 00 00 00 00 00 00  00 00 6e 64 21 0a 32 30  |..........nd!.20|
003c52f0  31 31 5f 30 37 5f 34 34  5f 31 36 2e 72 32 00 00  |11_07_44_16.r2..|
003c5300  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
003c62f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 20 32  |.............. 2|

Re: SQL and Python Errors?

Posted: October 22nd, 2017, 2:39 am
by safihre
Agreed with Sander, your whole log is filled with disk-related errors.
Even the SQL errors are actual disk-errors:

Code: Select all

2017-10-21 21:46:55,246::INFO::[database:157] Traceback: 
Traceback (most recent call last):
  File "/usr/share/sabnzbdplus/sabnzbd/database.py", line 127, in execute
    self.c.execute(command)
OperationalError: disk I/O error

Code: Select all

2017-10-21 21:19:21,078::INFO::[__init__:929] Traceback: 
Traceback (most recent call last):
  File "/usr/share/sabnzbdplus/sabnzbd/__init__.py", line 921, in load_data
    data = cPickle.load(data_file)
EOFError
So, are you sure your disk is 100% fine?

Re: SQL and Python Errors?

Posted: October 22nd, 2017, 9:51 am
by LollyGagger
Thanks for the tip. I would've never thought to interpret these that way, but you guys are right. There appears to be some significant disk corruption going on across my entire node (to include my sabnzbd container).

This was my first proxmox build, and i put my entire node onto an m2 SSD for performance purposes. I've since learned that if you play stupid games, you win stupid prizes.