4D v16.2 Hotfix1について

前のトピックを表示 次のトピックを表示 Go down

4D v16.2 Hotfix1について

投稿 by osaru on 2017-11-13, 1:22 pm

4D v16.2 Hotfix1リリースのお知らせが届きましたが、こちら従来のv16.2クライアントと混在利用しても問題ないものでしょうか?

現状、v16.2 64bitサーバーmacOSにて運用しております。
クライアントでフリーズして強制終了した場合、そのプロセスがレコードをロックし続けたり、同じIPから同じユーザーが複数ログインしている状況が続いたりします。
特に、ルーター越えネットワークでの接続ではゾンビプロセスが残る現象が顕著に見られます。

v16.2 Hotfix1にてそれらが改善できるならと、検証を進める予定ですが、過渡期の混在利用時などで問題になる可能性など情報ございましたら教えていただければ幸甚です。

p.s.
4Dクライアントがクラッシュする現象は、日本語入力関係の切り替えで内在している問題の様で、
Thread 0 Crashed::  (id = 775)  Dispatch queue: com.apple.main-thread
0   libobjc.A.dylib               0x00007fff90f99029 objc_msgSend + 41
1   com.4d.gui                     0x000000010d431c45 xbox::XMacKeyboardInfo::~XMacKeyboardInfo() + 63
2   com.4d.gui                     0x000000010d431d07 xbox::XMacKeyboardInfo::~XMacKeyboardInfo() + 15
3   com.4d.kernel                 0x000000010d1a5fa2 xbox::IRefCountable::Release(char const*) const + 34
ATOKを利用するようにしたらひとまず収まりました。
なお、v16.2 Hotfix1でもこれらの問題は解決されずmacOS標準の日本語入力環境では頻繁にクラッシュします。
ご参考まで。

以上、よろしくお願い致します。

osaru

投稿数 : 13
登録日 : 2017/08/14

トップに戻る Go down

Re: 4D v16.2 Hotfix1について

投稿 by miyako on 2017-11-13, 2:22 pm

一般的に,ビルド番号が一致しないクライアントとサーバーの組み合わせは勧められていません。禁止されているというよりは,検証もされていない,想定外の使用方法だから,というのがおもな理由です。

特に,ネットワークレイヤー関連の不具合修正は,両側で同一のビルドが使用されている前提で進められているので,できる限り避けたほうが良いように思えます。

16.2.HF1の修正箇所:

https://github.com/4D-JP/release-notes/tree/master/v16/16.2/hf1/

なお,クライアントを強制修正した場合,あるいはネットワークが断線した場合などの期待される回復方法はネットワークレイヤーによって違います。

旧および新(修正前)

データベース設定「C/Sタイムアウト」以内にクライアントがTCPポート kepaliveパケットに応答しない場合,ドロップ

新 (16.212094以降)

50秒以内(固定値)にクライアントがTCPポート19813 kepaliveパケットに応答しない場合,ドロップ

注記:TCPポート19814のタイムアウトはデータベース設定54番で制御します。デフォルトは20秒です。

無名のユーザープロセス(ゾンビ)が発生する条件のうち「ログインを完了しなかった場合」は16.2.HF1で修正されています。また,そのようなユーザーをサーバー管理画面でドロップできるようにもなりました。

引用されたクラッシュレポートですが,日本語入力クラスのインスタンスメソッドをメインスレッドで呼ぶこと自体は正常なことだと思われるので,これが過剰に解放されているのであれば,他のスレッドとのコンフリクトが疑われます。

日本語入力関係の切り替えによる「頻繁なクラッシュ」というご報告はなく,当方のMacでも観察できないことなので,ハードウェアや追加インストールされているソフトウェア等の影響も考えられます。

ご確認いただきたい点として

- 機種(タッチバーの有無など)
- OS(ビルド番号まで)
- 新規作成したデータベースでも再現するかどうか
- すべてのクライアントで再現するか
- 4Dで日本語入力を制御する仕組みが併用されていないかどうか
(プラグイン・フィルター・キーボードレイアウト)

などの情報があれば調査の助けになります。

miyako

投稿数 : 204
登録日 : 2016/07/05

トップに戻る Go down

Re: 4D v16.2 Hotfix1について

投稿 by osaru on 2017-11-13, 3:09 pm

miyako様、ご連絡ありがとうございます。
できる限り避ける方向で調整したいと思います。

日本語入力につきましても情報ありがとうございます。
- 機種(タッチバーの有無など)
機種名: MacBook Pro
機種ID: MacBookPro10,1
プロセッサ名: Intel Core i7

- OS(ビルド番号まで)
 システムのバージョン: macOS 10.12.6 (16G1036)
 カーネルのバージョン: Darwin 16.7.0

- 新規作成したデータベースでも再現するかどうか
未検証です。こちらはあまり思い至らなかったので検証してみたいと思います。

- すべてのクライアントで再現するか
調子の良い端末も存在するのですが、検証した結果ATOK入りという事でした。
自信のmacにも新たにATOKを入れた所、見事に安定した次第です。

- 4Dで日本語入力を制御する仕組みが併用されていないかどうか
(プラグイン・フィルター・キーボードレイアウト)
旧来のDBを移行しているので・・・
プラグインを使って日本語/英語切り替えを行っておりましたが、機能しなくなったので呼び出しルーチンは残しつつコメントアウトしてメソッド呼び出しだけで使用しないようにしております。
フィルターは使用しておりません。
キーボードレイアウト設定はある可能性がありますが項目全てのチェックは行えておりません。

クラッシュするタイミングが特定のテキスト入力エリアにフォーカスを得た瞬間が多いように見受けられましたので、思い当たる所と致しましては、DB移行の関係で最後の項目が気にかかります。
引き続き検証してみたいと思います。

osaru

投稿数 : 13
登録日 : 2017/08/14

トップに戻る Go down

Re: 4D v16.2 Hotfix1について

投稿 by miyako on 2017-11-13, 3:42 pm

もし,クラッシュを誘発するオブジェクトが限られているようであれば,
その入力エリアだけ作り直すと良いかもしれません。

すでに修正されている件,またWindowsの問題ではありますが,

「変数として作成したオブジェクトを後からフィールドに変更したもの」に限って起きる不具合がありました。(ACI0097246)

https://github.com/4D-JP/release-notes/tree/master/v16/16.2/hf1/

なお,キーボードレイアウトプロパティですが,
コーディングで検査することができます。

http://doc.4d.com/4Dv15/4D/15.5/FORM-GET-NAMES.301-3577870.ja.html

http://doc.4d.com/4Dv15/4D/15.5/FORM-GET-OBJECTS.301-3577150.ja.html

http://doc.4d.com/4Dv15/4D/15.5/OBJECT-Get-type.301-3576567.ja.html

http://doc.4d.com/4Dv15/4D/15.5/OBJECT-Get-keyboard-layout.301-3576524.ja.html

miyako

投稿数 : 204
登録日 : 2016/07/05

トップに戻る Go down

Re: 4D v16.2 Hotfix1について

投稿 by Sponsored content


Sponsored content


トップに戻る Go down

前のトピックを表示 次のトピックを表示 トップに戻る


 
Permissions in this forum:
返信投稿: 不可