tophitter / peerblock

Automatically exported from code.google.com/p/peerblock
Other
0 stars 0 forks source link

sqlite3x disk I/O errors #58

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Errors reported via email by user A. A., with logfiles and screenshots of
error-messages attached.

Error #1:
/---------------------------------------
Uncaught Exception
Build: 3...86
File: .\historycalendarproc.cpp
Line: 131
Type: class sqlite3x::database_error
Message: disk I/O error
\---------------------------------------

Error #2:
/---------------------------------------
Uncaught Exception
Build: 3...86
File: .\historyproc.cpp
Line: 476
Type: class sqlite3x::database_error
Message: disk I/O error
\---------------------------------------

Putting both these exceptions in one bug since they appear to be very
similar; if after further investigation it turns out they're different bugs
we can break them out into their own issues later.

Original issue reported on code.google.com by peerbloc...@gmail.com on 13 Aug 2009 at 8:53

GoogleCodeExporter commented 8 years ago
Hi,
I still have the same errors with r93.

Original comment by aeonian....@gmail.com on 24 Aug 2009 at 10:59

GoogleCodeExporter commented 8 years ago
I responded via email, haven't heard back for a few days so will comment here as
well.  Probably better to do it this way for posterity's sake, anyway.

From looking into the SQLite DB code & docs, it sounds as though this "disk I/O
error" problem generally indicates that the OS told us it can't perform a 
read/write
operation for whatever reason.  This error can apparently show up due to
low-disk-space issues, if a disk is going bad (bad blocks encountered, etc.), 
or if
the OS disk driver fails for some reason.  I recommended verifying that the disk
isn't full, and that no strange messages were showing up in the EventLogs; I'd 
add to
this list of suggestions running chkdsk (or some other such tool, possibly a
SMART-aware disk analyzer) to verify that the disk isn't going bad.

We could try checking to see if GetLastError() contains any additional 
information
when we hit this error, but a lot of things could take place that would wipe 
this
out.  It would be nice if sqlite3 included better reporting of these sorts of 
errors,
for example percolating the OS-specific error-code up to the caller (i.e., to 
us)
instead of masking it behind a generic error-message such as this one.  They do 
have
make some more-specific error codes available, but they generally simply 
specify the
type of operation that failed (i.e. read versus write) instead of giving us the 
error
it encountered; still, might we worth trying to enable this functionality.

Original comment by peerbloc...@gmail.com on 30 Aug 2009 at 12:30

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
Hi Mark,
I was out of town, unconnectable for a few days. Sorry.
I just installed the new r131 and the issue seems to be gone after re-starting 
my
machine 12 times (counted), but still too soon to trust.
To let you know: hard-drives are in perfect shape, chkdsk & defrag every 2 
days, no
SMART warnings at all, and with 50% capacity. PCI-IDE and SATA Controllers 
Drives are
from AMD/MSI, all the others are from MS. I'm sure this wasn't the origin, also 
b/c I
had this issue on 2 other machines. No events are shown at eventvwr (at least, 
with
the normal flags).
Please, wait 1-2 days more. I will let you know how r131 goes.
Meanwhile, I can try enabling GetLastError() or whatever you wish, just show me 
how
to do this.
Thank you, for all.

Original comment by aeonian....@gmail.com on 2 Sep 2009 at 8:37

GoogleCodeExporter commented 8 years ago
I didn't have these issues anymore. (r131 installed and running for 5-6 days 
now)
They are solved with r131 in my oppinion.
Thank you!

Original comment by aeonian....@gmail.com on 8 Sep 2009 at 12:44

GoogleCodeExporter commented 8 years ago
We did update to a new version of the sqlite3 lib we use as our database-layer, 
so I
guess we can assume this was a bug in their code that got fixed in this 
release. 
I'll take it!  

I'm marking this bug as Fixed.  Feel free to update this bug if the problem 
reoccurs,
we'll get notification of that update.

Original comment by peerbloc...@gmail.com on 8 Sep 2009 at 11:43