勝手にしやがれ Part2.

【投稿時の注意】
パスワード入力:必須。投稿後の削除時は同じパスワードを使います。
投稿者入力:いまのところ任意。入力を省略すると「名無しさん」がデフォルトで表示されます
Eメール入力:いまのところ任意。
リンクの入力:本文中に http の文字列が含まれると投稿出来ません。URL を貼るときは h 抜きで ttp:// とするなど工夫してみて下さい

11 / 13 ツリー ←次へ | 前へ→

【17】LogSort の不具合報告 めざら 2006/08/14(月) 10:53
【18】Re:LogSort の不具合報告 Si@管理人 2006/08/15(火) 0:24
【19】Re:LogSort の不具合報告 Si@管理人 2006/08/15(火) 10:02
【21】Re:LogSort の不具合報告 めざら 2006/08/16(水) 8:44
【23】Re:LogSort の不具合報告 Si@管理人 2006/08/17(木) 0:20
【25】Re:LogSort の不具合報告 めざら 2006/08/17(木) 10:00
【26】Re:LogSort の不具合報告 Si@管理人 2006/08/18(金) 0:00
【27】Re:LogSort の不具合報告 めざら 2006/08/20(日) 19:12

【17】LogSort の不具合報告
 めざら WEB  - 2006/08/14(月) 10:53 -

