<?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>95852</bug_id>
          
          <creation_ts>2012-09-05 07:40:49 -0700</creation_ts>
          <short_desc>Crash backtraces should contain demangled function names and line numbers</short_desc>
          <delta_ts>2013-06-25 07:00:26 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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="Csaba Osztrogonác">ossy</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abecsi</cc>
    
    <cc>galpeter</cc>
    
    <cc>kbalazs</cc>
    
    <cc>ossy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>712033</commentid>
    <comment_count>0</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-09-05 07:40:49 -0700</bug_when>
    <thetext>example crash log from the Qt debug bot now:
---------------------------------------------
ASSERTION FAILED: isEndOfParagraph(endOfParagraphToMove)
/home/webkitbuildbot/slaves/debug64bit/buildslave/qt-linux-64-debug/build/Source/WebCore/editing/CompositeEditCommand.cpp(1137) : void WebCore::CompositeEditCommand::moveParagraph(const WebCore::VisiblePosition&amp;, const WebCore::VisiblePosition&amp;, const WebCore::VisiblePosition&amp;, bool, bool)
1   0x7f1d164d3dfc /home/webkitbuildbot/slaves/debug64bit/buildslave/qt-linux-64-debug/build/WebKitBuild/Debug/lib/libQtWebKit.so.5(+0xd36dfc) [0x7f1d164d3dfc]
2   0x7f1d165316b6 /home/webkitbuildbot/slaves/debug64bit/buildslave/qt-linux-64-debug/build/WebKitBuild/Debug/lib/libQtWebKit.so.5(+0xd946b6) [0x7f1d165316b6]
3   0x7f1d1652fb1c /home/webkitbuildbot/slaves/debug64bit/buildslave/qt-linux-64-debug/build/WebKitBuild/Debug/lib/libQtWebKit.so.5(+0xd92b1c) [0x7f1d1652fb1c]
4   0x7f1d1652ed7b /home/webkitbuildbot/slaves/debug64bit/buildslave/qt-linux-64-debug/build/WebKitBuild/Debug/lib/libQtWebKit.so.5(+0xd91d7b) [0x7f1d1652ed7b]
5   0x7f1d164cc359 /home/webkitbuildbot/slaves/debug64bit/buildslave/qt-linux-64-debug/build/WebKitBuild/Debug/lib/libQtWebKit.so.5(+0xd2f359) [0x7f1d164cc359]
6   0x7f1d164cbd52 /home/webkitbuildbot/slaves/debug64bit/buildslave/qt-linux-64-debug/build/WebKitBuild/Debug/lib/libQtWebKit.so.5(+0xd2ed52) [0x7f1d164cbd52]
7   0x7f1d1650fc73 /home/webkitbuildbot/slaves/debug64bit/buildslave/qt-linux-64-debug/build/WebKitBuild/Debug/lib/libQtWebKit.so.5(+0xd72c73) [0x7f1d1650fc73]
8   0x7f1d1651327a /home/webkitbuildbot/slaves/debug64bit/buildslave/qt-linux-64-debug/build/WebKitBuild/Debug/lib/libQtWebKit.so.5(+0xd7627a) [0x7f1d1651327a]
9   0x7f1d163bb43d /home/webkitbuildbot/slaves/debug64bit/buildslave/qt-linux-64-debug/build/WebKitBuild/Debug/lib/libQtWebKit.so.5(+0xc1e43d) [0x7f1d163bb43d]
10  0x7f1d1719255c /home/webkitbuildbot/slaves/debug64bit/buildslave/qt-linux-64-debug/build/WebKitBuild/Debug/lib/libQtWebKit.so.5(+0x19f555c) [0x7f1d1719255c]
11  0x7f1cca0d0265 [0x7f1cca0d0265]


example crash log after the fix:
---------------------------------

