This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: Segfault using `watch -c` with ANSI escapes in output
- From: Duncan Roe <duncan_roe at acslink dot net dot au>
- To: cygwin at cygwin dot com
- Date: Wed, 19 Apr 2017 16:35:02 +1000
- Subject: Re: Segfault using `watch -c` with ANSI escapes in output
- Authentication-results: sourceware.org; auth=none
- References: <CA+kUOanFdr6i3E8=2hTJS+3X7RYY246y6czxiJ_=O=dwpz_daA@mail.gmail.com>
On Tue, Apr 18, 2017 at 01:36:34PM +0100, Adam Dinwoodie wrote:
> I'm seeing a segfault from using `watch -c` with commands that output
> ANSI colour sequences, which is a bit sad given the whole point of the
> `-c` is to get the ANSI colour sequences to be displayed.
>
> Simple test case:
>
> $ echo -e '\e[0;32mGreen\e[0;0m' >escapes
>
> $ cat escapes # Text is green in my terminal
> Green
>
> $ xxd escapes
> 00000000: 1b5b 303b 3332 6d47 7265 656e 1b5b 303b .[0;32mGreen.[0;
> 00000010: 306d 0a 0m.
>
> $ watch -c cat escapes
> Segmentation fault (core dumped)
>
> $ cat watch.exe.stackdump
> Exception: STATUS_ACCESS_VIOLATION at rip=001004029B0
> rax=0000000058F5FF8D rbx=0000000600001200 rcx=0000000600000060
> rdx=0000000000000000 rsi=0000000000000000 rdi=0000000000000004
> r8 =00000000FFFFCA2C r9 =000000018013C800 r10=0000000100000000
> r11=000000010040299A r12=0000000000000004 r13=00000000FFFFCAF0
> r14=0000000600000E50 r15=00000001801F82C0
> rbp=0000000000000000 rsp=00000000FFFFCA60
> program=C:\cygwin64\bin\watch.exe, pid 12100, thread main
> cs=0033 ds=002B es=002B fs=0053 gs=002B ss=002B
> Stack trace:
> Frame Function Args
> 00000000000 001004029B0 (00000000000, 00000000000, 00000000030,
> 30001010000FF00)
> 000FFFFCCC0 00180047812 (00000000000, 00000000000, 00000000000,
> 00000000000)
> 00000000000 001800455E3 (00000000000, 00000000000, 00000000000,
> 00000000000)
> 000FFFFFFF0 00180045694 (00000000000, 00000000000, 00000000000,
> 00000000000)
> End of stack trace
>
> This works as expected when using `watch` without the `-c` option, and
> when using `watch -c` with output that doesn't include any ANSI colour
> sequences.
>
> Output from `cygcheck -srv` is attached, and `cygcheck -f
> /usr/bin/watch.exe` returns `procps-ng-3.3.11-1`.
Where does "watch" come from? It's not on my cygwin installation:
> 16:12:50$ type watch
> -bash: type: watch: not found
and when I enter "watch" in the installer Search window, all it shows me is
> xfce-mailwatch-plugin: Xfce mail watcher panel plugin
and
> xfce-mailwatch-plugin-debuginfo: Debug info for xfce4-mailwatch-plugin
Cheers ... Duncan.
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple