What is going on here? I have not changed anything on development environment: But yahwing cannot run the previous version while you can, and now you cannot run this latest version while I can in my Kindle...

What is this "kindlet.internal.security.Kindle tSecretKey" doing in the project??

I tend to think it must be something has changed on your kindle that cause it and pretty sure you cannot even run the previous version now even you have done that without problem before...

It could be because you have the WiFi ON while running the Chinese Chess program and it has picked up something from the internet. It might be because you have changed the firmware of your kindle recently.

It seems that the application cannot read from its local preferences storage due to some security error. I think that the local storage is encrypted by the sign or anything relating to the application.
You may resolve that error by a try catch in that function

Code:

try{
//reading from pref
}catch(Exception ex){
//reading error, clear all the pref, and then try reading again
}

It seems that the application cannot read from its local preferences storage due to some security error. I think that the local storage is encrypted by the sign or anything relating to the application.
You may resolve that error by a try catch in that function

Code:

try{
//reading from pref
}catch(Exception ex){
//reading error, clear all the pref, and then try reading again
}

HA! Good to hear you again! What is this "local preferences storage"?

I am still learning and don't understand how this work:

1. Where is all the Chess Puzzles stored?

2. Is that true this "SecureStorage" only half used out of its 512 bytes? Most of the 256 bytes (other than the 256 bytes for Chess Map) are not used? Where is this storage exist? Part of the data section in .awz2 file?

3. What do you mean by "clear all the pref, and then try reading again"?
How to clear the pref?

4. The crash log says it comes from the routine "posCollection.localIsSolved()", but I don't see anything special on this routine and my kindle can run it without problem...

Since I cannot reproduct the problems on my kindle, what should I do in this case?

I am sorry there are so many questions I want to know the answers - As I am now quite "HOT" on this Chess Program - I cannot sleep or eat until I know the inside out of it...

2. Is that true this "SecureStorage" only half used out of its 512 bytes? Most of the 256 bytes (other than the 256 bytes for Chess Map) are not used? Where is this storage exist? Part of the data section in .awz2 file?

3. What do you mean by "clear all the pref, and then try reading again"?
How to clear the pref?

4. The crash log says it comes from the routine "posCollection.localIsSolved()", but I don't see anything special on this routine and my kindle can run it without problem...

Since I cannot reproduct the problems on my kindle, what should I do in this case?

I am sorry there are so many questions I want to know the answers - As I am now quite "HOT" on this Chess Program - I cannot sleep or eat until I know the inside out of it...

Yes, the answers for 2nd,3rd and 4th question is in ixtab's link
And for 1st, they're *.vh files.

They are *.vh files inside the source code project only, but we just copy the ".azw2" file to the kindle - So it must has all the necessary data (all the chess puzzles and all the SecureStorage contents) inside this ".azw2" file.

My guess is when you run this ".azw2" file the VERY first time on the kindle, it will auto-create the file in "/mnt/us/developer/<AZW2 Title>/metadata/.secure_store" by itself.

I suspect the ALL Chess Puzzles will also store somewhere (not in the RAM, but the /mnt/us directory) as part of initialization when you run the ".azw2" file.

I suspect this secure store has been corrupted and the application (Chess Program) should able to generate it again somehow (I don't know how yet...).

From the link given by ixtab:

Quote:

In the remote case that corruption happens outside of the application's life cycle the store will simply respond as if it is empty. (This can also happen if the device is restored to factory settings.) For most use cases, the application should be built to deal gracefully with this.

================================================== ======

I presume the *.vh files have their own format or encrypted and you just cannot edit or add another one without a special software tool to do it, right?