ASSERTION FAILED: isEndOfParagraph(endOfParagraphToMove)
/home/oszi/WebKit/Source/WebCore/editing/CompositeEditCommand.cpp(1137) : void WebCore::CompositeEditCommand::moveParagraph(const WebCore::VisiblePosition&amp;, const WebCore::VisiblePosition&amp;, const WebCore::VisiblePosition&amp;, bool, bool)
addr2line -e /home/oszi/WebKit/WebKitBuild/Debug/lib/libQtWebKit.so.5.0.0 -f -C 0xd35104 0xd929be 0xd90e24 0xd90083 0xd2d661 0xd2d05a 0xd70f7b 0xd74582 0xc1c745 0x19f3694 0x7fcf5ad842651   0xd35104 /home/oszi/WebKit/WebKitBuild/Debug/lib/libQtWebKit.so.5(+0xd35104) [0x7fcfa7501104]
WebCore::CompositeEditCommand::moveParagraph(WebCore::VisiblePosition const&amp;, WebCore::VisiblePosition const&amp;, WebCore::VisiblePosition const&amp;, bool, bool)
/home/oszi/WebKit/Source/WebCore/editing/CompositeEditCommand.cpp:1137

2   0xd929be /home/oszi/WebKit/WebKitBuild/Debug/lib/libQtWebKit.so.5(+0xd929be) [0x7fcfa755e9be]
WebCore::InsertListCommand::listifyParagraph(WebCore::VisiblePosition const&amp;, WebCore::QualifiedName const&amp;)
/home/oszi/WebKit/Source/WebCore/editing/InsertListCommand.cpp:385

3   0xd90e24 /home/oszi/WebKit/WebKitBuild/Debug/lib/libQtWebKit.so.5(+0xd90e24) [0x7fcfa755ce24]
WebCore::InsertListCommand::doApplyForSingleParagraph(bool, WebCore::QualifiedName const&amp;, WebCore::Range*)
/home/oszi/WebKit/Source/WebCore/editing/InsertListCommand.cpp:250

4   0xd90083 /home/oszi/WebKit/WebKitBuild/Debug/lib/libQtWebKit.so.5(+0xd90083) [0x7fcfa755c083]
WebCore::InsertListCommand::doApply()
/home/oszi/WebKit/Source/WebCore/editing/InsertListCommand.cpp:186

5   0xd2d661 /home/oszi/WebKit/WebKitBuild/Debug/lib/libQtWebKit.so.5(+0xd2d661) [0x7fcfa74f9661]
WebCore::CompositeEditCommand::apply()
/home/oszi/WebKit/Source/WebCore/editing/CompositeEditCommand.cpp:205

6   0xd2d05a /home/oszi/WebKit/WebKitBuild/Debug/lib/libQtWebKit.so.5(+0xd2d05a) [0x7fcfa74f905a]
WebCore::applyCommand(WTF::PassRefPtr&lt;WebCore::CompositeEditCommand&gt;)
/home/oszi/WebKit/Source/WebCore/editing/CompositeEditCommand.cpp:162

7   0xd70f7b /home/oszi/WebKit/WebKitBuild/Debug/lib/libQtWebKit.so.5(+0xd70f7b) [0x7fcfa753cf7b]
WebCore::executeInsertUnorderedList(WebCore::Frame*, WebCore::Event*, WebCore::EditorCommandSource, WTF::String const&amp;)
/home/oszi/WebKit/Source/WebCore/editing/EditorCommand.cpp:569

8   0xd74582 /home/oszi/WebKit/WebKitBuild/Debug/lib/libQtWebKit.so.5(+0xd74582) [0x7fcfa7540582]
WebCore::Editor::Command::execute(WTF::String const&amp;, WebCore::Event*) const
/home/oszi/WebKit/Source/WebCore/editing/EditorCommand.cpp:1690

