<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>54380</bug_id>
          
          <creation_ts>2011-02-14 02:01:34 -0800</creation_ts>
          <short_desc>[Qt]tst_QWebPage::modified() asserts</short_desc>
          <delta_ts>2011-03-14 16:01:12 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WORKSFORME</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt, QtTriaged</keywords>
          <priority>P1</priority>
          <bug_severity>Critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Csaba Osztrogonác">ossy</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>aparna.nand</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>eric</cc>
    
    <cc>japhet</cc>
    
    <cc>kling</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>350563</commentid>
    <comment_count>0</comment_count>
      <attachid>82298</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-02-14 02:01:34 -0800</bug_when>
    <thetext>Created attachment 82298
GDB backtrace in debug mode (r78457)

ASSERTION FAILED: !m_enqueueEvents
../../../Source/WebCore/page/FrameView.cpp(184) : virtual WebCore::FrameView::~FrameView()

GDB backtrace: &lt;attached&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>352140</commentid>
    <comment_count>1</comment_count>
    <who name="Aparna Nandyal">aparna.nand</who>
    <bug_when>2011-02-16 09:40:46 -0800</bug_when>
    <thetext>Analysis of the bug:
When the following line in the tester program is called:

m_page-&gt;mainFrame()-&gt;setUrl(QUrl(&quot;data:text/html,&lt;body&gt;This is second page&quot;));


Function FrameView::pauseScheduledEvents is called 5 times and its equivalent FrameView::resumeScheduledEvents is called only 4 times, leaving the value of m_enqueueEvents=1. So in the tester program when tst_QWebPage::cleanup is called, the FrameView::~FrameView is called which asserts when m_enqueueEvents=1.

We need to check the FrameView::layout() to further find the root cause of the problem as the extra calls to FrameView::pauseScheduledEvents is made from this function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>354294</commentid>
    <comment_count>2</comment_count>
      <attachid>83098</attachid>
    <who name="Aparna Nandyal">aparna.nand</who>
    <bug_when>2011-02-20 10:50:18 -0800</bug_when>
    <thetext>Created attachment 83098
Patch for review

Reason for assert:

1. When FrameView&apos;s destructor is called, it asserts when m_enqueueEvents is not 0.
2. This variable is incremented in FrameView::pauseScheduledEvents and decremented in FrameView::resumeScheduledEvents. 
3. In normal circumstances very time QWebFrame::setUrl is called, pauseScheduledEvents is called 3 times (once in d-&gt;frame-&gt;loader()-&gt;activeDocumentLoader()-&gt;writer()-&gt;begin(absolute) and twice in d-&gt;frame-&gt;loader()-&gt;activeDocumentLoader()-&gt;writer()-&gt;end())
3. But if back/forward navigation has been done before current QWebFrame::setUrl (as in the case of test case), FrameView::pauseScheduledEvents is called 5 times and FrameView::resumeScheduledEvents is called 4 times, leaving the m_enqueueEvents=1 which is causing the assert.
4. Extra calls to FrameView::pauseScheduledEvents is made due to the wrong code path taken in 
FrameLoader::didFirstLayout which is called from d-&gt;frame-&gt;loader()-&gt;activeDocumentLoader()-&gt;writer()-&gt;end()

