Skip to content

Child crashes when scrollback buffer is full and new process started which tries to manipulate screen buffer #502

@garethhumphriesacc

Description

@garethhumphriesacc

I'm not 100% sure where to file this one - could be console or cygwin. Since I can't reproduce it outside of console I'm going to start here.

Issue is this: once my scrollback buffer is full, the next time I run a program like vim or less, which attempts to manipulate the screen buffer (eg by moving the cursor, clearing content etc), the program does a malloc which fails and the process crashes.

1 [main] vim 15304 C:\Cygwin\bin\vim.exe: *** fatal error - cmalloc would have returned NULL

I can reproduce in a cygwin prompt in consolez by generating enough output to fill the buffer, then running vi. I cannot reproduce in a normal (ie cmd) cygwin window with the same process.

My buffer is set to the maximum size of 32766 lines.

Stackdump and diagnostics below. Happy to provide any other info that may useful.

Stack trace:

Frame        Function    Args
00180000000  0018005F64E (0018022DAEE, 0018022E0D9, 000FFFFC5B0, 000FFFFB740)
00180000000  00180048869 (C0C0C000008080, FF000000808080, FFFF000000FF00, 00000EDFC48)
00180000000  001800488A2 (0018022DACB, 000FFFFC4A8, 000FFFFC5B0, 80808000C0C0C0)
00180000000  001800454B3 (00000000000, 00180000000, 7FFD23EFBC0E, 001800004EC)
00180000000  0018006D2F1 (C0C0C000008080, FF000000808080, FFFF000000FF00, FF00FF000000FF)
00180000000  0018006E17E (00000000000, 00000000000, 00000000000, 00000000000)
00180000000  00180070114 (00000000000, 00000000008, 00000000000, 00000000000)
001802FAA90  00180136D51 (00100674560, 00000000008, 00000000000, 00000000000)
001802FAA90  0018011D81B (00100674560, 00000000008, 00000000000, 00000000000)
001802FAA90  001004FE1B4 (0010057EB4A, 00000000000, 001802FAA90, 0010067AF5C)
001802FAA90  0010058CD73 (00100000008, 00000000001, 00000000000, 00000000000)
001802FAA90  0010057FB56 (000050360EC, 00000010000, 00000000008, 0005BA2E9ED)
001802FAA90  001005E78F1 (0018020FA40, 00000000000, 0018011D81B, 0010067D940)
00000000000  001005F514A (00000000020, 30001010000FF00, 00180049DAA, 00180048DF0)
000FFFFCCD0  00180049E16 (00000000000, 00000000000, 00000000000, 00000000000)
00000000000  00180047973 (00000000000, 00000000000, 00000000000, 00000000000)
End of stack trace (more stack frames may be present)

ConsoleZ aero amd64 1.18.3.18120 beta0
Windows 10 (64 bits) [10.0.15063]
is elevated? no
UAC prefix "Administrator: "
Tab (active): Cygwin
  View (active): 1. WKS75481
  is elevated? no
  input code page 850
  output code page 850
  Windows console font
font index: 0
face name: Lucida Console
font familly: 54 MODERN vector true type
font weight: 400
font size: width=6 height=10
max window size: cols=119 rows=101
  ConsoleZ font
GetFontLanguageInfo returns 262144.
The font contains extra glyphs not normally accessible using the code page.

Monitors 2
+ Flags 1  primary
  DeviceID \\?\DISPLAY#HWP3261#4&1919a1b7&0&UID200195#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}
  DeviceKey \Registry\Machine\System\CurrentControlSet\Control\Class\{4d36e96e-e325-11ce-bfc1-08002be10318}\0000
  DeviceName \\.\DISPLAY1\Monitor0
  DeviceString Generic PnP Monitor
  StateFlags 3
  Rect (0,0)x(1920,1080)
  Work (0,0)x(1920,1040)
  DPI (per monitor: yes) X=96 Y=96
+ Flags 0
  DeviceID \\?\DISPLAY#HWP3261#4&1919a1b7&0&UID224795#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}
  DeviceKey \Registry\Machine\System\CurrentControlSet\Control\Class\{4d36e96e-e325-11ce-bfc1-08002be10318}\0001
  DeviceName \\.\DISPLAY2\Monitor0
  DeviceString Generic PnP Monitor
  StateFlags 3
  Rect (1920,0)x(3840,1080)
  Work (1920,0)x(3840,1040)
  DPI (per monitor: yes) X=96 Y=96
