<feed xmlns='http://www.w3.org/2005/Atom'>
<title>android_dalvik/libcore, branch eclair</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/LineageOS/android_dalvik/'/>
<entry>
<title>Merge branch 'master' of git://android.git.kernel.org/platform/dalvik into HEAD</title>
<updated>2010-03-30T19:44:16+00:00</updated>
<author>
<name>Steve Kondik</name>
<email>shade@chemlab.org</email>
</author>
<published>2010-03-30T19:44:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/LineageOS/android_dalvik/commit/?id=dd3802f756bf30bf61bb653a1c9960b2fd1169d3'/>
<id>dd3802f756bf30bf61bb653a1c9960b2fd1169d3</id>
<content type='text'>
Conflicts:
	libcore/regex/src/main/java/java/util/regex/Pattern.java
	vm/oo/Class.c
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Conflicts:
	libcore/regex/src/main/java/java/util/regex/Pattern.java
	vm/oo/Class.c
</pre>
</div>
</content>
</entry>
<entry>
<title>am 275acdff: Copy Froyo\'s version of MulticastSocketTest to Eclair for CTS.</title>
<updated>2010-03-03T21:12:27+00:00</updated>
<author>
<name>Elliott Hughes</name>
<email>enh@google.com</email>
</author>
<published>2010-03-03T21:12:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/LineageOS/android_dalvik/commit/?id=b16b78db118036d7df2cf5705baa18f34bd42eec'/>
<id>b16b78db118036d7df2cf5705baa18f34bd42eec</id>
<content type='text'>
Merge commit '275acdff64a58f407cec552e7027cb07414b48ef' into eclair-plus-aosp

* commit '275acdff64a58f407cec552e7027cb07414b48ef':
  Copy Froyo's version of MulticastSocketTest to Eclair for CTS.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Merge commit '275acdff64a58f407cec552e7027cb07414b48ef' into eclair-plus-aosp

* commit '275acdff64a58f407cec552e7027cb07414b48ef':
  Copy Froyo's version of MulticastSocketTest to Eclair for CTS.
</pre>
</div>
</content>
</entry>
<entry>
<title>Copy Froyo's version of MulticastSocketTest to Eclair for CTS.</title>
<updated>2010-03-03T07:58:39+00:00</updated>
<author>
<name>Elliott Hughes</name>
<email>enh@google.com</email>
</author>
<published>2010-03-03T07:58:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/LineageOS/android_dalvik/commit/?id=275acdff64a58f407cec552e7027cb07414b48ef'/>
<id>275acdff64a58f407cec552e7027cb07414b48ef</id>
<content type='text'>
Partners are seeing test failures from the old tests, which were very bogus.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Partners are seeing test failures from the old tests, which were very bogus.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'eclair-release' of git://android.git.kernel.org/platform/dalvik into eclair</title>
<updated>2010-02-10T20:12:59+00:00</updated>
<author>
<name>Steve Kondik</name>
<email>shade@chemlab.org</email>
</author>
<published>2010-02-10T20:12:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/LineageOS/android_dalvik/commit/?id=cb5a88025a4b24ee05ee140b609c758dca64707a'/>
<id>cb5a88025a4b24ee05ee140b609c758dca64707a</id>
<content type='text'>
Conflicts:
	libcore/regex/src/main/java/java/util/regex/Pattern.java
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Conflicts:
	libcore/regex/src/main/java/java/util/regex/Pattern.java
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix memory leaks in the Open SSL Java JNI implementation</title>
<updated>2010-01-28T20:29:14+00:00</updated>
<author>
<name>Johan Redestig</name>
<email>johan.redestig@sonyericsson.com</email>
</author>
<published>2010-01-28T11:29:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/LineageOS/android_dalvik/commit/?id=423f80d8c36d0d7f8f343b86adea048e8bb88454'/>
<id>423f80d8c36d0d7f8f343b86adea048e8bb88454</id>
<content type='text'>
It was found during long runs of stability tests of our
messaging applications that something in the platform was
leaking global references. The leaks were tracked down to
the Open SSL implementation in the Apache Harmony library
that currently resides under Dalvik.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It was found during long runs of stability tests of our
messaging applications that something in the platform was
leaking global references. The leaks were tracked down to
the Open SSL implementation in the Apache Harmony library
that currently resides under Dalvik.
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove lock from OpenSSLSessionImpl finalizer to fix a deadlock</title>
<updated>2010-01-28T20:29:07+00:00</updated>
<author>
<name>Johan Redestig</name>
<email>johan.redestig@sonyericsson.com</email>
</author>
<published>2010-01-28T09:36:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/LineageOS/android_dalvik/commit/?id=c5276f8c019c4b330d243a085796f4e9177dd014'/>
<id>c5276f8c019c4b330d243a085796f4e9177dd014</id>
<content type='text'>
In commit f68a91f63595904de706fe068c8c5f336d61dc85 code that “touches native SSL Sessions” in OpenSSLSocketImpl.java were
made synchronized by locking the OpenSSLSocketImpl class. Unfortunately, the same lock was used for instance counting, which
lead to situations where the native calls could end up blocking the garbage collector. That was fixed in commit
f681a0fc7db58aeead2d6970a717d8a466c1b516.
But it looks like we have run into a similar situation as in the latter case above, again. In the former commit, above, a
synchronization block was added to OpenSSLSessionImpl#finalize as well. So, what we see now is a crash where the garbage
collector is blocked from finalizing an OpenSSLSessionImpl object because of a native call in OpenSSLSocketImpl. Please see
the crash stack below.
The solution we see is to remove the unnecessary synchronized block in OpenSSLSessionImpl#finalize.
Removing the synchronization block is safe as in the cases where the OpenSSLSocketImpl needs to touch the sessionId it holds
a reference to a living OpenSSLSessionImpl object. The OpenSSLSessionImpl object cannot be collected as it lives and
therefore the synchronization on the OpenSSLSessionImpl.class is not needed.

