Skip to content
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

java.lang.OutOfMemoryError: GC overhead limit exceeded during native symbols uploading #2057

Closed
alexzatsepin opened this issue Feb 27, 2020 · 2 comments

Comments

@alexzatsepin
Copy link

alexzatsepin commented Feb 27, 2020

Hi,

I get the OOM exception during the executing of Task :transformClassesAndDexWithShrinkResForBlablabla when I launched the ./gradlew crashlyticsUploadSymbolsBlablabla command. I noticed this couple months ago on the latest version of fabric plugin https://docs.fabric.io/android/changelog.html#october-15-2019 and didn't update it and stopped on the latest working version https://docs.fabric.io/android/changelog.html#december-6-2018

So, now we need to update gradle plugin to version 3.5x and fabric 1.27.0 doesn't work with it, i.e. during mentioned crashlytics upload symbols task we get another error "“Directory X specified for property ‘$2’ does not exist” which is fixed in 1.31.1, but OOM exception comes to play.

I've found the same question on stackoverflow https://stackoverflow.com/questions/57623793/crashlytics-generate-symbols-gradle-step-fails-gc-overhead-limit-exceeded, but there is no answer.

Please pay attention on this problem, because it blocks to use fabric plugin version higher 1.27.0: December 6, 2018 .

Task :transformClassesAndDexWithShrinkResForWebRelease
Removed unused resources: Binary resource data reduced from 19665KB to 19612KB: Removed 0%
Problem in daemon expiration check
java.lang.OutOfMemoryError: GC overhead limit exceeded
        at sun.nio.ch.FileLockTable.newSharedFileLockTable(FileLockTable.java:47)
        at sun.nio.ch.FileChannelImpl.fileLockTable(FileChannelImpl.java:1040)
        at sun.nio.ch.FileChannelImpl.tryLock(FileChannelImpl.java:1107)
        at org.gradle.cache.internal.filelock.LockStateAccess.tryLock(LockStateAccess.java:91)
        at org.gradle.cache.internal.filelock.LockFileAccess.tryLockState(LockFileAccess.java:85)
        at org.gradle.cache.internal.DefaultFileLockManager$DefaultFileLock$4.run(DefaultFileLockManager.java:350)
        at org.gradle.cache.internal.DefaultFileLockManager$DefaultFileLock$4.run(DefaultFileLockManager.java:344)
        at org.gradle.cache.internal.DefaultFileLockManager$ExponentialBackoff.retryUntil(DefaultFileLockManager.java:412)
        at org.gradle.cache.internal.DefaultFileLockManager$DefaultFileLock.lockStateRegion(DefaultFileLockManager.java:344)
        at org.gradle.cache.internal.DefaultFileLockManager$DefaultFileLock.lock(DefaultFileLockManager.java:288)
        at org.gradle.cache.internal.DefaultFileLockManager$DefaultFileLock.<init>(DefaultFileLockManager.java:161)
        at org.gradle.cache.internal.DefaultFileLockManager.lock(DefaultFileLockManager.java:107)
        at org.gradle.cache.internal.DefaultFileLockManager.lock(DefaultFileLockManager.java:94)
        at org.gradle.cache.internal.DefaultFileLockManager.lock(DefaultFileLockManager.java:90)
        at org.gradle.cache.internal.OnDemandFileAccess.readFile(OnDemandFileAccess.java:40)
        at org.gradle.cache.internal.SimpleStateCache.get(SimpleStateCache.java:48)
        at org.gradle.cache.internal.FileIntegrityViolationSuppressingPersistentStateCacheDecorator.get(FileIntegrityViolationSuppressingPersistentStateCacheDecorator.java:33)
        at org.gradle.launcher.daemon.registry.PersistentDaemonRegistry.getAll(PersistentDaemonRegistry.java:69)
        at org.gradle.launcher.daemon.registry.PersistentDaemonRegistry.getDaemonsMatching(PersistentDaemonRegistry.java:111)
        at org.gradle.launcher.daemon.registry.PersistentDaemonRegistry.getIdle(PersistentDaemonRegistry.java:81)
        at org.gradle.launcher.daemon.server.CompatibleDaemonExpirationStrategy.checkExpiration(CompatibleDaemonExpirationStrategy.java:54)
        at org.gradle.launcher.daemon.server.expiry.AllDaemonExpirationStrategy.checkExpiration(AllDaemonExpirationStrategy.java:45)
        at org.gradle.launcher.daemon.server.expiry.AnyDaemonExpirationStrategy.checkExpiration(AnyDaemonExpirationStrategy.java:43)
        at org.gradle.launcher.daemon.server.MasterExpirationStrategy.checkExpiration(MasterExpirationStrategy.java:73)
        at org.gradle.launcher.daemon.server.Daemon$DaemonExpirationPeriodicCheck.run(Daemon.java:269)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
        at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

> Task :crashlyticsGenerateSymbolsWebRelease FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':crashlyticsGenerateSymbolsWebRelease'.
> GC overhead limit exceeded

If you know any suggestions how to fix this issue locally or workaround for it let me know please!

@ploxiln
Copy link

ploxiln commented Feb 28, 2020

This is not https://get.fabric.io - this is https://www.fabfile.org - you have the wrong fabric.

EDIT: fixed .com -> .org

@alexzatsepin
Copy link
Author

@ploxiln thank you) I'm sorry. Closed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants