2005年1月16日

[openoffice:6864] Re: calcが保存時に固まる

Toraです。

げっ、むちゃくちゃ長いです。ごめんなさい。

> 安達です。
> ここから、棒グラフが伸びるまえだと思うのですが。

ありがとうございます。ということは、
a) ファイル>保存 メニューを選択した直後
b) ファイル名を選択・入力するダイアログボックスで U: ドライブを選択した直後

c) [保存]ボタンを押した直後
どれだと思われますか。

> ただ■■■■が出ていれば気がついているはずです。
ア) 左端に「ドキュメントの保存」はまだ表示されていない。
イ) 左端に「ドキュメントの保存」と表示されていて、プログレスバーの進捗度合いが 0%
この状況がどちらなのかが、解析のヒントになりそうです。

> また不完全なファイルも保存されていることはありません。
??) ファイルとしての入れ物を作る
??) 中身を書き込む
??) 閉じて、変更日時などを書き込む
の ?? の部分よりも前か、?? の作業を OOo が Windows に依頼し、OOo は Windows 側
からの作業終了通知を待っている。しかし、いつまでたっても Windows 側から OOo に
作業終了の通知が戻ってこない。。。と、勝手な推測です。

>>(Sambaサーバー側)
>>・設定ファイル smb.conf の設定項目 max connection というパラメータで
>> 同時接続数をチューニングできるようです。
>> max connections = number
>> でも、デフォルト値は 0 で、0 は無限(コンピュータの上限あり)に接続可能
>
> OOoは起動時にかなりの数のファイルを開くようで、
> max open files = 10000
> を気にしたことがあります。でもkernelの上限もあり、これを増やすには
> パラメータを変えてコンパイルしなければならないとのこと。
> 年度途中でやるには自信がないし、この上限が問題になっているかどうかも
> よくわからないので、棚上げにしています。

はい。かなりの数のファイルを開きます。それは、順に一つのTCP/IPのコネクション
を通して使うでしょうから、Sambaとしての同時接続数は、クライアントPCの台数を
少し上回ってれば、十分だと思います。

OOo は沢山ファイルを開くのですけど、OOo 自体が同時に多くのファイルを開くわけでは
なくて、OOo の内部作業が進むにつれて、一つずつファイルを次々と開いて、読んで、
閉じて、また別のファイルを開く。の繰り返しです。もちろん、中にはいくつか、開きっ
ぱなしにするファイルももちろんあると思いますが、そんなに多いわけではないでしょう。

>> そのため、Windows側が何らしかの原因で忙しくてそのパケットに応答していなかっ
>> た場合、Windows 側からはサーバーが見えているつもりになっていても、サーバー側
>> は、そのパソコンはすでに存在していないとして扱っているかもしれません。
>
> Windowsは必要になったら接続し直すので問題ないと思っています。

いわれてみれば、そうですね。サーバー側で TCP のコネクションを開放している「接続」
(発IP, 着IP, 発ポート番号, 着ポート番号, プロトコル種別) に対して、Windows 側が
通信を試みれば、サーバー側は RST (リセット)パケットで応答しますから、Windows 側は
気が付き、何らかの対処(接続し直す)をするはずですね。

> keepaliveは300のままになっているはず。

もしかして、無線LAN を使っていますか?

私は「無線LAN」になかされました。Windows がパケットを取りこぼすんです。
それでどうなるかというと、多くのWebサイトを表示できないのです。途中まで内容が出て
きて表示されているのですが、いつまで待っても最後まで表示されないのです。
イーサネットケーブルで接続すると問題なく表示できるのです。

よくよく調べてみたところ、Webサーバー側が MTU 1500オクテットでパケットを送り出すと
途中に入っているプロバイダが PPP を使っているため、14xxオクテットと 1xxオクテット
の二つのパケットに分割するんです。そして、二つのパケットが間髪いれずに Windows へ
届くのです。Windows の無線LANドライバが二つ目の小さなパケットを取りこぼすんです。
そして、上位の Windows は下位のドライバからのパケットを待ちつづけ、サーバー側は
応答パケットが戻ってこないものだから、同じパケットを再送し、ドライバは同じ現象で、
また取りこぼすのです。

>>(おまけ)
>>OpenOffice.org 2.0 では、自身が動作しなくなり数秒〜数十秒間固まるとと、自動的に
>>自分で気が付いて、その時点での作業内容を自動的に別の隠しフォルダに保存して、自分
>>から自分をクラッシュ(異常終了)させるようなつくりになっているようです。そして次に
>>起動したときに、その保存しておいた作業内容から復旧するようです。
>>
>>これと同様な手順を OOo 1.1.x で手動でやる方法を、少し調べてみますね。Linux では
>>すでにあるんですけど、Windows でどうやってやればいいか、私は今はわかりません。

