On 6 Dec 2012, at 6:51pm, Durga D <durga.d...@gmail.com> wrote: > Does disk io error is related to hardware issue? i mean, fsync() dint get > success on unix. so, this error may be thrown by sqlite. Is it?
Disk IO is sometimes caused by a hardware issue, but it can be caused by trusting data which is already in a corrupt database. If you are trying to use a corrupt database you can get all sorts of error messages at any time, because SQLite makes the assumption that the database is not corrupt. To make up an imaginary example, there may be data in your corrupt database that says the next piece of a table is in block -999. The software then issues the instruction "read block -999" to your file system which says "Don't be stupid, there is no such thing as block -999." and issues a DISK IO ERROR. So here you have a genuine correct DISK IO ERROR which is actually caused by the corrupt database and not a hardware problem. But this is not definitely what's causing your message. Perhaps the database is asking to read a block which has a good block number, and you have a genuine hardware error caused by a faulty hard disk. So as I wrote before we cannot tell what is wrong with your system while you are still using a corrupt database file. It is only the first error which is useful. After that you can get all sorts of error messages but they tell us nothing. Only when you stop trying to use your corrupt database can we help you. Alternatively, if you are willing to pay lots of money, you can send a copy of the corrupt database to hwaci and pay a human who understands how SQLite works to rescue all the rescuable data from it. Simon. _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users