Newsgroups: mail-lists.freyasx
[FreyaSX] Re: fsearch.cgi 実行時 Segmentation fault
辻です
07 Oct 2005 09:36:56 GMT ysato@delegate (Yutaka Sato)
The DeleGate Project
遅レスですいません。
やっと仕事が一段落して、最近ようやく普通の生活に復帰しました。。。
> On 09/28/05(09:38) you ysato@delegate (Yutaka Sato) wrote
> in <_A58@freyasx.ML_>
> |そういえば、Gcc3 からは strstream が無くなった?ので、stringstream に
> |置き換えたのですが、Gcc2.9 はその移行期で、実装が不安定だったようです。
> |実際、オリジナルFreya (Gcc2) から FreyaSX (Gcc3) への移植は MacOSX 上の
> |Gcc3 で行ったのですが、移植後の版を RedHat7.1 の Gcc2.96-81 で試したら
> |動作せず、適当に回避した記憶があります。
> |String.cc の 94 行目にある、
> | if(sout.tellp() <= 0){ // stringstream seems be implemented incompletely
> |というのがそれです。stringstream の tellp() がちゃんと実装されているか
> |どうかで、stringstream の実装状態を占うものですが、その後の2.96の過程で、
> |tellp() が治ったけれどget() がまだおかしい、と言う段階があるのかも知れ
> |ません。ですので、この行を、
> | if(1){
> |のように置き換えれば、問題を回避できるかも知れません。
>
> これで効果があったかどうかわからないのですが、ともかく、0.99.12 では
NGだったサーバ2台で確認いたしました。
String.cc の 94 行目を
if(1){
に修正後コンパイルし cgi-bin/fsearch.cgi 実行で、
思い通り html文が表示されました。
Segmentation fault 出てきませんね。
fhttpd -P8880 実施後
http://hogehoge:8880/cgi-bin/fsearch/fsearch.cgi?
も動作OKでした。
迅速で、親切なご対応に感謝しております。
ほんとうにありがとうございました。
>
> [String.cc]
> #ifdef __GNUC__ && __GNUC__ < 3
> #define NOSTRINGSTREAM 1
> #else
> ...
>
> のように Gcc3 以前を判定して、stringstream の get() を使わないように
> しました。
|