RedApparat / Fotoapparat

Making Camera for Android more friendly. 📸
Apache License 2.0
3.82k stars 406 forks source link

RuntimeException set display orientation failed #105

Closed chucky86boy closed 6 years ago

chucky86boy commented 6 years ago

Please check if your issue exists.

Issues should only be posted after you have been able to reproduce them and confirm that they are either a missing functionality or a bug.

What are you trying to achieve or the steps to reproduce?

This doesn't happen overtime. It happened for this particular case while I was testing.

How did you initialize FA?

mFotoapparat = Fotoapparat
                .with(getActivity())
                .into(mCameraView)
                .photoSize(smallestSize())
                .lensPosition(front())
                .focusMode(firstAvailable(
                        autoFocus(),
                        fixed()
                ))
                .frameProcessor(mViewModel.getImageStreamPublishSubject()::onNext)
                .build();

@Override
    public void onStart() {
        super.onStart();
        mStarted = true;
        mFotoapparat.start();
        ....
    }

What was the result you received?

Crash

What did you expect?

When camera opens up, the bug happened

Context:

compile 'io.fotoapparat.fotoapparat:library:1.3.0'

Platform: android OS Version: 7.0 Device: Galaxy Tab S2 8.0 RAM Free: 37.2% Disk Free: 78.8%

0. Crashed: pool-10-thread-1: 0 0 0x0000000000000000

   at android.hardware.Camera.setDisplayOrientation(Camera.java)
   at io.fotoapparat.hardware.v1.Camera1.setDisplayOrientation(Camera1.java:190)
   at io.fotoapparat.routine.UpdateOrientationRoutine$1.run(UpdateOrientationRoutine.java:44)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
   at java.lang.Thread.run(Thread.java:762)

--

Fatal Exception: java.lang.RuntimeException: set display orientation failed at android.hardware.Camera.setDisplayOrientation(Camera.java) at io.fotoapparat.hardware.v1.Camera1.setDisplayOrientation(Camera1.java:190) at io.fotoapparat.routine.UpdateOrientationRoutine$1.run(UpdateOrientationRoutine.java:44) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) at java.lang.Thread.run(Thread.java:762)

0. Crashed: pool-10-thread-1: 0 0 0x0000000000000000

   at android.hardware.Camera.setDisplayOrientation(Camera.java)
   at io.fotoapparat.hardware.v1.Camera1.setDisplayOrientation(Camera1.java:190)
   at io.fotoapparat.routine.UpdateOrientationRoutine$1.run(UpdateOrientationRoutine.java:44)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
   at java.lang.Thread.run(Thread.java:762)

1. GoogleApiHandler

   at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
   at android.os.MessageQueue.next(MessageQueue.java:323)
   at android.os.Looper.loop(Looper.java:136)
   at android.os.HandlerThread.run(HandlerThread.java:61)

2. OkHttp Dispatcher

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:2128)
   at sun.misc.Unsafe.park(Unsafe.java:325)
   at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:201)
   at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:432)
   at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:333)
   at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:908)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1057)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
   at java.lang.Thread.run(Thread.java:762)

3. pool-7-thread-1

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:2128)
   at sun.misc.Unsafe.park(Unsafe.java:325)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
   at java.lang.Thread.run(Thread.java:762)

4. glide-disk-cache-thread-0

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:2128)
   at sun.misc.Unsafe.park(Unsafe.java:325)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
   at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
   at java.lang.Thread.run(Thread.java:762)
   at com.bumptech.glide.load.engine.executor.GlideExecutor$DefaultThreadFactory$1.run(GlideExecutor.java:347)

5. Queue

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:2128)
   at sun.misc.Unsafe.park(Unsafe.java:325)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
   at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(DependencyPriorityBlockingQueue.java:197)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(DependencyPriorityBlockingQueue.java:236)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:65)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:46)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
   at java.lang.Thread.run(Thread.java:762)

6. RxCachedWorkerPoolEvictor-1

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:2128)
   at sun.misc.Unsafe.park(Unsafe.java:325)
   at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:201)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2077)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1103)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1084)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
   at java.lang.Thread.run(Thread.java:762)