void FrameLoader::didFirstLayout()
{
    if (m_frame-&gt;page() &amp;&amp; isBackForwardLoadType(m_loadType))
        history()-&gt;restoreScrollPositionAndViewState();
    
    .......
}
The function isBackForwardLoadType() returns true. But it is the previous operation&apos;s m_loadType that is used and the new m_loadType is set only in FrameLoader::load (which apparently has a &quot;// FIXME: is this the right place to reset loadType? Perhaps this should be done after loading is finished or aborted.&quot;). But in QWebFrame::setUrl, the damage has been done before the call to FrameLoader::load as there is a wrong m_loadType.

Ways to fix this:
1. Make sure that m_loadType is set before DocumentWriter&apos;s begin and end is called. Infact as the FIXME suggests, the value should be reset after loading is completed or aborted. But any changes to those functions seemed risky as they are called in different scenarios and there wasnt a single ending function for the operation (several paths were there). Hence put the fix is relatively safer haven QWebFrame::setUrl. 
2. To fix the test case, a wait for loadFinished signal will do the magic. This would actually reset the m_enqueueEvents to 0 immaterial of its current value in FrameView::~FrameView. This fix would Camouflage the root cause. So not a good idea!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356838</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-02-24 03:17:13 -0800</bug_when>
    <thetext>I&apos;m not sure this is right.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356894</commentid>
    <comment_count>4</comment_count>
      <attachid>83098</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-02-24 04:59:53 -0800</bug_when>
    <thetext>Comment on attachment 83098
Patch for review

View in context: https://bugs.webkit.org/attachment.cgi?id=83098&amp;action=review

r- because we should implement QWebFrame::setUrl() in a cleaner way.

&gt; Source/WebKit/qt/Api/qwebframe.cpp:765
&gt; +    // Resetting the load type here can be removed, if resetting
&gt; +    // happens at end of every load or abort
&gt; +    d-&gt;frame-&gt;loader()-&gt;resetLoadType();
&gt;      d-&gt;frame-&gt;loader()-&gt;activeDocumentLoader()-&gt;writer()-&gt;begin(absolute);
&gt;      d-&gt;frame-&gt;loader()-&gt;activeDocumentLoader()-&gt;writer()-&gt;end();

I have a feeling that we&apos;re doing something wrong here (way too many -&gt;&apos;s..)

The difference between QWebFrame::setUrl() and QWebFrame::load() is that setUrl() should clear the frame immediately, instead of when the new page has content. There must be a cleaner way than reaching all the way down to the writer(). FrameLoader::clear() perhaps?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>359783</commentid>
    <comment_count>5</comment_count>
    <who name="Aparna Nandyal">aparna.nand</who>
    <bug_when>2011-03-01 03:50:29 -0800</bug_when>
    <thetext>FrameLoader::clear cannot directly replace 

d-&gt;frame-&gt;loader()-&gt;activeDocumentLoader()-&gt;writer()-&gt;begin(absolute);
d-&gt;frame-&gt;loader()-&gt;activeDocumentLoader()-&gt;writer()-&gt;end();

1. It does not actually clear the view
2. It destroys the Document object which gets created in QWebFrame::QWebFrame

Another observation I have is, the current code with DocumentWriter::begin() and DocumentWriter::end() doesnt seem to be clearing the view in all scenarios. If the url is being loaded and setUrl is called before the loading is completed, then the view is not cleared, it acts like QWebFrame::load</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>366902</commentid>
    <comment_count>6</comment_count>
    <who name="Aparna Nandyal">aparna.nand</who>
    <bug_when>2011-03-14 02:16:51 -0700</bug_when>
    <thetext>This bug no longer is reproducible due to changes made in http://trac.webkit.org/changeset/80210

The variable m_enqueueEvents no longer exists hence the assertion seen is gone. But the root cause of the problem has not been addressed yet that the wrong loadType is set when setUrl is called + setUrl is not actually clearing the view if the page loading is ongoing as mentioned in comment#5. 

Should we have different bugs to track the problems?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>367312</commentid>
    <comment_count>7</comment_count>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-03-14 16:01:12 -0700</bug_when>
    <thetext>Yes, I think creating other bugs for the different issues you&apos;ve found is a good idea. Would even better if you could provide test cases for the problems, so they can be added to Qt auto tests suite. ;-)

I&apos;m closing this bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>82298</attachid>
            <date>2011-02-14 02:01:34 -0800</date>
            <delta_ts>2011-02-14 02:01:34 -0800</delta_ts>
            <desc>GDB backtrace in debug mode (r78457)</desc>
            <filename>1.txt</filename>
            <type>text/plain</type>
            <size>7225</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">UHJvZ3JhbSByZWNlaXZlZCBzaWduYWwgU0lHU0VHViwgU2VnbWVudGF0aW9uIGZhdWx0Lg0KW1N3
