Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 05 Mar 2017 14:22:54 +0000
From:      bugzilla-noreply@freebsd.org
To:        emulation@FreeBSD.org
Subject:   maintainer-feedback requested: [Bug 217562] emulators/linux_base-c7: strange path truncating when exec'ing in bash scripts
Message-ID:  <bug-217562-4077-V2PsxI3EFE@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-217562-4077@https.bugs.freebsd.org/bugzilla/>

index | next in thread | previous in thread | raw e-mail

Matthieu Volat <mazhe@alkumuna.eu> has reassigned Bugzilla Automation
<bugzilla@FreeBSD.org>'s request for maintainer-feedback to
emulation@FreeBSD.org:
Bug 217562: emulators/linux_base-c7: strange path truncating when exec'ing in
bash scripts
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=217562



--- Description ---
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


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-217562-4077-V2PsxI3EFE>