alt+tab intel-website firefox fvwm crash

When I use iceweasel (firefox) to view intel website and use alt+tab to switch windows on zh_CN.GBK locale, the X crashed, but if on UTF-8 locale, it work well.

Debian SID + FVWM 2.5.18

Thank you.

Is it X that crashed? Or did an application die and take X with it? Is there a core file from which you can provide a backtrace? [1] Can you see if the problem is reproducable using FVWM 2.5.21 (since this is the latest Unstable FVWM version.)

– Thomas Adam

[1] You might have to ensure you allow corefile creation:

ulimit -c 90000

Thank you.

It’s X crashed, and I don’t see any core file.

I will try 2.5.21 in some time.

I have tried 2.5.21, but it’s same as 2.5.18, and there is no core file also.

How about Firefox? Maybe it is a bug of IceWeasle.

It not because of Firefox. It is because the fvwm(zh_CN.GBK) can’t deal with the some character which fvwm can’t display, for example if the Chinese filename of UTF encoding, and my locale is zh_CN.GBK, it will crash.

And what version of FVWM is this on? Look for a corefile.

– Thomas Adam

Thank you. For example fvwm will crash when visting intel.com/software/products/support/.

The core: micro.ustc.edu.cn/core
gdb fvwm core:
GNU gdb 6.8-debian
Copyright © 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type “show copying”
and “show warranty” for details.
This GDB was configured as “i486-linux-gnu”…
(no debugging symbols found)

warning: core file may not match specified executable file.

