From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by befuddled.reisers.ca (Postfix, from userid 65534) id 862FF1EF219; Wed, 23 Aug 2017 07:21:35 -0400 (EDT) Received: from mail-oi0-x22d.google.com (mail-oi0-x22d.google.com [IPv6:2607:f8b0:4003:c06::22d]) by befuddled.reisers.ca (Postfix) with ESMTPS id 991EF1EF114 for ; Wed, 23 Aug 2017 07:21:33 -0400 (EDT) Received: by mail-oi0-x22d.google.com with SMTP id g131so13085569oic.3 for ; Wed, 23 Aug 2017 04:21:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to:cc; bh=YDP69/myEWHmKhZJFy3KM3RoSnauX06MwfMfoICZmxE=; b=YEjJM4aq/NtnsvVesFkslC1kGJmfZNgpZqhjsSgRDb4LCL6ItZcsQ7MY3yksQpYRCs phVujXUVh6MncuZHBus3X9sQGIRdKC0/u9QYuxQqmat7hg+t8IkamS1Q8ox5LzPBcnVV RTm2wXD4WAFB5eL1dJSyZst51DkMeNxmvCWKG+Azt7qiWLLlz5pOXXd+qohDQ6z9L+y6 MrWprbUiyLZTC6Cufae32wkpFfbtG83/6HOGLaao7XhsGIUeNru1jWAqoTaGo7WxUf+x Jvikyo3fOp1R3qmW815ZSLoFKxNSOStP/2UMsIr8zcE5b24BRAvhmvq9qqwIsifung9t 8lvA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=YDP69/myEWHmKhZJFy3KM3RoSnauX06MwfMfoICZmxE=; b=aWwqtOcbYiUZ+fxO/sMNPDbCpK6OvfMUuCNijypHSFeOVWbgNE6HbAN/O0s0lLHgkQ rWPpozQBirVLm8ebDNJ/jMZMTEbaqRbiEev8H557nPyzGizP1H+N7MbF/3LOX8y29oeb gMsO1mh9K1RBVWGz/5lFGgPBDNRefTlt3gn+aB6bbYJNl66gOHKU8PpN2ays7t03eGik tNhqfgJDEkFATqwlyzjyO8Xp/DssPIwoElT4eQ4QOychP1ZB+0gyB5SR1CDiSi39A7bi Uy4pnGDu9vI0oU8qZLUtN9VtZOmH4RLak796RVq1zs9uU4+h87TgYy+bPMPp8BFqTM4q chQQ== X-Gm-Message-State: AHYfb5icpky/BZLyL8nAYqkJOArqvnvt9K3XvrJ2XAeZFJRdqaCHONLg DRMgsVn/Xclt45I5h+bndB7NwWAWOvVg X-Received: by 10.202.178.11 with SMTP id b11mr3128487oif.299.1503487289574; Wed, 23 Aug 2017 04:21:29 -0700 (PDT) MIME-Version: 1.0 Received: by 10.157.26.53 with HTTP; Wed, 23 Aug 2017 04:21:29 -0700 (PDT) From: Okash Khawaja Date: Wed, 23 Aug 2017 12:21:29 +0100 Message-ID: Subject: speakup-r lockup analysis so far To: "Speakup is a screen review system for Linux." Cc: Samuel Thibault , Christopher Brannon , John Covici Content-Type: text/plain; charset="UTF-8" X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 X-BeenThere: speakup@linux-speakup.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Speakup is a screen review system for Linux." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Aug 2017 11:21:35 -0000 Hi, This is my analysis of speakup-r empty line lockup so far. The call chain that leads is: cursor on an empty line --> user hits speakup-r --> (everthing from here on will be in interrupt context) --> keyboard_notifier_call(code == 4 == KBD_KEYSYM) --> speakup_key() --> do_spkup() --> spkup_handler(value ==47==index of read_all_doc) --> read_all_doc --> kbd_fakekey2() Now, inside kbd_fakekey2(), speakup_fake_down_arrow() causes the lockup. And inside speakup_fake_down_arrow(), input_sync() causes the lockup. I'm pretty sure keyboard_notifier_call is not invoked again, after input_sync() when the lockup happens. So either lockup happens inside input_sync() or some callback that is invoked as a result of input_sync's execution. >>From tests that John ran, we can say that speakup_fake_down_arrow itself is correct. It's only when it is called as a result of above call chain that the lockup happens. Also worth noting is the fact that above sequence is all inside interrupt context. Any ideas or suggestions about line of investigation will be helpful. Until then, I'll continue to explore this. Thanks, Okash