--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: /usr/bin/iconv: assert failed - iconv: malloc.c:3096: sYSMALLOc: Assertion
- From: Sergey Burladyan <eshkinkot@gmail.com>
- Date: Sat, 06 Mar 2010 16:56:28 +0300
- Message-id: <20100306135628.2970.68327.reportbug@home.progtech.ru>
Package: libc-bin
Version: 2.10.2-6
Severity: minor
File: /usr/bin/iconv
When i have mistake in writing (//IGNORE - //INGORE) and my locale is not C or POSIX, then iconv generate assert:
$ dd if=/dev/zero bs=4M count=1 | iconv -f cp1251 -t utf8//INGORE > /dev/null
iconv: malloc.c:3096: sYSMALLOc: Assertion `(old_top == (((mbinptr) (((char *) &((av)->bins[((1) - 1) * 2])) - __builtin_offsetof (struct malloc_chunk, fd)))) && old_size == 0) || ((unsigned long) (old_size) >= (unsigned long)((((__builtin_offsetof (struct malloc_chunk, fd_nextsize))+((2 * (sizeof(size_t))) - 1)) & ~((2 * (sizeof(size_t))) - 1))) && ((old_top)->size & 0x1) && ((unsigned long)old_end & pagemask) == 0)' failed.
Аварийный останов
$ (export LANG=C; dd if=/dev/zero bs=4M count=1 | iconv -f cp1251 -t utf8//INGORE > /dev/null)
1+0 records in
1+0 records out
4194304 bytes (4.2 MB) copied, 0.00774839 s, 541 MB/s
$ (export LANG=en_US.UTF8; dd if=/dev/zero bs=4M count=1 | iconv -f cp1251 -t utf8//INGORE > /dev/null)
iconv: malloc.c:3096: sYSMALLOc: Assertion `(old_top == (((mbinptr) (((char *) &((av)->bins[((1) - 1) * 2])) - __builtin_offsetof (struct malloc_chunk, fd)))) && old_size == 0) || ((unsigned long) (old_size) >= (unsigned long)((((__builtin_offsetof (struct malloc_chunk, fd_nextsize))+((2 * (sizeof(size_t))) - 1)) & ~((2 * (sizeof(size_t))) - 1))) && ((old_top)->size & 0x1) && ((unsigned long)old_end & pagemask) == 0)' failed.
correct spelling:
$ dd if=/dev/zero bs=4M count=1 | iconv -f cp1251 -t utf8//IGNORE > /dev/null
1+0 записей считано
1+0 записей написано
скопировано 4194304 байта (4,2 MB), 0,00733256 c, 572 MB/c
$ dd if=/dev/zero bs=4M count=1 | iconv -f cp1251 -t utf8 > /dev/null
1+0 записей считано
1+0 записей написано
скопировано 4194304 байта (4,2 MB), 0,00729132 c, 575 MB/c
-- System Information:
Debian Release: squeeze/sid
APT prefers testing
APT policy: (800, 'testing'), (800, 'stable'), (200, 'unstable'), (65, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.32-trunk-amd64 (SMP w/4 CPU cores)
Locale: LANG=ru_RU.UTF-8, LC_CTYPE=ru_RU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
-- no debconf information
--- End Message ---
--- Begin Message ---
- To: Sergey Burladyan <eshkinkot@gmail.com>, 572774-done@bugs.debian.org
- Subject: Re: Bug#572774: /usr/bin/iconv: assert failed - iconv: malloc.c:3096: sYSMALLOc: Assertion
- From: Aurelien Jarno <aurelien@aurel32.net>
- Date: Fri, 8 Dec 2017 23:25:48 +0100
- Message-id: <20171208222548.GC14912@aurel32.net>
- In-reply-to: <20100306135628.2970.68327.reportbug@home.progtech.ru>
- References: <20100306135628.2970.68327.reportbug@home.progtech.ru>
Version: 2.11.3-4
On 2010-03-06 16:56, Sergey Burladyan wrote:
> Package: libc-bin
> Version: 2.10.2-6
> Severity: minor
> File: /usr/bin/iconv
>
>
> When i have mistake in writing (//IGNORE - //INGORE) and my locale is not C or POSIX, then iconv generate assert:
>
> $ dd if=/dev/zero bs=4M count=1 | iconv -f cp1251 -t utf8//INGORE > /dev/null
> iconv: malloc.c:3096: sYSMALLOc: Assertion `(old_top == (((mbinptr) (((char *) &((av)->bins[((1) - 1) * 2])) - __builtin_offsetof (struct malloc_chunk, fd)))) && old_size == 0) || ((unsigned long) (old_size) >= (unsigned long)((((__builtin_offsetof (struct malloc_chunk, fd_nextsize))+((2 * (sizeof(size_t))) - 1)) & ~((2 * (sizeof(size_t))) - 1))) && ((old_top)->size & 0x1) && ((unsigned long)old_end & pagemask) == 0)' failed.
> Аварийный останов
>
I can indeed reproduce the issue with glibc 2.10.2, but not with glibc
2.11.3 (shipped in squeeze) or later. I therefore consider the bug as
fixed and I am closing it with this mail.
--
Aurelien Jarno GPG: 4096R/1DDD8C9B
aurelien@aurel32.net http://www.aurel32.net
--- End Message ---