引用なし
パスワード
    新掲示板への移行が正式に発表されていないので,失礼ながら重複投稿させていただきます。

 パソコン通信の会議室は消滅しましたが,手前の掲示板のログをニフティの会議室ログ形式に整形しているので,まだまだ logsort にはご厄介になっております。

 最新のログを整形して logsort に通したところ,重複がないのに1%ほどサイズが小さくなることに気付いて調べたところ,ログの一部が欠落していることが判明しました。欠落するのはアーティクル単位ではなく本文の段落の一部です。

 発生条件のひとつは,たぶん一定の長さ以上の論理行段落(要するに桁折していない段落)ということだと推測したものの,すべての長い段落で発生するものではないので,複数の条件が重なっている時に起こると最初は考えました。

 さらに調べたところ,欠落する文字数は,行頭から 255文字であることがわかりました。つまり1行の文字数が 256文字を超えると,なんらかのバッファが溢れていると考えられます。

 なお,発生する版は,最新 1.22,および,ひとつ前の 1.21の logsort.exe,logsortw.exe すべてで,実行環境は Windows 98 SE (4.10.2222) です。

 実は最近,Web 掲示板では桁折のメリットはないと考えるようになり,自分の発言は整形済みのプログラムコードを含む投稿以外は桁折せずに書くようになりました。そうしたら,自分の発言がらみで軒並み欠落が出ていることが分かったのです。(^^;

 今後もニフティのヘッダ形式を継続したいので,ぜひとも改訂をお願いしたいところです。これが仕様ということになると,自分で作らざるを得ないということになりますが,重複の処理やら並べ替えやら面倒なことばかり多すぎて頭が痛いです。

 なにとぞ,ご対応をお願いしたいと思います。m(_'_)m

【18】Re:LogSort の不具合報告
 Si@管理人  - 2006/08/15(火) 0:24 -

引用なし
パスワード
   めざらさん、報告ありがとうございます。

詳細なレポートで、おかげさまでソースを見ないでも修正点がすぐに思い浮かびました。大変助かります。

お気づきのように読み書き用バッファサイズの問題で、現状は静的に 256bytes 固定で確保しています。

不具合と云うか一応仕様なんですが、バッファから溢れた場合の対策を施していないからやはり不具合か ^^;

まあ、それはともかく、たぶんソースを1行書き換えてコンパイルするだけで対応出来るかと思いますが、バッファサイズはどのくらい必要でしょうか?
512 bytes
1024
2048
...

【19】Re:LogSort の不具合報告
 Si@管理人  - 2006/08/15(火) 10:02 -

引用なし
パスワード
   自己レスです。

一晩寝ながら考えたらバッファサイズ自体はあんまり関係なさそうなことに気付きました。基本的なファイルの読み書きルーチンにポカがありそうです。

めざらさん、お手数ですが出来たらサンプルファイルを送って頂けないでしょうか?現象の再現する部分を含む数レス分で結構です。本文も全角文字は「あああああ」、半角英数字部分は「aaa」とかに書き換えて頂いて構いません。

安易なレスを付けてすみませんでした。

【21】Re:LogSort の不具合報告
 めざら WEB  - 2006/08/16(水) 8:44 -

引用なし
パスワード
    ご指示のとおりに,メールにソート前・ソート後の2種類のファイルを添付して送らせていただきました。メールフォームの送信先と同じにしたのですが,ID 宛になっているので,もしかすると受信拒否対象になってしまうかもしれません。(^^;

> バッファサイズはどのくらい必要でしょうか?

 8192バイトもあれば十分でs(^-°)☆\(-_-)

 どんなサイズにしても,バケツリレーがうまくいけばよいと思いますので,小人さんのチームワークに期待したいと思います。

 よろしくお願いします。

【23】Re:LogSort の不具合報告
 Si@管理人  - 2006/08/17(木) 0:20 -

引用なし
パスワード
   メール頂きました。

hoge@nifty.com 形式のメールアドレスの方は非公開にしているので、ID宛てメールは受信拒否にしてません。スパムの山ですが ^^;

> 8192バイトもあれば十分でs(^-°)☆\(-_-)

8192bytesに拡張して試したところ、なんとサンプルファイルでテストした限りではテキストの欠落はありませんでした。

ということで、早速配布用パッケージに詰め込んで Si's ROOM の方にアップロードしておきました。

こんなに安易な対応で良いのだろうかと一抹の不安がありますので、取り扱いには十分ご注意下さい。また誤動作、不審な振る舞いなど気付かれましたら、お手数ですがまた連絡お願いします。

【25】Re:LogSort の不具合報告
 めざら WEB  - 2006/08/17(木) 10:00 -

引用なし
パスワード
   > 8192bytesに拡張して試したところ、なんとサンプルファイルでテストした限りではテキストの欠落はありませんでした。

 8192バイトというのは冗談半分だったんですけれどね。(^^;
 実はVZのラインバッファの最大サイズなんです。こんな手前勝手な案を容れてくださって申し訳ないと思うものの,根本的な解決にはなっていないというツッコミが何処からか入るかもしれませんね。

 実行してみたところ,ログの欠落等はまったく発生せず,このまま使わせていただけるなら,わたしとしては全く問題ありません。どうもありがとうございました。

 静的バッファを8Kバイト近く増やしても,実行ファイルのサイズは3Kバイト強くらい大きくなるだけなのですね。どこに吸収されるのかなぁ。素人が考えても仕方ありませんが。

 すばやい対応ありがとうございました。m(_'_)m

【26】Re:LogSort の不具合報告
 Si@管理人  - 2006/08/18(金) 0:00 -

引用なし
パスワード
   ▼めざらさん:
>根本的な解決にはなっていないというツッコミが何処からか入るかもしれませんね。

はい、改行なしで8192bytesを超える場合は同じ症状が出ます ^^;

実は、その後ソースを見直していたら「根本的な解決」に至るコーディングミスが見つかりました。とりあえずめざらさんの用途には今回の緊急対応版で間に合うようなので、修正版はおいおい出そうかと思います(需要の有無は無視)。

> 静的バッファを8Kバイト近く増やしても,実行ファイルのサイズは3Kバイト強くらい大きくなるだけなのですね。どこに吸収されるのかなぁ。素人が考えても仕方ありませんが。

v1.22 との実行ファイルのサイズの違いは、たぶんコンパイラを変えた為と思われます。バッファ自体は(静的とは云え)プログラム実行時のタイミングで確保されるのではなかったかと、素人考えですが ^^;

【27】Re:LogSort の不具合報告
 めざら WEB  - 2006/08/20(日) 19:12 -

引用なし
パスワード
   > 「根本的な解決」に至るコーディングミスが見つかりました。

 よかった。その版が出れば完璧ですね。(^^)

> バッファ自体は(静的とは云え)プログラム実行時のタイミングで確保

 そうですよね。(^^;
 VZのバッファをイメージして,後々「あれぇ?」とな。
 配列用のバッファなんか宣言だけで,いちいち別に確保しませんもんね。

11 / 13 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
14,033
(SS)C-BOARD v3.8 is Free