Re: [DynInst_API:] Failed assertion in dyninst-10.0.0


Date: Wed, 12 Dec 2018 12:11:43 -0600
From: John Mellor-Crummey <johnmc@xxxxxxxx>
Subject: Re: [DynInst_API:] Failed assertion in dyninst-10.0.0
Ben,

We were seeing this problem on  x86_64. 

Yizi could provide a complete test program if that would be helpful. This week, Yizi wrote a simple test program that would instrument the entry to a single routine âfooâ in a simple program. The goal of this test program was to gain insight into the form and behavior of code generated by your new support in the emitter for marking frames to aid in call stack unwinding. To use this code, we tried the new Dyninst 10.0 release and the Dyninst master branch. We saw the same error with both.

We donât think believe this is a novice mistake as Yizi successfully used an earlier version of Dyninst to instrument loads and stores for data race detection.
--
John Mellor-Crummey Professor
Dept of Computer Science Rice University
email: johnmc@xxxxxxxx phone: 713-348-5179

On Dec 12, 2018, at 12:02 PM, Benjamin Welton <welton@xxxxxxxxxxx> wrote:

Hey John/Yizi,

What platform are you seeing this issue on? 

Ben

From: Dyninst-api <dyninst-api-bounces@xxxxxxxxxxx> on behalf of John Mellor-Crummey <johnmc@xxxxxxxx>
Sent: Wednesday, December 12, 2018 11:48:18 AM
To: Yizi Gu
Cc: dyninst-api@xxxxxxxxxxx
Subject: Re: [DynInst_API:] Failed assertion in dyninst-10.0.0
 
The problem Yizi describes occurs when trying to generate code for a call to a Dyninst bookkeeping routine with a name that is approximately Dyninst_init_tramp_guard.
--
John Mellor-Crummey  Professor
Dept of Computer Science  Rice University
email: johnmc@xxxxxxxx phone: 713-348-5179

On Dec 12, 2018, at 11:45 AM, Yizi Gu <yg31@xxxxxxxx> wrote:

Hi,

