Package: libnewt0.51
Version: 0.51.6-26
Severity: important

If you have a Unicode setting in your LANG (I use [EMAIL PROTECTED])
enviroment variable and no libfribidi0 installed and call whiptail

whiptail --menu "test" 10 25 2 -- a a1 b b1

You receive a blue screen and Segmentation Fault error (with subsequent
insane console setting).

if you call with LANG=C or install libfribidi0 the problem disappear.

ltrace say that the problem is instead newtOpenWindow library function, I
think you must add libfribidi0 somewere (probably to libnewt0.51 package).

This is an important bug because it break Dialog frontend of debconf.

Attached ltrace and strace log.

Regards

-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/dash
Kernel: Linux 2.6.11-1-k7
Locale: [EMAIL PROTECTED], [EMAIL PROTECTED] (charmap=UTF-8)

Versions of packages libnewt0.51 depends on:
ii  libc6                       2.3.2.ds1-22 GNU C Library: Shared libraries an
ii  libslang2                   2.0.4-2      The S-Lang programming library - r

libnewt0.51 recommends no packages.

-- no debconf information

-- 
---------------------------------------------------------------------
|    Marco Nenciarini    | Debian/GNU Linux Developer - Plug Member |
| [EMAIL PROTECTED] | http://www.prato.linux.it/~mnencia       |
---------------------------------------------------------------------
Key fingerprint = FED9 69C7 9E67 21F5 7D95  5270 6864 730D F095 E5E4