System dpi 96
System metrics
  SM_CXSMICON        16
  SM_CYSMICON        16
  SM_CXICON          32
  SM_CYICON          32
  SM_CXVIRTUALSCREEN 3840
  SM_CYVIRTUALSCREEN 1080
  SM_CYVIRTUALSCREEN 1080
Settings file C:\Users\HumphrG\AppData\Roaming\Console\console.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<settings lang="auto" icon_size="0">
        <console shell="C:\Cygwin\bin\bash.exe --login -i" init_dir="C:\Cygwin\home\HumphrG" refresh="100" change_refresh="10" rows="73" columns="119" buffer_rows="32766" buffer_columns="0" start_hidden="1" save_size="0">
                <colors background_text_opacity="255">
                        <color id="0" r="0" g="0" b="0"/>
                        <color id="1" r="0" g="0" b="128"/>
                        <color id="2" r="0" g="150" b="0"/>
                        <color id="3" r="0" g="150" b="150"/>
                        <color id="4" r="170" g="25" b="25"/>
                        <color id="5" r="128" g="0" b="128"/>
                        <color id="6" r="128" g="128" b="0"/>
                        <color id="7" r="192" g="192" b="192"/>
                        <color id="8" r="128" g="128" b="128"/>
                        <color id="9" r="0" g="100" b="255"/>
                        <color id="10" r="0" g="255" b="0"/>
                        <color id="11" r="0" g="255" b="255"/>
                        <color id="12" r="255" g="50" b="50"/>
                        <color id="13" r="255" g="0" b="255"/>
                        <color id="14" r="255" g="255" b="0"/>
                        <color id="15" r="255" g="255" b="255"/>
                </colors>
                <cursor style="0" r="255" g="255" b="255"/>
                <background type="0" r="0" g="0" b="0">
                        <image file="" relative="0" extend="0" position="0">
                                <tint opacity="0" r="0" g="0" b="0"/></image></background></console>
        <appearance>
                <font name="Lucida Console" size="10" extra_width="0" bold="0" italic="0" smoothing="0" bold_intensified="0" italic_intensified="0" ligature="0">
                        <color use="0" r="0" g="0" b="0"/></font>
                <window title="" icon="" main_title_format="%s" tab_title_format="%n. %s" use_tab_icon="1" use_tab_title="0" trim_tab_titles="20" trim_tab_titles_right="0"/>
                <fullscreen start_in_fullscreen="0" fullscreen_monitor="0">
                        <controls show_menu="1" show_toolbar="1" show_searchbar="1" show_statusbar="1" show_tabs="1" hide_single_tab="1" tabs_on_bottom="0" hide_tab_icons="0" hide_tab_close_button="0" hide_tab_new_button="0" show_scrollbars="1"/>
                        <transparency type="0" active_alpha="255" inactive_alpha="255" r="0" g="0" b="0" active="1"/></fullscreen>
                <controls show_menu="1" show_toolbar="0" show_searchbar="1" show_statusbar="0" show_tabs="1" hide_single_tab="1" tabs_on_bottom="0" hide_tab_icons="1" hide_tab_close_button="0" hide_tab_new_button="0" show_scrollbars="0"/>
                <styles caption="1" resizable="1" taskbar_button="1" border="0" inside_border="1" split_bar_size="0" tray_icon="0" quake_like="1" quake_animation_time="300" jumplist="0" integrated_ime="0" hide_when_inactive="0" per_monitor_dpi="0" keep_view_theme="0">
                        <selection_color r="255" g="255" b="255"/>
                        <highlight_color r="191" g="191" b="191"/></styles>
                <position x="-1" y="-1" save_position="0" w="975" h="1047" save_size="0" z_order="0" dock="-1" snap="-1" save_state="0" state="-1"/>
                <transparency type="1" active_alpha="255" inactive_alpha="220" r="0" g="0" b="0" active="1"/></appearance>
        <behavior>
                <copy_paste copy_on_select="1" clear_on_copy="1" sensitive_copy="1" no_wrap="1" eol_spaces="2" trim_spaces="1" rtf="0" copy_newline_char="1" include_left_delimiter="0" include_right_delimiter="0" left_delimiters=" ([{&lt;&quot;'|" right_delimiters=" )]}&gt;&quot;'|"/>
                <scroll page_scroll_rows="65"/>
                <tab_highlight flashes="1" stay_highligted="1"/>
                <environment inherit="1" sync="1"/>
                <focus follow_mouse="1"/>
                <instance allow_multi="1"/>
                <clone use_current_dir="0"/>
                <search match_case="0" match_whole_word="0"/>
                <runas use_credprov="1"/>
                <close allow_closing_last_view="0" exit_on_closing_of_last_tab="1" confirm_closing_multiple_views="1" save_workspace_on_exit="1"/></behavior>
        <hotkeys use_scroll_lock="1">
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="settings"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="112" command="help"/>
                <hotkey ctrl="0" shift="0" alt="1" extended="0" code="115" command="exit"/>
                <hotkey ctrl="1" shift="0" alt="0" extended="0" code="112" command="newtab1"/>
                <hotkey ctrl="1" shift="0" alt="0" extended="0" code="113" command="newtab2"/>
                <hotkey ctrl="1" shift="0" alt="0" extended="0" code="114" command="newtab3"/>
                <hotkey ctrl="1" shift="0" alt="0" extended="0" code="115" command="newtab4"/>
                <hotkey ctrl="1" shift="0" alt="0" extended="0" code="116" command="newtab5"/>
                <hotkey ctrl="1" shift="0" alt="0" extended="0" code="117" command="newtab6"/>
                <hotkey ctrl="1" shift="0" alt="0" extended="0" code="118" command="newtab7"/>
                <hotkey ctrl="1" shift="0" alt="0" extended="0" code="119" command="newtab8"/>
                <hotkey ctrl="1" shift="0" alt="0" extended="0" code="120" command="newtab9"/>
                <hotkey ctrl="1" shift="0" alt="0" extended="0" code="121" command="newtab10"/>
                <hotkey ctrl="1" shift="0" alt="0" extended="0" code="122" command="newtab11"/>
                <hotkey ctrl="1" shift="0" alt="0" extended="0" code="123" command="newtab12"/>
                <hotkey ctrl="1" shift="0" alt="0" extended="0" code="49" command="switchtab1"/>
                <hotkey ctrl="1" shift="0" alt="0" extended="0" code="50" command="switchtab2"/>
                <hotkey ctrl="1" shift="0" alt="0" extended="0" code="51" command="switchtab3"/>
                <hotkey ctrl="1" shift="0" alt="0" extended="0" code="52" command="switchtab4"/>
                <hotkey ctrl="1" shift="0" alt="0" extended="0" code="53" command="switchtab5"/>
                <hotkey ctrl="1" shift="0" alt="0" extended="0" code="54" command="switchtab6"/>
                <hotkey ctrl="1" shift="0" alt="0" extended="0" code="55" command="switchtab7"/>
                <hotkey ctrl="1" shift="0" alt="0" extended="0" code="56" command="switchtab8"/>
                <hotkey ctrl="1" shift="0" alt="0" extended="0" code="57" command="switchtab9"/>
                <hotkey ctrl="1" shift="0" alt="0" extended="0" code="48" command="switchtab10"/>
                <hotkey ctrl="1" shift="0" alt="0" extended="1" code="34" command="nexttab"/>
                <hotkey ctrl="1" shift="0" alt="0" extended="1" code="33" command="prevtab"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="movetableft"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="movetabright"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="closetab"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="renametab"/>
                <hotkey ctrl="1" shift="1" alt="0" extended="1" code="34" command="nextview"/>
                <hotkey ctrl="1" shift="1" alt="0" extended="1" code="33" command="prevview"/>
                <hotkey ctrl="0" shift="0" alt="1" extended="1" code="37" command="leftview"/>
                <hotkey ctrl="0" shift="0" alt="1" extended="1" code="39" command="rightview"/>
                <hotkey ctrl="0" shift="0" alt="1" extended="1" code="38" command="topview"/>
                <hotkey ctrl="0" shift="0" alt="1" extended="1" code="40" command="bottomview"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="dechsize"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="inchsize"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="decvsize"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="incvsize"/>
                <hotkey ctrl="1" shift="1" alt="0" extended="0" code="87" command="closeview"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="detachview"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="maximizeview"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="restoreview"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="attach"/>
                <hotkey ctrl="1" shift="1" alt="0" extended="0" code="79" command="splithoriz"/>
                <hotkey ctrl="1" shift="1" alt="0" extended="0" code="69" command="splitvert"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="splitswap"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="clone"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="122" command="fullscreen"/>
                <hotkey ctrl="1" shift="0" alt="0" extended="0" code="96" command="zoom100"/>
                <hotkey ctrl="1" shift="0" alt="0" extended="0" code="107" command="zoominc"/>
                <hotkey ctrl="1" shift="0" alt="0" extended="0" code="109" command="zoomdec"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="groupall"/>
                <hotkey ctrl="1" shift="1" alt="0" extended="0" code="71" command="ungroupall"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="grouptab"/>
                <hotkey ctrl="1" shift="1" alt="0" extended="0" code="84" command="ungrouptab"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="clear"/>
                <hotkey ctrl="1" shift="0" alt="0" extended="1" code="45" command="copy"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="selectall"/>
                <hotkey ctrl="1" shift="0" alt="0" extended="1" code="46" command="clear_selection"/>
                <hotkey ctrl="0" shift="1" alt="0" extended="1" code="45" command="paste"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="paste_selection"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="stopscroll"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="resumescroll"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="textselleft"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="textselright"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="textseltop"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="textselbottom"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="textselhome"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="textselend"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="textselpageup"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="textselpagedown"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="colselleft"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="colselright"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="colseltop"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="colselbottom"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="colselhome"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="colselend"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="colselpageup"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="colselpagedown"/>
                <hotkey ctrl="0" shift="1" alt="0" extended="1" code="38" command="scrollrowup"/>
                <hotkey ctrl="0" shift="1" alt="0" extended="1" code="40" command="scrollrowdown"/>
                <hotkey ctrl="0" shift="1" alt="0" extended="1" code="33" command="scrollpageup"/>
                <hotkey ctrl="0" shift="1" alt="0" extended="1" code="34" command="scrollpagedown"/>
                <hotkey ctrl="0" shift="1" alt="0" extended="1" code="37" command="scrollcolleft"/>
                <hotkey ctrl="0" shift="1" alt="0" extended="1" code="39" command="scrollcolright"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="scrollpageleft"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="scrollpageright"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="find"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="findnext"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="findprev"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="switchtransparency"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="alwaysontop"/>
                <hotkey ctrl="1" shift="1" alt="0" extended="0" code="112" command="dumpbuffer"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="cmdMenu1"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="cmdMenu2"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="cmdMenu3"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="cmdSnippets"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="ctrlC"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="wspload"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="wspsave"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="fwdmouse"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="externalcmd1"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="externalcmd2"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="externalcmd3"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="externalcmd4"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="externalcmd5"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="externalcmd6"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="externalcmd7"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="externalcmd8"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="externalcmd9"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="externalcmd10"/>
                <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="activate" win="0"/>
        </hotkeys>
        <external_commands>
        </external_commands>
        <mouse>
                <actions>
                        <action ctrl="0" shift="0" alt="0" button="0" name="copy"/>
                        <action ctrl="0" shift="0" alt="0" button="1" name="select"/>
                        <action ctrl="0" shift="0" alt="0" button="0" name="select_column"/>
                        <action ctrl="0" shift="0" alt="0" button="3" name="paste"/>
                        <action ctrl="1" shift="0" alt="0" button="1" name="drag"/>
                        <action ctrl="0" shift="0" alt="0" button="4" name="link"/>
                        <action ctrl="0" shift="0" alt="0" button="2" name="menu"/>
                        <action ctrl="0" shift="0" alt="0" button="0" name="menu2"/>
                        <action ctrl="0" shift="0" alt="0" button="0" name="menu3"/>
                        <action ctrl="0" shift="0" alt="0" button="0" name="snippets"/>
                </actions></mouse>
        <snippets dir=""/>
        <tabs>
                <tab title="Cygwin" use_default_icon="0">
                        <console shell="" init_dir="" priority="2" run_as_user="0" user="" net_only="0" run_as_admin="0"/>
                        <colors background_text_opacity="255">
                                <color id="0" r="0" g="0" b="0"/>
                                <color id="1" r="47" g="47" b="255"/>
                                <color id="2" r="0" g="150" b="0"/>
                                <color id="3" r="0" g="150" b="150"/>
                                <color id="4" r="170" g="25" b="25"/>
                                <color id="5" r="179" g="0" b="179"/>
                                <color id="6" r="128" g="128" b="0"/>
                                <color id="7" r="192" g="192" b="192"/>
                                <color id="8" r="128" g="128" b="128"/>
                                <color id="9" r="66" g="141" b="255"/>
                                <color id="10" r="0" g="255" b="0"/>
                                <color id="11" r="0" g="255" b="255"/>
                                <color id="12" r="255" g="50" b="50"/>
                                <color id="13" r="255" g="0" b="255"/>
                                <color id="14" r="255" g="255" b="0"/>
                                <color id="15" r="255" g="255" b="255"/>
                </colors>
                </tab>
        </tabs></settings>

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions