ConEmu icon indicating copy to clipboard operation
ConEmu copied to clipboard

Starting commands from Far Manger command line in ConEmu is very slow

Open MishaKharaba opened this issue 6 years ago • 44 comments

ConEmu x64 190225, Far 3.0.5225 x64

I run FarManager in ConEmu window. From Far command line I start command: cd C:\ or cd D:\ or just dir - it does not matter

After pressing ENTER it takes 2-3 seconds to start command

When Far is running standalone without ConEmu the commands starts immediately.

Reinstalling ComEnu with default settings did help

MishaKharaba avatar Feb 27 '19 16:02 MishaKharaba

So, do you observe the problem now or not?

Maximus5 avatar Feb 27 '19 19:02 Maximus5

I've experienced the same issue lately, but i haven't found the time yet to check which setting causes the dealy.

bitraid avatar Feb 27 '19 20:02 bitraid

For me the delay happens if far is started with the -w switch (outside ConEmu there is no delay).

bitraid avatar Mar 02 '19 12:03 bitraid

I also noticed that the delay is much less if the ConEmu far plugins are not installed.

bitraid avatar Mar 02 '19 12:03 bitraid

After testing on different machines i noticed that the delay is very small (barely noticeable) on a fast system but really shows on slower VMs.

bitraid avatar Mar 02 '19 13:03 bitraid

Try to disable Long console output

Maximus5 avatar Mar 02 '19 22:03 Maximus5

Yes that's much better, thanks.

bitraid avatar Mar 02 '19 23:03 bitraid

So, do you observe the problem now or not?

I still have an issue on my work machine. But on virtual machine (win server 2016 ) it works well.

If there are some debugging options with adtitional logging, I can run it on my work machine and send you log file.

MishaKharaba avatar Mar 12 '19 08:03 MishaKharaba

I see the same problem on my work computer too. Disabling long console output does not help. No such a problem when Far is running standalone. Far 3.0.5254 ConEmu 190310 Windows 10 (version 1809)

ghost avatar Mar 13 '19 09:03 ghost

I see the same problem on my work computer too. Disabling long console output does not help. No such a problem when Far is running standalone. Far 3.0.5254 ConEmu 190310 Windows 10 (version 1809)

Ok, I guess it was related to long console output after all.

ghost avatar Mar 13 '19 10:03 ghost

There is the same issue for me. But on ConEmu x86 the delay of command execution is little shorter than on x64 version. Any solution? ConEmu version 190310 preview

lllcky avatar Mar 24 '19 10:03 lllcky

But on ConEmu x86 the delay of command execution is little shorter than on x64 version.

