multimedia/libvpx cause clang fatal error on CURRENT

2018-01-29 Thread Iblis Lin
Hi,

I got this while building multimedia/libvpx

```
cc  -O2 -pipe -march=native  ...
#0: t25: v8i64 = llvm.x86.avx512.psad.bw.512 TargetConstant:i64<5820>, t11, t5

fatal error: error in backend: Do not know how to split the result of this 
operator!

cc: error: clang frontend command failed with exit code 70 (use -v to see 
invocation)
FreeBSD clang version 6.0.0 (branches/release_60 321788) (based on LLVM 6.0.0)
Target: x86_64-unknown-freebsd12.0
Thread model: posix
InstalledDir: /usr/bin
```

My box:

FreeBSD abeing 12.0-CURRENT FreeBSD 12.0-CURRENT #0 r328198: Mon Jan 22 13:26:48
CST 2018 root@abeing:/usr/obj/usr/src/amd64.amd64/sys/GENERIC  amd64

Here is the script
https://gist.github.com/iblis17/6a1d899462ba8ba1a475eebad83e993d

-- 
Iblis Lin
林峻頤
___
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: bmake core dump

2017-02-27 Thread Iblis Lin
On Mon, Feb 27, 2017 at 10:27:17PM -0800, Simon J. Gerraty wrote:
> Iblis Lin  wrote:
> > Accutally, I made it core dump via a julia script.
> > Please checkout this code
> 
> I'm not familiar with juila, in most scripting languages
> cmd = `/usr/bin/make -f - -V MAKE_ENV`
> would run that command and assign the output to cmd.
> The make instance would be reading from stdin which is rather unknown at
> that point.

Accutally, the backtick is a syntax sugar in julia to construct a
Cmd object. it's not being executed at that point.

FYI:

julia> cmd = `ls /nonexists`
`ls /nonexists`

