«前の日記(2006-02-07(火)) 最新 次の日記(2006-02-09(木))»

vdrめも

検索キーワード:
[PR]:「Chef活用ガイド コードではじめる構成管理 (大型本), (Kindle版)」発売中です。


2006-02-08(水) あてずっぽうは駄目だな [長年日記]

_ [comp] Fx 1.5.0.1 が落ちるページ

めも - Firefox について より。

 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta http-equiv="Content-Style-Type" content="text/css">
 <style type="text/css">h1 + p:first-letter {float:right;}</style>
 <title>test</title>
 </head>
 <body>
 <h1>a</h1>
 <p><a href="b"><img src="b" alt="b"></a></p>
 </body>
 </html>

という HTML ファイルを開き、リンクにポインタをのせると SEGV る。1.5.dfsg+1.5.0.1-1vd1 で確認。float:right が float:left でもクラッシュ。

バックトレースを取ってみるとこんな感じ。

#0  0xffffe410 in __kernel_vsyscall ()
#1  0x401aea7d in raise () from /lib/tls/i686/cmov/libpthread.so.0
#2  0x0808217c in nsProfileLock::FatalSignalHandler ()
#3  <signal handler called>
#4  0x0827091c in nsCSSFrameConstructor::GetInsertionPoint ()
#5  0x0827fab7 in nsCSSFrameConstructor::ContentInserted ()
#6  0x0827edf9 in nsCSSFrameConstructor::RecreateFramesForContent ()
#7  0x0827f0d2 in nsCSSFrameConstructor::ProcessRestyledFrames ()
#8  0x0827f21c in nsCSSFrameConstructor::RestyleElement ()
#9  0x0827f44f in nsCSSFrameConstructor::ProcessOneRestyle ()
#10 0x0827f552 in nsCSSFrameConstructor::ProcessPendingRestyles ()
#11 0x0827f5fe in nsCSSFrameConstructor::RestyleEvent::HandleEvent ()
#12 0x0827f631 in HandleRestyleEvent ()
#13 0x401259b7 in PL_HandleEvent () from /usr/lib/firefox/libxpcom_core.so
#14 0x40126288 in PL_ProcessPendingEvents ()
   from /usr/lib/firefox/libxpcom_core.so
#15 0x4012793e in nsAutoCMonitor::Exit ()
   from /usr/lib/firefox/libxpcom_core.so
#16 0x08266d95 in event_processor_callback ()

Bugzilla を漁ってみると、

  • Bugzilla ORG 318592 - [FIX]Crash with evil testcase, using float:right; and .u::first-letter { letter-spacing: 50px; }
  • Bugzilla ORG 322820 - Crash [@ nsCSSFrameConstructor::RemoveFirstLetterFrames] with evil testcase, using float:right; and .u::first-letter
  • Bugzilla ORG 317275 - Evil float:right testcase causes assertions and can crash [@ nsFrame::GetFirstLeaf]

あたりを手繰れてきた。示されてるパッチを当ててみる。Bugzilla ORG 318592 の testcase2 (Bugzilla ORG 3228207) と Bugzilla ORG 317275 のテストケース4つでは落ちなくなったけど、上記問題の HTML ファイルと Bugzilla ORG 318592 の testcase ではまだ落ちる。もっとも両者では落ちる場所が違うんだけど、アテが外れたか。

なお、trunk (Mozilla/5.0 (X11; U; Linux i686; ja-JP; rv:1.9a1) Gecko/20060207 Firefox/1.6a1) では、Bugzilla ORG 318592 の testcase 以外、上記問題の HTML ファイルの含めて問題ないようだ。

_ [debian] w3m 0.5.1+1.946-0vd8

w3mでpipeをクローズしないバグの修正を施して作成。


2006年
2月
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28

[amd64 | audacious | comp | debian | gkrelluim | kip | misc | movie | research | rime | unicon | vdr | work | えふえふ]

書いてる人: dai

パッチ等(無保証)

GPG Fingerprint = 0B29 D88E 42E6 B765 B8D8 EA50 7839 619D D439 668E