Forums

Ticket issued: unknown

Hello, I have an app in web2py hosted on free account, today I received the Following error on try to access the application:

Internal Error
Ticket issued: unknown

This impossibitate me from access the app and the admin of web2py, I see the logs and seems that the table is corrupted:

2014-01-31 13:15:36,899 :Traceback (most recent call last):
  File "/home/bridgecontent/web2py/gluon/restricted.py", line 217, in restricted
    exec ccode in environment
  File "/home/bridgecontent/web2py/applications/enchentes/models/db.py", line 108, in <module>
    Field('data_mensagem')
  File "/home/bridgecontent/web2py/gluon/dal.py", line 8139, in define_table
    table = self.lazy_define_table(tablename,*fields,**args)
  File "/home/bridgecontent/web2py/gluon/dal.py", line 8176, in lazy_define_table
    polymodel=polymodel)
  File "/home/bridgecontent/web2py/gluon/dal.py", line 1079, in create_table
    raise RuntimeError('File %s appears corrupted' % table._dbt)
RuntimeError: File     /home/bridgecontent/web2py/applications/enchentes/databases/c8b669d15150d7109e5f7ab36744a5b7_mensagem.table appears corrupted

Exists some way of recovery that without data loss, or can I see what caused that to avoid future problems like that?

Thanks

I try to exclude the file "/home/bridgecontent/web2py/applications/enchentes/databases/c8b669d15150d7109e5f7ab36744a5b7_mensagem.table" and set migrate=False, fake_migrate=true in my db.py model, but after that I've received this error:

IOError: [Errno 122] Disk quota exceeded

In my account the Disk quta says 100% used, but I dont upload nothing and my storage.sqlite has only 47Kb.

What could be happen?

Thanks

I don't think this is PythonAnywhere-specific -- the best place to ask is probably the web2py Google group -- they're really helpful.

[EDIT] sorry, just saw your followup. Posting about that now.

Right, so it looks like what happened was that you ran out of storage space, and the file got corrupted because it was too big to fit into the space available. If you want I can take a look at your files and see where the space has gone -- we never look at your stuff without your permission, but if you tell me it's OK here then I can do it.

OK here. ;-) Please you can look for me to help me find where are the 500mb be consumed, I'll really appreciate that.

Thanks

No problem! I actually saw you'd posted a follow-up via our "Send feedback" system, and replied to you via email with the details.

Hi Giles,

Something similar happened to me today - I hit the 2GB limit and all of my data went corrupt

Is there any way you can help me see if this data is still recoverable?

Thank you

I really doubt it's recoverable, but you may be able to get some help on the sqlite forums where they will be more knowledgeable about the file format of sqlite files and so may be able to help you recover some of the data.

Thanks Glenn,

Fortunately I was able to recover my database by downloading the sqlite file and creating a CSV dump. Lessons learned:

  1. Don't hit the PythonAnywhere storage limit
  2. Backup everything frequently

Warmly

Lesson 2 is an excellent lesson and, if you learn it early, it pays off very well.

Lesson 1 can actually be generalised even more: Running out of space on a disk can have some very weird and destructive effects.