From: Eli Zaretskii <eliz@gnu.org>
To: Robert Pluim <rpluim@gmail.com>
Cc: psainty@orcon.net.nz, pieter@vanoostrum.org, 38407@debbugs.gnu.org
Subject: bug#38407: 27.0.50; infinite loop with display of large file without newlines
Date: Tue, 03 Dec 2019 18:05:42 +0200 [thread overview]
Message-ID: <83o8wpjsx5.fsf@gnu.org> (raw)
In-Reply-To: <m2k17dslj9.fsf@gmail.com> (message from Robert Pluim on Tue, 03 Dec 2019 12:20:26 +0100)
> From: Robert Pluim <rpluim@gmail.com>
> Cc: Phil Sainty <psainty@orcon.net.nz>, pieter@vanoostrum.org,
> 38407@debbugs.gnu.org
> Date: Tue, 03 Dec 2019 12:20:26 +0100
>
> >>>>> On Mon, 02 Dec 2019 11:27:10 +0100, Robert Pluim <rpluim@gmail.com> said:
> /* Otherwise, we can wrap here. */
> SAVE_IT (wrap_it, *it, wrap_data); <=====
> may_wrap = false;
> }
> }
> }
>
> That SAVE_IT is what causes the __memmove_avx_unaligned_erms to show
> up so high in the trace (via bidi_shelve_cache).
Yes, I was wondering about that myself. But we need more details to
understand better what, if anything, can be done about this.
First, which part of SAVE_IT causes this? I'm guessing it's this
part:
#define SAVE_IT(ITCOPY, ITORIG, CACHE) \
do { \
if (CACHE) \
bidi_unshelve_cache (CACHE, true); \
ITCOPY = ITORIG; \
CACHE = bidi_shelve_cache (); \ <<<<<<<<<<<<
} while (false)
If that is true, then I think the offending part of bidi_shelve_cache
is this:
alloc = (bidi_shelve_header_size
+ bidi_cache_idx * sizeof (struct bidi_it));
databuf = xmalloc (alloc);
bidi_cache_total_alloc += alloc;
memcpy (databuf, &bidi_cache_idx, sizeof (bidi_cache_idx));
memcpy (databuf + sizeof (bidi_cache_idx), <<<<<<<
bidi_cache, bidi_cache_idx * sizeof (struct bidi_it)); <<<<<<<
memcpy (databuf + sizeof (bidi_cache_idx)
+ bidi_cache_idx * sizeof (struct bidi_it),
bidi_cache_start_stack, sizeof (bidi_cache_start_stack));
And if this guess is also true, then I think the problem is that
databuf + sizeof (bidi_cache_idx) is unaligned on 64-bit systems,
since bidi_cache_idx is an int.
Could you verify the above guesses?
Thanks.
next prev parent reply other threads:[~2019-12-03 16:05 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-27 21:52 bug#38407: 27.0.50; infinite loop with display of large file without newlines Pieter van Oostrum
2019-11-27 23:38 ` Phil Sainty
2019-11-28 0:30 ` Phil Sainty
2019-11-28 1:22 ` Phil Sainty
2019-11-28 6:51 ` Pieter van Oostrum
2019-11-28 15:14 ` Eli Zaretskii
2019-11-28 18:30 ` Pieter van Oostrum
2019-11-28 18:53 ` Eli Zaretskii
2019-11-28 22:09 ` Pieter van Oostrum
2019-11-29 7:12 ` Eli Zaretskii
2019-11-29 11:48 ` Phil Sainty
2019-11-29 13:20 ` Eli Zaretskii
2019-11-29 13:48 ` Dmitry Gutov
2019-11-29 14:26 ` Eli Zaretskii
2019-11-29 14:31 ` Dmitry Gutov
2019-11-29 15:03 ` Eli Zaretskii
2019-11-29 16:53 ` Dmitry Gutov
2019-11-29 19:28 ` Eli Zaretskii
2019-11-29 17:24 ` Pieter van Oostrum
2019-11-29 19:30 ` Eli Zaretskii
2019-11-30 8:25 ` Pieter van Oostrum
2019-12-01 7:23 ` Pieter van Oostrum
2019-12-01 10:37 ` Phil Sainty
2019-12-01 16:35 ` Pieter van Oostrum
2019-12-01 18:40 ` Pieter van Oostrum
2019-12-02 16:23 ` Eli Zaretskii
2019-12-01 17:45 ` Eli Zaretskii
2019-12-02 10:27 ` Robert Pluim
2019-12-03 11:20 ` Robert Pluim
2019-12-03 16:05 ` Eli Zaretskii [this message]
2019-12-04 9:15 ` Robert Pluim
2019-12-04 15:45 ` Eli Zaretskii
2019-12-05 7:27 ` Robert Pluim
2019-12-05 15:01 ` Eli Zaretskii
2019-12-05 20:38 ` Phil Sainty
2019-12-06 8:04 ` Eli Zaretskii
2019-12-07 1:28 ` Phil Sainty
2019-12-07 7:56 ` Eli Zaretskii
2019-11-28 15:06 ` 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=83o8wpjsx5.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=38407@debbugs.gnu.org \
--cc=pieter@vanoostrum.org \
--cc=psainty@orcon.net.nz \
--cc=rpluim@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.