dbcli / dbcli/mssql-cli

Bad ICU dependency handling

オープン
#571 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Python
スター
1.4k
フォーク
191
PR マージ指標
30日以内にマージされた PR はありません

説明

When running on a RH-like system, I run into:
```
Couldn't find a valid ICU package installed on the system. Set the configuration flag System.Globalization.Invariant to true if you want to run with no globalization support.

at System.Environment.FailFast(System.String)
at System.Globalization.GlobalizationMode.GetGlobalizationInvariantMode()
at System.Globalization.GlobalizationMode..cctor()
at System.Globalization.CultureData.CreateCultureWithInvariantData()
at System.Globalization.CultureData.get_Invariant()
at System.Globalization.CultureInfo..cctor()
at System.StringComparer..cctor()
at System.AppDomain.InitializeCompatibilityFlags()
at System.AppDomain.Setup(System.Object)
Traceback (most recent call last):
File "/home/viraptor/dbcli/lib64/python3.9/site-packages/mssqlcli/jsonrpc/contracts/request.py", line 51, in get_response
response = self.json_rpc_client.get_response(self.request_id, self.owner_uri)
File "/home/viraptor/dbcli/lib64/python3.9/site-packages/mssqlcli/jsonrpc/jsonrpcclient.py", line 84, in get_response
raise self.exception_queue.get()
File "/home/viraptor/dbcli/lib64/python3.9/site-packages/mssqlcli/jsonrpc/jsonrpcclient.py", line 124, in _listen_for_response
response = self.reader.read_response()
File "/home/viraptor/dbcli/lib64/python3.9/site-packages/mssqlcli/jsonrpc/jsonrpcclient.py", line 272, in read_response
while (not self.needs_more_data or self.read_next_chunk()):
File "/home/viraptor/dbcli/lib64/python3.9/site-packages/mssqlcli/jsonrpc/jsonrpcclient.py", line 326, in read_next_chunk
raise EOFError(u'End of stream reached, no output.')
EOFError: End of stream reached, no output.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/lib64/python3.9/runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/lib64/python3.9/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/home/viraptor/dbcli/lib64/python3.9/site-packages/mssqlcli/main.py", line 122, in
main()
File "/home/viraptor/dbcli/lib64/python3.9/site-packages/mssqlcli/main.py", line 115, in main
run_cli_with(mssqlcli_options)
File "/home/viraptor/dbcli/lib64/python3.9/site-packages/mssqlcli/main.py", line 52, in run_cli_with
mssqlcli.connect_to_database()
File "/home/viraptor/dbcli/lib64/python3.9/site-packages/mssqlcli/mssql_cli.py", line 278, in connect_to_database
owner_uri, error_messages = self.mssqlcliclient_main.connect_to_database()
File "/home/viraptor/dbcli/lib64/python3.9/site-packages/mssqlcli/mssqlcliclient.py", line 91, in connect_to_database
owner_uri, error_messages = self._execute_connection_request_with(connection_params)
File "/home/viraptor/dbcli/lib64/python3.9/site-packages/mssqlcli/mssqlcliclient.py", line 180, in _execute_connection_request_with
response = connection_request.get_response()
File "/home/viraptor/dbcli/lib64/python3.9/site-packages/mssqlcli/jsonrpc/contracts/request.py", line 67, in get_response
return self.response_error(error)
File "/home/viraptor/dbcli/lib64/python3.9/site-packages/mssqlcli/jsonrpc/contracts/connectionservice.py", line 22, in response_error
u'ownerUri': cls.owner_uri,
AttributeError: type object 'ConnectionRequest' has no attribute 'owner_uri'
```
I would expect some better/actionable error here.

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

RH に類似したシステムで ICU の失敗を再現し、その後 mssqlcli/mssql_cli.py と mssqlcli/mssqlcliclient.py から始めて、jsonrpc/contracts/request.py と connectionservice.py を通る接続リクエストを追跡します。プロセスの失敗と、それによって発生する AttributeError がどのように報告されるかを確認します。ユーザーが二次的な traceback なしに、明確で対処可能な ICU 依存関係エラーを受け取れば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
python
領域
cli, databases
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
38/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。