iterm2 on new macbook pro hanging for ~10 seconds at a time
Thanks for filing an issue! Please answer the questions below so I can help you.
- iTerm2 version: 3.0.12 and 3.0.14
- OS version: 10.12.3
- plist config com.googlecode.iterm2.plist
- Are you reporting a performance issue or a hang? Yes, samples:
Sample_of_iTerm2.txtSample_of_iTerm2-2.txt
Hi there,
I switched computers recently, and, with fairly vanilla configurations, started experiencing many seconds of spinning wheel while the UI is unresponsive. I've taken some samples with Activity Monitor; it looks to me that there's lock contention, but I've not followed up.
I can't reproduce this reliably, but it happens to me multiple times a day, especially when using tmux (without iTerm integration enabled) or vim or vim-inside-of-tmux.
The debug log seems to have copies of my terminal, which I'm not comfortable sharing. However, what's noticeable is that there are occasionally long gaps in it. Note that between 1488310769.784474 and 1488310784.279806 it looks like nothing's going on.
$cat /tmp/debuglog.txt | grep -B10 '^1488310784.' | head -n 20
1488310769.784354 VT100Parser.m:59 (-[VT100Parser addNextParsedTokensToVector:]): Have 18 bytes to parse
1488310769.784372 VT100Parser.m:176 (-[VT100Parser addNextParsedTokensToVector:]): Bytes 0-7 of 8: 1b 5b 34 32 3b 34 30 48 (.[42;40H)
1488310769.784396 VT100Parser.m:180 (-[VT100Parser addNextParsedTokensToVector:]): Parsed as <VT100Token: 0x7ff4aed7a040 type=VT100CSI_CUP params=42;40;>
1488310769.784402 VT100Parser.m:59 (-[VT100Parser addNextParsedTokensToVector:]): Have 10 bytes to parse
1488310769.784422 VT100Parser.m:176 (-[VT100Parser addNextParsedTokensToVector:]): Bytes 0-5 of 6: 1b 5b 3f 32 35 68 (.[?25h)
1488310769.784440 VT100Parser.m:180 (-[VT100Parser addNextParsedTokensToVector:]): Parsed as <VT100Token: 0x7ff4aef87de0 type=VT100CSI_DECSET params=25;>
1488310769.784443 VT100Parser.m:59 (-[VT100Parser addNextParsedTokensToVector:]): Have 4 bytes to parse
1488310769.784452 VT100Parser.m:176 (-[VT100Parser addNextParsedTokensToVector:]): Bytes 0-3 of 4: 1b 5b 30 6d (.[0m)
1488310769.784468 VT100Parser.m:180 (-[VT100Parser addNextParsedTokensToVector:]): Parsed as <VT100Token: 0x7ff4aec62170 type=VT100CSI_SGR params=0;>
1488310769.784474 VT100Parser.m:59 (-[VT100Parser addNextParsedTokensToVector:]): Have 0 bytes to parse
1488310784.279806 PTYSession.m:3445 (-[PTYSession updateDisplay]): updateDisplay session=<PTYSession: 0x7ff4aed77210 185x43>
1488310784.279834 PTYTab.m:997 (-[PTYTab updateLabelAttributes]): PTYTab updateLabelAttributes for tab 4
1488310784.279860 PTYTab.m:1004 (-[PTYTab updateLabelAttributes]): No session is processing
1488310784.280059 PTYSession.m:3469 (-[PTYSession updateDisplay]): Session <PTYSession: 0x7ff4aed77210 185x43> calling refresh
1488310784.280087 PTYTextView.m:918 (-[PTYTextView refresh]): PTYTextView refresh called with delegate <PTYSession: 0x7ff4aed77210 185x43>
1488310784.280154 PTYTextView.m:6473 (-[PTYTextView updateDirtyRects]): Time to redraw blinking objects
1488310784.280273 PTYTextView.m:6551 (-[PTYTextView updateDirtyRects]): Nothing dirty found, delegate=<PTYSession: 0x7ff4aed77210 185x43>
1488310784.280281 PTYTextView.m:6555 (-[PTYTextView updateDirtyRects]): updateDirtyRects resetDirty
1488310784.280325 VT100Grid.m:120 (-[VT100Grid markAllCharsDirty:]): Mark all chars dirty=0 delegate=<VT100Screen: 0x7ff4aedba4b0 grid:<VT100Grid: 0x6080000d4510 size=185 x 43, cursor @ (42,42)>>
1488310784.280377 VT100Grid.m:107 (-[VT100Grid markCharsDirty:inRectFrom:to:]): Mark rect from (0, 0) to (184, 42) dirty=0 delegate=<VT100Screen: 0x7ff4aedba4b0 grid:<VT100Grid: 0x6080000d4510 size=185 x 43, cursor @ (42,42)>>
Many thanks,
-- Philip