9   0xc1c745 /home/oszi/WebKit/WebKitBuild/Debug/lib/libQtWebKit.so.5(+0xc1c745) [0x7fcfa73e8745]
WebCore::Document::execCommand(WTF::String const&amp;, bool, WTF::String const&amp;)
/home/oszi/WebKit/Source/WebCore/dom/Document.cpp:4595

10  0x19f3694 /home/oszi/WebKit/WebKitBuild/Debug/lib/libQtWebKit.so.5(+0x19f3694) [0x7fcfa81bf694]
WebCore::jsDocumentPrototypeFunctionExecCommand(JSC::ExecState*)
/home/oszi/WebKit/WebKitBuild/Debug/Source/WebCore/generated/JSDocument.cpp:2633

11  0x7fcf5ad84265 [0x7fcf5ad84265]
??
??:0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>712045</commentid>
    <comment_count>1</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-09-05 07:55:36 -0700</bug_when>
    <thetext>Now backtraces are dumped by WTFPrintBacktrace() in Source/WTF/wtf/Assertions.cpp.

It uses libc&apos;s backtrace_symbols() which uses the dynamic symbol 
table (.dynsym section added by -rdynamic linker flag). But 
unfortunately it doesn&apos;t contain line numbers. 

We can get line numbers from .symtab section with with libbfd 
or an external tool based on libbfd, which is addr2line. In my
opinion using addr2line is simpler than implementing addr2line
again with taking account of addr2lines GPL license.

Unfortunately an addr2line call takes 20 secs on the 1.3Gb sized 
libQtWebKit.so ... which makes the test timeout instead of crash.
So we need a batching mechanism to call addr2line only once per
binary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833993</commentid>
    <comment_count>2</comment_count>
      <attachid>188562</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-02-15 07:09:31 -0800</bug_when>
    <thetext>Created attachment 188562
WIP patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833994</commentid>
    <comment_count>3</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-02-15 07:09:56 -0800</bug_when>
    <thetext>I don&apos;t have time for it nowadays, feel free to pick it up.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188562</attachid>
            <date>2013-02-15 07:09:31 -0800</date>
            <delta_ts>2013-02-15 07:09:31 -0800</delta_ts>
            <desc>WIP patch</desc>
            <filename>1.patch</filename>
            <type>text/plain</type>
            <size>1797</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLnByaSBiL1NvdXJjZS9XVEYvV1RGLnByaQ0KaW5k
