From: Maneesh Yadav <maneeshkyadav@gmail.com>
To: John Wiegley <jwiegley@gmail.com>
Cc: 21965@debbugs.gnu.org
Subject: bug#21965: 24.5; Emacs freezes when canceling at open file
Date: Tue, 24 Nov 2015 14:58:11 -0800 [thread overview]
Message-ID: <CAPsivR_k29D9URZbeQ9CU8VuexwfJob9oiue44tj3y0rB4SqtA@mail.gmail.com> (raw)
In-Reply-To: <CAPsivR83MC2YaMTdB8ZdXS_gPT6ok5cYFTGwW9D0AXJYu5oEBA@mail.gmail.com>
lldb "thread continue" runs after, but emacs remains unresponsive
'thread step-in" does increment the instruction counter (output
below)...but not really sure what that implies.
(lldb) thread step-in
Process 25251 stopped
* thread #1: tid = 0x746f0, 0x00007fff8a861168
libsystem_kernel.dylib`__psynch_mutexwait + 12, queue =
'com.apple.main-thread', stop reason = instruction step into
frame #0: 0x00007fff8a861168 libsystem_kernel.dylib`__psynch_mutexwait + 12
libsystem_kernel.dylib`__psynch_mutexwait:
-> 0x7fff8a861168 <+12>: movq %rax, %rdi
0x7fff8a86116b <+15>: jmp 0x7fff8a85cc53 ; cerror_nocancel
0x7fff8a861170 <+20>: retq
0x7fff8a861171 <+21>: nop
(lldb) thread step-in
Process 25251 stopped
* thread #1: tid = 0x746f0, 0x00007fff8a86116b
libsystem_kernel.dylib`__psynch_mutexwait + 15, queue =
'com.apple.main-thread', stop reason = instruction step into
frame #0: 0x00007fff8a86116b libsystem_kernel.dylib`__psynch_mutexwait + 15
libsystem_kernel.dylib`__psynch_mutexwait:
-> 0x7fff8a86116b <+15>: jmp 0x7fff8a85cc53 ; cerror_nocancel
0x7fff8a861170 <+20>: retq
0x7fff8a861171 <+21>: nop
0x7fff8a861172 <+22>: nop
(lldb) thread step-in
Process 25251 stopped
* thread #1: tid = 0x746f0, 0x00007fff8a85cc53
libsystem_kernel.dylib`cerror_nocancel, queue =
'com.apple.main-thread', stop reason = instruction step into
frame #0: 0x00007fff8a85cc53 libsystem_kernel.dylib`cerror_nocancel
libsystem_kernel.dylib`cerror_nocancel:
-> 0x7fff8a85cc53 <+0>: movl %edi, -0x14ad19d9(%rip) ; errno
0x7fff8a85cc59 <+6>: movq %gs:0x8, %rax
0x7fff8a85cc62 <+15>: testq %rax, %rax
0x7fff8a85cc65 <+18>: je 0x7fff8a85cc69 ; <+22>
On Tue, Nov 24, 2015 at 2:51 PM, Maneesh Yadav <maneeshkyadav@gmail.com> wrote:
> FWIW I just triggered the condition 3 times in a row (I seem to be
> getting better at triggering it), attached with lldb output
> (backtraces looks the same as before as well). Looks like the same
> instruction?
>
>
> #1
>
>
>
> Process 25176 stopped
>
> * thread #1: tid = 0x7369a, 0x00007fff8a861166
> libsystem_kernel.dylib`__psynch_mutexwait + 10, queue =
> 'com.apple.main-thread', stop reason = signal SIGSTOP
>
> frame #0: 0x00007fff8a861166 libsystem_kernel.dylib`__psynch_mutexwait + 10
>
> libsystem_kernel.dylib`__psynch_mutexwait:
>
> -> 0x7fff8a861166 <+10>: jae 0x7fff8a861170 ; <+20>
>
> 0x7fff8a861168 <+12>: movq %rax, %rdi
>
> 0x7fff8a86116b <+15>: jmp 0x7fff8a85cc53 ; cerror_nocancel
>
> 0x7fff8a861170 <+20>: retq
>
>
> (lldb) thread backtrace
>
> * thread #1: tid = 0x7369a, 0x00007fff8a861166
> libsystem_kernel.dylib`__psynch_mutexwait + 10, queue =
> 'com.apple.main-thread', stop reason = signal SIGSTOP
>
> * frame #0: 0x00007fff8a861166 libsystem_kernel.dylib`__psynch_mutexwait + 10
>
> frame #1: 0x00007fff853b5696
> libsystem_pthread.dylib`_pthread_mutex_lock + 480
>
> frame #2: 0x0000000100a17ba1 libglib-2.0.0.dylib`g_mutex_lock + 26
>
> frame #3: 0x00000001009db284 libglib-2.0.0.dylib`g_main_context_acquire + 42
>
> frame #4: 0x000000010024fc47 emacs`xg_select + 231
> ...
>
>
>
> #2
>
> Process 25238 stopped
>
> * thread #1: tid = 0x742be, 0x00007fff8a861166
> libsystem_kernel.dylib`__psynch_mutexwait + 10, queue =
> 'com.apple.main-thread', stop reason = signal SIGSTOP
>
> frame #0: 0x00007fff8a861166 libsystem_kernel.dylib`__psynch_mutexwait + 10
>
> libsystem_kernel.dylib`__psynch_mutexwait:
>
> -> 0x7fff8a861166 <+10>: jae 0x7fff8a861170 ; <+20>
>
> 0x7fff8a861168 <+12>: movq %rax, %rdi
>
> 0x7fff8a86116b <+15>: jmp 0x7fff8a85cc53 ; cerror_nocancel
>
> 0x7fff8a861170 <+20>: retq
>
>
>
> #3
>
> Process 25251 stopped
>
> * thread #1: tid = 0x746f0, 0x00007fff8a861166
> libsystem_kernel.dylib`__psynch_mutexwait + 10, queue =
> 'com.apple.main-thread', stop reason = signal SIGSTOP
>
> frame #0: 0x00007fff8a861166 libsystem_kernel.dylib`__psynch_mutexwait + 10
>
> libsystem_kernel.dylib`__psynch_mutexwait:
>
> -> 0x7fff8a861166 <+10>: jae 0x7fff8a861170 ; <+20>
>
> 0x7fff8a861168 <+12>: movq %rax, %rdi
>
> 0x7fff8a86116b <+15>: jmp 0x7fff8a85cc53 ; cerror_nocancel
> 0x7fff8a861170 <+20>: retq
>
>
> On Mon, Nov 23, 2015 at 7:39 PM, John Wiegley <jwiegley@gmail.com> wrote:
>>>>>>> Eli Zaretskii <eliz@gnu.org> writes:
>>
>>> No. And I'm not even convinced that's where we are blocked. It could be that
>>> this is part of a loop that Emacs is waiting in. To prove that we are
>>> blocked there, one needs to attach the debugger many times and see that the
>>> debugger finds Emacs at _exactly_ the same instruction. Or, after attaching,
>>> step Emacs and see that it cannot move even a single instructions.
>>
>> Fair enough. The docs for g_main_context_acquire do say that it should return
>> immediately, if no other thread is holding the lock.
>>
>> John
next prev parent reply other threads:[~2015-11-24 22:58 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-20 19:18 bug#21965: 24.5; Emacs freezes when canceling at open file Maneesh Yadav
2015-11-20 21:37 ` John Wiegley
2015-11-20 21:47 ` Maneesh Yadav
2015-11-20 21:55 ` John Wiegley
2015-11-20 22:07 ` Maneesh Yadav
2015-11-20 22:45 ` Maneesh Yadav
2015-11-20 23:26 ` John Wiegley
2015-11-20 23:32 ` Maneesh Yadav
2015-11-20 23:54 ` John Wiegley
2015-11-21 1:46 ` Maneesh Yadav
2015-11-21 7:29 ` Eli Zaretskii
2015-11-22 5:11 ` John Wiegley
2015-11-22 5:15 ` Maneesh Yadav
2015-11-23 21:29 ` Maneesh Yadav
2015-11-23 22:17 ` John Wiegley
2015-11-24 0:30 ` Maneesh Yadav
2015-11-24 3:39 ` Eli Zaretskii
2015-11-24 3:34 ` Eli Zaretskii
2015-11-24 3:39 ` John Wiegley
2015-11-24 22:51 ` Maneesh Yadav
2015-11-24 22:58 ` Maneesh Yadav [this message]
2015-11-25 1:02 ` John Wiegley
2015-11-25 1:15 ` Maneesh Yadav
2015-11-25 1:38 ` John Wiegley
2015-11-25 1:46 ` Maneesh Yadav
2015-11-25 1:50 ` John Wiegley
2015-11-25 18:49 ` Maneesh Yadav
2015-11-25 18:59 ` John Wiegley
2016-02-18 21:46 ` Maneesh Yadav
2016-02-20 2:40 ` John Wiegley
2020-08-31 2:11 ` Stefan Kangas
2020-08-31 2:25 ` Maneesh Yadav
2020-08-31 13:54 ` Stefan Kangas
2015-11-20 22:01 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAPsivR_k29D9URZbeQ9CU8VuexwfJob9oiue44tj3y0rB4SqtA@mail.gmail.com \
--to=maneeshkyadav@gmail.com \
--cc=21965@debbugs.gnu.org \
--cc=jwiegley@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.