Version: Trunk (currently M51, but I've seen this for a while)
OS: Linux, but probably All
What steps will reproduce the problem?
1. Run a debug build
2. Open devtools
3. Go to devtools settings (press F1 or menu -> Settings)
4. Click Devices tab
What is the expected output? What do you see instead?
Expected: Switch to devices tab
Actual:
Program received signal SIGSEGV, Segmentation fault.
0x00007fffe001a95f in blink::NoExceptionStateAssertionChecker::throwTypeError (this=0x7fffffff57e0)
at ../../third_party/WebKit/Source/bindings/core/v8/ExceptionStatePlaceholder.cpp:49
49 ASSERT_AT(false, m_file, m_line, "");
(gdb) bt
#0 0x00007fffe001a95f in blink::NoExceptionStateAssertionChecker::throwTypeError (this=0x7fffffff57e0)
at ../../third_party/WebKit/Source/bindings/core/v8/ExceptionStatePlaceholder.cpp:49
#1 0x00007fffe1075445 in blink::Range::setStart (this=0x2c0b0dab3480, refNode=..., offset=0, exceptionState=...)
at ../../third_party/WebKit/Source/core/dom/Range.cpp:197
#2 0x00007fffe107daea in blink::Range::Range (this=0x2c0b0dab3480, ownerDocument=..., startContainer=0x0, startOffset=0, endContainer=0x0,
endOffset=0) at ../../third_party/WebKit/Source/core/dom/Range.cpp:97
#3 0x00007fffe1074c16 in blink::Range::create (ownerDocument=..., startContainer=0x0, startOffset=0, endContainer=0x0, endOffset=0)
at ../../third_party/WebKit/Source/core/dom/Range.cpp:103
#4 0x00007fffe0a43b69 in blink::DOMSelection::getRangeAt (this=0x2582934b8da0, index=0, exceptionState=...)
at ../../third_party/WebKit/Source/core/editing/DOMSelection.cpp:388
#5 0x00007fffe0183c0a in blink::DOMSelectionV8Internal::getRangeAtMethod (info=...) at gen/blink/bindings/core/v8/V8Selection.cpp:198
#6 0x00007fffe0183398 in blink::DOMSelectionV8Internal::getRangeAtMethodCallback (
../../gdb-7.9.x/gdb/dwarf2read.c:4197: internal-error: dw2_find_pc_sect_compunit_symtab: Assertion `result != NULL' failed.
Caller frame:
197 exceptionState.throwTypeError("The node provided is null.");
In the Range constructor here, both start node and end node are null. In the getRangeAt() method:
(gdb) p focusNode()
$5 = (blink::Node *) 0x0
(gdb) p visibleSelection()
$4 = (const blink::VisibleSelection &) @0x14db745e22d8: {
m_base = {
m_anchorNode = {
m_raw = 0xc7d9fa0f108
},
m_offset = 1,
m_anchorType = blink::PositionAnchorType::OffsetInAnchor
},
m_extent = {
m_anchorNode = {
m_raw = 0xc7d9fa0f108
},
m_offset = 1,
m_anchorType = blink::PositionAnchorType::OffsetInAnchor
},
m_start = {
m_anchorNode = {
m_raw = 0xc7d9fa0f108
},
m_offset = 1,
m_anchorType = blink::PositionAnchorType::OffsetInAnchor
},
m_end = {
m_anchorNode = {
m_raw = 0xc7d9fa0f108
},
m_offset = 1,
m_anchorType = blink::PositionAnchorType::OffsetInAnchor
},
m_affinity = blink::TextAffinity::Downstream,
m_changeObserver = {
m_raw = 0x0
},
m_selectionType = blink::CaretSelection,
m_baseIsFirst = true,
m_isDirectional = true,
m_granularity = blink::CharacterGranularity,
m_hasTrailingWhitespace = false
}
Comment 1 by cbiesin...@chromium.org
, Feb 29 2016