01-14 03:40:37.288 I/dalvikvm(16601): "Thread-9" prio=5 tid=17 NATIVE
01-14 03:40:37.288 I/dalvikvm(16601):   | group="main" sCount=1 dsCount=0 s=N obj=0x2e5b5f00 self=0x178438
01-14 03:40:37.288 I/dalvikvm(16601):   | sysTid=16608 nice=10 sched=0/0 handle=1541464
01-14 03:40:37.288 I/dalvikvm(16601):   at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.nativeconnect(Native
Method)
01-14 03:40:37.288 I/dalvikvm(16601):   at
org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:305)
01-14 03:40:37.288 I/dalvikvm(16601):   at
org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl$SSLInputStream.&lt;init&gt;(OpenSSLSocketImpl.java:502)
01-14 03:40:37.288 I/dalvikvm(16601):   at
org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.getInputStream(OpenSSLSocketImpl.java:443)
01-14 03:40:37.298 I/dalvikvm(16601):   at com.android.email.mail.transport.MailTransport.open(MailTransport.java:161)
01-14 03:40:37.298 I/dalvikvm(16601):   at com.android.email.mail.transport.SmtpSender.open(SmtpSender.java:128)
01-14 03:40:37.298 I/dalvikvm(16601):   at com.android.email.mail.transport.SmtpSender.sendMessage(SmtpSender.java:207)
01-14 03:40:37.298 I/dalvikvm(16601):   at
com.android.email.MessagingController.sendPendingMessagesSynchronous(MessagingController.java:1751)

...

01-14 03:40:37.298 I/dalvikvm(16601): "HeapWorker" daemon prio=5 tid=5 MONITOR
01-14 03:40:37.298 I/dalvikvm(16601):   | group="system" sCount=1 dsCount=0 s=N obj=0x2d7e8e60 self=0x155268
01-14 03:40:37.298 I/dalvikvm(16601):   | sysTid=16602 nice=0 sched=0/0 handle=1132792
01-14 03:40:37.298 I/dalvikvm(16601):   at
org.apache.harmony.xnet.provider.jsse.OpenSSLSessionImpl.finalize(OpenSSLSessionImpl.java:-1)
01-14 03:40:37.298 I/dalvikvm(16601):   at dalvik.system.NativeStart.run(Native Method)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In commit f68a91f63595904de706fe068c8c5f336d61dc85 code that “touches native SSL Sessions” in OpenSSLSocketImpl.java were
made synchronized by locking the OpenSSLSocketImpl class. Unfortunately, the same lock was used for instance counting, which
lead to situations where the native calls could end up blocking the garbage collector. That was fixed in commit
f681a0fc7db58aeead2d6970a717d8a466c1b516.
But it looks like we have run into a similar situation as in the latter case above, again. In the former commit, above, a
synchronization block was added to OpenSSLSessionImpl#finalize as well. So, what we see now is a crash where the garbage
collector is blocked from finalizing an OpenSSLSessionImpl object because of a native call in OpenSSLSocketImpl. Please see
the crash stack below.
The solution we see is to remove the unnecessary synchronized block in OpenSSLSessionImpl#finalize.
Removing the synchronization block is safe as in the cases where the OpenSSLSocketImpl needs to touch the sessionId it holds
a reference to a living OpenSSLSessionImpl object. The OpenSSLSessionImpl object cannot be collected as it lives and
therefore the synchronization on the OpenSSLSessionImpl.class is not needed.

