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

[debian-devel:14736] Re: Bug#117685: xpostit: reproducable segfaults



ä½é‡Žï¼ æµœæ¾ã§ã™ã€‚ã“れも続報。

  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 (ä½é‡Žã€€æ­¦ä¿Š)