<?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>76815</bug_id>
          
          <creation_ts>2012-01-23 01:08:41 -0800</creation_ts>
          <short_desc>[GTK] editing/inserting/4960120-2.html flaky crash</short_desc>
          <delta_ts>2012-02-01 09:59:14 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://webkit-bots.igalia.com/amd64debug/svn_105595.core-when_1327309390-_-who_DumpRenderTree-_-why_11.trace.html</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="Philippe Normand">pnormand</reporter>
          <assigned_to name="Mario Sanchez Prada">mario</assigned_to>
          <cc>mario</cc>
    
    <cc>mrobinson</cc>
    
    <cc>svillar</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>540423</commentid>
    <comment_count>0</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2012-01-23 01:08:41 -0800</bug_when>
    <thetext>On 64-bit Debug:


#0  0x00002b7fb557ab4e in WebCore::positionBeforeNode (anchorNode=0x0) at ../../Source/WebCore/dom/Position.h:259
259	    ASSERT(anchorNode);

Thread 1 (Thread 0x2b7fc20dca20 (LWP 15183)):
#0  0x00002b7fb557ab4e in WebCore::positionBeforeNode (anchorNode=0x0) at ../../Source/WebCore/dom/Position.h:259
#1  0x00002b7fb673bc9d in objectFocusedAndCaretOffsetUnignored (referenceObject=0x923a210, offset=@0x7fff5a0c3d9c) at ../../Source/WebCore/accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:2776
#2  0x00002b7fb673f110 in WebCore::FrameSelection::notifyAccessibilityForSelectionChange (this=0x11d0030) at ../../Source/WebCore/editing/gtk/FrameSelectionGtk.cpp:95
#3  0x00002b7fb592ebf6 in WebCore::FrameSelection::setSelection (this=0x11d0030, newSelection=..., options=6, align=WebCore::FrameSelection::AlignCursorOnScrollIfNeeded, granularity=WebCore::CharacterGranularity) at ../../Source/WebCore/editing/FrameSelection.cpp:310
#4  0x00002b7fb592dadd in WebCore::FrameSelection::moveTo (this=0x11d0030, pos=..., userTriggered=WebCore::NotUserTriggered, align=WebCore::FrameSelection::AlignCursorOnScrollIfNeeded) at ../../Source/WebCore/editing/FrameSelection.cpp:131
#5  0x00002b7fb5c89bda in WebCore::DOMSelection::setPosition (this=0x923ac90, node=0x9232770, offset=0, ec=@0x7fff5a0c411c) at ../../Source/WebCore/page/DOMSelection.cpp:279
#6  0x00002b7fb6394f58 in WebCore::jsDOMSelectionPrototypeFunctionSetPosition (exec=0x2b8003dd6088) at DerivedSources/WebCore/JSDOMSelection.cpp:489
#7  0x00002b7fc2361218 in ?? ()
#8  0x00007fff5a0c4230 in ?? ()
#9  0x00002b7fc2363819 in ?? ()
#10 0x00007fff5a0c41b0 in ?? ()
#11 0x0000000009233db8 in ?? ()
warning: (Internal error: pc 0x0 in read in psymtab, but not in symtab.)

#12 0x0000000000000000 in ?? ()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>540565</commentid>
    <comment_count>1</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2012-01-23 08:30:44 -0800</bug_when>
    <thetext>editing/execCommand/19455.html is affected as well. Will skip it too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>546134</commentid>
    <comment_count>2</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2012-01-31 09:08:49 -0800</bug_when>
    <thetext>Another backtrace I got randomly browsing some pages

