Dlopen error in Qt application when saving canvas as .png

I have integrated ROOT TCanvas in a Qt application. It works fine if I right click on the canvas, SaveAs, OK. Then it saves the canvas with the default name, no problem. It also works fine if I save it as .pdf

However, if I specify to save it as .png in the prompted window, then it crashes. Do I have to include a special library in the project file, to solve this?

Attached the stack trace:
Thanks.

1  ??                                                                                                   0x7fffb2a905a4 
2  call_init                                                                     dl-init.c          72  0x7ffff7de76ba 
3  call_init                                                                     dl-init.c          30  0x7ffff7de77cb 
4  _dl_init                                                                      dl-init.c          120 0x7ffff7de77cb 
5  dl_open_worker                                                                dl-open.c          575 0x7ffff7dec8e2 
6  _dl_catch_error                                                               dl-error.c         187 0x7ffff7de7564 
7  _dl_open                                                                      dl-open.c          660 0x7ffff7debda9 
8  dlopen_doit                                                                   dlopen.c           66  0x7ffff1bf7f09 
9  _dl_catch_error                                                               dl-error.c         187 0x7ffff7de7564 
10 _dlerror_run                                                                  dlerror.c          163 0x7ffff1bf8571 
11 __dlopen                                                                      dlopen.c           87  0x7ffff1bf7fa1 
12 cling::utils::platform::DLOpen(std::string const&, std::string *)                                    0x7fffe658eeb6 
13 cling::DynamicLibraryManager::loadLibrary(std::string const&, bool, bool)                            0x7fffe64eb65f 
14 TCling::Load(const char *, bool)                                                                     0x7fffe6485f0c 
15 TSystem::Load(const char *, const char *, bool)                                                      0x7ffff62135ed 
16 TROOT::LoadClass(const char *, const char *, bool)                                                   0x7ffff612f3d7 
17 TCling::AutoLoad(const char *, bool)                                                                 0x7fffe6483d5d 
18 TClass::GetClass(const char *, bool, bool)                                                           0x7ffff6279363 
19 TClass::InheritsFrom(const char *) const                                                             0x7ffff627a41c 
20 TPad::Print(const char *, const char *)                                                              0x7ffff544d476 
21 TPad::SaveAs(const char *, const char *) const                                                       0x7ffff544f80b 
22 TClingCallFunc::exec(void *, void *)                                                                 0x7fffe64b1e1c 
23 TCling::Execute(TObject *, TClass *, const char *, const char *, bool, int *)                        0x7fffe6488d97 
24 TCling::Execute(TObject *, TClass *, const char *, const char *, int *)                              0x7fffe6488efe 
25 TObject::Execute(const char *, const char *, int *)                                                  0x7ffff61deaa4 
26 TContextMenu::Execute(TObject *, TFunction *, const char *)                                          0x7ffff61c4264 
27 TRootContextMenu::ProcessMessage(long, long, long)                                                   0x7ffff44b630c 
28 TGFrame::HandleClientMessage(Event_t *)                                                              0x7ffff43ca4a9 
29 TGFrame::HandleEvent(Event_t *)                                                                      0x7ffff43d8c97 
30 TGClient::HandleMaskEvent(Event_t *, unsigned long)                                                  0x7ffff4386427 
31 TGClient::ProcessOneEvent()                                                                          0x7ffff43865d3 
32 TGClient::HandleInput()                                                                              0x7ffff438669d 
33 TUnixSystem::DispatchOneEvent(bool)                                                                  0x7ffff62c5078 
34 TSystem::ProcessEvents()                                                                             0x7ffff620e332 
35 TGClient::WaitFor(TGWindow *)                                                                        0x7ffff4385375 
36 TRootDialog::Popup()                                                                                 0x7ffff44b985c 
37 TRootContextMenu::Dialog(TObject *, TFunction *)                                                     0x7ffff44b538d 
38 TContextMenu::Action(TObject *, TMethod *)                                                           0x7ffff61c30f0 
39 TRootContextMenu::ProcessMessage(long, long, long)                                                   0x7ffff44b6489 
40 TGFrame::HandleClientMessage(Event_t *)                                                              0x7ffff43ca4a9 
41 TGFrame::HandleEvent(Event_t *)                                                                      0x7ffff43d8c97 
42 TGClient::HandleEvent(Event_t *)                                                                     0x7ffff4386318 
43 TGClient::ProcessOneEvent()                                                                          0x7ffff4386635 
44 TGClient::HandleInput()                                                                              0x7ffff438669d 
45 TUnixSystem::DispatchOneEvent(bool)                                                                  0x7ffff62c5078 
46 TSystem::ProcessEvents()                                                                             0x7ffff620e332 
47 MainWindow::handleRootEvents                                                  mainwindow.cpp     196 0x62845f       
48 MainWindow::qt_static_metacall                                                moc_mainwindow.cpp 218 0x7d9e4f       
49 QMetaObject::activate(QObject *, int, int, void * *)                                                 0x7ffff3373d2a 
50 QTimer::timerEvent(QTimerEvent *)                                                                    0x7ffff33805c8 
51 QObject::event(QEvent *)                                                                             0x7ffff3374bb3 
52 QApplicationPrivate::notify_helper(QObject *, QEvent *)                                              0x7ffff3c3805c 
53 QApplication::notify(QObject *, QEvent *)                                                            0x7ffff3c3d516 
54 QCoreApplication::notifyInternal(QObject *, QEvent *)                                                0x7ffff334538b 
55 QTimerInfoList::activateTimers()                                                                     0x7ffff339a5ed 
56 ??                                                                                                   0x7ffff339aaf1 
57 g_main_context_dispatch                                                                              0x7fffefce6197 
58 ??                                                                                                   0x7fffefce63f0 
59 g_main_context_iteration                                                                             0x7fffefce649c 
60 QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)                           0x7ffff339b7cf 
61 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)                                              0x7ffff3342b4a 
62 QCoreApplication::exec()                                                                             0x7ffff334abec 
63 main                                                                          main.cpp           29  0x625862       