I encountered an assertion failure when trying to instrument a binary using dyninst-10.0.0. I installed Dyninst using spack. I am not sure if the assertion failure is triggered by client code or not.
The assertion failure is:  virtual bool AstCallNode::initRegisters(codeGen&): Assertion `callee' failed.
May I get some help on this problem? Thanks!

Best regards,
Yizi 

#0  0x00007f00f65bb1f7 in raise () from /lib64/libc.so.6
#1  0x00007f00f65bc8e8 in abort () from /lib64/libc.so.6
#2  0x00007f00f65b4266 in __assert_fail_base () from /lib64/libc.so.6
#3  0x00007f00f65b4312 in __assert_fail () from /lib64/libc.so.6
#4  0x00007f00f83e774d in AstCallNode::initRegisters (this=0x25c42e20, gen=...) at /home/yg31/spack/var/spack/stage/dyninst-develop-e37ilmcrv7gd6ykdobre5ijownoabgzp/dyninst/dyninstAPI/src/ast.C:2070
#5  0x00007f00f83e2ac8 in AstOperatorNode::initRegisters (this=0x25c42ea0, g=...) at /home/yg31/spack/var/spack/stage/dyninst-develop-e37ilmcrv7gd6ykdobre5ijownoabgzp/dyninst/dyninstAPI/src/ast.C:1142
#6  0x00007f00f8410109 in baseTramp::generateCodeInlined (this=0x25761f60, gen=...)
    at /home/yg31/spack/var/spack/stage/dyninst-develop-e37ilmcrv7gd6ykdobre5ijownoabgzp/dyninst/dyninstAPI/src/baseTramp.C:355
#7  0x00007f00f840fa80 in baseTramp::generateCode (this=0x25761f60, gen=..., baseInMutatee=7340032)
    at /home/yg31/spack/var/spack/stage/dyninst-develop-e37ilmcrv7gd6ykdobre5ijownoabgzp/dyninst/dyninstAPI/src/baseTramp.C:219
#8  0x00007f00f8521ceb in Dyninst::Relocation::InstWidgetPatch::apply (this=0x25d48ce0, gen=...)
    at /home/yg31/spack/var/spack/stage/dyninst-develop-e37ilmcrv7gd6ykdobre5ijownoabgzp/dyninst/dyninstAPI/src/Relocation/Widgets/InstWidget.C:88
#9  0x00007f00f854e066 in Dyninst::Relocation::CodeBuffer::BufferElement::generate (this=0x25e1ae60, buf=0x25c30128, gen=..., shift=@0x25c302bc: 0, regenerate=@0x7fff447d177f: false)
    at /home/yg31/spack/var/spack/stage/dyninst-develop-e37ilmcrv7gd6ykdobre5ijownoabgzp/dyninst/dyninstAPI/src/Relocation/CodeBuffer.C:117
#10 0x00007f00f854e9eb in Dyninst::Relocation::CodeBuffer::generate (this=0x25c30128, baseAddr=7340032)
    at /home/yg31/spack/var/spack/stage/dyninst-develop-e37ilmcrv7gd6ykdobre5ijownoabgzp/dyninst/dyninstAPI/src/Relocation/CodeBuffer.C:274
#11 0x00007f00f8503c58 in Dyninst::Relocation::CodeMover::relocate (this=0x25c30080, addr=7340032)
    at /home/yg31/spack/var/spack/stage/dyninst-develop-e37ilmcrv7gd6ykdobre5ijownoabgzp/dyninst/dyninstAPI/src/Relocation/CodeMover.C:179
#12 0x00007f00f84194c0 in AddressSpace::generateCode (this=0x1e67b10, cm=..., nearTo=4195258)
    at /home/yg31/spack/var/spack/stage/dyninst-develop-e37ilmcrv7gd6ykdobre5ijownoabgzp/dyninst/dyninstAPI/src/addressSpace.C:1981
#13 0x00007f00f841841f in AddressSpace::relocateInt (this=0x1e67b10, begin=, end=, nearTo=4195258)
    at /home/yg31/spack/var/spack/stage/dyninst-develop-e37ilmcrv7gd6ykdobre5ijownoabgzp/dyninst/dyninstAPI/src/addressSpace.C:1786
#14 0x00007f00f8417f9c in AddressSpace::relocate (this=0x1e67b10) at /home/yg31/spack/var/spack/stage/dyninst-develop-e37ilmcrv7gd6ykdobre5ijownoabgzp/dyninst/dyninstAPI/src/addressSpace.C:1739
#15 0x00007f00f8556144 in Dyninst::PatchAPI::DynInstrumenter::run (this=0x1e86f70)
    at /home/yg31/spack/var/spack/stage/dyninst-develop-e37ilmcrv7gd6ykdobre5ijownoabgzp/dyninst/dyninstAPI/src/Relocation/DynInstrumenter.C:54
#16 0x00007f00f5508206 in Dyninst::PatchAPI::Patcher::run (this=0x1e7f2d0) at /home/yg31/spack/var/spack/stage/dyninst-develop-e37ilmcrv7gd6ykdobre5ijownoabgzp/dyninst/patchAPI/src/Command.C:113
#17 0x00007f00f5507ed7 in Dyninst::PatchAPI::Command::commit (this=0x1e7f2d0) at /home/yg31/spack/var/spack/stage/dyninst-develop-e37ilmcrv7gd6ykdobre5ijownoabgzp/dyninst/patchAPI/src/Command.C:54
#18 0x00007f00f841b431 in AddressSpace::patch (as=0x1e67b10) at /home/yg31/spack/var/spack/stage/dyninst-develop-e37ilmcrv7gd6ykdobre5ijownoabgzp/dyninst/dyninstAPI/src/addressSpace.C:2333
#19 0x00007f00f83d4ad0 in BPatch_binaryEdit::writeFile (this=0x1e67a80, outFile=0x4059b7 "k_aux")
    at /home/yg31/spack/var/spack/stage/dyninst-develop-e37ilmcrv7gd6ykdobre5ijownoabgzp/dyninst/dyninstAPI/src/BPatch_binaryEdit.C:215
#20 0x0000000000403ed7 in finishInstrumenting (app=0x1e67a80, newName=0x4059b7 "k_aux") at inst_func.cc:93
#21 0x000000000040408d in __static_initialization_and_destruction_0 (__initialize_p=32767, __priority=1149060181) at inst_func.cc:123
#22 0x00007f00f65a7c05 in __libc_start_main () from /lib64/libc.so.6
#23 0x0000000000403919 in _start ()

_______________________________________________
Dyninst-api mailing list
Dyninst-api@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api

[← Prev in Thread] Current Thread [Next in Thread→]