[Bug 217562] emulators/linux_base-c7: strange path truncating when exec'ing in bash scripts

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sun Mar 5 14:22:55 UTC 2017


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=217562

            Bug ID: 217562
           Summary: emulators/linux_base-c7: strange path truncating when
                    exec'ing in bash scripts
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: emulation at FreeBSD.org
          Reporter: mazhe at alkumuna.eu
          Assignee: emulation at FreeBSD.org
             Flags: maintainer-feedback?(emulation at FreeBSD.org)

Hi,

I found a strange issue when running linux's bash scripts:

If you try to exec from a shell script (ran from /compat/linux/bin/bash) into
another, the exec'ed script path will be truncated by 8 bytes from the left
(and will obviously result in a failure).

Simple demonstrator, file 1 is "test_linux_exec_bash.sh":

  #!/usr/bin/env bash
  echo $0
  exec ./test_linux_exec_bash_2.sh

file 2 is "test_linux_exec_bash_2.sh":

  #!/usr/bin/env bash
  echo $0

Then the result:

  % /compat/linux/bin/bash ./test_linux_exec_bash.sh
  ./test_linux_exec_bash.sh
  /compat/linux/usr/bin/env: zhe/tmp/test_linux_exec_bash_2.sh: No such file or
directory

This will not happen if the 1st script try to exec into a binary
(/compat/linux/usr/bin/env issue??)

I've ran the demo through ktrace, but it revealed nothing really interesting:
at some point after execing into env, the path is corrupted... valgrind can't
be run on linux binaries, so I did not found anything on that front...

At that point, I'm failing to see what is going wrong here.

Any ideas? Thanks

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-emulation mailing list