<?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>46261</bug_id>
          
          <creation_ts>2010-09-22 07:03:35 -0700</creation_ts>
          <short_desc>Web Inspector: CRASH at node highlight on MAC Safari</short_desc>
          <delta_ts>2010-09-24 09:40:28 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ilya Tikhonovsky">loislo</reporter>
          <assigned_to name="Ilya Tikhonovsky">loislo</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>commit-queue</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>podivilov</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>282905</commentid>
    <comment_count>0</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2010-09-22 07:03:35 -0700</bug_when>
    <thetext>1) run-safari --debug
2) open inspector
3) open elements panel
4) hover mouse over elements panel items
5) try to switch to another tab. In my case Timeline
6) CRASH

call stack

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000328
0x000000010147b546 in WTF::RefPtr&lt;WebCore::Node&gt;::operator! (this=0x328) at RefPtr.h:68
68	        bool operator!() const { return !m_ptr; }
(gdb) BT
#0  0x000000010147b546 in WTF::RefPtr&lt;WebCore::Node&gt;::operator! (this=0x328) at RefPtr.h:68
#1  0x00000001019ea1f9 in WebCore::InspectorController::drawNodeHighlight (this=0x0, context=@0x7fff5fbfd2f0) at /Users/Shared/loislo/Projects/chromium/src/third_party/WebKit/WebCore/inspector/InspectorController.cpp:1802
#2  0x0000000100f840e0 in -[WebNodeHighlightView drawRect:] (self=0x11e479100, _cmd=0x7fff874a0e08, rect={origin = {x = 0, y = 0}, size = {width = 1371, height = 784}}) at WebNodeHighlightView.mm:75
#3  0x00007fff86e65081 in -[NSView _drawRect:clip:] ()
#4  0x00007fff86e63cf4 in -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] ()
#5  0x00007fff86e6405e in -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] ()
#6  0x00007fff86e623c6 in -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] ()
#7  0x00007fff86f80b84 in -[NSNextStepFrame _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] ()
#8  0x00007fff86e5e79a in -[NSView _displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:] ()
#9  0x00007fff86dd7ff6 in -[NSView displayIfNeeded] ()
#10 0x00007fff86d8d7e4 in -[NSNextStepFrame displayIfNeeded] ()
#11 0x00007fff86dd2ea2 in _handleWindowNeedsDisplay ()
#12 0x00007fff811aea2d in __NSFireTimer ()
#13 0x00007fff85318678 in __CFRunLoopRun ()
#14 0x00007fff8531684f in CFRunLoopRunSpecific ()
#15 0x00007fff881c991a in RunCurrentEventLoopInMode ()
#16 0x00007fff881c967d in ReceiveNextEventCommon ()
#17 0x00007fff881c95d8 in BlockUntilNextEventMatchingListInMode ()
#18 0x00007fff86da829e in _DPSNextEvent ()
#19 0x00007fff86da7bed in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] ()
#20 0x00000001000165d8 in ?? ()
#21 0x00007fff86d6d8d3 in -[NSApplication run] ()
#22 0x00007fff86d665f8 in NSApplicationMain ()
#23 0x000000010000a4a4 in ?? ()
Current language:  auto; currently c++
(gdb) ГЗ
Undefined command: &quot;&quot;.  Try &quot;help&quot;.
(gdb) up
#1  0x00000001019ea1f9 in WebCore::InspectorController::drawNodeHighlight (this=0x0, context=@0x7fff5fbfd2f0) at /Users/Shared/loislo/Projects/chromium/src/third_party/WebKit/WebCore/inspector/InspectorController.cpp:1802
1802	    if (!m_highlightedNode)
(gdb) list
1797	    return mainFramePoint - IntPoint();
1798	}
1799	
1800	void InspectorController::drawNodeHighlight(GraphicsContext&amp; context) const
1801	{
1802	    if (!m_highlightedNode)
1803	        return;
1804	
1805	    RenderObject* renderer = m_highlightedNode-&gt;renderer();
1806	    Frame* containingFrame = m_highlightedNode-&gt;document()-&gt;frame();
(gdb) p this
$1 = (const &apos;WebCore::InspectorController&apos; * const) 0x0
(gdb) up
#2  0x0000000100f840e0 in -[WebNodeHighlightView drawRect:] (self=0x11e479100, _cmd=0x7fff874a0e08, rect={origin = {x = 0, y = 0}, size = {width = 1371, height = 784}}) at WebNodeHighlightView.mm:75
75	    [_webNodeHighlight inspectorController]-&gt;drawNodeHighlight(context);
Current language:  auto; currently objective-c++
(gdb)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284303</commentid>
    <comment_count>1</comment_count>
      <attachid>68663</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2010-09-24 02:45:14 -0700</bug_when>
    <thetext>Created attachment 68663
[patch] initial version.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284307</commentid>
    <comment_count>2</comment_count>
      <attachid>68663</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-09-24 03:12:28 -0700</bug_when>
    <thetext>Comment on attachment 68663
[patch] initial version.

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

&gt; WebKit/mac/WebInspector/WebNodeHighlightView.mm:77
&gt; +        [NSGraphicsContext restoreGraphicsState];

Should restore unconditionally.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284319</commentid>
    <comment_count>3</comment_count>
      <attachid>68666</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2010-09-24 04:43:43 -0700</bug_when>
    <thetext>Created attachment 68666
[patch] initial version.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284323</commentid>
    <comment_count>4</comment_count>
      <attachid>68666</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-24 05:08:47 -0700</bug_when>
    <thetext>Comment on attachment 68666
[patch] initial version.

Clearing flags on attachment: 68666

Committed r68247: &lt;http://trac.webkit.org/changeset/68247&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284324</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-24 05:08:53 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284441</commentid>
    <comment_count>6</comment_count>
      <attachid>68666</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-09-24 09:40:28 -0700</bug_when>
    <thetext>Comment on attachment 68666
[patch] initial version.

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

I know this landed. Here are some things to think about to improve later patches.

&gt; WebKit/mac/ChangeLog:14
&gt; +        Web Inspector: CRASH at node highlight on MAC Safari.
&gt; +        1) run-safari --debug
&gt; +        2) open inspector
&gt; +        3) open elements panel
&gt; +        4) hover mouse over elements panel items multiple times
&gt; +        5) CRASH
&gt; +        Looks like it is a race condition. WebNodeHighlightView doesn&apos;t check
&gt; +        the pointer to WebNodeHighligh object and it can be nil.
&gt; +
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=46261