Unbelievable... The delay depends only on "long console output" and actual height of the buffer. Note that expected delay depends after command execution. At that moment ConEmuC (bitness doesn't depend on ConEmu bitness) reads output of the command. There is no other way to eliminate the delay except disable "long console output".

Maximus5 avatar Mar 25 '19 12:03 Maximus5

Just my 5 cents. Delay happens only if FAR runs in ConEMU. If either FAR runs in CMD or ConEMU runs cmd, there's no delay. Delay happens both before and after command execution.

ConEmu 190324 x64 FAR 3.0b5354 x64 Win 10 1809 x64

target-san avatar Mar 26 '19 12:03 target-san

Just now I have updated ConEmu to the last version and reset setting to default. In my situation option "long console output" does not change anything. Btw, delay is before command execution

MishaKharaba avatar Mar 26 '19 12:03 MishaKharaba

I can confirm that issue. I don't need to execute any command inside Far to experience the delay, even pressing Enter in Far causes it. Disabling long console output does not seem to help.

I noticed that during the delay, conhost.exe eats the whole CPU core (see image attached)

image

Also, if I launch Far in Cmder (which is based on ConEmu, I suppose), it works just fine and I don't experience any delays in Far.

Also, Far works just fine in ConEmu on Windows 7, and it did work fine on previous updates of Windows 10 (unfortunately, I don't recall the last Windows 10 build number where Far worked fine inside ConEmu)

Windows 10 x64 ver 10.0.17763.107 Far Manager, version 3.0 (build 4774) x64 ConEmu 190324 preview

BOOtak avatar Mar 27 '19 06:03 BOOtak

if I launch Far in Cmder (which is based on ConEmu, I suppose), it works just fine and I don't experience any delays in Far.

That can't be. Cmder is ConEmu. So the problem is with your settings only!

I need Log Files from the fresh 190326 build.

Run ConEmu64.exe -basic -log -run {far} and do the repro.

Maximus5 avatar Mar 27 '19 08:03 Maximus5

@Maximus5

So the problem is with your settings only!

OK, this sounds promising! I hope we figure out what these settings are.

Run ConEmu64.exe -basic -log -run {far} and do the repro.

Done: ConEmuLogs.zip

BOOtak avatar Mar 27 '19 09:03 BOOtak

My logs ConEmuLogs.zip

I have run twice cd c:\ and cd d:\ Delay was exactly after pressing Enter and before starting command. It looked like a smal freeze after Enter for 1-2 sec

MishaKharaba avatar Mar 27 '19 09:03 MishaKharaba

There is a demonstration of logs collections and the issue (video) https://radikal.ru/video/gWmqZTzoyDJ

These logs: ConEmu-srv-5396.zip

lllcky avatar Mar 28 '19 15:03 lllcky

I've updated logging. Please install build 190331 and redo logs.

Maximus5 avatar Mar 31 '19 23:03 Maximus5

@Maximus5 ConEmuLogs.zip Done!

BOOtak avatar Apr 01 '19 08:04 BOOtak

I've created the logs with -log5. I've changed directory (cd folder) at 11:26:30. 2019-04-08-conemu.zip

11:26:30.481 WM_KEYDOWN ""  wParam=x0000000D, lParam=x011C0001
11:26:30.481 WM_CHAR "\r" wParam=x0000000D, lParam=x011C0001
11:26:30.481   (\x000D) Down, count=1, VK=13, SC=28, CH=13, State=0x00000120 <Enhanced>
11:26:30.484 [14048] Invalidating from CRealConsole::MonitorThread.1
11:26:30.484 [13728] CConEmuChild::OnPaint
11:26:30.484 [13728] Blitting to Display
11:26:30.641 WM_KEYUP   ""  wParam=x0000000D, lParam=xC11C0001
11:26:30.641   (\x000D) Up,   count=1, VK=13, SC=28, CH=13, State=0x00000120 <Enhanced>
11:26:31.016 [14048] Invalidating from CRealConsole::MonitorThread.1
11:26:31.016 [13728] CConEmuChild::OnPaint
11:26:31.016 [13728] Blitting to Display

11:26:31.230 MainThread Far.exe: Start command execution? buffer={80x32766} rect={0,32741}-{79,32765}
11:26:31.977 MainThread Far.exe: Start command execution? buffer={80x32766} rect={0,32741}-{79,32765}
11:26:31.989 RefrThread CurSize={80,25,32766} Cursor={13,32764,15%V} ConRect={0,32741}-{79,32765} :ReadConsoleInfo (skipped=1) {1:1:x520:0} {(0,0) (273x164)} `Lucida Console` 5x3 [begin]
11:26:31.989 RefrThread CurSize={80,25,32766} Cursor={13,32764,15%V} ConRect={0,32741}-{79,32765} :ReadConsoleInfo (skipped=1) {1:1:x520:0} {(0 [end]
11:26:31.990 RefrThread ReadConsoleData: content was changed

11:26:31.992 [14048] ApplyConsoleInfo: ScreenBufferInfo changed
11:26:31.992 [14048] ApplyConsoleInfo: Console contents received
11:26:31.992 [14048] DataCmp was changed, width=80, height=25, count=2000, posY=0, posX=53
11:26:31.992 [14048] ApplyConsoleInfo: InitBuffers&LoadDataFromSrv -> changed
11:26:31.996 [14048] mp_VCon->Update from CRealConsole::MonitorThread
11:26:31.996 [14048] Invalidating from CVirtualConsole::Update.1
11:26:31.996 [13728] CConEmuChild::OnPaint
11:26:31.998 [13728] Blitting to Display
11:26:32.006 [14048] ApplyConsoleInfo: Console contents received
11:26:32.006 [14048] mp_VCon->Update from CRealConsole::MonitorThread
11:26:32.006 [14048] Invalidating from CVirtualConsole::Update.1
11:26:32.006 [13728] CConEmuChild::OnPaint
11:26:32.006 [13728] Blitting to Display

11:26:35.677 RefrThread ReadConsoleData: content was changed
11:26:35.982 RefrThread ReadConsoleData: content was changed
11:26:36.013 MainThread Far.exe: SetConsoleMode(x00000008, x000001B7)
11:26:36.016 RefrThread Mode ConInMode changed: old=x01B8 new=x01B7

DamianFekete avatar Apr 08 '19 09:04 DamianFekete

I've just tested the same ConEmu+Far setup on two virtual machines with identical hardware (and on the same host), one running Windows 10 v1607, and the other Windows 10 v1809. The one running v1809 was considerably slower.

bitraid avatar Apr 09 '19 17:04 bitraid

I'm also seeing super annoying 1 to 2 second delay every time I run any command-line command from inside FarManager. If I run commands from cmd.exe with ConEmu - no delay. If I commands from FarManager without ConEmu - no delay.

Disabling "Long console output" does not change anything.

Here are my logs with default ConEmu configuration: ConEmuLogs.zip I've run "cd \" and two "dir".

This is with:

  • FarManager 3.0 build 5391 x64
  • ConEmu x64 190331
  • Windows 10 Version 1809 (17763.437)

mmozeiko avatar Apr 28 '19 19:04 mmozeiko

I tried installing older ConEmu releases as I remember that this behavior was not happening before. What I found that if I install v17.09.10 version then commands run instantly in Far - same as in plain cmd.exe under ConEmu. But if I install next release v17.10.25 then the delay is back when running Far.

To test delay I launched ConEmu64.exe -basic -run {far} and then simply typed dir + enter. With v17.09.10 there is no delay, with v17.10.25 there is 1-2 second delay for me 100% of time.

I guess this means that change which introduced this delay is somewhere in these commits: https://github.com/Maximus5/ConEmu/compare/v17.09.10...v17.10.25

For now I'll stick with v17.09.10 release.

mmozeiko avatar Apr 29 '19 04:04 mmozeiko

Any progress?

man4j avatar Jul 08 '19 11:07 man4j

I am also experiencing this issue on recent versions of Windows 10, but the issue is not present on my Windows 2008 Server machines and not on any Windows 7 VM that I run. Also, as mentioned before, the problem does not occur when running FAR outside of ConEmu.

Sadly, the following things did not help:

  • disabling long console output
  • switching to the 17.09.10 release
  • reinstalling ConEmu
  • deleting ConEmu.xml, resetting all settings to default

huettenhain avatar Jul 11 '19 13:07 huettenhain

A small update: For me, the problem has completely vanished on the Windows 10 machine after upgrading to version 1903, build 18362.267.

huettenhain avatar Aug 05 '19 12:08 huettenhain

Can confirm. No delay anymore for me with following versions: Windows 10 v1903 FarManager v3.0.0.5444 ConEmu v190714

mmozeiko avatar Aug 06 '19 03:08 mmozeiko

Do we know the root cause for this issue. I have this issue and do not have the opportunity to upgrade my Windows yet

JPdotS avatar Sep 17 '19 00:09 JPdotS