Is it safe to continue using a map database after a "Disk I/O error"

Post Reply
User avatar
sorcerykid
Member
Posts: 1539
Joined: Fri Aug 26, 2016 15:36
GitHub: sorcerykid
In-game: Nemo
Location: Illinois, USA

Is it safe to continue using a map database after a "Disk I/O error"

by sorcerykid » Post

I saw this message in my debug log today

Code: Select all

2021-02-08 19:44:22: ERROR[Server]: An unhandled exception occurred: Failed to save block: disk I/O error
2021-02-08 19:44:22: ERROR[Server]: In thread 7f62c8d1c700:
2021-02-08 19:44:22: ERROR[Server]: /root/rpmbuild/SOURCES/minetest-0.4.14/src/server.cpp:74: virtual void* ServerThread::run(): A fatal error occured: Failed to save block: disk I/O error
2021-02-08 19:44:22: ERROR[Server]: Debug stacks:
2021-02-08 19:44:22: ERROR[Server]: DEBUG STACK FOR THREAD 7f62b6bde700:
2021-02-08 19:44:22: ERROR[Server]: #0  virtual void* EmergeThread::run()
2021-02-08 19:44:22: ERROR[Server]: DEBUG STACK FOR THREAD 7f62b77fd700:
2021-02-08 19:44:22: ERROR[Server]: #0  virtual void* CurlFetchThread::run()
2021-02-08 19:44:22: ERROR[Server]: DEBUG STACK FOR THREAD 7f62c8d1c700:
2021-02-08 19:44:22: ERROR[Server]: #0  virtual void* ServerThread::run()
2021-02-08 19:44:22: ERROR[Server]: DEBUG STACK FOR THREAD 7f62d01f17e0:
2021-02-08 19:44:22: ERROR[Server]: #0  int main(int, char**)
2021-02-08 19:44:22: ERROR[Server]: #1  Dedicated server branch
2021-02-08 19:44:22: ERROR[Server]: #2  void dedicated_server_loop(Server&, bool&)
Is it safe to continue using the map database in this state, or would there be a chance it is corrupted? If worse comes to worse, I can restore from the last weekly backup.

Incidentally, the reason for the disk I/O error was that my /tmp partition was full. So I'm not sure if that would impact the integrity of the map database itself, since it is on a completely different partition. But I'm aware that SQLite3 uses /tmp for its page cache.

Thanks in advance for your help!

User avatar
Minix
Member
Posts: 55
Joined: Thu Nov 12, 2020 13:51
In-game: Minix

Re: Is it safe to continue using a map database after a "Disk I/O error"

by Minix » Post

Interesting, once the partition where my server runs got full but didn't crash the hole computer because the OS is stored on another partition. The only thing that happened was that minetest crashed again and again in an endless loop for hours until I noticed the problem, after deleting some files everything was working as usual. I have to note that I run 5.3.0.

Could I get to know what settings have you tweaked that you ran out of space on /tmp even having the database on another partition ?

I guess your /tmp is a RAM disk

User avatar
Linuxdirk
Member
Posts: 2737
Joined: Wed Sep 17, 2014 11:21
In-game: Linuxdirk
Location: Germany
Contact:

Re: Is it safe to continue using a map database after a "Disk I/O error"

by Linuxdirk » Post

After disk IO error nothing is safe anymore. Your disk is damaged and should be replaced as soon as possible.

User avatar
sorcerykid
Member
Posts: 1539
Joined: Fri Aug 26, 2016 15:36
GitHub: sorcerykid
In-game: Nemo
Location: Illinois, USA

Re: Is it safe to continue using a map database after a "Disk I/O error"

by sorcerykid » Post

Could I get to know what settings have you tweaked that you ran out of space on /tmp even having the database on another partition ?
The mlocate utility, which is notorious for consuming large amounts of disk space, filled up the root partition which happens to hold both my /tmp and /var directories.

User avatar
Minix
Member
Posts: 55
Joined: Thu Nov 12, 2020 13:51
In-game: Minix

Re: Is it safe to continue using a map database after a "Disk I/O error"

by Minix » Post

My guess is that it will be ok, I have been using the same map database that crashed minetest due to insufficient disk space for months and nothing has gone wrong, but I'm not a database expert, if you don't want surprises in the future use the backups you have.

Post Reply

Who is online

Users browsing this forum: No registered users and 8 guests