Logging to file drops/corrupts
Thanks for filing an issue! Please answer the questions below so I can help you.
- iTerm2 version: 3.3.11
- OS version: 10.15.5
- Attach ~/Library/Preferences/com.googlecode.iterm2.plist here (drag-drop from finder into this window): Unable - looking at this file there are some company proprietary things in here due to session configurations and the like.
- Attach a debug log, if possible. Instructions at https://iterm2.com/debuglog: N/A - turning on debug log prevents the problem from occurring.
- Attach a screen capture video if it would make the reproduction steps clearer.
- Are you reporting a performance issue, excessive CPU usage, or a hang? Please attach a sample. Instructions at https://gitlab.com/gnachman/iterm2/wikis/HowToSample
- Are you reporting a crash? Please attach the crash log. Instructions at https://gitlab.com/gnachman/iterm2/wikis/crash-logs
- Are you reporting excessive memory usage? Please attach a heap analysis: https://gitlab.com/gnachman/iterm2/wikis/heapshot
PLEASE ATTACH YOUR PLIST FILE FOR BUG REPORTS! Seriously! I'll probably ask you for it if you don’t.
Detailed steps to reproduce the problem:
- Make a test file:
for i in `seq 1 10000`; do echo "Test file line $i Test file line $i Test file line $i Test file line $i Test file line $i Test file line $i Test file line $i" >> ~/testfile.txt; done
- Do NOT enable 'Toggle Debug Logging' - turning this on does something to prevent the problem from occurring.
- Start Session > Log > Log to file (testfile.log is the name I use for this)
- cat testfile.txt
- Stop log file.
What happened: While the console correctly shows all lines, the log file is corrupted. In my case, I get things like:
Test file line 46 Test file line 46 Test file line 46 Test file line 46 Test file line 46 Test file line 46 Test file line 46
Test file line 47 Test file line 47 Test file line 47 Test file line 47 Test file line 47 Test file line 47 Test file line 47
Test file line 48 Test file line 48 Test file line 48 Test file line 48 Test file line 48 Test file line 48 Test file line 48
Test file line 49 Test file line 49 Test file line 49 Test file line 49 Test file line 49 Test file line 49 Tese 41 Test file line 41
Test file line 42 Test file line 42 Test file line 42 Test file line 42 Test file line 42 Test file line 42 Test file line 42
What should have happened: The exact same contents as testfile.txt, and/or exact same as what's on the screen. From the above lines:
Test file line 41 Test file line 41 Test file line 41 Test file line 41 Test file line 41 Test file line 41 Test file line 41
Test file line 42 Test file line 42 Test file line 42 Test file line 42 Test file line 42 Test file line 42 Test file line 42
Test file line 43 Test file line 43 Test file line 43 Test file line 43 Test file line 43 Test file line 43 Test file line 43
Test file line 44 Test file line 44 Test file line 44 Test file line 44 Test file line 44 Test file line 44 Test file line 44
Test file line 45 Test file line 45 Test file line 45 Test file line 45 Test file line 45 Test file line 45 Test file line 45
Test file line 46 Test file line 46 Test file line 46 Test file line 46 Test file line 46 Test file line 46 Test file line 46
Test file line 47 Test file line 47 Test file line 47 Test file line 47 Test file line 47 Test file line 47 Test file line 47
Test file line 48 Test file line 48 Test file line 48 Test file line 48 Test file line 48 Test file line 48 Test file line 48
Test file line 49 Test file line 49 Test file line 49 Test file line 49 Test file line 49 Test file line 49 Test file line 49