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

[1524] SmartDoc 1.2bバグ報告 - XML Syntax Hilight



こんばんは。
田中たかゆきです。

SmartDoc 1.2bのバグ報告です。

現象:
XML Syntax Hilight(normalizer="xmlsrc" xmlSyntaxHilight="true")で、
XMLのコメント(<!-- -->)文が、ある長さ(何文字かは特定できませんでした)を
超えると、以下のエラーが起こります。

java.lang.StackOverflowError
 at org.apache.oro.text.regex.Perl5Matcher.__compare(Unknown Source)
 at org.apache.oro.text.regex.Perl5Matcher.__match(Unknown Source)

normalizer="hilight" syntaxType="xml"でも試しましたが、
同様です。

OROの問題のようにも思われますが、
SmartDoc 1.0/1.1では起こらなかった現象です。


Javaバージョン:
java version "1.4.2_04"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_04-b05)
Java HotSpot(TM) Client VM (build 1.4.2_04-b05, mixed mode)

SmartDocバージョン:
Copyright(c) 1998-2004 ASAMI,Tomoharu. All rights reserved.
SmartDoc Version 1.2b (20040611) by asami@XMLSmartDoc.org


再現のためのSmartDocドキュメント: xmlhi.sdoc
<?xml version='1.0' encoding='Shift_JIS' ?>

<doc xml:lang='ja'>
<head>
<title>バグの再現</title>
</head>
<body>

<program
  title="build.xml" src="build.xml" encoding="Shift_JIS"
  normalizer="xmlsrc" xmlSyntaxHilight="true"
/>

</body>
</doc>

build.xml:
<?xml version='1.0' encoding='Shift_JIS' ?>

<!--
  012345678901234567890123456789012345678901234567890123456789
  012345678901234567890123456789012345678901234567890123456789
  012345678901234567890123456789012345678901234567890123456789
  012345678901234567890123456789012345678901234567890123456789
  012345678901234567890123456789012345678901234567890123456789
  012345678901234567890123456789012345678901234567890123456789
  012345678901234567890123456789012345678901234567890123456789
  012345678901234567890123456789012345678901234567890123456789
  012345678901234567890123456789012345678901234567890123456789
  012345678901234567890123456789012345678901234567890123456789
  012345678901234567890123456789012345678901234567890123456789
  012345678901234567890123456789012345678901234567890123456789
  0123456789
  -->

<project name="ch03ex" basedir=".">
</project>


実行例:
% sdoc xmlsrc.sdoc
java.lang.StackOverflowError
 at org.apache.oro.text.regex.Perl5Matcher.__compare(Unknown Source)
 at org.apache.oro.text.regex.Perl5Matcher.__match(Unknown Source)
 at org.apache.oro.text.regex.Perl5Matcher.__match(Unknown Source)
 ...
 at org.apache.oro.text.regex.Perl5Matcher.__match(Unknown Source)
 at org.apache.oro.text.regex.Perl5Matcher.__match(Unknown Source)
Exception in thread "main" 

以上
たなか