shadowmoose / RedditDownloader

Scrapes Reddit to download media of your choice.
1.11k stars 99 forks source link

Disk IO error? #157

Closed commander-flatus closed 4 years ago

commander-flatus commented 4 years ago

Describe the bug

I've tried both the pre-compiled binary and the source, I keep getting this error message on a fresh ubuntu install.

Python 3.6.9 (default, Apr 18 2020, 01:56:04) [GCC 8.4.0] on linux

==================================== Reddit Media Downloader 3.1.0

(By ShadowMoose @ Github)

Loaded settings file [/home/ted/.local/share/RMD/settings.json]. +Activated WAL Mode. Traceback (most recent call last): File "/home/ted/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1278, in _execute_context cursor, statement, parameters, context File "/home/ted/.local/lib/python3.6/site-packages/sqlalchemy/engine/default.py", line 593, in do_execute cursor.execute(statement, parameters) sqlite3.OperationalError: disk I/O error

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "Run.py", line 177, in redditdownloader.main.run() File "/home/ted/RedditDownloader-master/redditdownloader/main.py", line 166, in run sql.init_from_settings() File "/home/ted/RedditDownloader-master/redditdownloader/sql/init.py", line 62, in init_from_settings _init(db_file) File "/home/ted/RedditDownloader-master/redditdownloader/sql/init.py", line 55, in _init _run_migrations(session()) File "/home/ted/RedditDownloader-master/redditdownloader/sql/init.py", line 133, in _run_migrations _check_legacy(conn) File "/home/ted/RedditDownloader-master/redditdownloader/sql/init.py", line 153, in _check_legacy rs = sess.execute('SELECT name FROM sqlite_master WHERE type="table" AND name="posts";') File "/home/ted/.local/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 1292, in execute clause, params or {} File "/home/ted/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1014, in execute return meth(self, multiparams, params) File "/home/ted/.local/lib/python3.6/site-packages/sqlalchemy/sql/elements.py", line 298, in _execute_on_connection return connection._execute_clauseelement(self, multiparams, params) File "/home/ted/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1133, in _execute_clauseelement distilled_params, File "/home/ted/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1318, in _execute_context e, statement, parameters, cursor, context File "/home/ted/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1512, in _handle_dbapi_exception sqlalchemy_exception, with_traceback=excinfo[2], from=e File "/home/ted/.local/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 178, in raise_ raise exception File "/home/ted/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1278, in _execute_context cursor, statement, parameters, context File "/home/ted/.local/lib/python3.6/site-packages/sqlalchemy/engine/default.py", line 593, in do_execute cursor.execute(statement, parameters) sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) disk I/O error [SQL: SELECT name FROM sqlite_master WHERE type="table" AND name="posts";] (Background on this error at: http://sqlalche.me/e/13/e3q8)

Caught a fatal error running RMD. Cannot continue. -Press [Enter] to quit-

Environment Info

Ubuntu 18.04 LTS

Screenshots/Information

Additional context

shadowmoose commented 4 years ago

It looks like RMD is having difficulty reading from the disk. My best bet is that something (perhaps a backup program) is making your database file (the "manifest") read-only. There could be a number of reasons for this, but it will depend on your personal setup.

commander-flatus commented 4 years ago

Weird. From the shell I have read/write access to the directory. I moved the file locations in RMD and now everything works. I have this running on a VM in Unraid and have the Unraid volume mounted in fstab with the 9p2000 passthrough filesystem. Anyway, sorry for the trouble and keep up the great work.