[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] still seeing semi-regular lockups
From: |
Eric Abrahamsen |
Subject: |
Re: [O] still seeing semi-regular lockups |
Date: |
Thu, 15 May 2014 18:31:13 +0800 |
User-agent: |
Gnus/5.130012 (Ma Gnus v0.12) Emacs/24.4.50 (gnu/linux) |
Daimrod <address@hidden> writes:
> Bastien <address@hidden> writes:
>
>> Hi Eric,
>>
>> Eric Abrahamsen <address@hidden> writes:
>>
>>> After Nicolas made the last round of improvements to the caching
>>> mechanism I got far fewer hangs with Org, but they are still happening.
>>> Maybe once a day or so, on average, editing something in an Org buffer
>>> causes emacs to hang, and my fans to spin up, and there we are until I
>>> kill emacs.
[...]
> I have also semi-regular lockup with org-mode. I have opened a bug on
> debbugs and here is what Stefan told me to try to debug this:
>
>> You can try `debug-on-event'.
>>
>> There's jit-lock-debug-mode but it doesn't disable inhibit-quit.
>> So you'll need to additionally use
>>
>> (advice-add 'jit-lock--debug-fontify :around
>> (lambda (fun &rest args)
>> (with-local-quit (apply fun args))))
>>
>> Of course sometimes this doesn't work because jit-lock-debug-mode
>> changes the way things are executed and the bug may not manifest itself
>> any more, but it's worth a try.
>>
>> Another source of info is to
>>
>> M-x trace-function RET org-adaptive-fill-function RET
>> M-x trace-function RET org-element-at-point RET
>> M-x trace-function RET org-element--cache-sync RET
>> M-x trace-function RET org-element--cache-process-request RET
>>
>> Then reproduce the hang, then break the hang somehow (maybe with the
>> jit-lock-debug hack above, or maybe with debug-on-event, or with C-g C-g
>> C-g, ...), then look at the *trace..* buffer.
>
> I'll try to see what I can find this week end and report back.
>
> By the way, if you want to see in which part the infloop occurs, you can
> attach a gdb debugger to the running emacs, source the
> <path-to-emacs-source>/src/.gdbinit file and use the `xbacktrace' command.
>
> $ gdb <path-to-emacs-executable> <emacs-pid>
> gdb) source <path-to-emacs-source>/src/.gdbinit
> ...
> gdb) xbacktrace
>
> You can also use the `bt' command but it contains much more noise.
Thanks! This is the sort of thing I assumed I'd have to do, and it's
good to have an actual recipe. If you're on it, I might take the lazy
option and spectate for now... :)
- [O] still seeing semi-regular lockups, Eric Abrahamsen, 2014/05/14
- Re: [O] still seeing semi-regular lockups, Bastien, 2014/05/15
- Re: [O] still seeing semi-regular lockups, Daimrod, 2014/05/19
- Re: [O] still seeing semi-regular lockups, Eric Abrahamsen, 2014/05/20
- Re: [O] still seeing semi-regular lockups, Daimrod, 2014/05/20
- Re: [O] still seeing semi-regular lockups, Eric Abrahamsen, 2014/05/20
- Re: [O] still seeing semi-regular lockups, Daimrod, 2014/05/28
- Re: [O] still seeing semi-regular lockups, Nicolas Goaziou, 2014/05/30
- Re: [O] still seeing semi-regular lockups, Daimrod, 2014/05/30