aXRjaGluZyB0byBUaHJlYWQgMHg3ZmViYjEwNmU2ZjAgKExXUCAxMzA4NSldDQoweDAwMDA3ZmVi
YWY1NWE0MDAgaW4gfkZyYW1lVmlldyAodGhpcz0weGI0YTkwMCkgYXQgLi4vLi4vLi4vU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwOjE4NA0KMTg0ICAgICAgICAgQVNTRVJUKCFtX2Vu
cXVldWVFdmVudHMpOw0KKGdkYikgYnQNCiMwICAweDAwMDA3ZmViYWY1NWE0MDAgaW4gfkZyYW1l
VmlldyAodGhpcz0weGI0YTkwMCkgYXQgLi4vLi4vLi4vU291cmNlL1dlYkNvcmUvcGFnZS9GcmFt
ZVZpZXcuY3BwOjE4NA0KIzEgIDB4MDAwMDdmZWJhZWYwNzkzMCBpbiBXVEY6OlJlZkNvdW50ZWQ8
V2ViQ29yZTo6V2lkZ2V0Pjo6ZGVyZWYgKHRoaXM9MHhiNGE5MDgpIGF0IC4uLy4uLy4uL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmQ291bnRlZC5oOjE0MQ0KIzIgIDB4MDAwMDdmZWJhZjE4
NDJmYiBpbiBXVEY6OmRlcmVmSWZOb3ROdWxsPFdlYkNvcmU6OkZyYW1lVmlldz4gKHB0cj0weGI0
YTkwMCkgYXQgLi4vLi4vLi4vU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QYXNzUmVmUHRyLmg6
NTkNCiMzICAweDAwMDA3ZmViYWY1NDFmYjcgaW4gV1RGOjpSZWZQdHI8V2ViQ29yZTo6RnJhbWVW
aWV3Pjo6b3BlcmF0b3I9ICh0aGlzPTB4YjQzMDA4LCBvPUAweDdmZmZlNzBiZGMxMCkgYXQgLi4v
Li4vLi4vU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHIuaDoxNDMNCiM0ICAweDAwMDA3
ZmViYWY1NDdjMzkgaW4gV2ViQ29yZTo6RnJhbWU6OnNldFZpZXcgKHRoaXM9MHhiNDJiYjAsIHZp
ZXc9e21fcHRyID0gMHg3ZmZmZTcwYmRjMTB9KSBhdCAuLi8uLi8uLi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ZyYW1lLmNwcDoyNzgNCiM1ICAweDAwMDA3ZmViYWY1NDdlMDQgaW4gV2ViQ29yZTo6RnJh
bWU6OmNyZWF0ZVZpZXcgKHRoaXM9MHhiNDJiYjAsIHZpZXdwb3J0U2l6ZT1AMHg3ZmZmZTcwYmRk
ODAsIGJhY2tncm91bmRDb2xvcj1AMHg3ZmZmZTcwYmRkNzAsIHRyYW5zcGFyZW50PWZhbHNlLCBm
aXhlZExheW91dFNpemU9QDB4N2ZmZmU3MGJkZDYwLCB1c2VGaXhlZExheW91dD1mYWxzZSwNCiAg
ICBob3Jpem9udGFsU2Nyb2xsYmFyTW9kZT1XZWJDb3JlOjpTY3JvbGxiYXJBdXRvLCBob3Jpem9u
dGFsTG9jaz1mYWxzZSwgdmVydGljYWxTY3JvbGxiYXJNb2RlPVdlYkNvcmU6OlNjcm9sbGJhckF1
dG8sIHZlcnRpY2FsTG9jaz1mYWxzZSkgYXQgLi4vLi4vLi4vU291cmNlL1dlYkNvcmUvcGFnZS9G
cmFtZS5jcHA6ODE5DQojNiAgMHgwMDAwN2ZlYmFmODZlODEyIGluIFdlYkNvcmU6OkZyYW1lTG9h
ZGVyQ2xpZW50UXQ6OnRyYW5zaXRpb25Ub0NvbW1pdHRlZEZvck5ld1BhZ2UgKHRoaXM9MHhhOWI4
NDApIGF0IC4uLy4uLy4uL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2Fk
ZXJDbGllbnRRdC5jcHA6Mjg3DQojNyAgMHgwMDAwN2ZlYmFmNGE2NTI3IGluIFdlYkNvcmU6OkZy
YW1lTG9hZGVyOjp0cmFuc2l0aW9uVG9Db21taXR0ZWQgKHRoaXM9MHhiNDJjMzgsIGNhY2hlZFBh
Z2U9e21fcHRyID0gMHg3ZmZmZTcwYmUwOTB9KSBhdCAuLi8uLi8uLi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRnJhbWVMb2FkZXIuY3BwOjIwMjcNCiM4ICAweDAwMDA3ZmViYWY0YTczNGUgaW4gV2Vi
Q29yZTo6RnJhbWVMb2FkZXI6OmNvbW1pdFByb3Zpc2lvbmFsTG9hZCAodGhpcz0weGI0MmMzOCkg
YXQgLi4vLi4vLi4vU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoxODczDQoj
OSAgMHgwMDAwN2ZlYmFmNDg3ZjVkIGluIFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpjb21taXRJ
ZlJlYWR5ICh0aGlzPTB4YjhlNWEwKSBhdCAuLi8uLi8uLi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RG9jdW1lbnRMb2FkZXIuY3BwOjI3NA0KIzEwIDB4MDAwMDdmZWJhZjQ4N2Y4YyBpbiBXZWJDb3Jl
OjpEb2N1bWVudExvYWRlcjo6Y29tbWl0TG9hZCAodGhpcz0weGI4ZTVhMCwgZGF0YT0weGI3MWQ4
OCAiPGJvZHk+VGhpcyBpcyBmaWZ0aCBwYWdlIiwgbGVuZ3RoPTI0KSBhdCAuLi8uLi8uLi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwOjI5NA0KIzExIDB4MDAwMDdmZWJh
ZjQ4ODA2MCBpbiBXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6cmVjZWl2ZWREYXRhICh0aGlzPTB4
YjhlNWEwLCBkYXRhPTB4YjcxZDg4ICI8Ym9keT5UaGlzIGlzIGZpZnRoIHBhZ2UiLCBsZW5ndGg9
MjQpIGF0IC4uLy4uLy4uL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHA6
MzI4DQojMTIgMHgwMDAwN2ZlYmFmNGJhYTNhIGluIFdlYkNvcmU6Ok1haW5SZXNvdXJjZUxvYWRl
cjo6YWRkRGF0YSAodGhpcz0weGI0YjU2MCwgZGF0YT0weGI3MWQ4OCAiPGJvZHk+VGhpcyBpcyBm
aWZ0aCBwYWdlIiwgbGVuZ3RoPTI0LCBhbGxBdE9uY2U9ZmFsc2UpIGF0IC4uLy4uLy4uL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3BwOjE1OA0KIzEzIDB4MDAwMDdm
ZWJhZjRjODc1MCBpbiBXZWJDb3JlOjpSZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZURhdGEgKHRo
aXM9MHhiNGI1NjAsIGRhdGE9MHhiNzFkODggIjxib2R5PlRoaXMgaXMgZmlmdGggcGFnZSIsIGxl
bmd0aD0yNCwgbGVuZ3RoUmVjZWl2ZWQ9MjQsIGFsbEF0T25jZT1mYWxzZSkgYXQgLi4vLi4vLi4v
U291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcDoyNzkNCiMxNCAweDAwMDA3
ZmViYWY0YjliZGIgaW4gV2ViQ29yZTo6TWFpblJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlRGF0
YSAodGhpcz0weGI0YjU2MCwgZGF0YT0weGI3MWQ4OCAiPGJvZHk+VGhpcyBpcyBmaWZ0aCBwYWdl
IiwgbGVuZ3RoPTI0LCBsZW5ndGhSZWNlaXZlZD0yNCwgYWxsQXRPbmNlPWZhbHNlKSBhdCAuLi8u
Li8uLi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcDo0NDMNCiMx
NSAweDAwMDA3ZmViYWY0YzdlNDAgaW4gV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI6OmRpZFJlY2Vp
dmVEYXRhICh0aGlzPTB4YjRiNTYwLCBkYXRhPTB4YjcxZDg4ICI8Ym9keT5UaGlzIGlzIGZpZnRo
IHBhZ2UiLCBsZW5ndGg9MjQsIGxlbmd0aFJlY2VpdmVkPTI0KSBhdCAuLi8uLi8uLi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwOjQzMA0KIzE2IDB4MDAwMDdmZWJhZjgy
ZGIxMSBpbiBXZWJDb3JlOjpRTmV0d29ya1JlcGx5SGFuZGxlcjo6Zm9yd2FyZERhdGEgKHRoaXM9
MHhiOGJlYzAsIGRhdGE9QDB4N2ZmZmU3MGJlNGMwKSBhdCAuLi8uLi8uLi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmNwcDo0ODINCiMxNyAw
eDAwMDA3ZmViYWY4MzA1Y2UgaW4gV2ViQ29yZTo6UU5ldHdvcmtSZXBseUhhbmRsZXI6OnF0X21l
dGFjYWxsICh0aGlzPTB4YjhiZWMwLCBfYz1RTWV0YU9iamVjdDo6SW52b2tlTWV0YU1ldGhvZCwg
X2lkPTMsIF9hPTB4N2ZmZmU3MGJlNDkwKSBhdCAuL21vY19RTmV0d29ya1JlcGx5SGFuZGxlci5j
cHA6ODYNCiMxOCAweDAwMDA3ZmViYWJmNTFlNGQgaW4gUU1ldGFPYmplY3Q6OmFjdGl2YXRlICgp
IGZyb20gL3Vzci9sb2NhbC9Ucm9sbHRlY2gvUXQtNC43LjEvbGliL2xpYlF0Q29yZS5zby40DQoj
MTkgMHgwMDAwN2ZlYmFmYjY1YjFiIGluIFdlYkNvcmU6OlF0TmV0d29ya1JlcGx5VGhyZWFkU2Fm
ZVByb3h5OjpkYXRhUmVjZWl2ZWQgKHRoaXM9MHhjMzllYTAsIF90MT1AMHg3ZmZmZTcwYmU0YzAp
IGF0IG1vY19RdE5BTVRocmVhZFNhZmVQcm94eS5jcHA6MzQ0DQojMjAgMHgwMDAwN2ZlYmFmODI4
OGFkIGluIFdlYkNvcmU6OlF0TmV0d29ya1JlcGx5VGhyZWFkU2FmZVByb3h5Ojpsb2NhbEZvcndh
cmREYXRhICh0aGlzPTB4YzM5ZWEwKSBhdCAuLi8uLi8uLi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3F0L1F0TkFNVGhyZWFkU2FmZVByb3h5LmNwcDoxNjANCiMyMSAweDAwMDA3ZmVi
YWZiNjYyNzggaW4gV2ViQ29yZTo6UXROZXR3b3JrUmVwbHlUaHJlYWRTYWZlUHJveHk6OnF0X21l
dGFjYWxsICh0aGlzPTB4YzM5ZWEwLCBfYz1RTWV0YU9iamVjdDo6SW52b2tlTWV0YU1ldGhvZCwg
X2lkPTIwLCBfYT0weDdmZmZlNzBiZTViMCkgYXQgbW9jX1F0TkFNVGhyZWFkU2FmZVByb3h5LmNw
cDoyNTANCiMyMiAweDAwMDA3ZmViYWJmNTFlNGQgaW4gUU1ldGFPYmplY3Q6OmFjdGl2YXRlICgp
IGZyb20gL3Vzci9sb2NhbC9Ucm9sbHRlY2gvUXQtNC43LjEvbGliL2xpYlF0Q29yZS5zby40DQoj
MjMgMHgwMDAwN2ZlYmFjMmZjNDA3IGluID8/ICgpIGZyb20gL3Vzci9sb2NhbC9Ucm9sbHRlY2gv
UXQtNC43LjEvbGliL2xpYlF0TmV0d29yay5zby40DQojMjQgMHgwMDAwN2ZlYmFjMmZjNjI2IGlu
ID8/ICgpIGZyb20gL3Vzci9sb2NhbC9Ucm9sbHRlY2gvUXQtNC43LjEvbGliL2xpYlF0TmV0d29y
ay5zby40DQojMjUgMHgwMDAwN2ZlYmFjMmUzNTQyIGluID8/ICgpIGZyb20gL3Vzci9sb2NhbC9U
cm9sbHRlY2gvUXQtNC43LjEvbGliL2xpYlF0TmV0d29yay5zby40DQojMjYgMHgwMDAwN2ZlYmFj
MmUxZGNiIGluID8/ICgpIGZyb20gL3Vzci9sb2NhbC9Ucm9sbHRlY2gvUXQtNC43LjEvbGliL2xp
YlF0TmV0d29yay5zby40DQojMjcgMHgwMDAwN2ZlYmFjMmZkMjM4IGluID8/ICgpIGZyb20gL3Vz
ci9sb2NhbC9Ucm9sbHRlY2gvUXQtNC43LjEvbGliL2xpYlF0TmV0d29yay5zby40DQojMjggMHgw
MDAwN2ZlYmFjMmZmMTc5IGluID8/ICgpIGZyb20gL3Vzci9sb2NhbC9Ucm9sbHRlY2gvUXQtNC43
LjEvbGliL2xpYlF0TmV0d29yay5zby40DQojMjkgMHgwMDAwN2ZlYmFiZjRiOGUyIGluIFFPYmpl
Y3Q6OmV2ZW50ICgpIGZyb20gL3Vzci9sb2NhbC9Ucm9sbHRlY2gvUXQtNC43LjEvbGliL2xpYlF0
Q29yZS5zby40DQojMzAgMHgwMDAwN2ZlYmFjN2FmYjlkIGluIFFBcHBsaWNhdGlvblByaXZhdGU6
Om5vdGlmeV9oZWxwZXIgKCkgZnJvbSAvdXNyL2xvY2FsL1Ryb2xsdGVjaC9RdC00LjcuMS9saWIv
bGliUXRHdWkuc28uNA0KIzMxIDB4MDAwMDdmZWJhYzdiOWQ3NCBpbiBRQXBwbGljYXRpb246Om5v
dGlmeSAoKSBmcm9tIC91c3IvbG9jYWwvVHJvbGx0ZWNoL1F0LTQuNy4xL2xpYi9saWJRdEd1aS5z
by40DQojMzIgMHgwMDAwN2ZlYmFiZjM5ZWJjIGluIFFDb3JlQXBwbGljYXRpb246Om5vdGlmeUlu
dGVybmFsICgpIGZyb20gL3Vzci9sb2NhbC9Ucm9sbHRlY2gvUXQtNC43LjEvbGliL2xpYlF0Q29y
ZS5zby40DQojMzMgMHgwMDAwN2ZlYmFiZjNjYmFjIGluIFFDb3JlQXBwbGljYXRpb25Qcml2YXRl
OjpzZW5kUG9zdGVkRXZlbnRzICgpIGZyb20gL3Vzci9sb2NhbC9Ucm9sbHRlY2gvUXQtNC43LjEv
bGliL2xpYlF0Q29yZS5zby40DQojMzQgMHgwMDAwN2ZlYmFiZjY3NzQzIGluID8/ICgpIGZyb20g
L3Vzci9sb2NhbC9Ucm9sbHRlY2gvUXQtNC43LjEvbGliL2xpYlF0Q29yZS5zby40DQojMzUgMHgw
MDAwN2ZlYmE5MWU3N2FiIGluIGdfbWFpbl9jb250ZXh0X2Rpc3BhdGNoICgpIGZyb20gL3Vzci9s
aWIvbGliZ2xpYi0yLjAuc28uMA0KIzM2IDB4MDAwMDdmZWJhOTFlYWY3ZCBpbiA/PyAoKSBmcm9t
IC91c3IvbGliL2xpYmdsaWItMi4wLnNvLjANCiMzNyAweDAwMDA3ZmViYTkxZWIxM2IgaW4gZ19t
YWluX2NvbnRleHRfaXRlcmF0aW9uICgpIGZyb20gL3Vzci9saWIvbGliZ2xpYi0yLjAuc28uMA0K
IzM4IDB4MDAwMDdmZWJhYmY2NzI5YyBpbiBRRXZlbnREaXNwYXRjaGVyR2xpYjo6cHJvY2Vzc0V2
ZW50cyAoKSBmcm9tIC91c3IvbG9jYWwvVHJvbGx0ZWNoL1F0LTQuNy4xL2xpYi9saWJRdENvcmUu
c28uNA0KIzM5IDB4MDAwMDdmZWJhYzg2MDM4ZiBpbiA/PyAoKSBmcm9tIC91c3IvbG9jYWwvVHJv
bGx0ZWNoL1F0LTQuNy4xL2xpYi9saWJRdEd1aS5zby40DQojNDAgMHgwMDAwN2ZlYmFiZjM4YjYy
IGluIFFFdmVudExvb3A6OnByb2Nlc3NFdmVudHMgKCkgZnJvbSAvdXNyL2xvY2FsL1Ryb2xsdGVj
aC9RdC00LjcuMS9saWIvbGliUXRDb3JlLnNvLjQNCiM0MSAweDAwMDA3ZmViYWJmMzhmNDQgaW4g
UUV2ZW50TG9vcDo6ZXhlYyAoKSBmcm9tIC91c3IvbG9jYWwvVHJvbGx0ZWNoL1F0LTQuNy4xL2xp
Yi9saWJRdENvcmUuc28uNA0KIzQyIDB4MDAwMDAwMDAwMDQzM2RmNCBpbiB3YWl0Rm9yU2lnbmFs
IChvYmo9MHhiNTkzYzAsIHNpZ25hbD0weDQ0YWQzOCAiMnNhdmVGcmFtZVN0YXRlUmVxdWVzdGVk
KFFXZWJGcmFtZSosUVdlYkhpc3RvcnlJdGVtKikiLCB0aW1lb3V0PTEwMDAwKSBhdCAvaG9tZS9v
c3ppL1dlYktpdC9Tb3VyY2UvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJwYWdlLy4uL3V0aWwuaDo0OA0K
IzQzIDB4MDAwMDAwMDAwMDQzNjk2ZCBpbiB0c3RfUVdlYlBhZ2U6Om1vZGlmaWVkICh0aGlzPTB4
N2ZmZmU3MGMwMmYwKSBhdCAvaG9tZS9vc3ppL1dlYktpdC9Tb3VyY2UvV2ViS2l0L3F0L3Rlc3Rz
L3F3ZWJwYWdlL3RzdF9xd2VicGFnZS5jcHA6NDk4DQojNDQgMHgwMDAwMDAwMDAwNDM3NzFmIGlu
IHRzdF9RV2ViUGFnZTo6cXRfbWV0YWNhbGwgKHRoaXM9MHg3ZmZmZTcwYzAyZjAsIF9jPVFNZXRh
T2JqZWN0OjpJbnZva2VNZXRhTWV0aG9kLCBfaWQ9MTEsIF9hPTB4N2ZmZmU3MGJmNzQwKSBhdCAu
L3RzdF9xd2VicGFnZS5tb2M6MjI4DQojNDUgMHgwMDAwN2ZlYmFiZjQyZjk4IGluIFFNZXRhTWV0
aG9kOjppbnZva2UgKCkgZnJvbSAvdXNyL2xvY2FsL1Ryb2xsdGVjaC9RdC00LjcuMS9saWIvbGli
UXRDb3JlLnNvLjQNCiM0NiAweDAwMDA3ZmViYWJmNDQ3OWYgaW4gUU1ldGFPYmplY3Q6Omludm9r
ZU1ldGhvZCAoKSBmcm9tIC91c3IvbG9jYWwvVHJvbGx0ZWNoL1F0LTQuNy4xL2xpYi9saWJRdENv
cmUuc28uNA0KIzQ3IDB4MDAwMDdmZWJhZDJlMzlmMCBpbiA/PyAoKSBmcm9tIC91c3IvbG9jYWwv
VHJvbGx0ZWNoL1F0LTQuNy4xL2xpYi9saWJRdFRlc3Quc28uNA0KIzQ4IDB4MDAwMDdmZWJhZDJl
NDc3NiBpbiBRVGVzdDo6cUV4ZWMgKCkgZnJvbSAvdXNyL2xvY2FsL1Ryb2xsdGVjaC9RdC00Ljcu
MS9saWIvbGliUXRUZXN0LnNvLjQNCiM0OSAweDAwMDAwMDAwMDA0MGZkZmMgaW4gbWFpbiAoYXJn
Yz0xLCBhcmd2PTB4N2ZmZmU3MGMwNDA4KSBhdCAvaG9tZS9vc3ppL1dlYktpdC9Tb3VyY2UvV2Vi
S2l0L3F0L3Rlc3RzL3F3ZWJwYWdlL3RzdF9xd2VicGFnZS5jcHA6MjgxOA==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83098</attachid>
            <date>2011-02-20 10:50:18 -0800</date>
            <delta_ts>2011-02-24 04:59:53 -0800</delta_ts>
            <desc>Patch for review</desc>
            <filename>patch_54380</filename>
            <type>text/plain</type>
            <size>3606</size>
            <attacher name="Aparna Nandyal">aparna.nand</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA5ZTYyZjQ1Li5lNTYwMTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTEtMDItMjAgIEFwYXJuYSBOYW5keWFsICA8YXBhcm5hLm5hbmRAd2lwcm8uY29tPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF10c3Rf
