<AWT Dev> debugging a regression
Phil Race
philip.race at oracle.com
Wed Jul 1 15:27:21 UTC 2015
BTW I meant to send email on this but yesterday whilst doing
manual testing of the final PIT builds on 64 bit Linux I still saw one
CPU core
max out on the HTMLEditor test in SwingSet2.
I think it was GTK L&F but I do not remember for sure ..
I suspect it is actually all of them.
I did not see the same on OS X (for example).
Yuri ??
-phil.
On 7/1/15 7:17 AM, Pete Brunet wrote:
> That fixed it. Thanks Semyon.
>
> On 7/1/15 8:25 AM, Pete Brunet wrote:
>> Thanks Semyon! I'll give it a try. -Pete
>>
>> On 7/1/15 2:29 AM, Semyon Sadetsky wrote:
>>> Hi Pete,
>>>
>>> I heard that you got performance issue in b68 connected to text
>>> components.
>>> It can be caused by https://bugs.openjdk.java.net/browse/JDK-8098835.
>>>
>>> The next patch can help:
>>>
>>> ---
>>> old/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTextUI.java
>>> 2015-06-16 20:20:42.678311800 +0300
>>> +++
>>> new/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTextUI.java
>>> 2015-06-16 20:20:42.136257600 +0300
>>> @@ -971,7 +971,7 @@
>>> ((AbstractDocument)doc).readLock();
>>> }
>>> try {
>>> - d.width = (int) rootView.getMinimumSpan(View.X_AXIS) +
>>> i.left + i.right;
>>> + d.width = (int) rootView.getMinimumSpan(View.X_AXIS) +
>>> i.left + i.right + caretMargin;
>>> d.height = (int) rootView.getMinimumSpan(View.Y_AXIS) +
>>> i.top + i.bottom;
>>> } finally {
>>> if (doc instanceof AbstractDocument) {
>>> @@ -996,7 +996,7 @@
>>> }
>>> try {
>>> d.width = (int) Math.min((long)
>>> rootView.getMaximumSpan(View.X_AXIS) +
>>> - (long) i.left + (long) i.right,
>>> Integer.MAX_VALUE);
>>> + (long) i.left + (long) i.right +
>>> caretMargin, Integer.MAX_VALUE);
>>> d.height = (int) Math.min((long)
>>> rootView.getMaximumSpan(View.Y_AXIS) +
>>> (long) i.top + (long) i.bottom,
>>> Integer.MAX_VALUE);
>>> } finally {
>>> @@ -1027,7 +1027,7 @@
>>> Insets insets = editor.getInsets();
>>> alloc.x += insets.left;
>>> alloc.y += insets.top;
>>> - alloc.width -= insets.left + insets.right;
>>> + alloc.width -= insets.left + insets.right + caretMargin;
>>> alloc.height -= insets.top + insets.bottom;
>>> return alloc;
>>> }
>>>
>>> --Semyon
>>>
>>>
>>> On 6/29/2015 10:13 AM, Vadim Pakhnushev wrote:
>>>> I think './common/bin/hgforest bisect ...' should do the trick then.
>>>>
>>>> On 29.06.2015 7:30, Phil Race wrote:
>>>>> Just be aware that you will need to apply the same to each repo in
>>>>> the JDK forest.
>>>>> Else it will very likely not build. Eg the jdk repo must be in sync
>>>>> with the top-level repo.
>>>>>
>>>>> -phil.
>>>>>
>>>>> On 6/28/15 5:59 PM, Pete Brunet wrote:
>>>>>> Thanks Vadim, I'll give it a try. -Pete
>>>>>>
>>>>>> On 6/28/15 3:24 PM, Vadim Pakhnushev wrote:
>>>>>>> Pete,
>>>>>>>
>>>>>>> Actually you should use hg bisect command to do this.
>>>>>>> First, you mark 2 revisions you now as bad and good, like this:
>>>>>>> hg bisect --good jdk9-b67
>>>>>>> hg bisect --bad tip
>>>>>>> The last command will bisect the list of changesets and update the
>>>>>>> repo to some changeset in between.
>>>>>>> Then you build the repo, test it and mark it as either bad or good:
>>>>>>> hg bisect --bad
>>>>>>> This will advance the current changeset and you test it again until
>>>>>>> you arrive at the 'first bad' changeset.
>>>>>>> See here for reference: https://www.selenic.com/hg/help/bisect
>>>>>>>
>>>>>>> Hope this helps,
>>>>>>> Vadim
>>>>>>>
>>>>>>> On 28.06.2015 18:15, Pete Brunet wrote:
>>>>>>>> Looks like I can use hg update to accomplish this, i.e. hg update
>>>>>>>> to the
>>>>>>>> rev that is b67 and then hg update to each possibly offending rev
>>>>>>>> of the
>>>>>>>> jdk repo. Sound right?
>>>>>>>>
>>>>>>>> On 6/26/15 4:13 PM, Pete Brunet wrote:
>>>>>>>>> Hi, I found a problem on b68 and there are a half dozen possible
>>>>>>>>> changesets that could be responsible. What is the best way to
>>>>>>>>> do the
>>>>>>>>> process of elimination. It seems like the right approach would
>>>>>>>>> be to
>>>>>>>>> start with b67 and then add changesets one at a time until the
>>>>>>>>> problem
>>>>>>>>> surfaces. Is that right or is there a better way?
>>>>>>>>>
>>>>>>>>> Starting with a fresh current clone what are the steps to strip
>>>>>>>>> back to
>>>>>>>>> b67 and then to add changesets?
>>>>>>>>>
>>>>>>>>> This will be in the jdk branch of the forest.
>>>>>>>>>
>>>>>>>>> Thanks, Pete
More information about the awt-dev
mailing list