7. Queue

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:2128)
   at sun.misc.Unsafe.park(Unsafe.java:325)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
   at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(DependencyPriorityBlockingQueue.java:197)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(DependencyPriorityBlockingQueue.java:236)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:65)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:46)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
   at java.lang.Thread.run(Thread.java:762)

8. RxComputationThreadPool-8

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:2128)
   at sun.misc.Unsafe.park(Unsafe.java:325)
   at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:201)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2077)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1103)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1084)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
   at java.lang.Thread.run(Thread.java:762)

9. pool-10-thread-1

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:2128)
   at sun.misc.Unsafe.park(Unsafe.java:325)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
   at java.util.concurrent.FutureTask.awaitDone(FutureTask.java:421)
   at java.util.concurrent.FutureTask.get(FutureTask.java:163)
   at com.crashlytics.android.core.CrashlyticsBackgroundWorker.submitAndWait(CrashlyticsBackgroundWorker.java:43)
   at com.crashlytics.android.core.CrashlyticsController.handleUncaughtException(CrashlyticsController.java:285)
   at com.crashlytics.android.core.CrashlyticsController$5.onUncaughtException(CrashlyticsController.java:269)
   at com.crashlytics.android.core.CrashlyticsUncaughtExceptionHandler.uncaughtException(CrashlyticsUncaughtExceptionHandler.java:30)
   at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1068)
   at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1063)

10. TubeSockReader-1

   at com.android.org.conscrypt.NativeCrypto.SSL_read(NativeCrypto.java)
   at com.android.org.conscrypt.OpenSSLSocketImpl$SSLInputStream.read(OpenSSLSocketImpl.java:789)
   at java.io.DataInputStream.readFully(DataInputStream.java:195)
   at blv.a(:com.google.android.gms.DynamiteModulesC@11517446:78)
   at blv.a(:com.google.android.gms.DynamiteModulesC@11517446:13)
   at blq.run(:com.google.android.gms.DynamiteModulesC@11517446:69)
   at java.lang.Thread.run(Thread.java:762)

11. HeapTaskDaemon

   at dalvik.system.VMRuntime.runHeapTasks(VMRuntime.java)
   at java.lang.Daemons$HeapTaskDaemon.run(Daemons.java:433)
   at java.lang.Thread.run(Thread.java:762)

12. Chrome_ProcessLauncherThread

   at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
   at android.os.MessageQueue.next(MessageQueue.java:323)
   at android.os.Looper.loop(Looper.java:136)
   at android.os.HandlerThread.run(HandlerThread.java:61)

13. RxComputationThreadPool-4

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:2128)
   at sun.misc.Unsafe.park(Unsafe.java:325)
   at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:201)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2077)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1103)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1084)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
   at java.lang.Thread.run(Thread.java:762)

14. RxComputationThreadPool-6

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:2128)
   at sun.misc.Unsafe.park(Unsafe.java:325)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1091)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1084)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
   at java.lang.Thread.run(Thread.java:762)

15. Queue

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:2128)
   at sun.misc.Unsafe.park(Unsafe.java:325)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
   at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(DependencyPriorityBlockingQueue.java:197)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(DependencyPriorityBlockingQueue.java:236)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:65)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:46)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
   at java.lang.Thread.run(Thread.java:762)

16. Queue

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:2128)
   at sun.misc.Unsafe.park(Unsafe.java:325)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
   at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(DependencyPriorityBlockingQueue.java:197)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(DependencyPriorityBlockingQueue.java:236)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:65)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:46)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
   at java.lang.Thread.run(Thread.java:762)

17. CleanupReference

   at java.lang.Object.wait(Object.java)
   at java.lang.Object.wait(Object.java:407)
   at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:188)
   at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:209)
   at org.chromium.android_webview.CleanupReference$1.run(CleanupReference.java:3)

18. RxComputationThreadPool-3

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:2128)
   at sun.misc.Unsafe.park(Unsafe.java:325)
   at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:201)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2077)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1103)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1084)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
   at java.lang.Thread.run(Thread.java:762)

19. OkHttp ConnectionPool

   at java.lang.Object.wait(Object.java)
   at okhttp3.ConnectionPool$1.run(ConnectionPool.java:67)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
   at java.lang.Thread.run(Thread.java:762)