ZXggOWU5NDkzMy4uMGE3NzZhNyAxMDA2NDQNCi0tLSBhL1NvdXJjZS9XVEYvV1RGLnByaQ0KKysr
IGIvU291cmNlL1dURi9XVEYucHJpDQpAQCAtMzYsMyArMzYsNSBAQCBxbnggew0KICAgICAjIHJl
cXVpcmVkIGZvciB0aW1lZ20NCiAgICAgTElCUyArPSAtbG5idXRpbA0KIH0NCisNCitMSUJTICs9
IC1sZGwNCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9Bc3NlcnRpb25zLmNwcCBiL1NvdXJj
ZS9XVEYvd3RmL0Fzc2VydGlvbnMuY3BwDQppbmRleCBhYTdmMzY0Li5lMDEzYjJjIDEwMDY0NA0K
LS0tIGEvU291cmNlL1dURi93dGYvQXNzZXJ0aW9ucy5jcHANCisrKyBiL1NvdXJjZS9XVEYvd3Rm
L0Fzc2VydGlvbnMuY3BwDQpAQCAtMzIwLDYgKzMyMCwyNCBAQCB2b2lkIFdURlByaW50QmFja3Ry
YWNlKHZvaWQqKiBzdGFjaywgaW50IHNpemUpDQogICAgICAgICByZXR1cm47DQogI2VuZGlmDQoN
CisgICAgY2hhciBzeXNjb21bMTAyNF07DQorICAgIGNoYXIgZGF0YVs0MDk2XTsNCisgICAgc3By
aW50ZihzeXNjb20sImFkZHIybGluZSAtZSAvaG9tZS9vc3ppL1dlYktpdC9XZWJLaXRCdWlsZC9E
ZWJ1Zy9saWIvbGliUXRXZWJLaXQuc28uNS4wLjAgLWYgLUMiKTsNCisgICAgZm9yIChpbnQgaSA9
IDA7IGkgPCBzaXplOyArK2kpIHsNCisgICAgICAgIGNoYXIgYWRkcmVzc1sxMjhdOw0KKw0KKyAg
ICAgICAgRGxfaW5mbyBkbGluZm87DQorICAgICAgICBpZiAoZGxhZGRyKHN0YWNrW2ldLCAmZGxp
bmZvKSkgew0KKyAgICAgICAgICAgIGlmIChzdHJzdHIoZGxpbmZvLmRsaV9mbmFtZSwgIi5zbyIp
KSB7DQorICAgICAgICAgICAgICAgIHN0YWNrW2ldID0gKHZvaWQqKSgodW5zaWduZWQgbG9uZylz
dGFja1tpXSAtICh1bnNpZ25lZCBsb25nKWRsaW5mby5kbGlfZmJhc2UpOw0KKyAgICAgICAgICAg
IH0NCisgICAgICAgIH0NCisgICAgICAgIHNwcmludGYoYWRkcmVzcywiICVwIiwgc3RhY2tbaV0p
Ow0KKyAgICAgICAgc3RyY2F0KHN5c2NvbSwgYWRkcmVzcyk7DQorICAgIH0NCisgICAgZnByaW50
ZihzdGRlcnIsICIlcyIsIHN5c2NvbSk7DQorDQorICAgIEZJTEUgKmZkID0gcG9wZW4oc3lzY29t
LCAiciIpOw0KICAgICBmb3IgKGludCBpID0gMDsgaSA8IHNpemU7ICsraSkgew0KICAgICAgICAg
Y29uc3QgY2hhciogbWFuZ2xlZE5hbWUgPSAwOw0KICAgICAgICAgY2hhciogY3hhRGVtYW5nbGVk
ID0gMDsNCkBAIC0zMzcsOCArMzU1LDE1IEBAIHZvaWQgV1RGUHJpbnRCYWNrdHJhY2Uodm9pZCoq
IHN0YWNrLCBpbnQgc2l6ZSkNCiAgICAgICAgICAgICBwcmludGZfc3RkZXJyX2NvbW1vbigiJS0z
ZCAlcCAlc1xuIiwgZnJhbWVOdW1iZXIsIHN0YWNrW2ldLCBjeGFEZW1hbmdsZWQgPyBjeGFEZW1h
bmdsZWQgOiBtYW5nbGVkTmFtZSk7DQogICAgICAgICBlbHNlDQogICAgICAgICAgICAgcHJpbnRm
X3N0ZGVycl9jb21tb24oIiUtM2QgJXBcbiIsIGZyYW1lTnVtYmVyLCBzdGFja1tpXSk7DQorDQor
ICAgICAgICBmZ2V0cyhkYXRhLCA0MDk2LCBmZCk7DQorICAgICAgICBmcHJpbnRmKHN0ZGVyciwg
IiVzIiwgZGF0YSk7DQorICAgICAgICBmZ2V0cyhkYXRhLCA0MDk2LCBmZCk7DQorICAgICAgICBm
cHJpbnRmKHN0ZGVyciwgIiVzXG4iLCBkYXRhKTsNCisNCiAgICAgICAgIGZyZWUoY3hhRGVtYW5n
bGVkKTsNCiAgICAgfQ0KKyAgICBwY2xvc2UoZmQpOw0KDQogI2lmIFVTRShCQUNLVFJBQ0VfU1lN
Qk9MUykNCiAgICAgZnJlZShzeW1ib2xzKTsNCg0K
</data>

          </attachment>
      

    </bug>

</bugzilla>