dev@xxxxx というメーリングリストで問い合わせしてみたところ、クラッシュ・
レポーターを起動すると、その時点での作業内容を保存できるはずなんだそうです。でも、
それは、OOo 1.9 以降じゃないと動かないじゃなかったっけ。いや OOo 1.1.x でも動くよ。
とか、話が少し進んでいるんです。今やってみましたが、期待通りに作業内容を隠しフォルダ
に保存してくれないようです。

Linux などの Unix 系ではしっかりと動作するのかもしれません。
kill -SEGV soffice.binのプロセス番号
というようなおまじないをすると、その時点での作業内容を OOo はしっかりと保存し、次の
OOo 起動時に回復しますので。

1. OOoのインストール先フォルダ内の program というフォルダを開きます。
例: C:\Program Files\OpenOffice.org1.1.3\program
2. 「crashrep.com」もしくは「crashrep.exe」を起動します。

詳しくは、OOo の ヘルプ>目次>索引 で Error とタイプするか、ヘルプ>目次>検索 で
「クラッシュ」入力して検索してみてください。「Error Report Tool」というページで
説明があります。

> これは助かりますね。自分で気がつくのなら固まっていないような気も
> しますが…。

そうともいえますね。マルチスレッドというつくりに元々なっていまして、ユーザーさん相手の
お仕事をこなすスレッド、UNOという他のアプリケーションから OOo をリモコン操作するための
TCP/IP のコネクションの接続を待っているスレッドなど、複数のスレッドが動いています。

「Watch Dog Timer」(警備犬タイマーとでも訳すのかなぁ)という、ソフトウェアのアイデアが
ありまして、簡単にいうと、
1. バケツに水がちょろちょろと注がれている。
2. プログラムが動作しているときは、何かの仕事が終わるたびに、そのバケツの水を空にする。
3. もしバケツの水がいっぱいになってしまったら、強制発動を行う。
という仕掛けです。

> 来年度はすでに2.0にしているかもしれませんし、Linuxクライアントに
> する可能性もちょっとはあるのですが…。

いいですね。

> もちろんです。Sambaの他にもWindowsのパッチも当てています。
> これが原因かと思って、リストアでは元に戻しているのですが、
> 完全に同じかどうかはわかりません。
> しかし、2クラス同時アクセスの可能性は今年の方が減っており
> (時間数が減った)
> 気をつけていますが、2クラスの同時使用でエラーが
> 増加するようなことは観測されていません。

了解です。

他のメールも拝見しました。相当苦労されてれきているようですね。

...(略)...

> 始業時は実習室に来た順で起動するのでそれほど混み合いませんが、
> 終わりの方ではかなり交錯します。保存が終わった生徒は、ログオフしますから
> プロファイルデータを書くという作業も加わりますので。
> ただ、そのピークと発症は必ずしも同期しないし、ピークでないときにも
> 起こるような印象を持っています。

SAMBAサーバーへのアクセスのピークと発症は、関係ないような印象ですね。
私もそう思います。たかだかPC数十台からのアクセスで Linux の SAMBA サーバーが
不安定な動作をするとは、考え難いです。

今度もし再発したら、生徒へ教えるということも兼ねて、クラッシュ・レポート
(Error Report Tool)を使ってみてはどうでしょうか。
状況報告するテキストボックスにて、最初に Japanese! とでも書いていただければ、
本文は日本語で大丈夫です。簡単な状況説明を書いていただければ、OOo側のエンジニアが
解析します。もし、HTTP の Proxy サーバーを使われているのであれば、[オプション]
ボタンを押して、その Proxy サーバーについての情報を入力してくださいね。

1. こうやって、レポートを出すと、
2. 開発側に届いて、
3. 日本語の場合は、日本語が読める人に転送されて、
4. エンジニアさんが解析し、
5. 次のバージョンアップなどで、その不具合が直るんだよ。
(難しいと、なかなか直らない事もある)

と。

ではでは
Tora


--[PR]------------------------------------------------------------------
   もっと近く・安く・年齢で・性別で・性格で全国無料で探せる!
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃一円で会社設立しませんか?       ピッタリの税理士お探し隊!┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
http://ad.freeml.com/cgi-bin/ad.cgi?id=dbcHH
------------------------------------------------------------------[PR]--
■GMO GROUP■ Global Media Online www.gmo.jp


投稿者 xml-rpc : 2005年1月16日 10:46
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/3963
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。