01-14 03:40:37.288 I/dalvikvm(16601): "Thread-9" prio=5 tid=17 NATIVE
01-14 03:40:37.288 I/dalvikvm(16601):   | group="main" sCount=1 dsCount=0 s=N obj=0x2e5b5f00 self=0x178438
01-14 03:40:37.288 I/dalvikvm(16601):   | sysTid=16608 nice=10 sched=0/0 handle=1541464
01-14 03:40:37.288 I/dalvikvm(16601):   at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.nativeconnect(Native
Method)
01-14 03:40:37.288 I/dalvikvm(16601):   at
org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:305)
01-14 03:40:37.288 I/dalvikvm(16601):   at
org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl$SSLInputStream.&lt;init&gt;(OpenSSLSocketImpl.java:502)
01-14 03:40:37.288 I/dalvikvm(16601):   at
org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl.getInputStream(OpenSSLSocketImpl.java:443)
01-14 03:40:37.298 I/dalvikvm(16601):   at com.android.email.mail.transport.MailTransport.open(MailTransport.java:161)
01-14 03:40:37.298 I/dalvikvm(16601):   at com.android.email.mail.transport.SmtpSender.open(SmtpSender.java:128)
01-14 03:40:37.298 I/dalvikvm(16601):   at com.android.email.mail.transport.SmtpSender.sendMessage(SmtpSender.java:207)
01-14 03:40:37.298 I/dalvikvm(16601):   at
com.android.email.MessagingController.sendPendingMessagesSynchronous(MessagingController.java:1751)

...

01-14 03:40:37.298 I/dalvikvm(16601): "HeapWorker" daemon prio=5 tid=5 MONITOR
01-14 03:40:37.298 I/dalvikvm(16601):   | group="system" sCount=1 dsCount=0 s=N obj=0x2d7e8e60 self=0x155268
01-14 03:40:37.298 I/dalvikvm(16601):   | sysTid=16602 nice=0 sched=0/0 handle=1132792
01-14 03:40:37.298 I/dalvikvm(16601):   at
org.apache.harmony.xnet.provider.jsse.OpenSSLSessionImpl.finalize(OpenSSLSessionImpl.java:-1)
01-14 03:40:37.298 I/dalvikvm(16601):   at dalvik.system.NativeStart.run(Native Method)
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'master' of git://android.git.kernel.org/platform/dalvik into HEAD</title>
<updated>2010-01-22T23:02:53+00:00</updated>
<author>
<name>Steve Kondik</name>
<email>shade@chemlab.org</email>
</author>
<published>2010-01-22T23:02:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/LineageOS/android_dalvik/commit/?id=433348e823f9e3d4b3252dd928b7ff8fab75e4da'/>
<id>433348e823f9e3d4b3252dd928b7ff8fab75e4da</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>am 0e9d568e: Merge "Mark libcore cert tests using expired certs as known failures." into eclair</title>
<updated>2010-01-22T00:10:26+00:00</updated>
<author>
<name>Brett Chabot</name>
<email>brettchabot@android.com</email>
</author>
<published>2010-01-22T00:10:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/LineageOS/android_dalvik/commit/?id=ffea5cebcb45bb58d61b903f4e04c45f48442c86'/>
<id>ffea5cebcb45bb58d61b903f4e04c45f48442c86</id>
<content type='text'>
Merge commit '0e9d568ec6b946e77bc0ec1903acac1ef916e6d1' into eclair-plus-aosp

* commit '0e9d568ec6b946e77bc0ec1903acac1ef916e6d1':
  Mark libcore cert tests using expired certs as known failures.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Merge commit '0e9d568ec6b946e77bc0ec1903acac1ef916e6d1' into eclair-plus-aosp

* commit '0e9d568ec6b946e77bc0ec1903acac1ef916e6d1':
  Mark libcore cert tests using expired certs as known failures.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge "Mark libcore cert tests using expired certs as known failures." into eclair</title>
<updated>2010-01-22T00:06:15+00:00</updated>
<author>
<name>Brett Chabot</name>
<email>brettchabot@android.com</email>
</author>
<published>2010-01-22T00:06:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/LineageOS/android_dalvik/commit/?id=0e9d568ec6b946e77bc0ec1903acac1ef916e6d1'/>
<id>0e9d568ec6b946e77bc0ec1903acac1ef916e6d1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Mark libcore cert tests using expired certs as known failures.</title>
<updated>2010-01-21T23:01:34+00:00</updated>
<author>
<name>Brett Chabot</name>
<email>brettchabot@android.com</email>
</author>
<published>2010-01-21T23:01:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/LineageOS/android_dalvik/commit/?id=bd77fdbea4876abfb3fad77642abfff6d1ba30d0'/>
<id>bd77fdbea4876abfb3fad77642abfff6d1ba30d0</id>
<content type='text'>
Bug 2322662

Change-Id: If35a5a75f664535bd4eb97cf11a6afe5b0e5b4a9
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Bug 2322662

Change-Id: If35a5a75f664535bd4eb97cf11a6afe5b0e5b4a9
</pre>
</div>
</content>
</entry>
</feed>
