Large pastes into readline enabled programs causes breakage from kernels v2.6.31 onwards
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
Medium
|
Unassigned | ||
Precise |
Fix Released
|
Medium
|
Chris J Arges | ||
Quantal |
Fix Released
|
Medium
|
Chris J Arges | ||
Raring |
Fix Released
|
Medium
|
Chris J Arges | ||
Saucy |
Fix Released
|
Medium
|
Unassigned | ||
Trusty |
Fix Released
|
Medium
|
Rafael David Tinoco |
Bug Description
SRU Justification:
Impact: Large pastes over 4KB in a console may not be pasted correctly.
Fix: A patch was posted here https:/
Testcase:
1. gedit /usr/share/
2. select all and copy contents
3. open a terminal type "
4. paste contents
If the whole contents are pasted without any errors then we pass.
Additional Notes:
While this isn't upstreamed yet, this has already been accepted into Saucy and no additional bug reports or regressions have been detected yet. It would be useful to continue to monitor the upstream thread, and/or more deeply review this patch for potential deadlocks and contribute to the upstream discussion.
--
The bug is described in detail in this mail:
https:/
This bug affects any readline enabled program, like bash or psql. A "large" paste is any paste of more than 4kb of data (4kb is the size of the kernel buffer for reading from the console).
As can be found in the lkml thread, the issue is caused by the constant change between canonical mode and non-canonical mode, done by readline for each line being read. This change means that when the buffer is full, some characters might get lost.
This has been happening for a long time (starting with kernel v2.6.31-rc5), but it was barely noticeable for a while. Some changes done in the way the kernel schedules character reading in v2.6.39-rc1 made it much more noticeable. Even the most recent kernels are affected.
Changed in linux (Ubuntu): | |
importance: | Undecided → Medium |
tags: | added: kernel-bug-exists-upstream |
Changed in linux (Ubuntu): | |
status: | Confirmed → Triaged |
tags: | added: bot-stop-nagging |
tags: | added: kernel-key |
Changed in linux (Ubuntu Raring): | |
importance: | Undecided → Medium |
Changed in linux (Ubuntu Quantal): | |
importance: | Undecided → Medium |
Changed in linux (Ubuntu Precise): | |
importance: | Undecided → Medium |
Changed in linux (Ubuntu Raring): | |
status: | New → Triaged |
Changed in linux (Ubuntu Quantal): | |
status: | New → Triaged |
Changed in linux (Ubuntu Precise): | |
status: | New → Triaged |
Changed in linux (Ubuntu Saucy): | |
status: | Triaged → Fix Committed |
tags: | removed: kernel-key |
Changed in linux (Ubuntu Precise): | |
assignee: | nobody → Chris J Arges (arges) |
Changed in linux (Ubuntu Quantal): | |
assignee: | nobody → Chris J Arges (arges) |
Changed in linux (Ubuntu Raring): | |
assignee: | nobody → Chris J Arges (arges) |
Changed in linux (Ubuntu Precise): | |
status: | Triaged → In Progress |
Changed in linux (Ubuntu Raring): | |
status: | Triaged → In Progress |
Changed in linux (Ubuntu Quantal): | |
status: | Triaged → In Progress |
description: | updated |
Changed in linux (Ubuntu Precise): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Raring): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Quantal): | |
status: | In Progress → Fix Committed |
tags: |
added: verification-done-precise removed: verification-needed-precise |
tags: |
added: verification-done-raring removed: verification-needed-raring |
tags: |
added: verification-done-quantal removed: verification-needed-quantal |
Changed in linux (Ubuntu Trusty): | |
status: | In Progress → Fix Committed |
This bug is missing log files that will aid in diagnosing the problem. From a terminal window please run:
apport-collect 1208740
and then change the status of the bug to 'Confirmed'.
If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.
This change has been made by an automated script, maintained by the Ubuntu Kernel Team.