warning: Can’t read pathname for load map: Input/output error.
Reading symbols from /usr/lib/libXft.so.2…(no debugging symbols found)…done.
Loaded symbols for /usr/lib/libXft.so.2
Reading symbols from /usr/lib/libX11.so.6…(no debugging symbols found)…done.
Loaded symbols for /usr/lib/libX11.so.6
Reading symbols from /usr/lib/libfreetype.so.6…(no debugging symbols found)…done.
Loaded symbols for /usr/lib/libfreetype.so.6
Reading symbols from /usr/lib/libz.so.1…(no debugging symbols found)…done.
Loaded symbols for /usr/lib/libz.so.1
Reading symbols from /usr/lib/libfontconfig.so.1…
(no debugging symbols found)…done.
Loaded symbols for /usr/lib/libfontconfig.so.1
Reading symbols from /usr/lib/libXrender.so.1…(no debugging symbols found)…done.
Loaded symbols for /usr/lib/libXrender.so.1
Reading symbols from /usr/lib/libXpm.so.4…(no debugging symbols found)…done.
Loaded symbols for /usr/lib/libXpm.so.4
Reading symbols from /usr/lib/libstroke.so.0…(no debugging symbols found)…done.
Loaded symbols for /usr/lib/libstroke.so.0
Reading symbols from /usr/lib/libSM.so.6…
(no debugging symbols found)…done.
Loaded symbols for /usr/lib/libSM.so.6
Reading symbols from /usr/lib/libICE.so.6…(no debugging symbols found)…done.
Loaded symbols for /usr/lib/libICE.so.6
Reading symbols from /usr/lib/libXinerama.so.1…(no debugging symbols found)…done.
Loaded symbols for /usr/lib/libXinerama.so.1
Reading symbols from /usr/lib/libXext.so.6…(no debugging symbols found)…done.
Loaded symbols for /usr/lib/libXext.so.6
Reading symbols from /lib/i686/cmov/libm.so.6…
(no debugging symbols found)…done.
Loaded symbols for /lib/i686/cmov/libm.so.6
Reading symbols from /usr/lib/libXcursor.so.1…(no debugging symbols found)…done.
Loaded symbols for /usr/lib/libXcursor.so.1
Reading symbols from /usr/lib/libfribidi.so.0…(no debugging symbols found)…done.
Loaded symbols for /usr/lib/libfribidi.so.0
Reading symbols from /usr/lib/libpng12.so.0…(no debugging symbols found)…done.
Loaded symbols for /usr/lib/libpng12.so.0
Reading symbols from /usr/lib/librsvg-2.so.2…
(no debugging symbols found)…done.
Loaded symbols for /usr/lib/librsvg-2.so.2
Reading symbols from /usr/lib/libgdk_pixbuf-2.0.so.0…(no debugging symbols found)…done.
Loaded symbols for /usr/lib/libgdk_pixbuf-2.0.so.0
Reading symbols from /usr/lib/libgobject-2.0.so.0…(no debugging symbols found)…done.
Loaded symbols for /usr/lib/libgobject-2.0.so.0
Reading symbols from /usr/lib/libgmodule-2.0.so.0…(no debugging symbols found)…done.
Loaded symbols for /usr/lib/libgmodule-2.0.so.0
Reading symbols from /lib/i686/cmov/libdl.so.2…
(no debugging symbols found)…done.
Loaded symbols for /lib/i686/cmov/libdl.so.2
Reading symbols from /usr/lib/libglib-2.0.so.0…(no debugging symbols found)…done.
Loaded symbols for /usr/lib/libglib-2.0.so.0
Reading symbols from /usr/lib/libcairo.so.2…(no debugging symbols found)…done.
Loaded symbols for /usr/lib/libcairo.so.2
Reading symbols from /lib/i686/cmov/libc.so.6…(no debugging symbols found)…done.
Loaded symbols for /lib/i686/cmov/libc.so.6
Reading symbols from /usr/lib/libxcb-xlib.so.0…
(no debugging symbols found)…done.
Loaded symbols for /usr/lib/libxcb-xlib.so.0
Reading symbols from /usr/lib/libxcb.so.1…(no debugging symbols found)…done.
Loaded symbols for /usr/lib/libxcb.so.1
Reading symbols from /usr/lib/libexpat.so.1…(no debugging symbols found)…done.
Loaded symbols for /usr/lib/libexpat.so.1
Reading symbols from /usr/lib/libXau.so.6…(no debugging symbols found)…done.
Loaded symbols for /usr/lib/libXau.so.6
Reading symbols from /lib/ld-linux.so.2…
(no debugging symbols found)…done.
Loaded symbols for /lib/ld-linux.so.2
Reading symbols from /usr/lib/libXfixes.so.3…(no debugging symbols found)…done.
Loaded symbols for /usr/lib/libXfixes.so.3
Reading symbols from /usr/lib/libgsf-1.so.114…(no debugging symbols found)…done.
Loaded symbols for /usr/lib/libgsf-1.so.114
Reading symbols from /usr/lib/libcroco-0.6.so.3…(no debugging symbols found)…done.
Loaded symbols for /usr/lib/libcroco-0.6.so.3
Reading symbols from /usr/lib/libxml2.so.2…
(no debugging symbols found)…done.
Loaded symbols for /usr/lib/libxml2.so.2
Reading symbols from /usr/lib/libpangoft2-1.0.so.0…(no debugging symbols found)…done.
Loaded symbols for /usr/lib/libpangoft2-1.0.so.0
Reading symbols from /usr/lib/libpangocairo-1.0.so.0…(no debugging symbols found)…done.
Loaded symbols for /usr/lib/libpangocairo-1.0.so.0
Reading symbols from /usr/lib/libpango-1.0.so.0…(no debugging symbols found)…done.
Loaded symbols for /usr/lib/libpango-1.0.so.0
Reading symbols from /usr/lib/libgio-2.0.so.0…
(no debugging symbols found)…done.
Loaded symbols for /usr/lib/libgio-2.0.so.0
Reading symbols from /usr/lib/libpcre.so.3…(no debugging symbols found)…done.
Loaded symbols for /usr/lib/libpcre.so.3
Reading symbols from /usr/lib/libdirectfb-1.0.so.0…(no debugging symbols found)…done.
Loaded symbols for /usr/lib/libdirectfb-1.0.so.0
Reading symbols from /usr/lib/libfusion-1.0.so.0…(no debugging symbols found)…done.
Loaded symbols for /usr/lib/libfusion-1.0.so.0
Reading symbols from /usr/lib/libdirect-1.0.so.0…
(no debugging symbols found)…done.
Loaded symbols for /usr/lib/libdirect-1.0.so.0
Reading symbols from /lib/i686/cmov/libpthread.so.0…(no debugging symbols found)…done.
Loaded symbols for /lib/i686/cmov/libpthread.so.0
Reading symbols from /usr/lib/libxcb-render-util.so.0…(no debugging symbols found)…done.
Loaded symbols for /usr/lib/libxcb-render-util.so.0
Reading symbols from /usr/lib/libxcb-render.so.0…(no debugging symbols found)…done.
Loaded symbols for /usr/lib/libxcb-render.so.0
Reading symbols from /usr/lib/libpixman-1.so.0…
(no debugging symbols found)…done.
Loaded symbols for /usr/lib/libpixman-1.so.0
Reading symbols from /usr/lib/libXdmcp.so.6…(no debugging symbols found)…done.
Loaded symbols for /usr/lib/libXdmcp.so.6
Reading symbols from /lib/libbz2.so.1.0…(no debugging symbols found)…done.
Loaded symbols for /lib/libbz2.so.1.0
Reading symbols from /lib/libselinux.so.1…(no debugging symbols found)…done.
Loaded symbols for /lib/libselinux.so.1
Reading symbols from /usr/lib/gconv/GBK.so…
(no debugging symbols found)…done.
Loaded symbols for /usr/lib/gconv/GBK.so
(no debugging symbols found)
Core was generated by `x-window-manager’.
Program terminated with signal 11, Segmentation fault.
[New process 21142]
#0 0x080c66d3 in ?? ()
(gdb) where
#0 0x080c66d3 in ?? ()
#1 0x081ec230 in ?? ()
#2 0x0827da20 in ?? ()
#3 0x00000000 in ?? ()

Package: fvwm
Priority: optional
Section: x11
Installed-Size: 7332
Maintainer: Manoj Srivastava srivasta@debian.org
Architecture: i386
Version: 1:2.5.26-1
Replaces: fvwm-beta, fvwm-common, fvwm-gnome, fvwmtabss
Provides: fvwm-gnome, x-window-manager
Depends: libc6 (>= 2.7-1), libcairo2 (>= 1.2.4), libfontconfig1 (>= 2.4.0), libfreetype6 (>= 2.3.5), libfribidi0 (>= 0.10.9), libglib1.2ldbl (>= 1.2.10-18), libglib2.0-0 (>= 2.12.0), libgtk1.2 (>= 1.2.10-4), libgtk2.0-0 (>= 2.12.0), libice6 (>= 1:1.0.0), libncurses5 (>= 5.6+20071006-3), libpng12-0 (>= 1.2.13-4), libreadline5 (>= 5.2), librplay3 (>= 3.3.2-2), librsvg2-2 (>= 2.18.1), libsm6, libstroke0 (>= 0.5.1), libx11-6, libxcursor1 (>> 1.1.2), libxext6, libxft2 (>> 2.1.1), libxi6, libxinerama1, libxpm4, libxrender1, zlib1g (>= 1:1.1.4)
Recommends: fvwm-icons
Suggests: fvwm-themes, m4, cpp, menu (>= 1.5), wm-icons, perl-tk, libx11-protocol-perl
Conflicts: fvwm-beta, fvwm-common, fvwm-gnome, fvwmtabs
Filename: pool/main/f/fvwm/fvwm_2.5.26-1_i386.deb
Size: 3399358
MD5sum: e173f7d5ae0892173f2396b3d507a65f
SHA1: fe903f9aaf7d1831c4b30f6608af5e59c0f1d120
SHA256: 20ba7eb5c869e2860d07e18082e5729fba37fa314e292a24c9774f7e5785f68b
Description: F(?) Virtual Window Manager
FVWM is a powerful ICCCM2 compliant multiple virtual desktop window manager
for the X Window System. FVWM requires relatively little memory.
.
This 2.5 version includes new features like full support of the EWMH
(Extended Window Manager Hints) specification, internationalization,
improved window decoration code (no flickering anymore),
bi-directional asian text support, FreeType font support
(antialiasing), image rendering, Perl based module library, support
for PNG images, side titles and much more.
Homepage: fvwm.org/
Tag: interface::x11, role::program, uitoolkit::gtk, uitoolkit::ncurses, x11::window-manager

My font config:
MenuStyle * Font “StringEncoding=utf-0:xft:MingLiu:Medium:Size=12:encoding=iso10646-1”

My locale:
LANG=zh_CN.GBK
LC_CTYPE=“zh_CN.GBK”
LC_NUMERIC=“zh_CN.GBK”
LC_TIME=“zh_CN.GBK”
LC_COLLATE=“zh_CN.GBK”
LC_MONETARY=“zh_CN.GBK”
LC_MESSAGES=“zh_CN.GBK”
LC_PAPER=“zh_CN.GBK”
LC_NAME=“zh_CN.GBK”
LC_ADDRESS=“zh_CN.GBK”
LC_TELEPHONE=“zh_CN.GBK”
LC_MEASUREMENT=“zh_CN.GBK”
LC_IDENTIFICATION=“zh_CN.GBK”
LC_ALL=

OK.

  1. Get a copy of FVWM compiled with debug symbols.
  2. This forum is not a dumping ground - use a pastebin.

– Thomas Adam

Thank you.
I have rebuiled fvwm from the fvwm source modified by debian, and add -g(mparams = CFLAGS="-O2 -g") to configure configure.ac Makefile.{am,in}, debian/Makefile.{am,in}.

gdb fvwm core: pastebin.ca/1258681
fvwm config: pastebin.ca/1258685
fvwm aqua.decor: pastebin.ca/1258687
core: micro.ustc.edu.cn/fvwm-2.5.26.core

OK – I see the error, although it’s in a slightly odd place. Can you keep your locale settings as they are (i.e. zh_CN.GBK) and open FvwmConsole, typing:

PrintInfo Locale 2

The output is going to either appear in FvwmConsole, or in ~/.xsession-errors if you’ve redirected any output, for instance.

– Thomas Adam

Thank you.
Please see: pastebin.ca/1259165.

Some one said:

modify fvwm-2.5.26/libs/Ficonv.c:
In the “convert_charsets” function before “Ficonv_open” add “//TRANSLIT” after “out_charset” and “in_charset”.

char my_out_charset[256];
char my_in_charset[256];
sprintf(my_out_charset, "%s//TRANSLIT", out_charset);
sprintf(my_in_charset, "%s//TRANSLIT", in_charset);
cd = Ficonv_open(my_out_charset, my_in_charset);

The reason is when fvwm calling iconv, if iconv has some thing wrong, there will be a NULL array, when calling this array, it will cause segfault.

I have tested, it work well.

What is the significance of “//TRANSLIT”? Does it mean something specific to iconv? If the only reason you’ve added it is to avoid passing in NULL, this is completely the wrong thing to do.

– Thomas Adam

gnu.org/software/libiconv/do … pen.3.html
When the string “//TRANSLIT” is appended to tocode, transliteration is activated. This means that when a character cannot be represented in the target character set, it can be approximated through one or several characters that look similar to the original character.