Hey Mohamed,

We found the issue that was causing the assert and we updated the master branch on github. If you want to clone or pull the most recent version it should have the fix for your issue.

Let me know if you have any other issues,

-- John

On 5/31/2016 3:57 PM, Mohamed Elsabagh wrote:
Hi Josh,

I just tried again, on a vanilla VM and a fresh clone from https://github.com/dyninst/dyninst.git, and I am still getting the same exact message on stderr:

decodeOneOperand() called with unknown addressing method 18

And the resulting binary does not run: Exec format error.

I also tried: `parseThat --binary-edit=ssh.dyn -i 0 /us/bin/ssh`, and the resulting binary (ssh.dyn) also fails to load, giving the same Exec format error.

When I run `file ssh.dyn`, the output shows no interpreter.

What do you think?

Mohamed


On Tue, May 31, 2016 at 3:26 PM John Detter <[email protected] <mailto:[email protected]>> wrote:

    Mohamed,

    I did a fresh clone from github and I was able to instrument
    /usr/bin/ssh on Ubuntu 16.04 server addition, are you sure you are
    setting your LD_LIBRARY_PATH, C_INCLUDE_PATH and
    CPLUS_INCLUDE_PATH to the right directories? You may be installing
    the newly built libraries into a directory that isn't being
    searched by GCC.

    If you are installing globally and you are installing into
    `/usr/local` you may have to include these directories in your
    environment:

    export LD_LIBRARY_PATH="/usr/local/lib"

    export C_INCLUDE_PATH="/usr/local/include"

    export CPLUS_INCLUDE_PATH="/usr/local/include"

    If you are still having issues, could you send me a tarball of
    your dyninst directory (source included)? That way I know we're
    both looking at the same thing.

    -- John


    On 5/31/2016 12:52 PM, Mohamed Elsabagh wrote:
    Yes, that's what I did. I did a fresh clone and install from
    github.com/dyninst/dyninst <http://github.com/dyninst/dyninst>.
    But I am now getting a different error:

    decodeOneOperand() called with unknown addressing method 18

    And even though the output binary is created, it does not execute
    (exec format error).

    Again, I am testing with /usr/bin/ssh on Ubuntu 16.04, without
    any instrumentation (open, get default module, get procedures, save).

    Thanks,
    Mohamed





    On Tue, May 31, 2016 at 1:22 PM John Detter <[email protected]
    <mailto:[email protected]>> wrote:

        Mohamed

        git.dyninst.org <http://git.dyninst.org> is now just a mirror
        and unfortunately it looks like it isn't quite up to date.
        http://github.com/dyninst/dyninst will get you the latest
        commits.

        If you want to update your origin:

                git remote remove origin

                git remote add origin http://github.com/dyninst/dyninst

                git pull origin master

        -- John


        On 5/31/2016 11:57 AM, Mohamed Elsabagh wrote:
        Hi John,

        I pulled the latest commit from git.dyninst.org
        <http://git.dyninst.org>, which resulted in the error in my
        previous email.

        Now using a clone from the github path your provided, I am
        getting the following message on stderr:

        decodeOneOperand() called with unknown addressing method 18

        And even though the output binary is created, it does not
        execute (exec format error).

        Again, I am testing with /usr/bin/ssh on Ubuntu 16.04,
        without any instrumentation (open, get default module, get
        procedures, save).

        Thanks,
        Mohamed


        On Tue, May 31, 2016 at 11:37 AM John Detter
        <[email protected] <mailto:[email protected]>> wrote:

            Mohamed,

            Are you sure you are using the latest master? In my
            version of
            arch-x86.C line 7993 isn't inside the ia32_decode
            function. Could you
            try pulling from master and rebuilding/rerunning? If you
            could provide
            another stack trace that would be really helpful.

            -- John

            P.S. here is the latest commit information for master
            (http://github.com/dyninst/dyninst):

            commit df1523dd4003107b959046dd047402642f530c43
            Merge: 85cebd3 06c649f
            Author: Bill Williams <[email protected]
            <mailto:[email protected]>>
            Date:   Fri May 27 14:37:50 2016 -0500

                 Merge pull request #61 from
            dyninst/Functions_not_filed_into_correct_Modules

                 Fix Function/Module mapping

            On 5/30/2016 9:06 PM, Mohamed Elsabagh wrote:
            > There seems to be a different issue now: calling
            getProcedures() on
            > the default module of a stripped PIE results in an
            assertion failure
            > at common/src/arc-x86.C:7993. It seems that the
            heuristic gap parser
            > is trying to decode the assembly as x86_32 instead of
            x86_64 (I may be
            > wrong though). Exact stack trace is attached.
            >
            > This is triggered by simply opening the binary,
            getting the default
            > module, then calling getProcedure.
            >
            > Sample offending program is /usr/bin/ssh on Ubuntu
            16.04 x86_64.




_______________________________________________
Dyninst-api mailing list
[email protected]
https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api

Reply via email to