Forum / MIFARE SDK / Potential memory leak in Mifare Lite SDK v 4.4.1610
Tagged: leak android
-
Hi there,
Using the app with leak canary several times, after closing the activity the library is registered, got a warn about a memory leak within your library.
Attached you'll find the screenshot of leak canary trace.
Please let me know if I can give more information.
cheers
04-02 20:03:48.538 13057-9063/package D/LeakCanary: * Device: samsung samsung SM-N915F tbltexx
04-02 20:03:48.538 13057-9063/package D/LeakCanary: * Android Version: 5.1.1 API: 22 LeakCanary: 1.3.1
04-02 20:03:48.538 13057-9063/package D/LeakCanary: * Durations: watch=5012ms, gc=200ms, heap dump=3737ms, analysis=54276ms
04-02 20:03:48.538 13057-9063/package D/LeakCanary: * Details:
04-02 20:03:48.538 13057-9063/package D/LeakCanary: * Class com.android.okhttp.ConfigAwareConnectionPool
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | static $staticOverhead = byte[] [id=0x71bc10c9;length=32;size=48]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | static CONNECTION_POOL_DEFAULT_KEEP_ALIVE_DURATION_MS = 300000
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | static CONNECTION_POOL_KEEP_ALIVE_DURATION_MS = 300000
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | static CONNECTION_POOL_MAX_IDLE_CONNECTIONS = 5
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | static instance = com.android.okhttp.ConfigAwareConnectionPool [id=0x87706ec8]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: * Instance of com.android.okhttp.ConfigAwareConnectionPool
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | static $staticOverhead = byte[] [id=0x71bc10c9;length=32;size=48]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | static CONNECTION_POOL_DEFAULT_KEEP_ALIVE_DURATION_MS = 300000
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | static CONNECTION_POOL_KEEP_ALIVE_DURATION_MS = 300000
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | static CONNECTION_POOL_MAX_IDLE_CONNECTIONS = 5
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | static instance = com.android.okhttp.ConfigAwareConnectionPool [id=0x87706ec8]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | connectionPool = com.android.okhttp.ConnectionPool [id=0x12eef670]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | networkEventListenerRegistered = true
04-02 20:03:48.538 13057-9063/package D/LeakCanary: * Instance of com.android.okhttp.ConnectionPool
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | static $staticOverhead = byte[] [id=0x71bc15e1;length=24;size=40]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | static DEFAULT_KEEP_ALIVE_DURATION_MS = 300000
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | static MAX_CONNECTIONS_TO_CLEANUP = 2
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | static systemDefault = com.android.okhttp.ConnectionPool [id=0x87706f20]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | cleanMode = com.android.okhttp.ConnectionPool$CleanMode [id=0x87706f10]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | connections = java.util.LinkedList [id=0x12f01680]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | connectionsCleanupRunnable = com.android.okhttp.ConnectionPool$2 [id=0x12e4cd10]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | drainModeRunnable = com.android.okhttp.ConnectionPool$1 [id=0x12e4cd00]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | executorService = java.util.concurrent.ThreadPoolExecutor [id=0x12e76a10]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | keepAliveDurationNs = 300000000000
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | maxIdleConnections = 5
04-02 20:03:48.538 13057-9063/package D/LeakCanary: * Instance of java.util.LinkedList
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | static $staticOverhead = byte[] [id=0x71704bf9;length=8;size=24]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | static serialVersionUID = 876323262645176354
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | size = 2
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | voidLink = java.util.LinkedList$Link [id=0x12f016a0]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | modCount = 12
04-02 20:03:48.538 13057-9063/package D/LeakCanary: * Instance of java.util.LinkedList$Link
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | data = null
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | next = java.util.LinkedList$Link [id=0x135217a0]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | previous = java.util.LinkedList$Link [id=0x1368fba0]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: * Instance of java.util.LinkedList$Link
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | data = com.android.okhttp.Connection [id=0x13553580]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | next = java.util.LinkedList$Link [id=0x12f016a0]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | previous = java.util.LinkedList$Link [id=0x135217a0]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: * Instance of com.android.okhttp.Connection
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | static $staticOverhead = byte[] [id=0x71757801;length=24;size=40]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | static INF_NUMBER = 2
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | static INVALID_FD = -1
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | static SOCK_CONN_TIME_OUT = 10000
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | bTagUidSet = false
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | connTimeout = 0
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | connected = true
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | destPorts = int[] [id=0x13684d80;length=2;size=24]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | handshake = com.android.okhttp.Handshake [id=0x1368af60]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | httpConnection = com.android.okhttp.internal.http.HttpConnection [id=0x13627190]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | httpMinorVersion = 1
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | idleStartTimeNs = 34957056648786
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | isSSL = false
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | logger = com.android.okhttp.internal.http.MultiratLog [id=0x136792a0]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | mDestIPver = 0
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | mProxy = java.net.Proxy[] [id=0x13684d60;length=2]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | mTag = 0
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | mUid = 0
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | mainTimeout = 0
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | multiSockDestAddr = java.net.InetAddress[] [id=0x13684ce0;length=2]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | multiSocket = java.net.Socket[] [id=0x13684d00;length=2]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | multiSocketStream = null
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | owner = null
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | pool = com.android.okhttp.ConnectionPool [id=0x12eef670]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | recycleCount = 1
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | route = com.android.okhttp.Route [id=0x13684cc0]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | socket = com.android.org.conscrypt.OpenSSLSocketImplWrapper [id=0x13553610]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | spdyConnection = null
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | ssl_oriReq = null
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | ssl_redirect = null
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | startExtremSocketCreation = 0
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | startSampleSocketCreation = 0
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | startSocketCreation = 0
04-02 20:03:48.538 13057-9063/package D/LeakCanary: * Instance of com.android.org.conscrypt.OpenSSLSocketImplWrapper
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | socket = java.net.Socket [id=0x1361bfd0]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | autoClose = true
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | channelIdPrivateKey = null
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | guard = dalvik.system.CloseGuard [id=0x7169eb18]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | handshakeSession = null
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | handshakeTimeoutMilliseconds = -1
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | is = com.android.org.conscrypt.OpenSSLSocketImpl$SSLInputStream [id=0x1364f430]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | listeners = null
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | os = com.android.org.conscrypt.OpenSSLSocketImpl$SSLOutputStream [id=0x1364f4a0]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | peerHostname = java.lang.String [id=0x13677a20]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | peerPort = 443
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | readTimeoutMilliseconds = 0
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | resolvedHostname = null
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | socket = java.net.Socket [id=0x1361bfd0]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | sslNativePointer = -1371282432
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | sslParameters = com.android.org.conscrypt.SSLParametersImpl [id=0x13719330]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | sslSession = com.android.org.conscrypt.OpenSSLSessionImpl [id=0x13719420]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | state = 4
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | stateLock = java.lang.Object [id=0x1364f2c0]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | strictX509Check = 0
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | writeTimeoutMilliseconds = 0
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | connectLock = java.lang.Object [id=0x1364f260]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | impl = java.net.PlainSocketImpl [id=0x136212e0]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | isBound = false
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | isClosed = false
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | isConnected = false
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | isCreated = false
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | isInputShutdown = false
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | isOutputShutdown = false
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | localAddress = java.net.Inet4Address [id=0x87704bf8]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | proxy = null
04-02 20:03:48.538 13057-9063/package D/LeakCanary: * Instance of com.android.org.conscrypt.SSLParametersImpl
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | static $staticOverhead = byte[] [id=0x71b66849;length=88;size=104]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | static KEY_TYPE_DH_DSA = java.lang.String [id=0x7047cbc0]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | static KEY_TYPE_DH_RSA = java.lang.String [id=0x7047cbd8]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | static KEY_TYPE_DSA = java.lang.String [id=0x703e25d0]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | static KEY_TYPE_EC = java.lang.String [id=0x703db9e8]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | static KEY_TYPE_EC_EC = java.lang.String [id=0x703f1a98]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | static KEY_TYPE_EC_RSA = java.lang.String [id=0x7047e600]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | static KEY_TYPE_RSA = java.lang.String [id=0x703e34b8]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | static defaultParameters = com.android.org.conscrypt.SSLParametersImpl [id=0x12e76970]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | static defaultSecureRandom = null
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | static defaultX509KeyManager = com.android.org.conscrypt.KeyManagerImpl [id=0x12e4cad0]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | static defaultX509TrustManager = com.android.org.conscrypt.TrustManagerImpl [id=0x12eef520]
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | alpnProtocols = null
04-02 20:03:48.538 13057-9063/package D/LeakCanary: | channelIdEnabled = false
04-02 20:03:48.548 13057-9063/package D/LeakCanary: | clientSessionContext = com.android.org.conscrypt.ClientSessionContext [id=0x132ff790]
04-02 20:03:48.548 13057-9063/package D/LeakCanary: | client_mode = true
04-02 20:03:48.548 13057-9063/package D/LeakCanary: | enable_session_creation = true
04-02 20:03:48.548 13057-9063/package D/LeakCanary: | enabledCipherSuites = java.lang.String[] [id=0x12ebcdd0;length=22]
04-02 20:03:48.548 13057-9063/package D/LeakCanary: | enabledProtocols = java.lang.String[] [id=0x8798b0d8;length=4]
04-02 20:03:48.548 13057-9063/package D/LeakCanary: | endpointIdentificationAlgorithm = null
04-02 20:03:48.548 13057-9063/package D/LeakCanary: | need_client_auth = false
04-02 20:03:48.548 13057-9063/package D/LeakCanary: | npnProtocols = null
04-02 20:03:48.548 13057-9063/package D/LeakCanary: | pskKeyManager = null
04-02 20:03:48.548 13057-9063/package D/LeakCanary: | secureRandom = java.security.SecureRandom [id=0x132ffa30]
04-02 20:03:48.548 13057-9063/package D/LeakCanary: | serverSessionContext = com.android.org.conscrypt.ServerSessionContext [id=0x1332cae0]
04-02 20:03:48.548 13057-9063/package D/LeakCanary: | useSessionTickets = true
04-02 20:03:48.548 13057-9063/package D/LeakCanary: | useSni = java.lang.Boolean [id=0x7169ddc0]
04-02 20:03:48.548 13057-9063/package D/LeakCanary: | want_client_auth = false
04-02 20:03:48.548 13057-9063/package D/LeakCanary: | x509KeyManager = com.android.org.conscrypt.KeyManagerImpl [id=0x12e4cad0]
04-02 20:03:48.548 13057-9063/package D/LeakCanary: | x509TrustManager = com.nxp.nfclib.ˊ$1 [id=0x13068c90]
04-02 20:03:48.548 13057-9063/package D/LeakCanary: * Instance of com.nxp.nfclib.ˊ$1
04-02 20:03:48.548 13057-9063/package D/LeakCanary: | ˊ = com.nxp.nfclib.ˊ [id=0x1332c320]
04-02 20:03:48.548 13057-9063/package D/LeakCanary: * Instance of com.nxp.nfclib.ˊ
04-02 20:03:48.548 13057-9063/package D/LeakCanary: | static $staticOverhead = byte[] [id=0x12d83a41;length=72;size=88]
04-02 20:03:48.548 13057-9063/package D/LeakCanary: | static ʻ = false
04-02 20:03:48.548 13057-9063/package D/LeakCanary: | static ʿ = android.app.SharedPreferencesImpl [id=0x12db16c0]
04-02 20:03:48.548 13057-9063/package D/LeakCanary: | static ˈ = byte[] [id=0x12f51800;length=643;size=656]
04-02 20:03:48.548 13057-9063/package D/LeakCanary: | static ˉ = 197
04-02 20:03:48.548 13057-9063/package D/LeakCanary: | static ˋ = java.lang.String [id=0x12c9b260]
04-02 20:03:48.548 13057-9063/package D/LeakCanary: | static ˎ = java.lang.String [id=0x12c9b280]
04-02 20:03:48.548 13057-9063/package D/LeakCanary: | static ͺ = byte[] [id=0x12c9b2a0;length=16;size=32]
04-02 20:03:48.548 13057-9063/package D/LeakCanary: | static ᐝ = null
04-02 20:03:48.548 13057-9063/package D/LeakCanary: | static ι = byte[] [id=0x13176ea0;length=16;size=32]
04-02 20:03:48.548 13057-9063/package D/LeakCanary: | ʼ = package.presentation.android.ui.navigation.stationgroup.NavigationStationGroupActivity [id=0x13292a80]
04-02 20:03:48.548 13057-9063/package D/LeakCanary: | ʽ = java.lang.String [id=0x70331630]
04-02 20:03:48.548 13057-9063/package D/LeakCanary: | ʾ = com.nxp.nfclib.os.java.AESCryptoGram [id=0x13068ab0]
04-02 20:03:48.548 13057-9063/package D/LeakCanary: | ˊ = false
04-02 20:03:48.548 13057-9063/package D/LeakCanary: | ˏ = null
+ 0 | - 0
Hi Arturo,
Thank you very much for your investigation. I will inform the development team about your result.
Kind regards,
The MIFARE Team
+ 0 | - 0
-
AuthorPosts
Viewing 2 posts - 1 through 2 (of 2 total)
You must be logged in to reply to this topic.