Upon updating to version 0.9.3, my streamzap remote[1] has become too sensitive. A key press is often echoed twice to applications such as Kodi. Under previous versions (e.g. 0.9.2a and below) it worked flawlessly. I attached my remote config file for reference.
See also:
https://bugs.archlinux.org/task/46457
https://bugs.archlinux.org/task/46550
I never attempted a bisect before but did so just now.
What I think is true:
tag = lirc-0_9_2a is good
tag = lirc-0_9_3pre3 is bad
Here is the bisect log with me building and running lircd via the attached "build" script directly in the git repo and testing in Kodi which I would start after lircd began to run:
Related
Commit: [2d468b]
Commit: [4ebae7]
Commit: [5a7e66]
Commit: [6b799d]
Commit: [7c6806]
Commit: [91aa31]
Commit: [9aaffc]
Commit: [b59b88]
Thanks for excellent bug-hunting! I think I understand what's going on here.
As downstream, it should be safe to just revert this commit as long as you work on an updated kernel. The work-around is required for "early" versions of the 4.1 line, but the underlying kernel problem is fixed (havn't checkad exactly at which point). Fedora is as of now on 4.1.6 which has solved the problem.
As upstream, it's more complicated...
From the git log it seems that I cannot find the commit that my bisect found which is "b59b88e79c2ae62ca8f2e1766a50678de5e3c4e7" per my output above.
Now if I search for "Work around kernel bug (#119)" in the git log it comes back to "219b01d0fc34bc0e3fd39075375045f032dcca19" in the git repo.
How can I generate a patch reverting just this commit against the proper 0.9.3 release?
Last edit: John A. 2015-10-05
I'm having this issue also (seeing keypresses twice) but I'm getting a different commit from git bisect: 7dca803fc6b6b7090d057194f2828c21e186dfd6 (from the release-0_9_3 branch)
Could it be a separate issue on my end? Should I report it as a separate ticket?
Hm, yes please. File another ticket for it!
Two things:
1) How can I use git to generate a single patch reverting just that commit? I used the gitweb and saw that only one first was changed (plugins/default.c) so I just extracted the 0.9.3 tarball to "a" and then copied it to "b" and edited b/plugins/default.c to what it was before that commit manually. Then I created the attached patch with "diff -uprN a/plugins/default.c b/plugins/default.c"
Applying that patch against the the 0.9.3 source and building seems to have solved the problem. I will communicate this to the Arch packagers.
2) Since you said 4.1.6+ should be fine without the workaround we [Arch] could simply include this patch for our packages since the current lts kernel for Arch is 4.1.10 and the standard one is 4.2.3 (as I write this).
Last edit: John A. 2015-10-05
git revert fa1afe1
git format-patch HEAD^..HEAD
Yes
BTW: Have you noticed the other post-release patches in the release-0_9_3 branch?
Not sure about post-release patches... I only dug into this due to bug affecting my stuff :)
...if the problem is affecting a now unsupported version of the kernel, perhaps the code should be removed upstream (here with you) leaving the non-standard solution, ie the patch, to those running a deprecated version of the kernel. I think that would inconvenience less distros/packagers in the long term, no?
Last edit: John A. 2015-10-05
Indeed. That's my own thinking as well. Thanks for input, it certainly helps. However, short of time right now.
@Alec - OK!
Fixed in [d9ade8], basically reverting the broken fix. This makes lirc incompatible with at least the 4.04 kernel.
Related
Commit: [d9ade8]
Fix backported to 0.9.3a in [b5fe80]
Related
Commit: [b5fe80]