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

[FDclone-users:00713] カレントディレクトリをmvしたあと再描画時にSEGV



小松です。

subjectどおりのバグがありました。

 mkdir hoge
 fd hoge
 (別のシェルなどで) mv hoge fuga
 (FDで) Ctrl+L

このとき、info.c:908:getfsinfoで

if (_chdir2(fullpath) < 0) error(fullpath);

_chdir2がエラーを返しerrorが呼ばれるのですが、この過程で
再びgetfsinfoを呼び、またエラーが発生するため循環するのが
原因のようです。

(gdb) bt
略
#4538 0x0804afa2 in error ()
#4539 0x0809f115 in getfsinfo ()
#4540 0x0809f9bd in isnfs ()
#4541 0x08081183 in lockopen ()
#4542 0x08081333 in lockfopen ()
#4543 0x0808d05c in savehistory ()
#4544 0x0804a819 in prepareexitfd ()
#4545 0x0804afa2 in error ()
#4546 0x0809f115 in getfsinfo ()
#4547 0x0809f9bd in isnfs ()
#4548 0x08081183 in lockopen ()
#4549 0x08081333 in lockfopen ()
#4550 0x0808d05c in savehistory ()
#4551 0x0804a819 in prepareexitfd ()
#4552 0x0804afa2 in error ()
#4553 0x0809f115 in getfsinfo ()
---Type <return> to continue, or q <return> to quit---
#4554 0x0809f794 in getblocksize ()
#4555 0x080b83c8 in getfilelist ()
#4556 0x080baec9 in main_fd ()
#4557 0x0804bba6 in main ()
(gdb)

環境は
 Gentoo Linux 2007.0 x86
 kernel 2.6.20
 kernel-header 2.6.17
 glibc 2.5
 gcc 4.1.1
となっています。

---

Hironao Komatsu <hironao@fubako.com>