julia> run(cmd)
ls: /nonexists: No such file or directory
ERROR: failed process: Process(`ls /nonexists`, ProcessExited(1)) [1]
Stacktrace:
 [1] eval_user_input(::Any, ::Base.REPL.REPLBackend) at ./REPL.jl:66
 [2] macro expansion at ./REPL.jl:97 [inlined]
 [3] (::Base.REPL.##1#2{Base.REPL.REPLBackend})() at ./event.jl:73

julia> typeof(cmd)
Cmd

> 
> Could you perhaps run that with ktrace?
> 
> Eg.
> 
> ktrace -i -t cnis -f /var/tmp/make.kt whatever command you ran
> kdump -m 128 -f /var/tmp/make.kt > /var/tmp/make.kd
> 
> that would show what make is actually reading
> 

I uploaded the ktrace to the gist:
https://gist.github.com/iblis17/0beff3e1b4fcb7eac9df5889cd3ddde7#file-make-kd-L2733-L2853

-- 
Iblis Lin
林峻頤
___
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Re: bmake core dump

2017-02-27 Thread Iblis Lin
On Mon, Feb 27, 2017 at 11:06:43AM -0800, Simon J. Gerraty wrote:
> Hi Iblis
> 
> > I encounted core dump with `make -f - ...`
> 
> can you share the content of stdin? or a relevant snippet?
> 
> Also what version of bmake? (make -r -f /dev/null -V MAKE_VERSION)
> 
> Your patch risks overflow, so would like to reproduce first...
> 
> ___
> freebsd-current@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


bmake version:
└─[iblis@abeing]% make -r -f /dev/null -V MAKE_VERSION
20160818

Accutally, I made it core dump via a julia script.
Please checkout this code

└─[iblis@abeing ]% cat test.jl
makefile="""
CATEGORIES= devel

USES=
.include """

cmd = `/usr/bin/make -f - -V MAKE_ENV`
in_ = Pipe()
out, proc = open(cmd, "r", in_)

print(in_, makefile)
close(in_)

@assert success(proc)
close(out)

└─[iblis@abeing]% MALLOC_CONF="junk:true" /usr/local/bin/julia test.jl
ERROR: LoadError: AssertionError: success(proc)
 in _init at /usr/local/lib/julia/sys.so:? (repeats 5 times)
 while loading /usr/home/iblis/git/BinDeps_jl/test.jl, in expression
 starting on line 14

└─[iblis@abeing ]% dmesg| tail
pid 27928 (make), uid 1001: exited on signal 10 (core dumped)
pid 27956 (make), uid 1001: exited on signal 10 (core dumped)
pid 28232 (make), uid 1001: exited on signal 10 (core dumped)
pid 28447 (make), uid 1001: exited on signal 10 (core dumped)
pid 28998 (make), uid 1001: exited on signal 10 (core dumped)
pid 29155 (make), uid 1001: exited on signal 10 (core dumped)
pid 29264 (make), uid 1001: exited on signal 10 (core dumped)
pid 29506 (make), uid 1001: exited on signal 10 (core dumped)
pid 29642 (make), uid 1001: exited on signal 10 (core dumped)

-- 
Iblis Lin
林峻頤
___
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

bmake core dump

2017-02-27 Thread Iblis Lin
Hi,

I encounted core dump with `make -f - ...`

The backtrace:

Core was generated by `/usr/bin/make -f - -V MAKE_JOBS_NUMBER'.
Program terminated with signal 10, Bus error.
#0  Hash_FindEntry (t=, key=) at 
/usr/src/contrib/bmake/hash.c:231
231 if (e->namehash == h && strcmp(e->name, p) == 0)
(gdb) bt
#0  Hash_FindEntry (t=, key=) at 
/usr/src/contrib/bmake/hash.c:231
#1  0x00419fd4 in VarFind (name=, 
ctxt=0x800a0d180, flags=7) at /usr/src/contrib/bmake/var.c:417
#2  0x0041a504 in Var_Exists (name=, 
ctxt=0x800a0d180) at /usr/src/contrib/bmake/var.c:1117
#3  0x0041 in Parse_DoVar (line=, ctxt=)
at /usr/src/contrib/bmake/parse.c:1891
#4  0x00413927 in Parse_File (name=, fd=)
at /usr/src/contrib/bmake/parse.c:3085
#5  0x0040cc21 in ReadMakefile (p=0x7fffe9c9, q=) at /usr/src/contrib/bmake/main.c:1474
#6  0x0040cdd9 in ReadAllMakefiles (p=, q=)
at /usr/src/contrib/bmake/main.c:762
#7  0x0041ee7a in Lst_FindFrom (l=, ln=, d=,
cProc=) at 
/usr/src/contrib/bmake/lst.lib/lstFindFrom.c:83
#8  0x0040c1c0 in main (argc=5, argv=) at 
/usr/src/contrib/bmake/main.c:1239
#9  0x0040035f in _start ()
#10 0x in ?? ()
Current language:  auto; currently minimal


And hope this patch help:

Index: contrib/bmake/parse.c
===
--- contrib/bmake/parse.c   (revision 309367)
+++ contrib/bmake/parse.c   (working copy)
@@ -572,7 +572,7 @@
bufpos += result;
}
assert(bufpos <= lf->len);
-   lf->len = bufpos;
+   lf->len = bufpos + 1;
 
/* truncate malloc region to actual length (maybe not useful) */
if (lf->len > 0) {
@@ -579,6 +579,9 @@
lf->buf = bmake_realloc(lf->buf, lf->len);
}
 
+   /* read() do not add the null byte character */
+   *(lf->buf + lf->len - 1) = '\0';
+
 #ifdef HAVE_MMAP
 done:
 #endif


-- 
Iblis Lin
林峻頤
___
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Re: dhclient fails: can't open and lock /var/db/dhclient.leases.wlan0: Bad file descriptor

2017-02-10 Thread Iblis Lin
On Fri, Feb 10, 2017 at 04:10:41PM +0200, Konstantin Belousov wrote:
> On Fri, Feb 10, 2017 at 05:29:54AM -0800, David Wolfskill wrote:
> > This was head @r313544; previous successful build/smoke test was
> > @r313467 (yesterday).
> > 
> > Here's an excerpt from a typescript I made of some "poking around";
> > subsequent to that, I was able to set the IP address, netmask, and
> > broadcast address on the NIC (wlano), then set the default route, and
> > once that was done, I was able to use the network:
> > 
> > wlan0: flags=8843 metric 0 mtu 1500
> > ether 00:24:d6:7a:03:ce
> > inet 0.0.0.0 netmask 0xff00 broadcast 255.255.255.255 
> > nd6 options=29
> > media: IEEE 802.11 Wireless Ethernet MCS mode 11ng
> > status: associated
> > ssid lmdhw-net channel 1 (2412 MHz 11g ht/20) bssid 
> > 04:18:d6:22:22:1f
> > regdomain FCC country US authmode WPA2/802.11i privacy ON
> > deftxkey UNDEF AES-CCM 2:128-bit txpower 30 bmiss 10 scanvalid 60
> > protmode CTS ampdulimit 64k ampdudensity 8 -amsdutx amsdurx shortgi
> > -stbc -ldpc wme roaming MANUAL
> > groups: wlan 
> > (12.0-C)[4] pgrep dhclient
> > (12.0-C)[5] dhclient wlan0
> > dhclient: /etc/dhclient-enter-hooks invoked with reason PREINIT
> > dhclient: Leaving hostname set to 
> > dhclient: /etc/dhclient-exit-hooks invoked with reason PREINIT
> > dhclient: reason was PREINIT; no action taken
> > dhclient: Exiting /etc/dhclient-exit-hooks (PREINIT) with exit_status 0
> > can't open and lock /var/db/dhclient.leases.wlan0: Bad file descriptor
> > exiting.
> > (12.0-C)[6] ls -lTio /var/db/dhclient.leases*
> > 883105 --  1 root  wheel  - 4017 Jan  4 09:18:10 2017 
> > /var/db/dhclient.leases.em0
> > 883280 --  1 root  wheel  -  856 Aug 11 04:52:54 2015 
> > /var/db/dhclient.leases.lagg0
> > 883344 --  1 root  wheel  -  Jan 20 21:19:10 2015 
> > /var/db/dhclient.leases.vboxnet0
> > 883108 --  1 root  wheel  - 1993 Feb 10 04:30:13 2017 
> > /var/db/dhclient.leases.wlan0
> > 883079 --  1 root  wheel  - 2013 Jan 19 11:52:07 2017 
> > /var/db/dhclient.leases.wlan1
> > 
> > 
> > Moving /var/db/dhclient.leases.wlan0 aside did not change the behavior.
> > 
> > Stable/11 shows the iwn(4) device as:
> > g1-252(11.0-S)[4] pciconf -lv | grep -A 3 iwn
> > iwn0@pci0:3:0:0:class=0x028000 card=0x13218086 chip=0x42328086 
> > rev=0x00 hdr=0x00
> > vendor = 'Intel Corporation'
> > device = 'WiFi Link 5100'
> > class  = network
> > g1-252(11.0-S)[5] 
> > 
> > File system for /var is a fairly vanilla UFS2+SU.  I suppose I could have
> > tried ktrace (had I thought of it before switching back to the stable/11
> > slice).
> > 
> 
> Please try this.
> 
> diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c
> index 70cdcdc6f75..1f2cceaf7a6 100644
> --- a/sys/kern/vfs_vnops.c
> +++ b/sys/kern/vfs_vnops.c
> @@ -351,8 +351,8 @@ vn_open_vnode(struct vnode *vp, int fmode, struct ucred 
> *cred,
>  
>   while ((fmode & (O_EXLOCK | O_SHLOCK)) != 0) {
>   KASSERT(fp != NULL, ("open with flock requires fp"));
> - if (fp->f_type != DTYPE_VNODE) {
> - error = EBADF;
> + if (fp->f_type != DTYPE_NONE && fp->f_type != DTYPE_VNODE) {
> + error = EOPNOTSUPP;
>   break;
>   }
>   lock_flags = VOP_ISLOCKED(vp);
> diff --git a/sys/sys/file.h b/sys/sys/file.h
> index 353c92f365a..c51f26a41d2 100644
> --- a/sys/sys/file.h
> +++ b/sys/sys/file.h
> @@ -53,6 +53,7 @@ struct vnode;
>  
>  #endif /* _KERNEL */
>  
> +#define  DTYPE_NONE  0   /* not yet initialized */
>  #define  DTYPE_VNODE 1   /* file */
>  #define  DTYPE_SOCKET2   /* communications endpoint */
>  #define  DTYPE_PIPE  3   /* pipe */
> ___
> freebsd-current@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

It works fine for me! :)

-- 
Iblis Lin
林峻頤
___
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Re: r313495 make perl File::Temp broken

2017-02-10 Thread Iblis Lin
I just found i miss-typed the revision number in subject.
It's r313495.

(https://svnweb.freebsd.org/base/head/sys/kern/vfs_vnops.c?r1=313495&r2=313494&pathrev=313495)

On Fri, Feb 10, 2017 at 09:09:52PM +0800, Iblis Lin wrote:
> Hi,
> 
> as not a perl programmer myself. I have no idea what is going on.
> I found this issue while compiling math/openblas.
> 
> [iblis@ns]% uname -a
> FreeBSD ns 12.0-CURRENT FreeBSD 12.0-CURRENT #1 r313500: Fri Feb 10 16:39:21 
> CST 2017 root@ns:/usr/obj/usr/src/sys/GENERIC  amd64
> 
> [iblis@ns]% cat test.pl 
> use File::Temp qw(tempfile);
> $tmpf = new File::Temp( UNLINK => 1 );
> 
> [iblis@ns]% perl test.pl
> Error in tempfile() using template /tmp/XX: Could not create temp file
> /tmp/dI5uhUsijR: Bad file descriptor at test.pl line 2.
> 
> 
> And part of truss's output:
> 
> close(3) = 0 (0x0)
> stat("/tmp/",{ mode=drwxrwxrwt ,inode=24317568,size=1024,blksize=32768 }) = 0 
> (0x0)
> stat("/tmp/",{ mode=drwxrwxrwt ,inode=24317568,size=1024,blksize=32768 }) = 0 
> (0x0)
> openat(AT_FDCWD,"/tmp/Nn0Epra5ff",O_RDWR|O_EXLOCK|O_NOFOLLOW|O_CREAT|O_EXCL,0600)
>  ERR#9 'Bad file descriptor'
> stat("/usr/share/nls/C/libc.cat",0x7fffdcf8) ERR#2 'No such file or 
> directory'
> stat("/usr/share/nls/libc/C",0x7fffdcf8) ERR#2 'No such file or 
> directory'
> stat("/usr/local/share/nls/C/libc.cat",0x7fffdcf8) ERR#2 'No such file or 
> directory'
> stat("/usr/local/share/nls/libc/C",0x7fffdcf8) ERR#2 'No such file or 
> directory'
> Error in tempfile() using template /tmp/XX: Could not create temp 
> file /tmp/Nn0Epra5ff: Bad file descriptor at test.pl line 2.
> write(2,"Error in tempfile() using templa"...,135) = 135 (0x87)
> 
> 
> -- 
> Iblis Lin
> 林峻頤
> ___
> freebsd-current@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

-- 
Iblis Lin
林峻頤
___
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Re: r313494 make perl File::Temp broken

2017-02-10 Thread Iblis Lin
On Fri, Feb 10, 2017 at 02:37:05PM +0100, Mark Martinec wrote:
> 2017-02-10 14:09, Iblis Lin wrote:
> > as not a perl programmer myself. I have no idea what is going on.
> > I found this issue while compiling math/openblas.
> > 
> > [iblis@ns]% uname -a
> > FreeBSD ns 12.0-CURRENT FreeBSD 12.0-CURRENT #1 r313500: Fri Feb 10 
> > 16:39:21
> > CST 2017 root@ns:/usr/obj/usr/src/sys/GENERIC  amd64
> > 
> > [iblis@ns]% cat test.pl
> > use File::Temp qw(tempfile);
> > $tmpf = new File::Temp( UNLINK => 1 );
> > 
> > [iblis@ns]% perl test.pl
> > Error in tempfile() using template /tmp/XX: Could not create 
> > temp file
> > /tmp/dI5uhUsijR: Bad file descriptor at test.pl line 2.
> 
> [...]
> 
> > stat("/tmp/",{ mode=drwxrwxrwt 
> > ,inode=24317568,size=1024,blksize=32768}) = 0 (0x0)
> > stat("/tmp/",{ mode=drwxrwxrwt 
> > ,inode=24317568,size=1024,blksize=32768}) = 0 (0x0)
> > openat(AT_FDCWD,"/tmp/Nn0Epra5ff",O_RDWR|O_EXLOCK|O_NOFOLLOW|O_CREAT|O_EXCL,0600)
> >  
> > ERR#9 'Bad file descriptor'
> 
> 
> Perhaps your /tmp is a logical link, and O_NOFOLLOW does not allow that.
> 
>Mark

hmm... no, it's no a logical link.

I just reverted the file changed in r313494 (sys/kern/vfs_vnops.c), and
perl is happy again.

-- 
Iblis Lin
林峻頤
___
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

r313494 make perl File::Temp broken

2017-02-10 Thread Iblis Lin
Hi,

as not a perl programmer myself. I have no idea what is going on.
I found this issue while compiling math/openblas.

[iblis@ns]% uname -a
FreeBSD ns 12.0-CURRENT FreeBSD 12.0-CURRENT #1 r313500: Fri Feb 10 16:39:21 
CST 2017 root@ns:/usr/obj/usr/src/sys/GENERIC  amd64

[iblis@ns]% cat test.pl 
use File::Temp qw(tempfile);
$tmpf = new File::Temp( UNLINK => 1 );

[iblis@ns]% perl test.pl
Error in tempfile() using template /tmp/XX: Could not create temp file
/tmp/dI5uhUsijR: Bad file descriptor at test.pl line 2.


And part of truss's output:

close(3) = 0 (0x0)
stat("/tmp/",{ mode=drwxrwxrwt ,inode=24317568,size=1024,blksize=32768 }) = 0 
(0x0)
stat("/tmp/",{ mode=drwxrwxrwt ,inode=24317568,size=1024,blksize=32768 }) = 0 
(0x0)
openat(AT_FDCWD,"/tmp/Nn0Epra5ff",O_RDWR|O_EXLOCK|O_NOFOLLOW|O_CREAT|O_EXCL,0600)
 ERR#9 'Bad file descriptor'
stat("/usr/share/nls/C/libc.cat",0x7fffdcf8) ERR#2 'No such file or 
directory'
stat("/usr/share/nls/libc/C",0x7fffdcf8) ERR#2 'No such file or 
directory'
stat("/usr/local/share/nls/C/libc.cat",0x7fffdcf8) ERR#2 'No such file or 
directory'
stat("/usr/local/share/nls/libc/C",0x7fffdcf8) ERR#2 'No such file or 
directory'
Error in tempfile() using template /tmp/XX: Could not create temp file 
/tmp/Nn0Epra5ff: Bad file descriptor at test.pl line 2.
write(2,"Error in tempfile() using templa"...,135) = 135 (0x87)


-- 
Iblis Lin
林峻頤
___
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Re: r308432: Capsicumized `basename` make zsh prompt broken

2016-12-01 Thread Iblis Lin

Tnx a lot!

The new `basename` works fine now.

---

Iblis Lin

Conrad Meyer 於 2016-12-02 01:30 寫到:


Hello Iblis,

Please try reinstalling libcapsicum after r309366, rebuilding
basename, and then removing the stdout kludge from your shell script.
Let me know if there's still a problem!

Thanks,
Conrad

On Sun, Nov 27, 2016 at 11:08 PM, Conrad Meyer  wrote: 
Hi Iblis,


Yes, I think caph_limit_stdio will break many similar programs in
similar use.  I think we'll need to change that behavior.  Something
like this:

https://reviews.freebsd.org/D8657

Best,
Conrad

On Sun, Nov 27, 2016 at 10:40 PM, iblis  wrote: 
Hi Conrad,

Thanks for your reply.

I revert the basename.c and `< /dev/null` do the trick!
I'm also curious that will `caph_limit_stdio` break lots of program 
work

with some shell scripts?

--
Iblis Lin

On 11/28/2016 12:55, Conrad Meyer wrote:
Hi Iblis,

I see no such problem running 'basename $HOME' in a normal shell
environment:

$ basename $HOME
cmeyer

I suppose in your use, perhaps stdin is already closed?  I think this
is a limitation of caph_limit_stdio() in general.

Can you try instead:

function set_prompt {
prompt="$(basename $HOME < /dev/null) >"
}

And see if it resolves the issue?

Thanks,
Conrad

On Sun, Nov 27, 2016 at 8:33 PM, iblis  wrote:
Hi,
Here is a minimal config of zsh prompt invoking `basename`:
```
└─[iblis@abeing]% cat /home/ib-test/.zshenv

function set_prompt {
prompt="$(basename $HOME) >"
}

function zle-line-init zle-keymap-select {
set_prompt
zle reset-prompt
}

zle -N zle-line-init
zle -N zle-keymap-select

set_prompt
```

and launching zsh will get something like this:

```
└─[iblis@abeing]% sudo su ib-test

ib-test >basename: capsicum: Bad file descriptor

basename: capsicum: Bad file descriptor
```

To be honest, I have no idea about what casper/caspicum is. I just
changed
the `basename.c` and zsh work again.

Index: basename.c
===
--- basename.c (revision 309213)
+++ basename.c (working copy)
@@ -65,7 +65,7 @@

setlocale(LC_ALL, "");

- if (caph_limit_stdio() < 0 || (cap_enter() < 0 && errno != ENOSYS))
+ if (cap_enter() < 0 && errno != ENOSYS)
err(1, "capsicum");

aflag = 0;

Any idea?

--
Iblis Lin
___
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to
"freebsd-current-unsubscr...@freebsd.org"


___
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to 
"freebsd-current-unsubscr...@freebsd.org"

___
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Re: r308432: Capsicumized `basename` make zsh prompt broken

2016-11-27 Thread iblis

Hi Conrad,
   Thanks for your reply.

   I revert the basename.c and `< /dev/null` do the trick!
   I'm also curious that will `caph_limit_stdio` break lots of program 
work with some shell scripts?


--
Iblis Lin

On 11/28/2016 12:55, Conrad Meyer wrote:

Hi Iblis,

I see no such problem running 'basename $HOME' in a normal shell environment:


$ basename $HOME
cmeyer


I suppose in your use, perhaps stdin is already closed?  I think this
is a limitation of caph_limit_stdio() in general.

Can you try instead:

function set_prompt {
prompt="$(basename $HOME < /dev/null) >"
}

And see if it resolves the issue?

Thanks,
Conrad

On Sun, Nov 27, 2016 at 8:33 PM, iblis  wrote:

Hi,
Here is a minimal config of zsh prompt invoking `basename`:
```
└─[iblis@abeing]% cat /home/ib-test/.zshenv

function set_prompt {
prompt="$(basename $HOME) >"
}

function zle-line-init zle-keymap-select {
set_prompt
zle reset-prompt
}

zle -N zle-line-init
zle -N zle-keymap-select

set_prompt
```

and launching zsh will get something like this:

```
└─[iblis@abeing]% sudo su ib-test

ib-test >basename: capsicum: Bad file descriptor


basename: capsicum: Bad file descriptor


```


To be honest, I have no idea about what casper/caspicum is. I just changed
the `basename.c` and zsh work again.

Index: basename.c
===
--- basename.c (revision 309213)
+++ basename.c (working copy)
@@ -65,7 +65,7 @@

setlocale(LC_ALL, "");

- if (caph_limit_stdio() < 0 || (cap_enter() < 0 && errno != ENOSYS))
+ if (cap_enter() < 0 && errno != ENOSYS)
err(1, "capsicum");

aflag = 0;


Any idea?

--
Iblis Lin
___
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

___
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"



___
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

r308432: Capsicumized `basename` make zsh prompt broken

2016-11-27 Thread iblis

Hi,
Here is a minimal config of zsh prompt invoking `basename`:
```
└─[iblis@abeing]% cat /home/ib-test/.zshenv

function set_prompt {
prompt="$(basename $HOME) >"
}

function zle-line-init zle-keymap-select {
set_prompt
zle reset-prompt
}

zle -N zle-line-init
zle -N zle-keymap-select

set_prompt
```

and launching zsh will get something like this:

```
└─[iblis@abeing]% sudo su ib-test

ib-test >basename: capsicum: Bad file descriptor
>
>basename: capsicum: Bad file descriptor
>
```


To be honest, I have no idea about what casper/caspicum is. I just 
changed the `basename.c` and zsh work again.


Index: basename.c
===
--- basename.c (revision 309213)
+++ basename.c (working copy)
@@ -65,7 +65,7 @@

setlocale(LC_ALL, "");

- if (caph_limit_stdio() < 0 || (cap_enter() < 0 && errno != ENOSYS))
+ if (cap_enter() < 0 && errno != ENOSYS)
err(1, "capsicum");

aflag = 0;


Any idea?

--
Iblis Lin
___
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"