arconsis/droitatedDB

org.droitateddb.validation.NotNull is not visible from class loader

Closed this issue · 3 comments

Hello Guys,

Today I got a weird Exception. Looking at the Stacktrace, I think there is a racing condition or other black magic at work.

Fatal Exception: java.lang.IllegalStateException: java.lang.IllegalArgumentException: org.droitateddb.validation.NotNull is not visible from class loader at org.droitateddb.DatabaseValidator.validate(DatabaseValidator.java:67) at org.droitateddb.DatabaseValidator.validate(DatabaseValidator.java:48) at org.droitateddb.EntityService.save(EntityService.java:228) at com.kaufland.andmapo.tours.TourService.saveReportToTourPosition(TourService.java:299) at com.kaufland.andmapo.reports.ReportService.lambda$createReport$54(ReportService.java:355) at com.kaufland.andmapo.reports.ReportService.access$lambda$3(ReportService.java) at com.kaufland.andmapo.reports.ReportService$$Lambda$6.consume(Unknown Source) at com.kaufland.andmapo.net.MapoClient.consumeInBackground(MapoClient.java:325) at com.kaufland.andmapo.net.MapoClient_.access$001(MapoClient_.java:31) at com.kaufland.andmapo.net.MapoClient_$1.execute(MapoClient_.java:68) at org.androidannotations.api.BackgroundExecutor$Task.run(BackgroundExecutor.java:405) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422) at java.util.concurrent.FutureTask.run(FutureTask.java:237) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:152) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:265) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) at java.lang.Thread.run(Thread.java:841)

Caused by java.lang.IllegalArgumentException: org.droitateddb.validation.NotNull is not visible from class loader at java.lang.reflect.Proxy.getProxyClass(Proxy.java:111) at org.droitateddb.DatabaseValidator.validateColumn(DatabaseValidator.java:138) at org.droitateddb.DatabaseValidator.checkForValidatorsAndValidate(DatabaseValidator.java:125) at org.droitateddb.DatabaseValidator.validateColumnsInEntity(DatabaseValidator.java:74) at org.droitateddb.DatabaseValidator.validate(DatabaseValidator.java:64) at org.droitateddb.DatabaseValidator.validate(DatabaseValidator.java:48) at org.droitateddb.EntityService.save(EntityService.java:228) at com.kaufland.andmapo.tours.TourService.saveReportToTourPosition(TourService.java:299) at com.kaufland.andmapo.reports.ReportService.lambda$createReport$54(ReportService.java:355) at com.kaufland.andmapo.reports.ReportService.access$lambda$3(ReportService.java) at com.kaufland.andmapo.reports.ReportService$$Lambda$6.consume(Unknown Source) at com.kaufland.andmapo.net.MapoClient.consumeInBackground(MapoClient.java:325) at com.kaufland.andmapo.net.MapoClient_.access$001(MapoClient_.java:31) at com.kaufland.andmapo.net.MapoClient_$1.execute(MapoClient_.java:68) at org.androidannotations.api.BackgroundExecutor$Task.run(BackgroundExecutor.java:405) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422) at java.util.concurrent.FutureTask.run(FutureTask.java:237) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:152) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:265) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) at java.lang.Thread.run(Thread.java:841)

This exception was delivered to me by Crashlytics, and I wasn't able to reproduce it. Could you please look into it?

Thanks in Advance!

Greetings
Alex

Hello Alex,
these days I also had some trouble with classloaders. Could you please check which device with which android version had the problem?

Thanks

Fabric says it's the Samsung sm_g800f. Should be a Samsung Galaxy S5 mini.
The Android Version was 4.4.2.

The amount of free RAM and Memory was enough, too.

Btw. this crash happened a second time. Other user, but same device and same android version.

I hope this information helps!

Fixed with api-0.1.8