{ "id": "176283", "key": "TIMOB-28534", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [], "resolution": { "id": "7", "description": "", "name": "Invalid" }, "resolutiondate": "2021-09-21T15:36:27.000+0000", "created": "2021-09-14T10:12:29.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [], "versions": [], "issuelinks": [], "assignee": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2021-09-21T15:36:27.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10202", "name": "Android", "description": "Android Platform" } ], "description": "We just noticed an error while starting up the Android Emulator that we never saw before:\r\n{code}\r\n[WARN] W/com.appc.myapp: Throwing OutOfMemoryError \"Failed to allocate a 16 byte allocation with 1653848 free bytes and 1615KB until OOM, target footprint 201326592, growth limit 201326592; giving up on allocation because <1% of heap free after GC.\" (VmSize 15919188 kB)\r\n[ERROR] TiExceptionHandler: (main) [34332,78554] Failed to allocate a 16 byte allocation with 1653848 free bytes and 1615KB until OOM, target footprint 201326592, growth limit 201326592; giving up on allocation because <1% of heap free after GC.\r\n[ERROR] TiExceptionHandler:\r\n[ERROR] TiExceptionHandler: sun.security.x509.X509CRLEntryImpl.parse(X509CRLEntryImpl.java:460)\r\n[ERROR] TiExceptionHandler: sun.security.x509.X509CRLEntryImpl.(X509CRLEntryImpl.java:133)\r\n[ERROR] TiExceptionHandler: sun.security.x509.X509CRLImpl.parse(X509CRLImpl.java:1161)\r\n[ERROR] TiExceptionHandler: sun.security.x509.X509CRLImpl.(X509CRLImpl.java:146)\r\n[ERROR] TiExceptionHandler: sun.security.provider.X509Factory.intern(X509Factory.java:206)\r\n[ERROR] TiExceptionHandler: sun.security.x509.X509CRLImpl.toImpl(X509CRLImpl.java:1235)\r\n[ERROR] TiExceptionHandler: sun.security.provider.certpath.AlgorithmChecker.check(AlgorithmChecker.java:396)\r\n[ERROR] TiExceptionHandler: sun.security.provider.certpath.DistributionPointFetcher.verifyCRL(DistributionPointFetcher.java:667)\r\n[ERROR] TiExceptionHandler: sun.security.provider.certpath.DistributionPointFetcher.getCRLs(DistributionPointFetcher.java:209)\r\n[ERROR] TiExceptionHandler: sun.security.provider.certpath.DistributionPointFetcher.getCRLs(DistributionPointFetcher.java:121)\r\n[ERROR] TiExceptionHandler: sun.security.provider.certpath.RevocationChecker.checkCRLs(RevocationChecker.java:552)\r\n[ERROR] TiExceptionHandler: sun.security.provider.certpath.RevocationChecker.checkCRLs(RevocationChecker.java:465)\r\n[ERROR] TiExceptionHandler: sun.security.provider.certpath.RevocationChecker.check(RevocationChecker.java:394)\r\n[ERROR] TiExceptionHandler: sun.security.provider.certpath.RevocationChecker.check(RevocationChecker.java:337)\r\n[ERROR] TiExceptionHandler: sun.security.provider.certpath.PKIXMasterCertPathValidator.validate(PKIXMasterCertPathValidator.java:125)\r\n[ERROR] TiExceptionHandler: sun.security.provider.certpath.PKIXCertPathValidator.validate(PKIXCertPathValidator.java:222)\r\n[ERROR] TiExceptionHandler: sun.security.provider.certpath.PKIXCertPathValidator.validate(PKIXCertPathValidator.java:140)\r\n[ERROR] TiExceptionHandler: sun.security.provider.certpath.PKIXCertPathValidator.engineValidate(PKIXCertPathValidator.java:79)\r\n[ERROR] TiExceptionHandler: java.security.cert.CertPathValidator.validate(CertPathValidator.java:301)\r\n[ERROR] TiExceptionHandler: com.android.org.conscrypt.TrustManagerImpl.verifyChain(TrustManagerImpl.java:715)\r\n[ERROR] TiExceptionHandler: com.android.org.conscrypt.TrustManagerImpl.checkTrustedRecursive(TrustManagerImpl.java:549)\r\n[ERROR] TiExceptionHandler: com.android.org.conscrypt.TrustManagerImpl.checkTrustedRecursive(TrustManagerImpl.java:570)\r\n[ERROR] TiExceptionHandler: com.android.org.conscrypt.TrustManagerImpl.checkTrustedRecursive(TrustManagerImpl.java:615)\r\n[ERROR] TiExceptionHandler: com.android.org.conscrypt.TrustManagerImpl.checkTrusted(TrustManagerImpl.java:505)\r\n[ERROR] TiExceptionHandler: com.android.org.conscrypt.TrustManagerImpl.checkTrusted(TrustManagerImpl.java:425)\r\n[ERROR] TiExceptionHandler: com.android.org.conscrypt.TrustManagerImpl.getTrustedChainForServer(TrustManagerImpl.java:353)\r\n[ERROR] TiExceptionHandler: android.security.net.config.NetworkSecurityTrustManager.checkServerTrusted(NetworkSecurityTrustManager.java:94)\r\n[ERROR] TiExceptionHandler: android.security.net.config.RootTrustManager.checkServerTrusted(RootTrustManager.java:90)\r\n[ERROR] TiExceptionHandler: com.android.org.conscrypt.ConscryptEngineSocket$2.checkServerTrusted(ConscryptEngineSocket.java:163)\r\n[ERROR] TiExceptionHandler: com.android.org.conscrypt.Platform.checkServerTrusted(Platform.java:255)\r\n[ERROR] TiExceptionHandler: com.android.org.conscrypt.ConscryptEngine.verifyCertificateChain(ConscryptEngine.java:1638)\r\n[ERROR] TiExceptionHandler: com.android.org.conscrypt.NativeCrypto.ENGINE_SSL_read_direct(Native Method)\r\n[ERROR] TiExceptionHandler: com.android.org.conscrypt.NativeSsl.readDirectByteBuffer(NativeSsl.java:569)\r\n[ERROR] TiExceptionHandler: com.android.org.conscrypt.ConscryptEngine.readPlaintextDataDirect(ConscryptEngine.java:1095)\r\n[ERROR] TiExceptionHandler: com.android.org.conscrypt.ConscryptEngine.readPlaintextData(ConscryptEngine.java:1079)\r\n[ERROR] TiExceptionHandler: com.android.org.conscrypt.ConscryptEngine.unwrap(ConscryptEngine.java:876)\r\n[ERROR] TiExceptionHandler: com.android.org.conscrypt.ConscryptEngine.unwrap(ConscryptEngine.java:747)\r\n[ERROR] TiExceptionHandler: com.android.org.conscrypt.ConscryptEngine.unwrap(ConscryptEngine.java:712)\r\n[ERROR] TiExceptionHandler: com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.processDataFromSocket(ConscryptEngineSocket.java:858)\r\n[ERROR] TiExceptionHandler: com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.access$100(ConscryptEngineSocket.java:731)\r\n[ERROR] TiExceptionHandler: com.android.org.conscrypt.ConscryptEngineSocket.doHandshake(ConscryptEngineSocket.java:241)\r\n[ERROR] TiExceptionHandler: com.android.org.conscrypt.ConscryptEngineSocket.startHandshake(ConscryptEngineSocket.java:220)\r\n[ERROR] TiExceptionHandler: okhttp3.internal.connection.RealConnection.connectTls(RealConnection.kt:379)\r\n[ERROR] TiExceptionHandler: okhttp3.internal.connection.RealConnection.establishProtocol(RealConnection.kt:337)\r\n[ERROR] TiExceptionHandler: okhttp3.internal.connection.RealConnection.connect(RealConnection.kt:209)\r\n[ERROR] TiExceptionHandler: okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.kt:226)\r\n[ERROR] TiExceptionHandler: okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.kt:106)\r\n[ERROR] TiExceptionHandler: okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.kt:74)\r\n[ERROR] TiExceptionHandler: okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:255)\r\n[ERROR] TiExceptionHandler: okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:32)\r\n[ERROR] TiExceptionHandler: okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)\r\n[ERROR] TiExceptionHandler: okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:95)\r\n[ERROR] TiExceptionHandler: okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)\r\n[ERROR] TiExceptionHandler: okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:83)\r\n[ERROR] TiExceptionHandler: okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)\r\n[ERROR] TiExceptionHandler: okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:76)\r\n[ERROR] TiExceptionHandler: okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)\r\n[ERROR] TiExceptionHandler: okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201)\r\n[ERROR] TiExceptionHandler: okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:517)\r\n[ERROR] TiExceptionHandler: java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)\r\n[ERROR] TiExceptionHandler: java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)\r\n[ERROR] TiExceptionHandler: java.lang.Thread.run(Thread.java:920)\r\n{code} \r\n\r\nI think it's related to the appcelerator.https module and I'm not sure if maybe one of our certs is actually causing issues, but it should definitely not throw this error, right?", "attachment": [], "flagged": false, "summary": "Android: OutOfMemoryError in appcelerator.https (?)", "creator": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "subtasks": [], "reporter": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "environment": null, "comment": { "comments": [ { "id": "459052", "author": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "body": "There's some interesting info here https://github.com/google/conscrypt/issues/520\r\n\r\nIt looks like the certificate is pointing to a huge CRL, which is being parsed and allocating a lot of memory to do so. It doesn't look like we can do anything about this, since the internal X509 implementation handles this parsing.", "updateAuthor": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2021-09-20T18:58:09.000+0000", "updated": "2021-09-20T18:58:09.000+0000" }, { "id": "459053", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "I think I found the issue: It's the arm64 Android 12 Eimulator on the M1 that's using a wrong date (3 days earlier than today), causing a \"certificate not valid, yet\" error. So I think we can close this - it's definitely no Titanium thing.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2021-09-20T19:02:21.000+0000", "updated": "2021-09-20T19:02:21.000+0000" } ], "maxResults": 2, "total": 2, "startAt": 0 } } }