#0  0x00007ffff385357a in WebCore::positionBeforeNode (anchorNode=0x0) at ../../Source/WebCore/dom/Position.h:259
#1  0x00007ffff494751c in objectFocusedAndCaretOffsetUnignored (referenceObject=0x21b4970, offset=@0x7fffffffc3dc) at ../../Source/WebCore/accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:1038
#2  0x00007ffff4947d16 in WebCore::FrameSelection::notifyAccessibilityForSelectionChange (this=0xfeb760) at ../../Source/WebCore/editing/gtk/FrameSelectionGtk.cpp:95
#3  0x00007ffff3bdfa83 in WebCore::FrameSelection::setSelection (this=0xfeb760, newSelection=..., options=6, align=WebCore::FrameSelection::AlignCursorOnScrollIfNeeded, granularity=WebCore::CharacterGranularity) at ../../Source/WebCore/editing/FrameSelection.cpp:310
#4  0x00007ffff3be8cf1 in WebCore::FrameSelection::setSelection (this=0xfeb760, selection=..., granularity=WebCore::CharacterGranularity) at ../../Source/WebCore/editing/FrameSelection.h:143
#5  0x00007ffff3bdf60d in WebCore::FrameSelection::setNonDirectionalSelectionIfNeeded (this=0xfeb760, passedNewSelection=..., granularity=WebCore::CharacterGranularity, endpointsAdjustmentMode=WebCore::FrameSelection::DoNotAdjsutEndpoints) at ../../Source/WebCore/editing/FrameSelection.cpp:241
#6  0x00007ffff3f21df4 in WebCore::EventHandler::updateSelectionForMouseDownDispatchingSelectStart (this=0xfeb868, targetNode=0x29aa4a0, newSelection=..., granularity=WebCore::CharacterGranularity) at ../../Source/WebCore/page/EventHandler.cpp:308
#7  0x00007ffff3f229db in WebCore::EventHandler::handleMousePressEventSingleClick (this=0xfeb868, event=...) at ../../Source/WebCore/page/EventHandler.cpp:443
#8  0x00007ffff3f22dcb in WebCore::EventHandler::handleMousePressEvent (this=0xfeb868, event=...) at ../../Source/WebCore/page/EventHandler.cpp:521
#9  0x00007ffff3f263ea in WebCore::EventHandler::handleMousePressEvent (this=0xfeb868, mouseEvent=...) at ../../Source/WebCore/page/EventHandler.cpp:1504
#10 0x00007ffff379aa2a in webkit_web_view_button_press_event (widget=0xfd0090, event=0x21c4920) at ../../Source/WebKit/gtk/webkit/webkitwebview.cpp:727
#11 0x000000000047ed0a in ephy_web_view_button_press_event (widget=0xfd0090, event=0x21c4920) at ephy-web-view.c:541
#12 0x00007ffff284c608 in _gtk_marshal_BOOLEAN__BOXED (closure=0x4f5530, return_value=0x7fffffffcfb0, n_param_values=2, param_values=0x1454210, invocation_hint=0x7fffffffcfe0, marshal_data=0x47ecaa) at gtkmarshalers.c:85
#13 0x00007ffff177b39c in g_type_class_meta_marshal (closure=0x4f5530, return_value=0x7fffffffcfb0, n_param_values=2, param_values=0x1454210, invocation_hint=0x7fffffffcfe0, marshal_data=0x180) at gclosure.c:885
#14 0x00007ffff177b08a in g_closure_invoke (closure=0x4f5530, return_value=0x7fffffffcfb0, n_param_values=2, param_values=0x1454210, invocation_hint=0x7fffffffcfe0) at gclosure.c:774
#15 0x00007ffff1794eee in signal_emit_unlocked_R (node=0x4f55a0, detail=0, instance=0xfd0090, emission_return=0x7fffffffd160, instance_and_params=0x1454210) at gsignal.c:3340
#16 0x00007ffff179400f in g_signal_emit_valist (instance=0xfd0090, signal_id=28, detail=0, var_args=0x7fffffffd268) at gsignal.c:3043
#17 0x00007ffff17944da in g_signal_emit (instance=0xfd0090, signal_id=28, detail=0) at gsignal.c:3090
#18 0x00007ffff29e959d in gtk_widget_event_internal (widget=0xfd0090, event=0x21c4920) at gtkwidget.c:6154
#19 0x00007ffff29e8e2c in gtk_widget_event (widget=0xfd0090, event=0x21c4920) at gtkwidget.c:5870
#20 0x00007ffff284c4d3 in gtk_propagate_event (widget=0xfd0090, event=0x21c4920) at gtkmain.c:2423
#21 0x00007ffff284afa6 in gtk_main_do_event (event=0x21c4920) at gtkmain.c:1638
#22 0x00007ffff7f3113a in _gdk_event_emit (event=0x21c4920) at gdkevents.c:71
#23 0x00007ffff7f69828 in gdk_event_source_dispatch (source=0x5341d0, callback=0, user_data=0x0) at gdkeventsource.c:360
#24 0x00007ffff125b9e3 in g_main_dispatch (context=0x539f10) at gmain.c:2513
#25 0x00007ffff125c6a4 in g_main_context_dispatch (context=0x539f10) at gmain.c:3050
#26 0x00007ffff125c887 in g_main_context_iterate (context=0x539f10, block=1, dispatch=1, self=0x4f9af0) at gmain.c:3121
#27 0x00007ffff125c94b in g_main_context_iteration (context=0x539f10, may_block=1) at gmain.c:3182
#28 0x00007ffff187a46e in g_application_run (application=0x513000, argc=1, argv=0x7fffffffd888) at gapplication.c:1496
#29 0x0000000000430e80 in main (argc=1, argv=0x7fffffffd888) at ephy-main.c:469</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>546211</commentid>
    <comment_count>3</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-01-31 10:29:23 -0800</bug_when>
    <thetext>Mario, looks like startNode is null here. I assume that means that firstUnignoredParent-&gt;node() is returning null...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547041</commentid>
    <comment_count>4</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2012-02-01 06:11:57 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Mario, looks like startNode is null here. I assume that means that firstUnignoredParent-&gt;node() is returning null...