This still isn&apos;t the usual ChangeLog style, but I guess everyones does it differently
so I&apos;ll stop bringing it up. Just noticed there was a typo, &quot;WebNodeHighligh&quot;.


&gt; WebKit/mac/WebInspector/WebNodeHighlightView.mm:71
&gt; +    if (_webNodeHighlight) {
&gt; +        [NSGraphicsContext saveGraphicsState];

I think an early return would have made this easier to read, and is a common style.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68663</attachid>
            <date>2010-09-24 02:45:14 -0700</date>
            <delta_ts>2010-09-24 04:43:43 -0700</delta_ts>
            <desc>[patch] initial version.</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>1780</size>
            <attacher name="Ilya Tikhonovsky">loislo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvV2ViS2l0L21hYy9DaGFuZ2VMb2cK
aW5kZXggNDIxOTdmZC4uZDhlODIxMyAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9DaGFuZ2VMb2cK
KysrIGIvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMC0wOS0yNCAg
SWx5YSBUaWtob25vdnNreSAgPGxvaXNsb0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQ1JBU0ggYXQg
bm9kZSBoaWdobGlnaHQgb24gTUFDIFNhZmFyaS4KKyAgICAgICAgMSkgcnVuLXNhZmFyaSAtLWRl
YnVnCisgICAgICAgIDIpIG9wZW4gaW5zcGVjdG9yCisgICAgICAgIDMpIG9wZW4gZWxlbWVudHMg
cGFuZWwKKyAgICAgICAgNCkgaG92ZXIgbW91c2Ugb3ZlciBlbGVtZW50cyBwYW5lbCBpdGVtcyBt
dWx0aXBsZSB0aW1lcworICAgICAgICA1KSBDUkFTSAorICAgICAgICBMb29rcyBsaWtlIGl0IGlz
IGEgcmFjZSBjb25kaXRpb24uIFdlYk5vZGVIaWdobGlnaHRWaWV3IGRvZXNuJ3QgY2hlY2sKKyAg
ICAgICAgdGhlIHBvaW50ZXIgdG8gV2ViTm9kZUhpZ2hsaWdoIG9iamVjdCBhbmQgaXQgY2FuIGJl
IG5pbC4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NDYyNjEKKworICAgICAgICAqIFdlYkluc3BlY3Rvci9XZWJOb2RlSGlnaGxpZ2h0Vmlldy5tbToK
KyAgICAgICAgKC1bV2ViTm9kZUhpZ2hsaWdodFZpZXcgZHJhd1JlY3Q6XSk6CisKIDIwMTAtMDkt
MjMgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9XZWJJbnNwZWN0b3IvV2ViTm9k
ZUhpZ2hsaWdodFZpZXcubW0gYi9XZWJLaXQvbWFjL1dlYkluc3BlY3Rvci9XZWJOb2RlSGlnaGxp
Z2h0Vmlldy5tbQppbmRleCBiM2NkNjllLi5hZjdjZDRkIDEwMDY0NAotLS0gYS9XZWJLaXQvbWFj
L1dlYkluc3BlY3Rvci9XZWJOb2RlSGlnaGxpZ2h0Vmlldy5tbQorKysgYi9XZWJLaXQvbWFjL1dl
Ykluc3BlY3Rvci9XZWJOb2RlSGlnaGxpZ2h0Vmlldy5tbQpAQCAtNzEsMTAgKzcxLDExIEBAIHVz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiAgICAgQVNTRVJUKFtbTlNHcmFwaGljc0NvbnRleHQg
Y3VycmVudENvbnRleHRdIGlzRmxpcHBlZF0pOwogCi0gICAgR3JhcGhpY3NDb250ZXh0IGNvbnRl
eHQoKFBsYXRmb3JtR3JhcGhpY3NDb250ZXh0KilbW05TR3JhcGhpY3NDb250ZXh0IGN1cnJlbnRD
b250ZXh0XSBncmFwaGljc1BvcnRdKTsKLSAgICBbX3dlYk5vZGVIaWdobGlnaHQgaW5zcGVjdG9y
Q29udHJvbGxlcl0tPmRyYXdOb2RlSGlnaGxpZ2h0KGNvbnRleHQpOwotCi0gICAgW05TR3JhcGhp
Y3NDb250ZXh0IHJlc3RvcmVHcmFwaGljc1N0YXRlXTsKKyAgICBpZiAoX3dlYk5vZGVIaWdobGln
aHQpIHsKKyAgICAgICAgR3JhcGhpY3NDb250ZXh0IGNvbnRleHQoKFBsYXRmb3JtR3JhcGhpY3ND
b250ZXh0KilbW05TR3JhcGhpY3NDb250ZXh0IGN1cnJlbnRDb250ZXh0XSBncmFwaGljc1BvcnRd
KTsKKyAgICAgICAgW193ZWJOb2RlSGlnaGxpZ2h0IGluc3BlY3RvckNvbnRyb2xsZXJdLT5kcmF3
Tm9kZUhpZ2hsaWdodChjb250ZXh0KTsKKyAgICAgICAgW05TR3JhcGhpY3NDb250ZXh0IHJlc3Rv
cmVHcmFwaGljc1N0YXRlXTsKKyAgICB9CiB9CiAKIC0gKFdlYk5vZGVIaWdobGlnaHQgKil3ZWJO
b2RlSGlnaGxpZ2h0Cg==
</data>
<flag name="review"
          id="58220"
          type_id="1"
          status="-"
          setter="pfeldman"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68666</attachid>
            <date>2010-09-24 04:43:43 -0700</date>
            <delta_ts>2010-09-24 09:40:28 -0700</delta_ts>
            <desc>[patch] initial version.</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>1974</size>
            <attacher name="Ilya Tikhonovsky">loislo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvV2ViS2l0L21hYy9DaGFuZ2VMb2cK
aW5kZXggNDIxOTdmZC4uZDhlODIxMyAxMDA2NDQKLS0tIGEvV2ViS2l0L21hYy9DaGFuZ2VMb2cK
KysrIGIvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMC0wOS0yNCAg
SWx5YSBUaWtob25vdnNreSAgPGxvaXNsb0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQ1JBU0ggYXQg
bm9kZSBoaWdobGlnaHQgb24gTUFDIFNhZmFyaS4KKyAgICAgICAgMSkgcnVuLXNhZmFyaSAtLWRl
YnVnCisgICAgICAgIDIpIG9wZW4gaW5zcGVjdG9yCisgICAgICAgIDMpIG9wZW4gZWxlbWVudHMg
cGFuZWwKKyAgICAgICAgNCkgaG92ZXIgbW91c2Ugb3ZlciBlbGVtZW50cyBwYW5lbCBpdGVtcyBt
dWx0aXBsZSB0aW1lcworICAgICAgICA1KSBDUkFTSAorICAgICAgICBMb29rcyBsaWtlIGl0IGlz
IGEgcmFjZSBjb25kaXRpb24uIFdlYk5vZGVIaWdobGlnaHRWaWV3IGRvZXNuJ3QgY2hlY2sKKyAg
ICAgICAgdGhlIHBvaW50ZXIgdG8gV2ViTm9kZUhpZ2hsaWdoIG9iamVjdCBhbmQgaXQgY2FuIGJl
IG5pbC4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NDYyNjEKKworICAgICAgICAqIFdlYkluc3BlY3Rvci9XZWJOb2RlSGlnaGxpZ2h0Vmlldy5tbToK
KyAgICAgICAgKC1bV2ViTm9kZUhpZ2hsaWdodFZpZXcgZHJhd1JlY3Q6XSk6CisKIDIwMTAtMDkt
MjMgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9XZWJJbnNwZWN0b3IvV2ViTm9k
ZUhpZ2hsaWdodFZpZXcubW0gYi9XZWJLaXQvbWFjL1dlYkluc3BlY3Rvci9XZWJOb2RlSGlnaGxp
Z2h0Vmlldy5tbQppbmRleCBiM2NkNjllLi43ZmMzY2Y0IDEwMDY0NAotLS0gYS9XZWJLaXQvbWFj
L1dlYkluc3BlY3Rvci9XZWJOb2RlSGlnaGxpZ2h0Vmlldy5tbQorKysgYi9XZWJLaXQvbWFjL1dl
Ykluc3BlY3Rvci9XZWJOb2RlSGlnaGxpZ2h0Vmlldy5tbQpAQCAtNjcsMTQgKzY3LDE1IEBAIHVz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiAtICh2b2lkKWRyYXdSZWN0OihOU1JlY3QpcmVjdCAK
IHsKLSAgICBbTlNHcmFwaGljc0NvbnRleHQgc2F2ZUdyYXBoaWNzU3RhdGVdOworICAgIGlmIChf
d2ViTm9kZUhpZ2hsaWdodCkgeworICAgICAgICBbTlNHcmFwaGljc0NvbnRleHQgc2F2ZUdyYXBo
aWNzU3RhdGVdOwogCi0gICAgQVNTRVJUKFtbTlNHcmFwaGljc0NvbnRleHQgY3VycmVudENvbnRl
eHRdIGlzRmxpcHBlZF0pOworICAgICAgICBBU1NFUlQoW1tOU0dyYXBoaWNzQ29udGV4dCBjdXJy
ZW50Q29udGV4dF0gaXNGbGlwcGVkXSk7CiAKLSAgICBHcmFwaGljc0NvbnRleHQgY29udGV4dCgo
UGxhdGZvcm1HcmFwaGljc0NvbnRleHQqKVtbTlNHcmFwaGljc0NvbnRleHQgY3VycmVudENvbnRl
eHRdIGdyYXBoaWNzUG9ydF0pOwotICAgIFtfd2ViTm9kZUhpZ2hsaWdodCBpbnNwZWN0b3JDb250
cm9sbGVyXS0+ZHJhd05vZGVIaWdobGlnaHQoY29udGV4dCk7Ci0KLSAgICBbTlNHcmFwaGljc0Nv
bnRleHQgcmVzdG9yZUdyYXBoaWNzU3RhdGVdOworICAgICAgICBHcmFwaGljc0NvbnRleHQgY29u
dGV4dCgoUGxhdGZvcm1HcmFwaGljc0NvbnRleHQqKVtbTlNHcmFwaGljc0NvbnRleHQgY3VycmVu
dENvbnRleHRdIGdyYXBoaWNzUG9ydF0pOworICAgICAgICBbX3dlYk5vZGVIaWdobGlnaHQgaW5z
cGVjdG9yQ29udHJvbGxlcl0tPmRyYXdOb2RlSGlnaGxpZ2h0KGNvbnRleHQpOworICAgICAgICBb
TlNHcmFwaGljc0NvbnRleHQgcmVzdG9yZUdyYXBoaWNzU3RhdGVdOworICAgIH0KIH0KIAogLSAo
V2ViTm9kZUhpZ2hsaWdodCAqKXdlYk5vZGVIaWdobGlnaHQK
</data>

          </attachment>
      

    </bug>

</bugzilla>