[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-devel:14736] Re: Bug#117685: xpostit: reproducable segfaults
- From: Taketoshi Sano <kgh12351@xxxxxxxxxxx>
- Subject: [debian-devel:14736] Re: Bug#117685: xpostit: reproducable segfaults
- Date: Thu, 6 Dec 2001 03:44:59 +0900
- X-dispatcher: imput version 991025(IM133)
- X-fingerprint: A1A0 F2D0 9C5D 7D61 DBA1 1507 D0B3 F3D0 AE31 C009
- X-ml-info: If you have a question, send e-mail with the body "help" (without quotes) to the address debian-devel-ctl@debian.or.jp; help=<mailto:debian-devel-ctl@debian.or.jp?body=help>
- X-ml-name: debian-devel
- X-mlserver: fml [fml 3.0pl#17]; post only (only members can post)
- References: <E15yf7i-0003AT-00@xxxxxxxxxxxxx> <20011031.143858.74756412.sano@@danyasun.standalone.local.test> <20011105.222218.07646362.sano@@danyasun.standalone.local.test>
- Message-id: <y5an10xaepr.fsf@xxxxxxxxxxxxxxxxxxxx>
- X-mail-count: 14736
- User-agent: Semi-gnus/6.10.12 SEMI/1.12.1 ([JR] Nonoichi) FLIM/1.12.7 (Yþzaki) Emacs/20.7 (i386-debian-linux-gnu) MULE/4.0 (HANANOEN)
ä½é‡Žï¼ 浜æ¾ã§ã™ã€‚ã“ã‚Œã‚‚ç¶šå ±ã€‚
on "Tue, 6 Nov 2001 01:45:54 +0900', I wrote:
> xpostit ã‚’ Debian ã« upload ã—ãŸã‚“ã§ã™ãŒã€
> 「新è¦ãƒ¡ãƒ¢ä½œæˆã€â†’「消滅ã€ã‚’二回繰り返ã™ã¨
> Segmentation Fault ã§è½ã¡ã‚‹ã¨ã„ã†ãƒã‚°ãƒ¬ãƒãƒ¼ãƒˆã‚’
> もらã„ã¾ã—ãŸã€‚
Bug#117685 ã§ã™ã€‚
> ã§ã€ã¡ã‚‡ã£ã¨èª¿ã¹ã¦ã¿ãŸã‚“ã§ã™ãŒã€2.2 (potato) ã® 3.3.6 環境ã§ã¯
> åŒã˜æ“作をã—ã¦ã‚‚全然å•é¡Œã‚ã‚Šã¾ã›ã‚“。ãŒã€ãŸã—ã‹ã« unstable/sid ã®
> 4.1.0 環境ã§è©¦ã—ã¦ã¿ã‚‹ã¨ã€libxaw6/libxaw7 ã®ã©ã¡ã‚‰ã§ã‚³ãƒ³ãƒ‘イル
> ã—ã¦ã‚‚è½ã¡ã¾ã™ã€‚ãŸã ã—è½ã¡ã‚‹å ´æ‰€ã¯ãƒ©ã‚¤ãƒ–ラリã«ã‚ˆã£ã¦é•ã†ã‚ˆã†ã§ã™ã€‚
>
> gdb 㧠step 実行ã—ã¦è¿½ã„ã‹ã‘ã¦ã¿ã‚‹ã¨ã€xpostit ã®ã‚³ãƒ¼ãƒ‰è‡ªä½“ã‚’
> 実行ã—ã¦ã„る時ã§ã¯ãªãã€ãƒ©ã‚¤ãƒ–ラリã®ã‚³ãƒ¼ãƒ‰ã‚’実行ã—ã¦ã„る時ã«
> è½ã¡ã¦ã„るよã†ãªã®ã§ã€ã©ã†ã‚‚ X 関係ã®ãƒ©ã‚¤ãƒ–ラリã«å•é¡Œã®åŽŸå› ãŒ
> ã‚ã‚‹ã®ã§ã¯ãªã„ã‹ã¨ç–‘ã£ã¦ã„ã‚‹ã®ã§ã™ãŒã€ã¡ã‚‡ã£ã¨ã¾ã æ£ä½“ã‚’
> çªãæ¢ã‚ã‚‹ã¨ã“ã‚ã¾ã§ã„ã£ã¦ã„ã¾ã›ã‚“。
XFree86 ã® 3.3.6 㨠4.1.0 をソースã‹ã‚‰ build ã—ã¦
libXaw 㨠libXt ã‚’ -ggdb オプション付ã‘ã¦ç”Ÿæˆã—ãŸã‚‚ã®ã¨
xpostit をリンクã—ã¦èª¿ã¹ã¦ã¿ãŸã¨ã“ã‚ã€
1) è½ã¡ã‚‹ç®‡æ‰€ã¯ Xaw7 ã®å ´åˆ TextAction.c ã® TextFocusOut() ã§
while (shell) {
if (XtIsShell(shell))
break;
shell = XtParent(shell);
}
ã¨ã—㦠XtIsShell(shell) ã§
shell->core.widget_class->core_class.class_inited
を調ã¹ã‚ˆã†ã¨ã™ã‚‹ãŒã€ã“ã®æ™‚何故㋠shell->core 以下ãŒ
ç ´å£Šã•ã‚Œã¦ã„ã¦ã€widget_class ã«ã‚¢ã‚¯ã‚»ã‚¹ã§ããšã€ãã®
ãŸã‚ã« SegFault ã™ã‚‹
2) 試ã—ã« xpostit ã® note.c 㧠ConfirmDestroy() ã®
ä¸ã‹ã‚‰å‘¼ã³å‡ºã—ã¦ã„ã‚‹
XtDestroyWidget(pn->pn_shellwidget);
をコメントアウトã™ã‚‹ã¨ã€SegFault ã¯ç™ºç”Ÿã—ãªã„。
ã—ã‹ã—ã€ã“ã®å ´åˆ
「新è¦ãƒ¡ãƒ¢ä½œæˆã€â†’「ä¿å˜ã›ãšã« destroyã€
ã‚’ç¹°ã‚Šè¿”ã™ã¨ã€ä½¿ç”¨ãƒ¡ãƒ¢ãƒªãƒ¼ãŒå¢—ãˆã¦ã„ã。
ãŸã¶ã‚“ memory leak ã—ã¦ã„ã‚‹ã‚‚ã®ã¨æ€ã‚れる。
3) XFree86 v3.3.6 ã® libXaw ã¨ãƒªãƒ³ã‚¯ã—ã¦ã„ãŸå ´åˆã€
libXt ãªã©ä»–ã®ãƒ©ã‚¤ãƒ–ラリã«ã¤ã„ã¦ã¯ unstable/sid ã®
環境ã§é€šå¸¸ã®ãƒ‘ッケージã‹ã‚‰æä¾›ã•ã‚Œã‚‹ã‚‚ã®ã¨ãƒªãƒ³ã‚¯
ã—ã¦ã„ã¦ã‚‚ã€Segfault ã¯ç™ºç”Ÿã—ãªã„。ã—ã‹ã—ã€ã“ã®æ™‚
「新è¦ãƒ¡ãƒ¢ä½œæˆã€â†’「ä¿å˜ã›ãšã« destroyã€
ã‚’ç¹°ã‚Šè¿”ã™ã¨ã€ä¸Šè¨˜ã®ã‚ˆã†ã« XtDestroyWidget() ã‚’
コメントアウトã—ãŸæ™‚ã»ã©é¡•è‘—ã§ã¯ãªã„ãŒã€ã‚„ã¯ã‚Š
å¾ã€…ã«ä½¿ç”¨ãƒ¡ãƒ¢ãƒªãƒ¼ãŒå¢—ãˆã¦ã„ã。
確証ã¯ç„¡ã„㌠v3.3.6 ã®æ™‚ã‹ã‚‰æ—¢ã« memory leak ã—ã¦ã„㟠?
ã¨ã„ã†ã¨ã“ã‚ã¾ã§ã¯è¿½ã„ã‹ã‘ã¾ã—ãŸ
(先日㮠NLUG 勉強会ã§é‡Žé¦–ã•ã‚“ã¨é›‘談ã—ãªãŒã‚‰ :)
ã§ã€ãã®ã‚ã¨æ™‚é–“ãŒå–ã‚Œãªãã¦ã‚¿ãƒƒãƒã—ã¦ãªã„ã‚“ã§ã™ãŒã€
上記を眺ã‚ã¦ä½•ã‹æ€ã„出ã—ãŸã“ã¨ãŒã‚ã‚‹ã¨ã‹ã€æ€ã„当ãŸã‚‹
節ãŒã‚ã‚‹ã¨ã„ã†æ–¹ãŒã„らã£ã—ゃã„ã¾ã—ãŸã‚‰ã€æƒ…å ±ã‚’ãŠé¡˜ã„ã—ã¾ã™ã€‚
(å…ƒã®è·å ´ã®æœ¬æ£šã‚’探ã—ãŸã‚‰ã€Motif 版㮠"X Toolkit
Intrinsics Programming Manual" (ãŸã ã—対象㯠X11R4) ã¨
"The X Window System in a Nutshell" (対象㯠X11R4&5) ãŒ
見ã¤ã‹ã£ãŸã®ã§ã€ã“ã‚Œã§ã‚‚èªã‚“ã§å‹‰å¼·ã—よã†ã‹ã¨å€Ÿã‚Šã¦ã¯
ããŸã‚‚ã®ã®ã€æ™‚é–“ãŒå–ã‚Œãšã«ç©ã‚“èªçŠ¶æ…‹ ^^;;)
--
# (ã‚ãŸã—ã®ãŠã†ã¡ã¯æµœæ¾å¸‚ã€ã‚¢ã‚«ã‚¦ãƒŸã‚¬ãƒ¡ã®ãµã‚‹ã•ã¨ã®è¡—)
<kgh12351@xxxxxxxxxxx> : Taketoshi Sano (ä½é‡Žã€€æ¦ä¿Š)