Yes, you are right. I missed that check because an AccessibleObject (specially those not ignoring accessibility in a platform specific way) _usually_ have a Node associated to it, but it has not to be always that way (for instance the root a11y object, which is an AccessibilityObject with ScrollAreaRole:

 (gdb) p rootAccessibilityObject-&gt;roleValue()
 $2 = WebCore::ScrollAreaRolee()
 (gdb) p rootAccessibilityObject-&gt;node()
 $3 = (WebCore::Node *) 0x0
 (gdb) p rootAccessibilityObject-&gt;parentObject()
 $4 = (WebCore::AccessibilityObject *) 0x0

So, the check is needed. Will be attaching a patch for this right away...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547052</commentid>
    <comment_count>5</comment_count>
      <attachid>124944</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2012-02-01 06:35:26 -0800</bug_when>
    <thetext>Created attachment 124944
Patch proposal + unskip tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547098</commentid>
    <comment_count>6</comment_count>
      <attachid>124944</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-02-01 08:36:45 -0800</bug_when>
    <thetext>Comment on attachment 124944
Patch proposal + unskip tests

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

&gt; Source/WebCore/accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:1040
&gt; +    // We can&apos;t do anything else if we reach this point.
&gt; +    if (!startNode)
&gt; +        return 0;

It might be good to explain in the comment why startNode is null here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547143</commentid>
    <comment_count>7</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2012-02-01 09:59:14 -0800</bug_when>
    <thetext>Committed r106472: &lt;http://trac.webkit.org/changeset/106472&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124944</attachid>
            <date>2012-02-01 06:35:26 -0800</date>
            <delta_ts>2012-02-01 08:36:45 -0800</delta_ts>
            <desc>Patch proposal + unskip tests</desc>
            <filename>bug-76815-20120201153524.patch</filename>
            <type>text/plain</type>
            <size>3250</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2MzU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTBlZTg3MDNlMTg2YmEx
OTUyNDBkYzk2YzE1OTQyOGYyNzBmYTIxMy4uYWRiNjI1MjUzYWY2OTVjYjg2YTk1NDljNWM0YTc1
ZjU4ODM2NTVjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTAyLTAxICBNYXJp
byBTYW5jaGV6IFByYWRhICA8bXNhbmNoZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXSBl
ZGl0aW5nL2luc2VydGluZy80OTYwMTIwLTIuaHRtbCBmbGFreSBjcmFzaAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4MTUKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGVjayBpZiB0aGUgbm9kZSBmb3Ig
dGhlIGZpcnN0IHBhcmVudCBvYmplY3Qgbm90IGlnbm9yaW5nCisgICAgICAgIGFjY2Vzc2liaWxp
dHkgaXMgbnVsbCBiZWZvcmUgdXNpbmcgaXQuIFRoaXMgbWlnaHQgaGFwcGVuIHdpdGgKKyAgICAg
ICAgY2VydGFpbiBraW5kIG9mIGFjY2Vzc2liaWxpdHkgb2JqZWN0cywgc3VjaCBhcyB0aGUgcm9v
dCBvbmUgKHRoZQorICAgICAgICBzY3JvbGxlciBjb250YWluaW5nIHRoZSB3ZWJBcmVhIG9iamVj
dCBhcyBpdHMgb25seSBjaGlsZCkuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2d0ay9XZWJL
aXRBY2Nlc3NpYmxlV3JhcHBlckF0ay5jcHA6CisgICAgICAgIChvYmplY3RGb2N1c2VkQW5kQ2Fy
ZXRPZmZzZXRVbmlnbm9yZWQpOiBBZGQgbWlzc2luZyBudWxsIGNoZWNrLgorCiAyMDEyLTAxLTMx
ICBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiAgPGtlbm5ldGhAd2Via2l0Lm9yZz4KIAogICAg
ICAgICBUYXAgaGlnaGxpZ2h0aW5nOiBTdXBwb3J0IGJldHRlciBvdXRsaW5lcyBmb3IgbXVsdGls
aW5lIGlubGluZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3Rr
L1dlYktpdEFjY2Vzc2libGVXcmFwcGVyQXRrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvZ3RrL1dlYktpdEFjY2Vzc2libGVXcmFwcGVyQXRrLmNwcAppbmRleCAwYjYyMDBmZDUy
NTUxMzhhMWU3YTI5YTZmNDlmNDY0ZDM5Y2VhNjRlLi43ZGRjMjQyNTkyZDI0NTA3YzliNDhkYWNi
Yzg2OTJiOTYxMDc0ODcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2d0ay9XZWJLaXRBY2Nlc3NpYmxlV3JhcHBlckF0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9ndGsvV2ViS2l0QWNjZXNzaWJsZVdyYXBwZXJBdGsuY3BwCkBAIC0xMDM1
LDYgKzEwMzUsMTAgQEAgQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0Rm9jdXNlZEFuZENhcmV0
T2Zmc2V0VW5pZ25vcmVkKEFjY2Vzc2liaWxpdHlPYmplY3QqIHIKICAgICBpZiAoIXN0YXJ0Tm9k
ZSkKICAgICAgICAgc3RhcnROb2RlID0gZmlyc3RVbmlnbm9yZWRQYXJlbnQtPm5vZGUoKTsKIAor
ICAgIC8vIFdlIGNhbid0IGRvIGFueXRoaW5nIGVsc2UgaWYgd2UgcmVhY2ggdGhpcyBwb2ludC4K
KyAgICBpZiAoIXN0YXJ0Tm9kZSkKKyAgICAgICAgcmV0dXJuIDA7CisKICAgICBWaXNpYmxlUG9z
aXRpb24gc3RhcnRQb3NpdGlvbiA9IFZpc2libGVQb3NpdGlvbihwb3NpdGlvbkJlZm9yZU5vZGUo
c3RhcnROb2RlKSwgRE9XTlNUUkVBTSk7CiAgICAgVmlzaWJsZVBvc2l0aW9uIGVuZFBvc2l0aW9u
ID0gZmlyc3RVbmlnbm9yZWRQYXJlbnQtPnNlbGVjdGlvbigpLnZpc2libGVFbmQoKTsKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IDJkMjM3NzBhMzNkMDA0ZTcwZDFhYTlhNmY1ZDIzZjZjYWJmM2I3MzUuLjE4MDk1MjE4Mjcw
ZjVjZjBhYmUxOTYzM2ZmYWYyMmU4ZjVmNzJjMTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAx
Mi0wMi0wMSAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1zYW5jaGV6QGlnYWxpYS5jb20+CisKKyAg
ICAgICAgW0dUS10gZWRpdGluZy9pbnNlcnRpbmcvNDk2MDEyMC0yLmh0bWwgZmxha3kgY3Jhc2gK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODE1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9ndGsvdGVzdF9leHBlY3RhdGlvbnMudHh0OiBVbnNraXBwaW5nIHRlc3RzIHRoYXQKKyAgICAg
ICAgc2hvdWxkbid0IGJlIGNyYXNoaW5nIGZyb20gbm93IG9uLgorCiAyMDEyLTAxLTMxICBZdXpv
IEZ1amlzaGltYSAgPHl1em9AZ29vZ2xlLmNvbT4KIAogICAgICAgICBbQ2hyb21pdW1dIFVucmV2
aWV3ZWQgdGVzdCBleHBlY3RhdGlvbiBjaGFuZ2UuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9ndGsvdGVzdF9leHBlY3RhdGlvbnMudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z3RrL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAppbmRleCBkNzhiNjhkZDM0NTMzYjU3NTIzYjk0YmQz
ZWM2MWIwM2Y2NDc4YmM3Li5hOGNjMTQ5OWFhZjU3ZDcxM2Q1NDRiNTU3M2M4ZjMyMmRmMWViMzcz
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvdGVzdF9leHBlY3RhdGlvbnMu
dHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay90ZXN0X2V4cGVjdGF0aW9ucy50eHQK
QEAgLTEwLDggKzEwLDYgQEAgQlVHV0s2NzAwNyBERUJVRyA6IGZhc3QvcnVieS9nZW5lcmF0ZWQt
YmVmb3JlLWFuZC1hZnRlci1jb3VudGVyLWRvZXNudC1jcmFzaC5odG0KIEJVR1dLNjg4NTkgREVC
VUcgOiBmYXN0L2R5bmFtaWMvY3Jhc2gtcGFpbnQtbm8tZG9jdW1lbnRFbGVtZW50LXJlbmRlcmVy
Lmh0bWwgPSBDUkFTSAogCiBCVUdXSzc2ODE0IERFQlVHIDogZmFzdC94bWxodHRwcmVxdWVzdC94
bWxodHRwcmVxdWVzdC1nZXQueGh0bWwgPSBDUkFTSAotQlVHV0s3NjgxNSBERUJVRyA6IGVkaXRp
bmcvaW5zZXJ0aW5nLzQ5NjAxMjAtMi5odG1sID0gQ1JBU0gKLUJVR1dLNzY4MTUgREVCVUcgOiBl
ZGl0aW5nL2V4ZWNDb21tYW5kLzE5NDU1Lmh0bWwgPSBDUkFTSAogCiAvLyBGbGFreSB0ZXN0cwog
Cg==
</data>
<flag name="review"
          id="126328"
          type_id="1"
          status="+"
          setter="mrobinson"
    />
          </attachment>
      

    </bug>

</bugzilla>