[Squeak-ja: 4279] swiki1.5でa Primitive Has failed

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[Squeak-ja: 4279] swiki1.5でa Primitive Has failed

"土本 (Florian) 強"
 土本です。

 長いこと使っているswiki1.5のサーバーを再起動させたら、a Primitive has
failedのエラーが出るようになってしまいました。
 自分で作ったWikiを削除し、refs,ani,defaultだけにしたところ起動するよう
ですが、せっかくのデータが亡くなってしまうのは残念です。
 何か似たような状況になった方はおられますでしょうか?

 errorの直前では、

String class(Behavior)>>basicNew:
String class(Behavior)>>new;
String(SequenceableCollection)>>copyFrom:to:
XmlSwikiStorage>>loadPage:from:startingAt:

 辺りからのエラーのようです。basicNew(<primitive: 71>)が正常に動かない
状況というとオブジェクトメモリが不足しているのでしょうか?

 では、失礼します。

!
土本(Florian)強 mailto: '<[hidden email]>'
                blog:  'http://d.hatena.ne.jp/Florian/'
                webto:   'http://florianswiki.dyndns.org/Web/'
openInWorld. "do it."
!

Reply | Threaded
Open this post in threaded view
|

[Squeak-ja: 4280] Re: swiki1.5でa Primitive Has failed

Yoshiki Ohshima-2
At Thu, 09 Jul 2009 08:47:21 +0900,
土本 (Florian) 強 wrote:

>
>  土本です。
>
>  長いこと使っているswiki1.5のサーバーを再起動させたら、a Primitive has
> failedのエラーが出るようになってしまいました。
>  自分で作ったWikiを削除し、refs,ani,defaultだけにしたところ起動するよう
> ですが、せっかくのデータが亡くなってしまうのは残念です。
>  何か似たような状況になった方はおられますでしょうか?
>
>  errorの直前では、
>
> String class(Behavior)>>basicNew:
> String class(Behavior)>>new;
> String(SequenceableCollection)>>copyFrom:to:
> XmlSwikiStorage>>loadPage:from:startingAt:
>
>  辺りからのエラーのようです。basicNew(<primitive: 71>)が正常に動かない
> 状況というとオブジェクトメモリが不足しているのでしょうか?

  プラットフォームによってはそうかもしれませんが、new: (new;ではないで
すよね)でのエラーの場合、インデックスの計算が間違っていて負の数がnew:
に渡っているということもありますね。やはり実際のデータと渡っている引数
の値を見てみるのが良いのではないでしょうか。

-- Yoshiki
Reply | Threaded
Open this post in threaded view
|

[Squeak-ja: 4281] Re: swiki1.5でa Primitive Has failed

"土本 (Florian) 強"
 土本です。
 ちょっと時間を使って追いかけてみました。

メール「[Squeak-ja: 4280] Re: swiki1.5でa  Primitive Has failed」(2009/07/09 09:09) に於いて
「Yoshiki Ohshima」 語りて曰く、

Yoshiki> > String class(Behavior)>>basicNew:
Yoshiki> > String class(Behavior)>>new;
Yoshiki> > String(SequenceableCollection)>>copyFrom:to:
Yoshiki> > XmlSwikiStorage>>loadPage:from:startingAt:
Yoshiki> >
Yoshiki> >  辺りからのエラーのようです。basicNew(<primitive: 71>)が正常に動かない
Yoshiki> > 状況というとオブジェクトメモリが不足しているのでしょうか?
Yoshiki>
Yoshiki>   プラットフォームによってはそうかもしれませんが、new: (new;ではないで
Yoshiki> すよね)でのエラーの場合、インデックスの計算が間違っていて負の数がnew:
Yoshiki> に渡っているということもありますね。やはり実際のデータと渡っている引数
Yoshiki> の値を見てみるのが良いのではないでしょうか。

 具体的には、String>>copyFrom:to:する際にコピー先サイズがマイナスになっ
ているためにprimitive:71に失敗しているようです。なぜこんな変な値になって
いるかというと、

---
        t4 := t2 findString: '<version date="' startingAt: t3.
        t5 := t2 findString: '" time="' staringAt: t4.
---

 として見ているため、「<version date="」も「" time="」もないページ(ファ
イルが壊れているとか)でおかしな値になっているようです。
 とりあえず、

        swiki/<wiki名>/pages/*.xml

 で、明らかに壊れているページのデータを補完してやることで解決しました。
 なんというか……、Swikiは便利なんですがエラー処理甘いですね。

 では。

!
土本(Florian)強 mailto: '<[hidden email]>'
                blog:  'http://d.hatena.ne.jp/Florian/'
                webto:   'http://florianswiki.dyndns.org/Web/'
openInWorld. "do it."
!