Maximus5 / ConEmu

Customizable Windows terminal with tabs, splits, quake-style, hotkeys and more
https://conemu.github.io/
BSD 3-Clause "New" or "Revised" License
8.57k stars 572 forks source link

190714 nNewWidth>0 && nNewHeight>0 Assertion conemu\src\conemu\realbuffer.cpp:1906 #1980

Open NN--- opened 5 years ago

NN--- commented 5 years ago

Versions

ConEmu build: 190714 x64 OS version: Windows 10 1903 x64 Used shell version (Far Manager, git-bash, cmd, powershell, cygwin, whatever): cmd

Problem description

Got assertion

Steps to reproduce

  1. Not sure, happened when I connected and disconnect the laptop from docking station 10 times in a row.

Actual results

No crash

Expected results

Crash

Additional files

---------------------------
cmd
---------------------------
Assertion: ConEmu 190714 [64] PID=17944, TID=1019264

C:\Program Files\ConEmu\ConEmu64.exe

conemu\src\conemu\realbuffer.cpp:1906

-----------------------

nNewWidth>0 && nNewHeight>0

-----------------------

Press <Ignore> to continue your work.

Press <Abort> to throw exception, ConEmu will be terminated!

Press <Retry> to copy text information to clipboard

and report a bug (open project web page).

PreError=0, PostError=0, Result=4

Assertion was occurred (ConEmu64.exe, PID=17944)

ConEmu build 190714 64

Memory dump was saved to

C:\Users\a\Desktop\ConEmuTrap\Trap-190714-17944.dmp

Please Zip it and send to developer (via DropBox etc.)

https://conemu.github.io/en/Issues.html
---------------------------
OK   
---------------------------
grokys commented 5 years ago

Getting this as well after my machine wakes from sleep. Dump here: https://www.dropbox.com/s/30pjcwpglcuig5g/Trap-190714-1336.dmp?dl=0

webstech commented 4 years ago

Have been getting this for several years. I think it is related to screen size changes. @NN--- Did you have a higher res monitor connected to the docking station? I get the error when the screen comes back from screensaver (blank). Other windows move around on the screen (mostly sliding to the right). Suspect the screensaver screen size is 2k while the physical screen is larger. Need to determine the values causing the assert failure so the code can handle it (or in my case get a new video card and drivers).

NN--- commented 4 years ago

Correct. I have HiDPI on my laptop and non HiDPI on external monitor.

grokys commented 4 years ago

Same here: HiDPI on my main monitor with 150% scaling, 100% scaling on second monitor. Get this every time my machine wakes from sleep.

webstech commented 4 years ago

I did a debug build of ConEmu and took a similar error at a different location: ConEmuSize.cpp line 1680. The values being checked are all zeroes. // Default values for Win10 if for unknown reason we failed to retrieve them if (!fi.Win10Stealthy.left) { // We shall not get here, WinAPI MUST return proper values <--- Hmmm _ASSERTE(fi.Win10Stealthy.left && fi.Win10Stealthy.right && fi.Win10Stealthy.bottom); <--- failed const int def_val = !c ? 7 : 6; // 6 for caption-less fi.Win10Stealthy = MakeRect(def_val, 0, def_val, def_val); }

Going to turn on logging and let it run again.

webstech commented 4 years ago

The separate issue appears to be related to a debug build exposing an uninitialized storage problem. I have a work around to that. Trying to recreate this with the debug build but no luck yet.

bpabel commented 4 years ago

On Windows 10, I can reproduce this error by running the Split: Duplicate active 'shell' split to bottom: Split(0,0,50) command.

It works fine on the first two splits (3 consoles). When I split the 3rd time to generate a 4th console, it throws up this error. My default shell is the cmd.exe shell.

It's worth noting that if I create the split shells using the New Console Dialog, I don't get this error. It's only if I use the hotkey.