20. Okio Watchdog

   at java.lang.Object.wait(Object.java)
   at okio.AsyncTimeout.awaitTimeout(AsyncTimeout.java:361)
   at okio.AsyncTimeout$Watchdog.run(AsyncTimeout.java:312)

21. OkHttp www.flickr.com

   at com.android.org.conscrypt.NativeCrypto.SSL_read(NativeCrypto.java)
   at com.android.org.conscrypt.OpenSSLSocketImpl$SSLInputStream.read(OpenSSLSocketImpl.java:789)
   at okio.Okio$2.read(Okio.java:139)
   at okio.AsyncTimeout$2.read(AsyncTimeout.java:237)
   at okio.RealBufferedSource.request(RealBufferedSource.java:67)
   at okio.RealBufferedSource.require(RealBufferedSource.java:60)
   at okhttp3.internal.http2.Http2Reader.nextFrame(Http2Reader.java:95)
   at okhttp3.internal.http2.Http2Connection$ReaderRunnable.execute(Http2Connection.java:566)
   at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
   at java.lang.Thread.run(Thread.java:762)

22. RxComputationThreadPool-2

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:2128)
   at sun.misc.Unsafe.park(Unsafe.java:325)
   at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:201)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2077)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1103)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1084)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
   at java.lang.Thread.run(Thread.java:762)

23. RxComputationThreadPool-1

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:2128)
   at sun.misc.Unsafe.park(Unsafe.java:325)
   at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:201)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2077)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1103)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1084)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
   at java.lang.Thread.run(Thread.java:762)

24. Queue

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:2128)
   at sun.misc.Unsafe.park(Unsafe.java:325)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
   at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(DependencyPriorityBlockingQueue.java:197)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(DependencyPriorityBlockingQueue.java:236)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:65)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:46)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
   at java.lang.Thread.run(Thread.java:762)

25. ReferenceQueueDaemon

   at java.lang.Object.wait(Object.java)
   at java.lang.Daemons$ReferenceQueueDaemon.run(Daemons.java:150)
   at java.lang.Thread.run(Thread.java:762)

26. OkHttp Http2Connection

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:2128)
   at sun.misc.Unsafe.park(Unsafe.java:325)
   at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:201)
   at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:432)
   at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:333)
   at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:908)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1057)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
   at java.lang.Thread.run(Thread.java:762)

27. Thread-8

   at libcore.io.Posix.accept(Posix.java)
   at libcore.io.BlockGuardOs.accept(BlockGuardOs.java:64)
   at android.system.Os.accept(Os.java:43)
   at android.net.LocalSocketImpl.accept(LocalSocketImpl.java:336)
   at android.net.LocalServerSocket.accept(LocalServerSocket.java:90)
   at com.android.tools.ir.server.Server$SocketServerThread.run(Server.java:165)
   at java.lang.Thread.run(Thread.java:762)

28. OkHttp ConnectionPool

   at java.lang.Object.wait(Object.java)
   at com.android.okhttp.ConnectionPool.performCleanup(ConnectionPool.java:319)
   at com.android.okhttp.ConnectionPool.runCleanupUntilPoolIsEmpty(ConnectionPool.java:256)
   at com.android.okhttp.ConnectionPool.-wrap0(ConnectionPool.java)
   at com.android.okhttp.ConnectionPool$1.run(ConnectionPool.java:102)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
   at java.lang.Thread.run(Thread.java:762)

29. glide-source-thread-2

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:2128)
   at sun.misc.Unsafe.park(Unsafe.java:325)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
   at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
   at java.lang.Thread.run(Thread.java:762)
   at com.bumptech.glide.load.engine.executor.GlideExecutor$DefaultThreadFactory$1.run(GlideExecutor.java:347)

30. glide-source-thread-1

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:2128)
   at sun.misc.Unsafe.park(Unsafe.java:325)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
   at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
   at java.lang.Thread.run(Thread.java:762)
   at com.bumptech.glide.load.engine.executor.GlideExecutor$DefaultThreadFactory$1.run(GlideExecutor.java:347)

31. glide-source-thread-3

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:2128)
   at sun.misc.Unsafe.park(Unsafe.java:325)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
   at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
   at java.lang.Thread.run(Thread.java:762)
   at com.bumptech.glide.load.engine.executor.GlideExecutor$DefaultThreadFactory$1.run(GlideExecutor.java:347)

32. RxSchedulerPurge-1

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:2128)
   at sun.misc.Unsafe.park(Unsafe.java:325)
   at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:201)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2077)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1103)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1084)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
   at java.lang.Thread.run(Thread.java:762)

33. pool-9-thread-1

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:2128)
   at sun.misc.Unsafe.park(Unsafe.java:325)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
   at java.lang.Thread.run(Thread.java:762)

34. RxCachedThreadScheduler-1

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:2128)
   at sun.misc.Unsafe.park(Unsafe.java:325)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1091)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1084)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
   at java.lang.Thread.run(Thread.java:762)

35. Crashlytics Exception Handler1

   at dalvik.system.VMStack.getThreadStackTrace(VMStack.java)
   at java.lang.Thread.getStackTrace(Thread.java:1567)
   at java.lang.Thread.getAllStackTraces(Thread.java:1617)
   at com.crashlytics.android.core.CrashlyticsController.writeSessionEvent(CrashlyticsController.java:1114)
   at com.crashlytics.android.core.CrashlyticsController.writeFatal(CrashlyticsController.java:852)
   at com.crashlytics.android.core.CrashlyticsController.access$400(CrashlyticsController.java:59)
   at com.crashlytics.android.core.CrashlyticsController$6.call(CrashlyticsController.java:292)
   at com.crashlytics.android.core.CrashlyticsController$6.call(CrashlyticsController.java:285)
   at java.util.concurrent.FutureTask.run(FutureTask.java:237)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
   at io.fabric.sdk.android.services.common.ExecutorUtils$1$1.onRun(ExecutorUtils.java:75)
   at io.fabric.sdk.android.services.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:30)
   at java.lang.Thread.run(Thread.java:762)

36. Answers Events Handler1

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:2128)
   at sun.misc.Unsafe.park(Unsafe.java:325)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1091)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1084)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
   at io.fabric.sdk.android.services.common.ExecutorUtils$1$1.onRun(ExecutorUtils.java:75)
   at io.fabric.sdk.android.services.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:30)
   at java.lang.Thread.run(Thread.java:762)

37. FinalizerWatchdogDaemon

   at java.lang.Thread.sleep(Thread.java)
   at java.lang.Thread.sleep(Thread.java:371)
   at java.lang.Thread.sleep(Thread.java:313)
   at java.lang.Daemons$FinalizerWatchdogDaemon.sleepFor(Daemons.java:314)
   at java.lang.Daemons$FinalizerWatchdogDaemon.waitForFinalization(Daemons.java:336)
   at java.lang.Daemons$FinalizerWatchdogDaemon.run(Daemons.java:253)
   at java.lang.Thread.run(Thread.java:762)

38. OkHttp Http2Connection

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:2128)
   at sun.misc.Unsafe.park(Unsafe.java:325)
   at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:201)
   at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:432)
   at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:333)
   at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:908)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1057)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
   at java.lang.Thread.run(Thread.java:762)

39. Queue

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:2128)
   at sun.misc.Unsafe.park(Unsafe.java:325)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
   at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(DependencyPriorityBlockingQueue.java:197)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(DependencyPriorityBlockingQueue.java:236)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:65)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:46)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
   at java.lang.Thread.run(Thread.java:762)

40. GoogleApiHandler

   at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
   at android.os.MessageQueue.next(MessageQueue.java:323)
   at android.os.Looper.loop(Looper.java:136)
   at android.os.HandlerThread.run(HandlerThread.java:61)

41. OkHttp Dispatcher

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:2128)
   at sun.misc.Unsafe.park(Unsafe.java:325)
   at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:201)
   at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:432)
   at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:333)
   at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:908)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1057)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
   at java.lang.Thread.run(Thread.java:762)

42. glide-source-thread-0

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:2128)
   at sun.misc.Unsafe.park(Unsafe.java:325)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
   at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
   at java.lang.Thread.run(Thread.java:762)
   at com.bumptech.glide.load.engine.executor.GlideExecutor$DefaultThreadFactory$1.run(GlideExecutor.java:347)

43. RxComputationThreadPool-7

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:2128)
   at sun.misc.Unsafe.park(Unsafe.java:325)
   at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:201)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2077)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1103)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1084)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
   at java.lang.Thread.run(Thread.java:762)

44. RxComputationThreadPool-5

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:2128)
   at sun.misc.Unsafe.park(Unsafe.java:325)
   at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:201)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2077)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1103)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1084)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
   at java.lang.Thread.run(Thread.java:762)

45. GAC_Executor[0]

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:2128)
   at sun.misc.Unsafe.park(Unsafe.java:325)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
   at com.google.android.gms.internal.zzbic.run(Unknown Source)
   at java.lang.Thread.run(Thread.java:762)

46. FirebaseDatabaseWorker

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:2128)
   at sun.misc.Unsafe.park(Unsafe.java:325)
   at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:201)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2077)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1103)
   at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1084)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
   at java.lang.Thread.run(Thread.java:762)

47. pool-10-thread-2

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:2128)
   at sun.misc.Unsafe.park(Unsafe.java:325)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
   at java.lang.Thread.run(Thread.java:762)

48. Queue

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:2128)
   at sun.misc.Unsafe.park(Unsafe.java:325)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
   at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(DependencyPriorityBlockingQueue.java:197)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(DependencyPriorityBlockingQueue.java:236)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:65)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:46)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
   at java.lang.Thread.run(Thread.java:762)

49. ConnectivityManager

   at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
   at android.os.MessageQueue.next(MessageQueue.java:323)
   at android.os.Looper.loop(Looper.java:136)
   at android.os.HandlerThread.run(HandlerThread.java:61)

50. FinalizerDaemon

   at java.lang.Object.wait(Object.java)
   at java.lang.Object.wait(Object.java:407)
   at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:188)
   at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:209)
   at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:204)
   at java.lang.Thread.run(Thread.java:762)

51. GoogleApiHandler

   at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
   at android.os.MessageQueue.next(MessageQueue.java:323)
   at android.os.Looper.loop(Looper.java:136)
   at android.os.HandlerThread.run(HandlerThread.java:61)

52. TubeSockWriter-1

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:2128)
   at sun.misc.Unsafe.park(Unsafe.java:325)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
   at blw.a(:com.google.android.gms.DynamiteModulesC@11517446:53)
   at blx.run(:com.google.android.gms.DynamiteModulesC@11517446:5)
   at java.lang.Thread.run(Thread.java:762)

53. Queue

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:2128)
   at sun.misc.Unsafe.park(Unsafe.java:325)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
   at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(DependencyPriorityBlockingQueue.java:197)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(DependencyPriorityBlockingQueue.java:236)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:65)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:46)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
   at java.lang.Thread.run(Thread.java:762)

54. Queue

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:2128)
   at sun.misc.Unsafe.park(Unsafe.java:325)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
   at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:519)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.performOperation(DependencyPriorityBlockingQueue.java:197)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.get(DependencyPriorityBlockingQueue.java:236)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:65)
   at io.fabric.sdk.android.services.concurrency.DependencyPriorityBlockingQueue.take(DependencyPriorityBlockingQueue.java:46)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
   at java.lang.Thread.run(Thread.java:762)

55. GAC_Executor[1]

   at java.lang.Object.wait(Object.java)
   at java.lang.Thread.parkFor$(Thread.java:2128)
   at sun.misc.Unsafe.park(Unsafe.java:325)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:161)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2035)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:413)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1058)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1118)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
   at com.google.android.gms.internal.zzbic.run(Unknown Source)
   at java.lang.Thread.run(Thread.java:762)
jpribble commented 6 years ago

I observed the same crash while running the sample app (version 1.4.1) on a Samsung GS6 (Android 6.0.1). Here's the stack trace:

io.fotoapparat.sample E/AndroidRuntime: FATAL EXCEPTION: pool-2-thread-1 Process: io.fotoapparat.sample, PID: 31819 java.lang.RuntimeException: set display orientation failed at android.hardware.Camera.setDisplayOrientation(Native Method) at io.fotoapparat.hardware.v1.Camera1.setDisplayOrientation(Camera1.java:190) at io.fotoapparat.routine.UpdateOrientationRoutine$1.run(UpdateOrientationRoutine.java:44) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) at java.lang.Thread.run(Thread.java:818)

Diolor commented 6 years ago

Fixed by #126 and 1.5.0. Thanks @jpribble