0x7fffb2a90590                   b3 00                 mov    $0x0,%bl
0x7fffb2a90592                   00 00                 add    %al,(%rax)
0x7fffb2a90594                   00 00                 add    %al,(%rax)
0x7fffb2a90596                   c6 05 93 ef b3 00 00  movb   $0x0,0xb3ef93(%rip)        # 0x7fffb35cf530
0x7fffb2a9059d                   48 89 05 94 ef b3 00  mov    %rax,0xb3ef94(%rip)        # 0x7fffb35cf538
0x7fffb2a905a4                   f0 ff 00              lock incl (%rax)
0x7fffb2a905a7                   0f 95 c2              setne  %dl
0x7fffb2a905aa                   f0 ff 0f              lock decl (%rdi)
0x7fffb2a905ad                   0f 95 c0              setne  %al
0x7fffb2a905b0                   84 c0                 test   %al,%al
0x7fffb2a905b2                   74 1e                 je     0x7fffb2a905d2
0x7fffb2a905b4                   48 8d 15 c5 99 b3 00  lea    0xb399c5(%rip),%rdx        # 0x7fffb35c9f80
0x7fffb2a905bb                   48 8d 35 5e ef b3 00  lea    0xb3ef5e(%rip),%rsi        # 0x7fffb35cf520
0x7fffb2a905c2                   48 8d 3d a7 19 1b 00  lea    0x1b19a7(%rip),%rdi        # 0x7fffb2c41f70
0x7fffb2a905c9                   48 83 c4 08           add    $0x8,%rsp
0x7fffb2a905cd                   e9 8e db ff ff        jmpq   0x7fffb2a8e160 <__cxa_atexit@plt>
0x7fffb2a905d2                   e8 a9 ed ff ff        callq  0x7fffb2a8f380 <_ZN7QString4freeEPNS_4DataE@plt>
0x7fffb2a905d7                   eb db                 jmp    0x7fffb2a905b4
0x7fffb2a905d9                   0f 1f 80 00 00 00 00  nopl   0x0(%rax)
0x7fffb2a905e0                   48 83 ec 08           sub    $0x8,%rsp
0x7fffb2a905e4                   8b 05 82 ef b3 00     mov    0xb3ef82(%rip),%eax        # 0x7fffb35cf56c
0x7fffb2a905ea                   85 c0                 test   %eax,%eax
0x7fffb2a905ec                   75 16                 jne    0x7fffb2a90604
0x7fffb2a905ee                   48 8d 3d e9 6a 6d 00  lea    0x6d6ae9(%rip),%rdi        # 0x7fffb31670de
0x7fffb2a905f5                   48 83 ce ff           or     $0xffffffffffffffff,%rsi
0x7fffb2a905f9                   e8 a2 f7 1d 00        callq  0x7fffb2c6fda0
0x7fffb2a905fe                   89 05 68 ef b3 00     mov    %eax,0xb3ef68(%rip)        # 0x7fffb35cf56c
0x7fffb2a90604                   48 8d 3d d3 6a 6d 00  lea    0x6d6ad3(%rip),%rdi        # 0x7fffb31670de


I cannot reproduce it with the standard root. Can you print what is the value of the string passed to TClass::InheritsFrom called from TPad::Print ? (line 19 and 20 in your trace back).

I use v6-12-04 and Qt 5.5.1

The string is “TGQt”.

Stop is at line14 TCling::Load:

filename="/opt/root/lib/libGQt.so"
system=<optimized out>
res = DLM->loadLibrary(filename, system);
res=cling::DynamicLibraryManager::kLoadLibNotFound (2)

But I do have libGQt installed:

locate libGQt.so
/opt/root/lib/libGQt.so

line 13 trace is:

0x7fffe5ca28e0                   41 57                       push   %r15
0x7fffe5ca28e2  <+0x0002>        41 56                       push   %r14
0x7fffe5ca28e4  <+0x0004>        41 55                       push   %r13
0x7fffe5ca28e6  <+0x0006>        41 54                       push   %r12
0x7fffe5ca28e8  <+0x0008>        49 89 fc                    mov    %rdi,%r12
0x7fffe5ca28eb  <+0x000b>        55                          push   %rbp
0x7fffe5ca28ec  <+0x000c>        53                          push   %rbx
0x7fffe5ca28ed  <+0x000d>        48 81 ec a8 00 00 00        sub    $0xa8,%rsp
0x7fffe5ca28f4  <+0x0014>        48 8d 5c 24 30              lea    0x30(%rsp),%rbx
0x7fffe5ca28f9  <+0x0019>        48 c7 44 24 38 00 00 00 00  movq   $0x0,0x38(%rsp)
0x7fffe5ca2902  <+0x0022>        c6 44 24 40 00              movb   $0x0,0x40(%rsp)
0x7fffe5ca2907  <+0x0027>        64 48 8b 04 25 28 00 00 00  mov    %fs:0x28,%rax
0x7fffe5ca2910  <+0x0030>        48 89 84 24 98 00 00 00     mov    %rax,0x98(%rsp)
0x7fffe5ca2918  <+0x0038>        31 c0                       xor    %eax,%eax
0x7fffe5ca291a  <+0x003a>        48 8d 43 10                 lea    0x10(%rbx),%rax
0x7fffe5ca291e  <+0x003e>        84 c9                       test   %cl,%cl
0x7fffe5ca2920  <+0x0040>        48 89 44 24 30              mov    %rax,0x30(%rsp)
0x7fffe5ca2925  <+0x0045>        0f 84 8d 00 00 00           je     0x7fffe5ca29b8 <_ZN5cling21DynamicLibraryManager11loadLibraryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+216>
0x7fffe5ca292b  <+0x004b>        48 8b 56 08                 mov    0x8(%rsi),%rdx
0x7fffe5ca292f  <+0x004f>        48 89 f5                    mov    %rsi,%rbp
0x7fffe5ca2932  <+0x0052>        41 8b 4c 24 20              mov    0x20(%r12),%ecx
0x7fffe5ca2937  <+0x0057>        49 8b 44 24 18              mov    0x18(%r12),%rax
0x7fffe5ca293c  <+0x005c>        4d 8d 6c 24 18              lea    0x18(%r12),%r13
0x7fffe5ca2941  <+0x0061>        48 8b 75 00                 mov    0x0(%rbp),%rsi
0x7fffe5ca2945  <+0x0065>        4c 89 ef                    mov    %r13,%rdi
0x7fffe5ca2948  <+0x0068>        4c 8d 34 c8                 lea    (%rax,%rcx,8),%r14
0x7fffe5ca294c  <+0x006c>        e8 0f cc cb 01              callq  0x7fffe795f560 <_ZNK4llvm13StringMapImpl7FindKeyENS_9StringRefE>
0x7fffe5ca2951  <+0x0071>        83 f8 ff                    cmp    $0xffffffff,%eax
0x7fffe5ca2954  <+0x0074>        0f 84 b6 00 00 00           je     0x7fffe5ca2a10 <_ZN5cling21DynamicLibraryManager11loadLibraryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+304>
0x7fffe5ca295a  <+0x007a>        49 8b 54 24 18              mov    0x18(%r12),%rdx
0x7fffe5ca295f  <+0x007f>        48 98                       cltq
0x7fffe5ca2961  <+0x0081>        48 8d 04 c2                 lea    (%rdx,%rax,8),%rax
0x7fffe5ca2965  <+0x0085>        49 39 c6                    cmp    %rax,%r14
0x7fffe5ca2968  <+0x0088>        41 bf 01 00 00 00           mov    $0x1,%r15d
0x7fffe5ca296e  <+0x008e>        0f 84 b4 00 00 00           je     0x7fffe5ca2a28 <_ZN5cling21DynamicLibraryManager11loadLibraryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+328>
0x7fffe5ca2974  <+0x0094>        48 8b 7c 24 30              mov    0x30(%rsp),%rdi
0x7fffe5ca2979  <+0x0099>        48 83 c3 10                 add    $0x10,%rbx
0x7fffe5ca297d  <+0x009d>        48 39 df                    cmp    %rbx,%rdi
0x7fffe5ca2980  <+0x00a0>        74 05                       je     0x7fffe5ca2987 <_ZN5cling21DynamicLibraryManager11loadLibraryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+167>
0x7fffe5ca2982  <+0x00a2>        e8 19 c6 d9 ff              callq  0x7fffe5a3efa0 <_ZdlPv@plt>
0x7fffe5ca2987  <+0x00a7>        48 8b 9c 24 98 00 00 00     mov    0x98(%rsp),%rbx
0x7fffe5ca298f  <+0x00af>        64 48 33 1c 25 28 00 00 00  xor    %fs:0x28,%rbx
0x7fffe5ca2998  <+0x00b8>        44 89 f8                    mov    %r15d,%eax
0x7fffe5ca299b  <+0x00bb>        0f 85 f9 03 00 00           jne    0x7fffe5ca2d9a <_ZN5cling21DynamicLibraryManager11loadLibraryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+1210>
0x7fffe5ca29a1  <+0x00c1>        48 81 c4 a8 00 00 00        add    $0xa8,%rsp
0x7fffe5ca29a8  <+0x00c8>        5b                          pop    %rbx
0x7fffe5ca29a9  <+0x00c9>        5d                          pop    %rbp
0x7fffe5ca29aa  <+0x00ca>        41 5c                       pop    %r12
0x7fffe5ca29ac  <+0x00cc>        41 5d                       pop    %r13
0x7fffe5ca29ae  <+0x00ce>        41 5e                       pop    %r14
0x7fffe5ca29b0  <+0x00d0>        41 5f                       pop    %r15
0x7fffe5ca29b2  <+0x00d2>        c3                          retq
0x7fffe5ca29b3  <+0x00d3>        0f 1f 44 00 00              nopl   0x0(%rax,%rax,1)
0x7fffe5ca29b8  <+0x00d8>        48 8b 16                    mov    (%rsi),%rdx
0x7fffe5ca29bb  <+0x00db>        48 8b 4e 08                 mov    0x8(%rsi),%rcx
0x7fffe5ca29bf  <+0x00df>        48 8d 6c 24 70              lea    0x70(%rsp),%rbp
0x7fffe5ca29c4  <+0x00e4>        48 89 fe                    mov    %rdi,%rsi
0x7fffe5ca29c7  <+0x00e7>        48 89 ef                    mov    %rbp,%rdi
0x7fffe5ca29ca  <+0x00ea>        e8 91 9c d9 ff              callq  0x7fffe5a3c660 <_ZNK5cling21DynamicLibraryManager13lookupLibraryB5cxx11EN4llvm9StringRefE@plt>
0x7fffe5ca29cf  <+0x00ef>        48 89 ee                    mov    %rbp,%rsi
0x7fffe5ca29d2  <+0x00f2>        48 89 df                    mov    %rbx,%rdi
0x7fffe5ca29d5  <+0x00f5>        48 83 c5 10                 add    $0x10,%rbp
0x7fffe5ca29d9  <+0x00f9>        e8 b2 14 da ff              callq  0x7fffe5a43e90 <_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4swapERS4_@plt>
0x7fffe5ca29de  <+0x00fe>        48 8b 7c 24 70              mov    0x70(%rsp),%rdi
0x7fffe5ca29e3  <+0x0103>        48 39 ef                    cmp    %rbp,%rdi
0x7fffe5ca29e6  <+0x0106>        74 05                       je     0x7fffe5ca29ed <_ZN5cling21DynamicLibraryManager11loadLibraryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+269>
0x7fffe5ca29e8  <+0x0108>        e8 b3 c5 d9 ff              callq  0x7fffe5a3efa0 <_ZdlPv@plt>
0x7fffe5ca29ed  <+0x010d>        48 8b 54 24 38              mov    0x38(%rsp),%rdx
0x7fffe5ca29f2  <+0x0112>        41 bf 02 00 00 00           mov    $0x2,%r15d
0x7fffe5ca29f8  <+0x0118>        48 85 d2                    test   %rdx,%rdx
0x7fffe5ca29fb  <+0x011b>        0f 84 73 ff ff ff           je     0x7fffe5ca2974 <_ZN5cling21DynamicLibraryManager11loadLibraryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+148>
0x7fffe5ca2a01  <+0x0121>        48 89 dd                    mov    %rbx,%rbp
0x7fffe5ca2a04  <+0x0124>        e9 29 ff ff ff              jmpq   0x7fffe5ca2932
(...)
0x7fffe5ca2a1e  <+0x013e>        e9 42 ff ff ff              jmpq   0x7fffe5ca2965 <_ZN5cling21DynamicLibraryManager11loadLibraryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+133>
0x7fffe5ca2a23  <+0x0143>        0f 1f 44 00 00              nopl   0x0(%rax,%rax,1)
0x7fffe5ca2a28  <+0x0148>        4c 8d 74 24 50              lea    0x50(%rsp),%r14
0x7fffe5ca2a2d  <+0x014d>        48 89 ef                    mov    %rbp,%rdi
0x7fffe5ca2a30  <+0x0150>        48 c7 44 24 58 00 00 00 00  movq   $0x0,0x58(%rsp)
0x7fffe5ca2a39  <+0x0159>        c6 44 24 60 00              movb   $0x0,0x60(%rsp)
0x7fffe5ca2a3e  <+0x015e>        49 8d 46 10                 lea    0x10(%r14),%rax
0x7fffe5ca2a42  <+0x0162>        4c 89 f6                    mov    %r14,%rsi
0x7fffe5ca2a45  <+0x0165>        48 89 44 24 50              mov    %rax,0x50(%rsp)
0x7fffe5ca2a4a  <+0x016a>        e8 51 aa d9 ff              callq  0x7fffe5a3d4a0 <_ZN5cling5utils8platform6DLOpenERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPS7_@plt>
0x7fffe5ca2a4f  <+0x016f>        48 85 c0                    test   %rax,%rax
0x7fffe5ca2a52  <+0x0172>        49 89 c7                    mov    %rax,%r15
0x7fffe5ca2a55  <+0x0175>        0f 84 c2 00 00 00           je     0x7fffe5ca2b1d <_ZN5cling21DynamicLibraryManager11loadLibraryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+573>
0x7fffe5ca2a5b  <+0x017b>        49 8b bc 24 58 04 00 00     mov    0x458(%r12),%rdi
0x7fffe5ca2a63  <+0x0183>        48 85 ff                    test   %rdi,%rdi
0x7fffe5ca2a66  <+0x0186>        74 11                       je     0x7fffe5ca2a79 <_ZN5cling21DynamicLibraryManager11loadLibraryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+409>
0x7fffe5ca2a68  <+0x0188>        48 8b 07                    mov    (%rdi),%rax
0x7fffe5ca2a6b  <+0x018b>        48 8b 55 00                 mov    0x0(%rbp),%rdx
0x7fffe5ca2a6f  <+0x018f>        4c 89 fe                    mov    %r15,%rsi
0x7fffe5ca2a72  <+0x0192>        48 8b 4d 08                 mov    0x8(%rbp),%rcx
0x7fffe5ca2a76  <+0x0196>        ff 50 60                    callq  *0x60(%rax)
0x7fffe5ca2a79  <+0x0199>        48 8b 75 00                 mov    0x0(%rbp),%rsi
0x7fffe5ca2a7d  <+0x019d>        4c 89 7c 24 70              mov    %r15,0x70(%rsp)
0x7fffe5ca2a82  <+0x01a2>        4c 8d 7c 24 70              lea    0x70(%rsp),%r15
0x7fffe5ca2a87  <+0x01a7>        49 8d 47 18                 lea    0x18(%r15),%rax
0x7fffe5ca2a8b  <+0x01ab>        49 8d 7f 08                 lea    0x8(%r15),%rdi
0x7fffe5ca2a8f  <+0x01af>        48 89 f2                    mov    %rsi,%rdx
0x7fffe5ca2a92  <+0x01b2>        48 03 55 08                 add    0x8(%rbp),%rdx
0x7fffe5ca2a96  <+0x01b6>        48 89 44 24 78              mov    %rax,0x78(%rsp)
0x7fffe5ca2a9b  <+0x01bb>        e8 40 e2 ff ff              callq  0x7fffe5ca0ce0 <_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag.isra.74>
0x7fffe5ca2aa0  <+0x01c0>        41 8b 74 24 10              mov    0x10(%r12),%esi
0x7fffe5ca2aa5  <+0x01c5>        85 f6                       test   %esi,%esi
0x7fffe5ca2aa7  <+0x01c7>        0f 84 63 02 00 00           je     0x7fffe5ca2d10 <_ZN5cling21DynamicLibraryManager11loadLibraryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+1072>
0x7fffe5ca2aad  <+0x01cd>        48 8b 4c 24 70              mov    0x70(%rsp),%rcx
0x7fffe5ca2ab2  <+0x01d2>        44 8d 4e ff                 lea    -0x1(%rsi),%r9d
0x7fffe5ca2ab6  <+0x01d6>        4d 8b 04 24                 mov    (%r12),%r8
0x7fffe5ca2aba  <+0x01da>        89 ca                       mov    %ecx,%edx
0x7fffe5ca2abc  <+0x01dc>        89 c8                       mov    %ecx,%eax
0x7fffe5ca2abe  <+0x01de>        c1 e8 09                    shr    $0x9,%eax
0x7fffe5ca2ac1  <+0x01e1>        c1 ea 04                    shr    $0x4,%edx
0x7fffe5ca2ac4  <+0x01e4>        31 c2                       xor    %eax,%edx
0x7fffe5ca2ac6  <+0x01e6>        44 21 ca                    and    %r9d,%edx
0x7fffe5ca2ac9  <+0x01e9>        89 d0                       mov    %edx,%eax
0x7fffe5ca2acb  <+0x01eb>        48 8d 04 80                 lea    (%rax,%rax,4),%rax
0x7fffe5ca2acf  <+0x01ef>        49 8d 04 c0                 lea    (%r8,%rax,8),%rax
0x7fffe5ca2ad3  <+0x01f3>        48 8b 38                    mov    (%rax),%rdi
0x7fffe5ca2ad6  <+0x01f6>        48 39 cf                    cmp    %rcx,%rdi
0x7fffe5ca2ad9  <+0x01f9>        0f 85 a4 00 00 00           jne    0x7fffe5ca2b83 <_ZN5cling21DynamicLibraryManager11loadLibraryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+675>
0x7fffe5ca2adf  <+0x01ff>        48 8b 7c 24 78              mov    0x78(%rsp),%rdi
0x7fffe5ca2ae4  <+0x0204>        49 83 c7 18                 add    $0x18,%r15
0x7fffe5ca2ae8  <+0x0208>        4c 39 ff                    cmp    %r15,%rdi
0x7fffe5ca2aeb  <+0x020b>        75 23                       jne    0x7fffe5ca2b10 <_ZN5cling21DynamicLibraryManager11loadLibraryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+560>
0x7fffe5ca2aed  <+0x020d>        41 bf 01 00 00 00           mov    $0x1,%r15d
0x7fffe5ca2af3  <+0x0213>        48 8b 7c 24 50              mov    0x50(%rsp),%rdi
0x7fffe5ca2af8  <+0x0218>        49 83 c6 10                 add    $0x10,%r14
0x7fffe5ca2afc  <+0x021c>        4c 39 f7                    cmp    %r14,%rdi
0x7fffe5ca2aff  <+0x021f>        0f 84 6f fe ff ff           je     0x7fffe5ca2974 <_ZN5cling21DynamicLibraryManager11loadLibraryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+148>
0x7fffe5ca2b05  <+0x0225>        e8 96 c4 d9 ff              callq  0x7fffe5a3efa0 <_ZdlPv@plt>
0x7fffe5ca2b0a  <+0x022a>        e9 65 fe ff ff              jmpq   0x7fffe5ca2974 <_ZN5cling21DynamicLibraryManager11loadLibraryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+148>
0x7fffe5ca2b0f  <+0x022f>        90                          nop
0x7fffe5ca2b10  <+0x0230>        e8 8b c4 d9 ff              callq  0x7fffe5a3efa0 <_ZdlPv@plt>
0x7fffe5ca2b15  <+0x0235>        41 bf 01 00 00 00           mov    $0x1,%r15d
0x7fffe5ca2b1b  <+0x023b>        eb d6                       jmp    0x7fffe5ca2af3 <_ZN5cling21DynamicLibraryManager11loadLibraryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+531>
0x7fffe5ca2b1d  <+0x023d>        e8 ce e2 d9 ff              callq  0x7fffe5a40df0 <_ZN5cling5utils4errsEv@plt>
0x7fffe5ca2b22  <+0x0242>        4c 8b 40 18                 mov    0x18(%rax),%r8
0x7fffe5ca2b26  <+0x0246>        48 8b 50 10                 mov    0x10(%rax),%rdx
0x7fffe5ca2b2a  <+0x024a>        4c 29 c2                    sub    %r8,%rdx
0x7fffe5ca2b2d  <+0x024d>        48 83 fa 2c                 cmp    $0x2c,%rdx
0x7fffe5ca2b31  <+0x0251>        0f 86 4a 02 00 00           jbe    0x7fffe5ca2d81 <_ZN5cling21DynamicLibraryManager11loadLibraryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+1185>
0x7fffe5ca2b37  <+0x0257>        48 8d 35 52 82 d1 01        lea    0x1d18252(%rip),%rsi        # 0x7fffe79bad90
0x7fffe5ca2b3e  <+0x025e>        b9 2d 00 00 00              mov    $0x2d,%ecx
0x7fffe5ca2b43  <+0x0263>        4c 89 c7                    mov    %r8,%rdi
0x7fffe5ca2b46  <+0x0266>        f3 a4                       rep movsb %ds:(%rsi),%es:(%rdi)
0x7fffe5ca2b48  <+0x0268>        48 83 40 18 2d              addq   $0x2d,0x18(%rax)
0x7fffe5ca2b4d  <+0x026d>        48 8b 54 24 58              mov    0x58(%rsp),%rdx
0x7fffe5ca2b52  <+0x0272>        48 8b 74 24 50              mov    0x50(%rsp),%rsi
0x7fffe5ca2b57  <+0x0277>        48 89 c7                    mov    %rax,%rdi
0x7fffe5ca2b5a  <+0x027a>        e8 a1 4b ce 01              callq  0x7fffe7987700 <_ZN4llvm11raw_ostream5writeEPKcm>
0x7fffe5ca2b5f  <+0x027f>        48 8b 50 18                 mov    0x18(%rax),%rdx
0x7fffe5ca2b63  <+0x0283>        48 3b 50 10                 cmp    0x10(%rax),%rdx
0x7fffe5ca2b67  <+0x0287>        0f 83 fc 01 00 00           jae    0x7fffe5ca2d69 <_ZN5cling21DynamicLibraryManager11loadLibraryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+1161>
0x7fffe5ca2b6d  <+0x028d>        48 8d 4a 01                 lea    0x1(%rdx),%rcx
0x7fffe5ca2b71  <+0x0291>        41 bf 03 00 00 00           mov    $0x3,%r15d
0x7fffe5ca2b77  <+0x0297>        48 89 48 18                 mov    %rcx,0x18(%rax)
0x7fffe5ca2b7b  <+0x029b>        c6 02 0a                    movb   $0xa,(%rdx)
0x7fffe5ca2b7e  <+0x029e>        e9 70 ff ff ff              jmpq   0x7fffe5ca2af3 <_ZN5cling21DynamicLibraryManager11loadLibraryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+531>
0x7fffe5ca2b83  <+0x02a3>        45 31 d2                    xor    %r10d,%r10d
0x7fffe5ca2b86  <+0x02a6>        48 83 ff fc                 cmp    $0xfffffffffffffffc,%rdi
0x7fffe5ca2b8a  <+0x02aa>        41 bb 01 00 00 00           mov    $0x1,%r11d
0x7fffe5ca2b90  <+0x02b0>        0f 85 0e 02 00 00           jne    0x7fffe5ca2da4 <_ZN5cling21DynamicLibraryManager11loadLibraryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+1220>
0x7fffe5ca2b96  <+0x02b6>        41 8b 54 24 08              mov    0x8(%r12),%edx
0x7fffe5ca2b9b  <+0x02bb>        8d 3c 76                    lea    (%rsi,%rsi,2),%edi
0x7fffe5ca2b9e  <+0x02be>        83 c2 01                    add    $0x1,%edx
0x7fffe5ca2ba1  <+0x02c1>        44 8d 04 95 00 00 00 00     lea    0x0(,%rdx,4),%r8d
0x7fffe5ca2ba9  <+0x02c9>        41 39 f8                    cmp    %edi,%r8d
0x7fffe5ca2bac  <+0x02cc>        0f 83 5e 01 00 00           jae    0x7fffe5ca2d10 <_ZN5cling21DynamicLibraryManager11loadLibraryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+1072>
0x7fffe5ca2bb2  <+0x02d2>        89 f7                       mov    %esi,%edi
0x7fffe5ca2bb4  <+0x02d4>        41 2b 7c 24 0c              sub    0xc(%r12),%edi
0x7fffe5ca2bb9  <+0x02d9>        41 89 f0                    mov    %esi,%r8d
0x7fffe5ca2bbc  <+0x02dc>        41 c1 e8 03                 shr    $0x3,%r8d
0x7fffe5ca2bc0  <+0x02e0>        29 d7                       sub    %edx,%edi
0x7fffe5ca2bc2  <+0x02e2>        44 39 c7                    cmp    %r8d,%edi
0x7fffe5ca2bc5  <+0x02e5>        0f 86 47 01 00 00           jbe    0x7fffe5ca2d12 <_ZN5cling21DynamicLibraryManager11loadLibraryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+1074>
0x7fffe5ca2bcb  <+0x02eb>        41 89 54 24 08              mov    %edx,0x8(%r12)
0x7fffe5ca2bd0  <+0x02f0>        48 83 38 fc                 cmpq   $0xfffffffffffffffc,(%rax)
0x7fffe5ca2bd4  <+0x02f4>        74 06                       je     0x7fffe5ca2bdc <_ZN5cling21DynamicLibraryManager11loadLibraryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+764>
0x7fffe5ca2bd6  <+0x02f6>        41 83 6c 24 0c 01           subl   $0x1,0xc(%r12)
0x7fffe5ca2bdc  <+0x02fc>        48 8d 50 18                 lea    0x18(%rax),%rdx
0x7fffe5ca2be0  <+0x0300>        48 89 08                    mov    %rcx,(%rax)
0x7fffe5ca2be3  <+0x0303>        49 83 c7 18                 add    $0x18,%r15
0x7fffe5ca2be7  <+0x0307>        48 89 50 08                 mov    %rdx,0x8(%rax)
0x7fffe5ca2beb  <+0x030b>        48 8b 54 24 78              mov    0x78(%rsp),%rdx
0x7fffe5ca2bf0  <+0x0310>        4c 39 fa                    cmp    %r15,%rdx
0x7fffe5ca2bf3  <+0x0313>        0f 84 48 01 00 00           je     0x7fffe5ca2d41 <_ZN5cling21DynamicLibraryManager11loadLibraryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+1121>
0x7fffe5ca2bf9  <+0x0319>        48 89 50 08                 mov    %rdx,0x8(%rax)
0x7fffe5ca2bfd  <+0x031d>        48 8b 94 24 88 00 00 00     mov    0x88(%rsp),%rdx
0x7fffe5ca2c05  <+0x0325>        48 89 50 18                 mov    %rdx,0x18(%rax)
0x7fffe5ca2c09  <+0x0329>        48 8b 94 24 80 00 00 00     mov    0x80(%rsp),%rdx
0x7fffe5ca2c11  <+0x0331>        4c 89 ef                    mov    %r13,%rdi
0x7fffe5ca2c14  <+0x0334>        48 89 50 10                 mov    %rdx,0x10(%rax)
0x7fffe5ca2c18  <+0x0338>        4c 8b 7d 00                 mov    0x0(%rbp),%r15
0x7fffe5ca2c1c  <+0x033c>        48 8b 6d 08                 mov    0x8(%rbp),%rbp
0x7fffe5ca2c20  <+0x0340>        4c 89 fe                    mov    %r15,%rsi
0x7fffe5ca2c23  <+0x0343>        48 89 ea                    mov    %rbp,%rdx
0x7fffe5ca2c26  <+0x0346>        e8 95 c7 cb 01              callq  0x7fffe795f3c0 <_ZN4llvm13StringMapImpl15LookupBucketForENS_9StringRefE>
0x7fffe5ca2c2b  <+0x034b>        89 c2                       mov    %eax,%edx
0x7fffe5ca2c2d  <+0x034d>        49 8b 44 24 18              mov    0x18(%r12),%rax
0x7fffe5ca2c32  <+0x0352>        49 89 d0                    mov    %rdx,%r8
0x7fffe5ca2c35  <+0x0355>        4c 8d 0c d0                 lea    (%rax,%rdx,8),%r9
0x7fffe5ca2c39  <+0x0359>        49 8b 01                    mov    (%r9),%rax
0x7fffe5ca2c3c  <+0x035c>        48 85 c0                    test   %rax,%rax
0x7fffe5ca2c3f  <+0x035f>        74 0e                       je     0x7fffe5ca2c4f <_ZN5cling21DynamicLibraryManager11loadLibraryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+879>
0x7fffe5ca2c41  <+0x0361>        48 83 f8 fc                 cmp    $0xfffffffffffffffc,%rax
0x7fffe5ca2c45  <+0x0365>        74 08                       je     0x7fffe5ca2c4f <_ZN5cling21DynamicLibraryManager11loadLibraryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+879>
0x7fffe5ca2c47  <+0x0367>        45 31 ff                    xor    %r15d,%r15d
0x7fffe5ca2c4a  <+0x036a>        e9 a4 fe ff ff              jmpq   0x7fffe5ca2af3 <_ZN5cling21DynamicLibraryManager11loadLibraryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+531>
0x7fffe5ca2c4f  <+0x036f>        48 83 f8 fc                 cmp    $0xfffffffffffffffc,%rax
0x7fffe5ca2c53  <+0x0373>        0f 84 05 01 00 00           je     0x7fffe5ca2d5e <_ZN5cling21DynamicLibraryManager11loadLibraryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+1150>
0x7fffe5ca2c59  <+0x0379>        8d 7d 09                    lea    0x9(%rbp),%edi
0x7fffe5ca2c5c  <+0x037c>        4c 89 4c 24 10              mov    %r9,0x10(%rsp)
0x7fffe5ca2c61  <+0x0381>        44 89 44 24 0c              mov    %r8d,0xc(%rsp)
0x7fffe5ca2c66  <+0x0386>        e8 65 f0 d9 ff              callq  0x7fffe5a41cd0 <malloc@plt>
0x7fffe5ca2c6b  <+0x038b>        48 85 c0                    test   %rax,%rax
0x7fffe5ca2c6e  <+0x038e>        48 89 c1                    mov    %rax,%rcx
0x7fffe5ca2c71  <+0x0391>        44 8b 44 24 0c              mov    0xc(%rsp),%r8d
0x7fffe5ca2c76  <+0x0396>        4c 8b 4c 24 10              mov    0x10(%rsp),%r9
0x7fffe5ca2c7b  <+0x039b>        74 06                       je     0x7fffe5ca2c83 <_ZN5cling21DynamicLibraryManager11loadLibraryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+931>
0x7fffe5ca2c7d  <+0x039d>        89 28                       mov    %ebp,(%rax)
0x7fffe5ca2c7f  <+0x039f>        c6 40 04 00                 movb   $0x0,0x4(%rax)
0x7fffe5ca2c83  <+0x03a3>        85 ed                       test   %ebp,%ebp
0x7fffe5ca2c85  <+0x03a5>        48 8d 79 08                 lea    0x8(%rcx),%rdi
0x7fffe5ca2c89  <+0x03a9>        75 54                       jne    0x7fffe5ca2cdf <_ZN5cling21DynamicLibraryManager11loadLibraryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+1023>
0x7fffe5ca2c8b  <+0x03ab>        31 ed                       xor    %ebp,%ebp
0x7fffe5ca2c8d  <+0x03ad>        c6 44 29 08 00              movb   $0x0,0x8(%rcx,%rbp,1)
0x7fffe5ca2c92  <+0x03b2>        49 89 09                    mov    %rcx,(%r9)
0x7fffe5ca2c95  <+0x03b5>        44 89 c6                    mov    %r8d,%esi
0x7fffe5ca2c98  <+0x03b8>        41 83 44 24 24 01           addl   $0x1,0x24(%r12)
0x7fffe5ca2c9e  <+0x03be>        4c 89 ef                    mov    %r13,%rdi
0x7fffe5ca2ca1  <+0x03c1>        e8 4a ca cb 01              callq  0x7fffe795f6f0 <_ZN4llvm13StringMapImpl11RehashTableEj>
0x7fffe5ca2ca6  <+0x03c6>        49 8b 54 24 18              mov    0x18(%r12),%rdx
0x7fffe5ca2cab  <+0x03cb>        89 c0                       mov    %eax,%eax
0x7fffe5ca2cad  <+0x03cd>        48 8d 04 c2                 lea    (%rdx,%rax,8),%rax
0x7fffe5ca2cb1  <+0x03d1>        48 8b 10                    mov    (%rax),%rdx
0x7fffe5ca2cb4  <+0x03d4>        48 85 d2                    test   %rdx,%rdx
0x7fffe5ca2cb7  <+0x03d7>        74 06                       je     0x7fffe5ca2cbf <_ZN5cling21DynamicLibraryManager11loadLibraryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+991>
0x7fffe5ca2cb9  <+0x03d9>        48 83 fa fc                 cmp    $0xfffffffffffffffc,%rdx
0x7fffe5ca2cbd  <+0x03dd>        75 88                       jne    0x7fffe5ca2c47 <_ZN5cling21DynamicLibraryManager11loadLibraryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+871>
0x7fffe5ca2cbf  <+0x03df>        48 83 c0 08                 add    $0x8,%rax
0x7fffe5ca2cc3  <+0x03e3>        0f 1f 44 00 00              nopl   0x0(%rax,%rax,1)
0x7fffe5ca2cc8  <+0x03e8>        48 8b 10                    mov    (%rax),%rdx
0x7fffe5ca2ccb  <+0x03eb>        48 83 c0 08                 add    $0x8,%rax
0x7fffe5ca2ccf  <+0x03ef>        48 83 fa fc                 cmp    $0xfffffffffffffffc,%rdx
0x7fffe5ca2cd3  <+0x03f3>        74 f3                       je     0x7fffe5ca2cc8 <_ZN5cling21DynamicLibraryManager11loadLibraryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+1000>
0x7fffe5ca2cd5  <+0x03f5>        48 85 d2                    test   %rdx,%rdx
0x7fffe5ca2cd8  <+0x03f8>        74 ee                       je     0x7fffe5ca2cc8 <_ZN5cling21DynamicLibraryManager11loadLibraryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+1000>
0x7fffe5ca2cda  <+0x03fa>        e9 68 ff ff ff              jmpq   0x7fffe5ca2c47 <_ZN5cling21DynamicLibraryManager11loadLibraryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+871>
0x7fffe5ca2cdf  <+0x03ff>        89 ed                       mov    %ebp,%ebp
0x7fffe5ca2ce1  <+0x0401>        4c 89 fe                    mov    %r15,%rsi
0x7fffe5ca2ce4  <+0x0404>        48 89 4c 24 18              mov    %rcx,0x18(%rsp)
0x7fffe5ca2ce9  <+0x0409>        48 89 ea                    mov    %rbp,%rdx
0x7fffe5ca2cec  <+0x040c>        4c 89 4c 24 10              mov    %r9,0x10(%rsp)
0x7fffe5ca2cf1  <+0x0411>        44 89 44 24 0c              mov    %r8d,0xc(%rsp)
0x7fffe5ca2cf6  <+0x0416>        e8 25 93 d9 ff              callq  0x7fffe5a3c020 <memcpy@plt>
0x7fffe5ca2cfb  <+0x041b>        48 8b 4c 24 18              mov    0x18(%rsp),%rcx
0x7fffe5ca2d00  <+0x0420>        4c 8b 4c 24 10              mov    0x10(%rsp),%r9
0x7fffe5ca2d05  <+0x0425>        44 8b 44 24 0c              mov    0xc(%rsp),%r8d
0x7fffe5ca2d0a  <+0x042a>        eb 81                       jmp    0x7fffe5ca2c8d <_ZN5cling21DynamicLibraryManager11loadLibraryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+941>
0x7fffe5ca2d0c  <+0x042c>        0f 1f 40 00                 nopl   0x0(%rax)
0x7fffe5ca2d10  <+0x0430>        01 f6                       add    %esi,%esi
0x7fffe5ca2d12  <+0x0432>        4c 89 e7                    mov    %r12,%rdi
0x7fffe5ca2d15  <+0x0435>        e8 76 f9 ff ff              callq  0x7fffe5ca2690 <_ZN4llvm8DenseMapIPKvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_12DenseMapInfoIS2_EENS_6detail12DenseMapPairIS2_S8_EEE4growEj>
0x7fffe5ca2d1a  <+0x043a>        48 8d 54 24 28              lea    0x28(%rsp),%rdx
0x7fffe5ca2d1f  <+0x043f>        4c 89 fe                    mov    %r15,%rsi
0x7fffe5ca2d22  <+0x0442>        4c 89 e7                    mov    %r12,%rdi
0x7fffe5ca2d25  <+0x0445>        e8 a6 f8 ff ff              callq  0x7fffe5ca25d0 <_ZNK4llvm12DenseMapBaseINS_8DenseMapIPKvNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_12DenseMapInfoIS3_EENS_6detail12DenseMapPairIS3_S9_EEEES3_S9_SB_SE_E15LookupBucketForIS3_EEbRKT_RPKSE_>
0x7fffe5ca2d2a  <+0x044a>        41 8b 54 24 08              mov    0x8(%r12),%edx
0x7fffe5ca2d2f  <+0x044f>        48 8b 44 24 28              mov    0x28(%rsp),%rax
0x7fffe5ca2d34  <+0x0454>        48 8b 4c 24 70              mov    0x70(%rsp),%rcx
0x7fffe5ca2d39  <+0x0459>        83 c2 01                    add    $0x1,%edx
0x7fffe5ca2d3c  <+0x045c>        e9 8a fe ff ff              jmpq   0x7fffe5ca2bcb <_ZN5cling21DynamicLibraryManager11loadLibraryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+747>
0x7fffe5ca2d41  <+0x0461>        48 8b b4 24 88 00 00 00     mov    0x88(%rsp),%rsi
0x7fffe5ca2d49  <+0x0469>        48 8b bc 24 90 00 00 00     mov    0x90(%rsp),%rdi
0x7fffe5ca2d51  <+0x0471>        48 89 70 18                 mov    %rsi,0x18(%rax)
0x7fffe5ca2d55  <+0x0475>        48 89 78 20                 mov    %rdi,0x20(%rax)
0x7fffe5ca2d59  <+0x0479>        e9 ab fe ff ff              jmpq   0x7fffe5ca2c09 <_ZN5cling21DynamicLibraryManager11loadLibraryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+809>
0x7fffe5ca2d5e  <+0x047e>        41 83 6c 24 28 01           subl   $0x1,0x28(%r12)
0x7fffe5ca2d64  <+0x0484>        e9 f0 fe ff ff              jmpq   0x7fffe5ca2c59 <_ZN5cling21DynamicLibraryManager11loadLibraryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+889>
0x7fffe5ca2d69  <+0x0489>        be 0a 00 00 00              mov    $0xa,%esi
0x7fffe5ca2d6e  <+0x048e>        48 89 c7                    mov    %rax,%rdi
0x7fffe5ca2d71  <+0x0491>        41 bf 03 00 00 00           mov    $0x3,%r15d
0x7fffe5ca2d77  <+0x0497>        e8 54 44 ce 01              callq  0x7fffe79871d0 <_ZN4llvm11raw_ostream5writeEh>
0x7fffe5ca2d7c  <+0x049c>        e9 72 fd ff ff              jmpq   0x7fffe5ca2af3 <_ZN5cling21DynamicLibraryManager11loadLibraryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+531>
0x7fffe5ca2d81  <+0x04a1>        48 8d 35 08 80 d1 01        lea    0x1d18008(%rip),%rsi        # 0x7fffe79bad90
0x7fffe5ca2d88  <+0x04a8>        ba 2d 00 00 00              mov    $0x2d,%edx
0x7fffe5ca2d8d  <+0x04ad>        48 89 c7                    mov    %rax,%rdi
0x7fffe5ca2d90  <+0x04b0>        e8 6b 49 ce 01              callq  0x7fffe7987700 <_ZN4llvm11raw_ostream5writeEPKcm>
0x7fffe5ca2d95  <+0x04b5>        e9 b3 fd ff ff              jmpq   0x7fffe5ca2b4d <_ZN5cling21DynamicLibraryManager11loadLibraryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+621>
0x7fffe5ca2d9a  <+0x04ba>        e8 21 a9 d9 ff              callq  0x7fffe5a3d6c0 <__stack_chk_fail@plt>
0x7fffe5ca2d9f  <+0x04bf>        44 8b 5c 24 0c              mov    0xc(%rsp),%r11d
0x7fffe5ca2da4  <+0x04c4>        4d 85 d2                    test   %r10,%r10
0x7fffe5ca2da7  <+0x04c7>        75 08                       jne    0x7fffe5ca2db1 <_ZN5cling21DynamicLibraryManager11loadLibraryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+1233>
0x7fffe5ca2da9  <+0x04c9>        48 83 ff f8                 cmp    $0xfffffffffffffff8,%rdi
0x7fffe5ca2dad  <+0x04cd>        4c 0f 44 d0                 cmove  %rax,%r10
0x7fffe5ca2db1  <+0x04d1>        41 8d 43 01                 lea    0x1(%r11),%eax
0x7fffe5ca2db5  <+0x04d5>        44 01 da                    add    %r11d,%edx
0x7fffe5ca2db8  <+0x04d8>        44 21 ca                    and    %r9d,%edx
0x7fffe5ca2dbb  <+0x04db>        89 44 24 0c                 mov    %eax,0xc(%rsp)
0x7fffe5ca2dbf  <+0x04df>        89 d0                       mov    %edx,%eax
0x7fffe5ca2dc1  <+0x04e1>        48 6b c0 28                 imul   $0x28,%rax,%rax
0x7fffe5ca2dc5  <+0x04e5>        4c 01 c0                    add    %r8,%rax
0x7fffe5ca2dc8  <+0x04e8>        48 8b 38                    mov    (%rax),%rdi
0x7fffe5ca2dcb  <+0x04eb>        48 39 f9                    cmp    %rdi,%rcx
0x7fffe5ca2dce  <+0x04ee>        0f 84 0b fd ff ff           je     0x7fffe5ca2adf <_ZN5cling21DynamicLibraryManager11loadLibraryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+511>
0x7fffe5ca2dd4  <+0x04f4>        48 83 ff fc                 cmp    $0xfffffffffffffffc,%rdi
0x7fffe5ca2dd8  <+0x04f8>        75 c5                       jne    0x7fffe5ca2d9f <_ZN5cling21DynamicLibraryManager11loadLibraryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+1215>
0x7fffe5ca2dda  <+0x04fa>        4d 85 d2                    test   %r10,%r10
0x7fffe5ca2ddd  <+0x04fd>        49 0f 45 c2                 cmovne %r10,%rax
0x7fffe5ca2de1  <+0x0501>        e9 b0 fd ff ff              jmpq   0x7fffe5ca2b96 <_ZN5cling21DynamicLibraryManager11loadLibraryERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEbb+694>

