unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
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





  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

  List information: https://www.gnu.org/software/emacs/

* 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 public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).