[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:04930] Re: bash 2.0-3について



再現しました。

In <19980322161156H.nagai@xxxxxxxxxxxx>
[debian-users:04929] bash 2.0-3について, Mar.22 '98 16:11 JST
nagai@xxxxxxxxxxxx says:
=     環境変数LANGがja_JP.EUCなどと設定されていて、exportしてあ
=   ります。
=   
=   >{nagai}$ echo $LANG
=   >ja_JP.ujis
=   
=   この状態で、次のような内容のスクリプトbash-testを用意します。
=   
=   >{nagai}$ cat bash-test 
=   >#!/bin/bash
=   >unset LANG
=   
=   内容は単純で、単にLANGをunsetするだけです。このスクリプトを
=   起動すると、以下のようになります。
=   
=   >{nagai}$ ./bash-test 
=   >Segmentation fault
=   
=     いろいろ状況をかえてためしてみましたが、どうやら、「LANGが
=   設定されていてexportされているときに、LANGをスクリプト中で
=   unsetする」と、起きるようです。手入力でunsetしても SegFault 
=   はおきません。

全く同じです。
これだけでも再現できます。

export LANG=ja_JP.ujis
bash -c 'unset LANG'

どうやらlocaleがないものをLANGにセットすると落ちるようですね。

ken@zouave$ ls -Fla /usr/lib/locale/
total 5
drwxr-xr-x   3 root     root         1024 Feb 22 04:19 ./
drwxr-xr-x  31 root     root         3072 Feb 21 22:35 ../
drwxr-xr-x   2 root     root         1024 Sep 14  1995 en_GB/
ken@zouave$ export LANG=en_GB; bash -c 'unset LANG'
ken@zouave$ export LANG=C; bash -c 'unset LANG'
ken@zouave$ export LANG=en_GB; bash -c 'unset LANG'
ken@zouave$ export LANG=ja_JP.ujis; bash -c 'unset LANG'
Segmentation fault (core dumped)
ken@zouave$ export LANG=foobar; bash -c 'unset LANG'
Segmentation fault (core dumped)

LC_*についてはこのような現象は発生しないようです。

ken@zouave$ export LC_CTYPE=foobar; bash -c 'unset LC_CTYPE'
ken@zouave$


=   >{nagai}$ bash --version
=   >GNU bash, version 2.00.0(1)-release (i586-debian-linux)
=   >Copyright 1996 Free Software Foundation, Inc.
=     パッケージは bash_2.0-3.debを使用しています。

私も同じ環境です。

ken@zouave$ echo $BASH_VERSION 
2.00.0(1)-release
ken@zouave$ dpkg -l bash
Desired=Unknown/Install/Remove/Purge
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name            Version        Description
+++-===============-==============-============================================
hi  bash            2.0-3          The GNU Bourne Again SHell



=     この現象は私の環境固有のものなのか、それともWell-Knownな
=   現象でしょうか?

ここしばらくgnu.*が読めなかったので確認できませんが、私は
初めて知りました。bushbugでレポートしてもいいんですが、
どなたか bash 2.01.1 を既に使っている方がいらっしゃったら
再現するかどうか確認していただけませんか?

#とりあえずは ja_JP.ujisなlocaleをインストールすれば回避できると
 思いますが。


 -.- . -. -.
Ken Nakagaki <kenn@xxxxxxxxxxxxxxxxx>
「人は船ではない。人は会社ではない」-- Gerry Spence