-
Notifications
You must be signed in to change notification settings - Fork 1
database: Add basic database validation and error description #12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
|
Hello, now i can find this kind of description, Reading database luglio25.db What i'm supposed to do? There are options to print details? If i search this entry and i delete them maybe i can fix the problem of the dude! I will try |
|
I been working into adding ID validation for individual object references to produce outputs like. However based on your log is quite interesting. No new data formats or types which is good. However your entries were parsed without errors but seem incomplete as the object id is zero. Give me some time to make the error a lot more verbose. I should be able to make it display all fields in plain text, hopefully this will allow us to identify what is wrong with these. |
|
@pmattia90 Give it a second try to this PR. I added a detailed description. If any error happens while the parser is running it will also display that error. The message should look as follows: This is the same data but with text descriptions instead of hex values. |
|
Hello, ` Invalid Entry expected 261047, found 0 Invalid Entry expected 261049, found 0 Invalid Entry expected 261801, found 0 Invalid Entry expected 362679, found 0 Invalid Entry expected 580500, found 0 Invalid Entry expected 580506, found 0 Invalid Entry expected 580508, found 0 Invalid Entry expected 585445, found 0 Invalid Entry expected 856010, found 0 Invalid Entry expected 947641, found 0 Invalid Entry expected 947646, found 0 Invalid Entry expected 1183115, found 0 Invalid Entry expected 1301043, found 0 Invalid Entry expected 2134626, found 0 Invalid Entry expected 2160504, found 0 Invalid Entry expected 2162607, found 0 Invalid Entry expected 2253218, found 0 |
|
The text descriptions are based on the enums at All your entries are of type |
|
@pmattia90 Seems like I was trying to read a byte on an int field. I promoted a bunch of fields to int. Now it should output no errors. I also added the |
|
I can confirm that now no errors are reported, So i can't understand which node or field creates problem in dude, correct? |
|
That's great news for me. Not so much for you. Correct we don't know which node or field is causing your dude to crash. Maybe after finishing the integrity test we will have more clues. For now we don't have the slightest idea. |
Some databases are corrupted like #11. This PR adds an explanation for parser errors and checks for new types that aren't handled by this program.
The new error message will contain the ID of the corrupted entry a short explanation and a dump of the entry blob. This will be helpful for users reporting issues with corrupted entries. However since the entry couldn't be parsed correctly it can contain sensitive data encoded within the blob.