The same crash also happens if I just do on the main.cpp function:

gSystem->Load("libGQt.so");

Maybe it has something to do with this?

https://sft.its.cern.ch/jira/browse/ROOT-4932

Anyway, I have hacked the code so that I don’t get this segmentation violation, by changing line 4842 of TPad.cxx to:
if (false && gVirtualX->InheritsFrom("TGQt")) {
so that InheritsFrom does not get called.

Anyway, I think a fix should be provided for this issue, or at least a warning.

You should not load libGQt.so … the system does it for you.
On which machine are you running ?
what is your VirtualX ? X11 ?

I do not load libGQt, the code in TPad.cxx asks if gVirtualX inherits from TGQt. When asking that question, it tries to load it and causes the crash. I do not understand why the function InheritsFrom provokes ROOT to load libGQt.

I use Ubuntu, sometimes over ssh. gVirtualX->GetName() prints (const char *) “X11TTF”

12 cling::utils::platform::DLOpen(std::string const&, std::string *)                                    0x7fffe658eeb6 
13 cling::DynamicLibraryManager::loadLibrary(std::string const&, bool, bool)                            0x7fffe64eb65f 
14 TCling::Load(const char *, bool)                                                                     0x7fffe6485f0c 
15 TSystem::Load(const char *, const char *, bool)                                                      0x7ffff62135ed 
16 TROOT::LoadClass(const char *, const char *, bool)                                                   0x7ffff612f3d7 
17 TCling::AutoLoad(const char *, bool)                                                                 0x7fffe6483d5d 
18 TClass::GetClass(const char *, bool, bool)                                                           0x7ffff6279363 
19 TClass::InheritsFrom(const char *) const                                                             0x7ffff627a41c 
20 TPad::Print(const char *, const char *)

This code is always there and if gVirtualX doesn’t inherits from TGQt then it goes on… No need to load libGQt for that. Yes. X11TTF is the X11 version of gVirtualX. So you get this crash only if you include your code in a Qt context ? on the same machine if you run the normal root is it ok ?

Exactly. I just get this crash when running this code from a Qt application, not when running directly from the ROOT console. I do not load libGQt anywhere in the code.

The crash just happens when I save my canvas as .png

That really weird because ROOT should not be aware it is running in a Qt environment … for ROOT it is just the X11 version. May be @bellenot as some idea about it

I agree.
Even with this minimalistic example, the app crashes:

   qDebug() << gVirtualX->GetName();
    if(gVirtualX->InheritsFrom("TGQt"))
    {
        qDebug() << "yes";
    }
    else
    {
        qDebug() << "no";
    }
Starting /home/build-pga-Desktop-Release/pga...
X11TTF
The program has unexpectedly finished.
/home/build-pga-Desktop-Release/pga crashed.

Well, if I understand correctly, you don’t use QtROOT or QtGSI, right? In this case, it could come when loading a third party library (libpng?)

I do not use QtROOT or QtGSI. I just use the TCanvas class form ROOT to display some graphs in my Qt project.

The stack trace says that the crash happens when libGQt is loaded, which happens implicitly when saving a canvas as .png

This is my project file:

LIBS+=\
        -lm \
        -lgsl \
        -lgslcblas \
        -lceres \
        -lglog \
        -lgomp \
        -lsuitesparseconfig \
        -lcholmod \
        -lblas -llapack \
        -L/opt/root/lib -lCore -lRIO -lNet -lHist -lGraf -lGraf3d \
        -lGpad -lTree -lRint -lPostscript -lMatrix -lPhysics \
        -lMathCore -lThread -lMultiProc -pthread -lm -ldl -rdynamic -lSpectrum \
        -lMinuit -lImt -ltbb -lMathMore -lGui
    INCLUDEPATH += /usr/include/eigen3
    INCLUDEPATH += /opt/root/include

I don’t see how this could happen…
Are you sure there is not qt whatsoever in Gui.Backend or in Gui.Factory in your $(ROOTSYS)/etc/system.rootrc (or in your $(HOME)/.rootrc, if any)? I.e. it should look like:

Gui.Backend:                native
Gui.Factory:                native

If everything is clean, and if you’re right, then we’ll have to debug the plugin mechanism… (it should not load anything when checking for class inheritance…)
BTW, why is libGQt there at all? (i.e. why did you enable qt when building ROOT?)

Cheers, Bertrand.

I checked all .rootrc in my PC. All say

Gui.Backend:                native
Gui.Factory:                native

I enabled qt in the build for testing purposes. I have tried now with prebuilt root_v6.10.02.Linux-ubuntu16-x86_64-gcc5.4.tar.gz, which I guess has no QT enabled, and this way it does not crash, it just gives a warning:

Error in <TInterpreter::TCling::AutoLoad>: failure loading library libGQt.so for TGQt
Info in <TCanvas::Print>: file a.png has been created

In other words, if libGQt.so is present in the library path, it tries to load it and causes the crash.

The pathway how it gets loaded is clear in this trace:

12 cling::utils::platform::DLOpen(std::string const&, std::string *)                                    0x7fffe658eeb6 
13 cling::DynamicLibraryManager::loadLibrary(std::string const&, bool, bool)                            0x7fffe64eb65f 
14 TCling::Load(const char *, bool)                                                                     0x7fffe6485f0c 
15 TSystem::Load(const char *, const char *, bool)                                                      0x7ffff62135ed 
16 TROOT::LoadClass(const char *, const char *, bool)                                                   0x7ffff612f3d7 
17 TCling::AutoLoad(const char *, bool)                                                                 0x7fffe6483d5d 
18 TClass::GetClass(const char *, bool, bool)                                                           0x7ffff6279363 
19 TClass::InheritsFrom(const char *) const                                                             0x7ffff627a41c 
20 TPad::Print(const char *, const char *)

Ok, thanks for the information, we’ll check what’s the issue

Cheers, Bertrand

FYI, I tried with the master branch and Qt4, and the only message I got when saving as png is this one:

libpng warning: Application built with libpng-1.2.55 but running with 1.5.13
Info in <TCanvas::Print>: file c1.png has been created

I’ll try with Qt5 to see if it make a difference…

Hi,

So I managed to reproduce the crash and a protection has been added in the master branch of ROOT (commit 73a488b). But I would advise to not build ROOT with Qt anyway, since this is not needed at all for embedding a TCanvas in a Qt application (as you know)

Cheers, Bertrand.

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.