[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#9318: 23.3.50; The first call of encode-coding-region() returns wron
From: |
Eli Zaretskii |
Subject: |
bug#9318: 23.3.50; The first call of encode-coding-region() returns wrong result |
Date: |
Wed, 24 Aug 2011 15:06:48 +0300 |
> Date: Wed, 24 Aug 2011 18:37:24 +0900
> From: Kazuhiro Ito <kzhr@d1.dion.ne.jp>
> Cc: 9318@debbugs.gnu.org
>
> > (progn
> > (goto-char (point-min))
> > (insert #x80)
> > (insert (make-string 16 ?A))
> > (encode-coding-region 1 18 'ctext-unix))
> >
> > backtrace is below. Please let me know if you need more information.
> >
> >
> > Program received signal SIGSEGV, Segmentation fault.
> > 0x0000000000557419 in mark_object (arg=4702111234474983745) at alloc.c:5473
> > 5473 if (STRING_MARKED_P (ptr))
>
> I think relocation of buffer may cause the problem.
>
> The comment for CODING_DECODE_CHAR macro in coding.c says as below.
>
> > /* This wrapper macro is used to preserve validity of pointers into
> > buffer text across calls to decode_char, which could cause
> > relocation of buffers if it loads a charset map, because loading a
> > charset map allocates large structures. */
>
> encode_coding_iso_2022() uses ENCODE_ISO_CHARACTER macro, which uses
> ENCODE_CHAR macro. ENCODE_CHAR macro calls encode_char() and it may
> load a charset map.
But which pointer(s) in encode_coding_iso_2022 can be altered by
relocation? Do you actually see any of the pointers used by this
function modified by relocation of some buffer?
- bug#9318: 23.3.50; The first call of encode-coding-region() returns wrong result on on Windows, Kazuhiro Ito, 2011/08/18
- bug#9318: 23.3.50; The first call of encode-coding-region() returns wrong result on on Windows, Andreas Schwab, 2011/08/18
- bug#9318: 23.3.50; The first call of encode-coding-region() returns wrong result, Kazuhiro Ito, 2011/08/19
- bug#9318: 23.3.50; The first call of encode-coding-region() returns wrong result, Chong Yidong, 2011/08/20
- bug#9318: 23.3.50; The first call of encode-coding-region() returns wrong result, Andreas Schwab, 2011/08/24
- bug#9318: 23.3.50; The first call of encode-coding-region() returns wrong result, Kazuhiro Ito, 2011/08/25
- bug#9318: 23.3.50; The first call of encode-coding-region() returns wrong result, Kazuhiro Ito, 2011/08/26
- bug#9318: 23.3.50; The first call of encode-coding-region() returns wrong result, Kazuhiro Ito, 2011/08/27
- bug#9318: 23.3.50; The first call of encode-coding-region() returns wrong result, Kazuhiro Ito, 2011/08/30