__libc_start_main(0x8049e80, 11, 0xbffffaf4, 0x804c570, 0x804c5d0 <unfinished 
...>
setlocale(6, "")                                                                
                 = "[EMAIL PROTECTED]"
bindtextdomain("newt", "/usr/share/locale")                                     
                 = "/usr/share/locale"
textdomain("newt")                                                              
                 = "newt"
poptGetContext(0x804cb66, 11, 0xbffffaf4, 0xbffff6e0, 0)                        
                 = 0x804e8c8
poptGetNextOpt(0x804e8c8, 11, 0xbffffaf4, 0xbffff6e0, 0)                        
                 = 1005
poptGetOptArg(0x804e8c8, 11, 0xbffffaf4, 0xbffff6e0, 0)                         
                 = 0
poptGetNextOpt(0x804e8c8, 11, 0xbffffaf4, 0xbffff6e0, 0)                        
                 = -1
fdopen(2, 0x804cb6f, 0xbffffaf4, 0xbffff6e0, 0)                                 
                 = 0x804eb18
poptGetArg(0x804e8c8, 0x804cb6f, 0xbffffaf4, 0xbffff6e0, 0)                     
                 = 0xbffffc15
poptGetArg(0x804e8c8, 0x804cb6f, 0xbffffaf4, 0xbffff6e0, 0)                     
                 = 0xbffffc1a
__strtoul_internal("5", 0xbffff6a8, 10)                                         
                 = 5
poptGetArg(0x804e8c8, 0xbffff6a8, 10, 0, 0)                                     
                 = 0xbffffc1c
__strtoul_internal("5", 0xbffff6a8, 10)                                         
                 = 5
memset(0xbffff9c0, '\000', 140)                                                 
                 = 0xbffff9c0
sigaction(28, 0xbffff9c0, NULL)                                                 
                 = 0
newtInit(28, 0xbffff9c0, 0, 0, 0)                                               
                 = 0
newtCls(28, 0xbffff9c0, 0, 0, 0)                                                
                 = 0
newtOpenWindow(77, 24, 3, 3, 0 <unfinished ...>
--- SIGSEGV (Segmentation fault) ---
+++ killed by SIGSEGV +++
execve("/usr/bin/whiptail", ["whiptail", "--menu", "test", "5", "5", "5", "--", 
"a", "b", "c", "d"], [/* 18 vars */]) = 0
uname({sys="Linux", node="poison", ...}) = 0
brk(0)                                  = 0x804e000
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xb7fe9000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.preload", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=14036, ...}) = 0
old_mmap(NULL, 14036, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7fe5000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/libnewt.so.0.51", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\240:\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=61308, ...}) = 0
old_mmap(NULL, 64904, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xb7fd5000
old_mmap(0xb7fe4000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 
0xe000) = 0xb7fe4000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/libslang.so.2", O_RDONLY)    = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\220\22"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=666076, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xb7fd4000
old_mmap(NULL, 802792, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xb7f10000
old_mmap(0xb7fa4000, 65536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 
0x93000) = 0xb7fa4000
old_mmap(0xb7fb4000, 131048, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7fb4000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/tls/libm.so.6", O_RDONLY)    = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\00005\0\000"..., 512) = 
512
fstat64(3, {st_mode=S_IFREG|0644, st_size=134496, ...}) = 0
old_mmap(NULL, 136976, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xb7eee000
old_mmap(0xb7f0f000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 
0x20000) = 0xb7f0f000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/tls/libdl.so.2", O_RDONLY)   = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320\32"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=9872, ...}) = 0
old_mmap(NULL, 8632, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xb7eeb000
old_mmap(0xb7eed000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 
0x2000) = 0xb7eed000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/libpopt.so.0", O_RDONLY)     = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20\24\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=26624, ...}) = 0
old_mmap(NULL, 29712, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xb7ee3000
old_mmap(0xb7eea000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 
0x6000) = 0xb7eea000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/tls/libc.so.6", O_RDONLY)    = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`Z\1\000"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1254468, ...}) = 0
old_mmap(NULL, 1264780, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xb7dae000
old_mmap(0xb7ed8000, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 
0x129000) = 0xb7ed8000
old_mmap(0xb7ee1000, 7308, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7ee1000
close(3)                                = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xb7dad000
set_thread_area({entry_number:-1 -> 6, base_addr:0xb7dad560, limit:1048575, 
seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, 
useable:1}) = 0
munmap(0xb7fe5000, 14036)               = 0
brk(0)                                  = 0x804e000
brk(0x806f000)                          = 0x806f000
brk(0)                                  = 0x806f000
open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=1593248, ...}) = 0
mmap2(NULL, 1593248, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7c28000
close(3)                                = 0
fcntl64(2, F_GETFL)                     = 0x8002 (flags O_RDWR|O_LARGEFILE)
fstat64(2, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 6), ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xb7c27000
_llseek(2, 0, 0xbffff4fc, SEEK_CUR)     = -1 ESPIPE (Illegal seek)
rt_sigaction(SIGWINCH, {0x8049870, [], 0}, NULL, 8) = 0
open("/root/.terminfo/x/xterm", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file 
or directory)
open("/usr/share/terminfo/x/xterm", O_RDONLY|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=2244, ...}) = 0
mmap2(NULL, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xb7c07000
read(3, "\32\1\34\0\35\0\17\0\235\1&\5xterm|X11 terminal e"..., 131072) = 2244
close(3)                                = 0
munmap(0xb7c07000, 131072)              = 0
ioctl(1, TIOCGWINSZ, {ws_row=52, ws_col=157, ws_xpixel=0, ws_ypixel=0}) = 0
ioctl(1, TIOCGWINSZ, {ws_row=52, ws_col=157, ws_xpixel=0, ws_ypixel=0}) = 0
rt_sigprocmask(SIG_BLOCK, [INT QUIT TSTP TTIN TTOU WINCH], [], 8) = 0
brk(0)                                  = 0x806f000
brk(0x8090000)                          = 0x8090000
brk(0)                                  = 0x8090000
brk(0x80b1000)                          = 0x80b1000
brk(0)                                  = 0x80b1000
brk(0x80d3000)                          = 0x80d3000
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [INT QUIT TSTP TTIN TTOU WINCH], [], 8) = 0
open("/dev/tty", O_RDWR|O_LARGEFILE)    = 3
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(3, SNDCTL_TMR_STOP or TCSETSW, {B38400 -opost isig -icanon -echo ...}) = 0
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 -opost isig -icanon -echo ...}) 
= 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigaction(SIGWINCH, {0xb7fd8bd0, [], 0}, {0x8049870, [], 0}, 8) = 0
write(1, "\33[?1049h\33[1;52r\33[4l\33[?25l\33[m\33(B\33"..., 4096) = 4096
write(1, "                                "..., 4096) = 4096
write(1, "                                "..., 421) = 421
select(4, [3], NULL, NULL, {0, 0})      = 0 (Timeout)
open("/usr/lib/gconv/gconv-modules.cache", O_RDONLY) = -1 ENOENT (No such file 
or directory)
open("/usr/lib/gconv/gconv-modules", O_RDONLY) = 4
fstat64(4, {st_mode=S_IFREG|0644, st_size=45278, ...}) = 0
mmap2(NULL, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xb7c07000
read(4, "# GNU libc iconv configuration.\n"..., 131072) = 45278
brk(0)                                  = 0x80d3000
brk(0x80f4000)                          = 0x80f4000
read(4, "", 131072)                     = 0
close(4)                                = 0
munmap(0xb7c07000, 131072)              = 0
open("/usr/lib/libfribidi.so.0", O_RDONLY) = -1 ENOENT (No such file or 
directory)
open("/lib/libfribidi.so.0", O_RDONLY)  = -1 ENOENT (No such file or directory)
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++

Attachment: signature.asc
Description: Digital signature

Reply via email to