UVdlYlBhZ2U6Om1vZGlmaWVkKCkgYXNzZXJ0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQzODAKKworICAgICAgICBBZGRpbmcgYSBmdW5jdGlvbiB0
byByZXNldCB0aGUgbV9sb2FkVHlwZS4gSXQgaXMgY3VycmVudGx5CisgICAgICAgIGJlaW5nIHJl
c2V0IG9ubHkgYXQgRnJhbWVMb2FkZXI6OmxvYWQuIEJ1dCByZXNldHRpbmcgbmVlZHMKKyAgICAg
ICAgdG8gaGFwcGVuIGJlZm9yZSB0aGUgbG9hZGluZyBzdGFydHMuCisgCisgICAgICAgICogbG9h
ZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpyZXNl
dExvYWRUeXBlKToKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuaDoKKwogMjAxMS0wMi0x
OSAgQW5kcmVhcyBLbGluZyAgPGtsaW5nQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgT2xpdmVyIEh1bnQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVM
b2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCBj
OWZjYThkLi43ZDQ0YTU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVM
b2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAg
LTEzNzIsNiArMTM3MiwxMSBAQCB2b2lkIEZyYW1lTG9hZGVyOjpsb2FkKGNvbnN0IFJlc291cmNl
UmVxdWVzdCYgcmVxdWVzdCwgYm9vbCBsb2NrSGlzdG9yeSkKICAgICBsb2FkKHJlcXVlc3QsIFN1
YnN0aXR1dGVEYXRhKCksIGxvY2tIaXN0b3J5KTsKIH0KIAordm9pZCBGcmFtZUxvYWRlcjo6cmVz
ZXRMb2FkVHlwZSgpCit7CisgICAgIG1fbG9hZFR5cGUgPSBGcmFtZUxvYWRUeXBlU3RhbmRhcmQ7
Cit9CisKIHZvaWQgRnJhbWVMb2FkZXI6OmxvYWQoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1
ZXN0LCBjb25zdCBTdWJzdGl0dXRlRGF0YSYgc3Vic3RpdHV0ZURhdGEsIGJvb2wgbG9ja0hpc3Rv
cnkpCiB7CiAgICAgaWYgKG1faW5TdG9wQWxsTG9hZGVycykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1l
TG9hZGVyLmgKaW5kZXggYTllMjRjNC4uNWZmNDZhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1l
TG9hZGVyLmgKQEAgLTExNyw2ICsxMTcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBsb2FkKGNvbnN0
IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFN1YnN0aXR1dGVEYXRhJiwgYm9vbCBsb2NrSGlzdG9y
eSk7ICAgICAgICAgICAgICAgICAvLyBDYWxsZWQgYm90aCBieSBXZWJGcmFtZSBhbmQgaW50ZXJu
YWxseSwgY2FsbHMgbG9hZChEb2N1bWVudExvYWRlciopLgogICAgIHZvaWQgbG9hZChjb25zdCBS
ZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBTdHJpbmcmIGZyYW1lTmFtZSwgYm9vbCBsb2NrSGlzdG9y
eSk7ICAgICAgICAgICAgICAgLy8gQ2FsbGVkIGJ5IFdlYlBsdWdpbkNvbnRyb2xsZXIuCiAKKyAg
ICB2b2lkIHJlc2V0TG9hZFR5cGUoKTsKICNpZiBFTkFCTEUoV0VCX0FSQ0hJVkUpCiAgICAgdm9p
ZCBsb2FkQXJjaGl2ZShQYXNzUmVmUHRyPEFyY2hpdmU+KTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9xdC9BcGkvcXdlYmZyYW1lLmNwcCBiL1NvdXJjZS9XZWJLaXQvcXQvQXBp
L3F3ZWJmcmFtZS5jcHAKaW5kZXggYWIzODU0ZC4uMTM1MDZlMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9xdC9BcGkvcXdlYmZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9x
d2ViZnJhbWUuY3BwCkBAIC03NTcsNiArNzU3LDEwIEBAIHN0YXRpYyBpbmxpbmUgUVVybCBlbnN1
cmVBYnNvbHV0ZVVybChjb25zdCBRVXJsICZ1cmwpCiB2b2lkIFFXZWJGcmFtZTo6c2V0VXJsKGNv
bnN0IFFVcmwgJnVybCkKIHsKICAgICBjb25zdCBRVXJsIGFic29sdXRlID0gZW5zdXJlQWJzb2x1
dGVVcmwodXJsKTsKKyAgCisgICAgLy8gUmVzZXR0aW5nIHRoZSBsb2FkIHR5cGUgaGVyZSBjYW4g
YmUgcmVtb3ZlZCwgaWYgcmVzZXR0aW5nCisgICAgLy8gaGFwcGVucyBhdCBlbmQgb2YgZXZlcnkg
bG9hZCBvciBhYm9ydAorICAgIGQtPmZyYW1lLT5sb2FkZXIoKS0+cmVzZXRMb2FkVHlwZSgpOwog
ICAgIGQtPmZyYW1lLT5sb2FkZXIoKS0+YWN0aXZlRG9jdW1lbnRMb2FkZXIoKS0+d3JpdGVyKCkt
PmJlZ2luKGFic29sdXRlKTsKICAgICBkLT5mcmFtZS0+bG9hZGVyKCktPmFjdGl2ZURvY3VtZW50
TG9hZGVyKCktPndyaXRlcigpLT5lbmQoKTsKICAgICBsb2FkKGFic29sdXRlKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VM
b2cKaW5kZXggYTk1N2E1MS4uZTgxYzExMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBA
QAorMjAxMS0wMi0yMCAgQXBhcm5hIE5hbmR5YWwgIDxhcGFybmEubmFuZEB3aXByby5jb20+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XXRzdF9R
V2ViUGFnZTo6bW9kaWZpZWQoKSBhc3NlcnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD01NDM4MAorCisgICAgICAgIFdoZW4gdGhlIHByZXZpb3VzIG9w
ZXJhdGlvbiBpcyBiYWNrL2ZvcndhcmQgbmF2aWdhdGlvbiwgdGhlIG1fbG9hZFR5cGUKKyAgICAg
ICAgaXMgc2V0IGFzIEZyYW1lTG9hZFR5cGVJbmRleGVkQmFja0ZvcndhcmQsIHRoaXMgZ2V0cyBy
ZXNldAorICAgICAgICBvbmx5IGluIEZyYW1lTG9hZGVyOjpsb2FkLiBCdXQgd2hlbiBzZXRVcmwg
aXMgY2FsbGVkLCAKKyAgICAgICAgRG9jdW1lbnRXcml0ZXIncyBiZWdpbiBhbmQgZW5kIGFyZSBj
YWxsZWQgYmVmb3JlIEZyYW1lckxvYWRlcjo6bG9hZCwgCisgICAgICAgIHdoaWNoIG1ha2UgdXNl
IG9mIG1fbG9hZFR5cGUgbGVhZGluZyB0byBlcnJvbmVvdXMgYmVoYXZpb3VyLiBIZW5jZQorICAg
ICAgICByZXNldHRpbmcgdGhlIHZhcmlhYmxlIGhlcmUuCisKKyAgICAgICAgKiBBcGkvcXdlYmZy
YW1lLmNwcDoKKyAgICAgICAgKFFXZWJGcmFtZTo6c2V0VXJsKToKKwogMjAxMS0wMi0xOSAgQ2hh
cmxpZSBSZWlzICA8Y3JlaXNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE1p
aGFpIFBhcnBhcml0YS4K
</data>
<flag name="review"
          id="74845"
          type_id="1"
          status="-"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>