arconsis/droitatedDB

Random java.lang.NoSuchFieldException when calling getDeclaredField() and getDeclaredFields()

falkappel opened this issue · 2 comments

The problem from issue #6 is not finally solved. On some platforms occurs still an NoSuchFieldException.
java.lang.IllegalStateException: java.lang.RuntimeException: java.lang.NoSuchFieldException: No field ACTİVE in class Lsome/package/generated/DB$MyTable; (declaration of 'some.package.generated.DB$MyTable'
at org.droitateddb.DatabaseValidator.validate(DatabaseValidator.java:70)
at org.droitateddb.DatabaseValidator.validate(DatabaseValidator.java:39)
at org.droitateddb.EntityService.save(EntityService.java:276)
at org.droitateddb.EntityService.save(EntityService.java:260)
...
Caused by: java.lang.RuntimeException: java.lang.NoSuchFieldException: No field ACTİVE in class Lsome/package/generated/DB$MyTable; (declaration of 'some.package.generated.DB$MyTable'
at org.droitateddb.Utilities.handle(Utilities.java:34)
at org.droitateddb.Utilities.getDeclaredField(Utilities.java:83)
at org.droitateddb.Utilities.getStaticFieldValue(Utilities.java:65)
at org.droitateddb.DatabaseValidator.checkForValidatorsAndValidate(DatabaseValidator.java:123)
at org.droitateddb.DatabaseValidator.validateColumnsInEntity(DatabaseValidator.java:77)
at org.droitateddb.DatabaseValidator.validate(DatabaseValidator.java:67)
... 56 more
Caused by: java.lang.NoSuchFieldException: No field ACTİVE in class Lsome.package.generated.DB$MyTable (declaration of 'dsome.package.generated.DB$MyTable'
at java.lang.Class.getDeclaredField(Native Method)
at org.droitateddb.Utilities.getDeclaredField(Utilities.java:75)
... 60 more

pvegh commented

We have seen this on different devices and Android Versions e.g.

6.0.1:
SAMSUNG SM-N910F
SAMSUNG SM-A500FU
SAMSUNG SM-G920F

5.0.1:
SAMSUNG GT-I9505

4.4.3
HTC Desire 510

4.4.2
SM-T520

At the moment I am not able to reproduce the crash with any accessible device even with the mentioned SAMSUNG SM-G920F