This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Some programs (vi, ssh) crash when screen buffer height is big


A few more things to add:

- This crashes under the regular Windows console, i.e. run cmd.exe,
then bash, then follow the above
- It also crashes under some other emulators (I actually noticed it
under ConEmu, see
https://code.google.com/p/conemu-maximus5/issues/detail?id=1644),
though this is likely due to the fact the regular Windows console is
used underneath
- When I said "screen buffer size", I mean the option in the Windows
console - right click on the cmd.exe taskbar, Properties, Layout tab,
Screen Buffer Size / Height - I could reproduce with 1000. It does not
seem to be reproducible with low values (e.g. I tried with 100, 200,
500 and it seemed to work - not sure if it would have broken later,
but it's not always reproducible as it is with 1000+)

On Wed, Jul 16, 2014 at 4:10 PM, sous lesquels <a9f54d2@gmail.com> wrote:
> **** Environment
>
> CYGWIN_NT-6.1 1.7.29(0.272/5/3) 2014-04-07 13:46
> Windows 7
>
> **** Steps to reproduce the issue:
>
> - With vi.exe
>
> Execute the following bash script:
>
> #!/bin/bash
> for i in {1..123}; do
>   echo -e "\033[5A\033[50C\033[0;35mhello\033[0m"
>   head -n1000 /var/log/setup.log
> done
> vi /var/log/setup.log
>
> vi breaks with something as:
>
>       0 [main] vi 13200 C:\cygwin64\bin\vi.exe: *** fatal error -
> cmalloc would have returned NULL
> /4.sh: line 6: 13200 Hangup                  vi /var/log/setup.log
>
> (note 4.sh is the file name I used to put the above script in and run
> it from there) and leaves a vi.exe.stackdump with the following
> contents:
>
> Stack trace:
> Frame        Function    Args
> 001004D2D08  0018006F26E (001801E8666, 001801E8DD9, 00000000000, 00000229480)
> 001004D2D08  00180046E32 (0000022A4E8, FF000000808080, FFFF000000FF00,
> FF00FF000000FF)
> 001004D2D08  00180046E72 (001801E8643, 00000000000, 00000000000, 00000000000)
> 001004D2D08  00180043983 (00076D22F7E, 00000000000, 00000000000, 00000000000)
> 001004D2D08  0018007B781 (FFFF000000FF00, FF00FF000000FF,
> FFFFFF0000FFFF, 00180000088)
> 001004D2D08  0018007B91F (00000000000, 00000000000, 00000000000, 00000000000)
> 001004D2D08  0018007E024 (00000000000, 00000000000, 00000000000, 00000000000)
> 001004D2D00  001801266FD (00000000000, 00000000000, 1A1311121C011615,
> 001802E2788)
> 001004D4160  0018011197B (00000000000, 00000000000, 1A1311121C011615,
> 001802E2788)
> End of stack trace
>
> - With ssh.exe
>
> ssh to some machine (Linux in my case) and execute the following bash script:
>
> #!/bin/bash
> for i in {1..123}; do
>   echo -e "\033[5A\033[50C\033[0;35mhello\033[0m"
>   head -n1000 /var/log/dmesg
> done
> vi /var/log/dmesg
>
> ssh breaks with:
>
> 0 [main] ssh 12464 C:\cygwin64\bin\ssh.exe: *** fatal error - cmalloc
> would have returned NULL
>
> and leaves a ssh.exe.stackdump file in the current working directory
> with the following contents:
>
> Stack trace:
> Frame        Function    Args
> 006000A267F  0018006F26E (001801E8666, 001801E8DD9, 00000000000, 00000226B60)
> 006000A267F  00180046E32 (00000227BC8, FF000000808080, FFFF000000FF00,
> FF00FF000000FF)
> 006000A267F  00180046E72 (001801E8643, 00000000000, 00000000000, 00100000002)
> 006000A267F  00180043983 (00076D22F7E, 00000000000, 0018007B522, 0000000270E)
> 006000A267F  0018007B781 (FFFF000000FF00, FF00FF000000FF,
> FFFFFF0000FFFF, 00180000088)
> 006000A267F  0018007B91F (000000001DC, 00000000000, 00000000000, 00000000000)
> 006000A267F  0018007E024 (00600077990, 00000000007, 00600077990, 00000000007)
> 006000A0490  001801266FD (00100426798, 00000000000, 00000000000, 00000000000)
> 0060006E850  0018011197B (00000000000, 00000000000, 00000000000, 00000000000)
> 0060006E850  00000004000 (00000000000, 00000000000, 00000000000, 21EF00000000)
> 0060006E850  00100426798 (00000000000, 001004928A0, 2BE9E0C5343523AB,
> 00000228090)
> 0060006E850  00600068670 (001004928A0, 2BE9E0C5343523AB, 00000228090,
> 00000000000)
> 0060006E850  003FEF96000 (001004928A0, 2BE9E0C5343523AB, 00000228090,
> 00000000000)
> End of stack trace
>
> **** More information:
>
> - For both variants, you may need to tweak the number 123 in the for
> loop above or the location of files if you don't have these - they
> should be there, but if not pick any file with some log-like text in
> it (a few hundred lines should be enough)
>
> - The variants are just quick and dirty ways to reproduce - crashes
> happen in regular work in various situations (i.e. real scenarios, not
> contrived as above)
>
> - Crashes can be reproduced always
>
> - Taking the same steps as above when running from Cygwin terminal
> (i.e. the one that comes bundled with Cygwin itself) does not result
> in a crash

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]