Skip to content
This repository has been archived by the owner on Jul 25, 2020. It is now read-only.

情報取得の失敗 #30

Open
orumin opened this issue May 5, 2019 · 16 comments
Open

情報取得の失敗 #30

orumin opened this issue May 5, 2019 · 16 comments

Comments

@orumin
Copy link

orumin commented May 5, 2019

Kodi v18.1 (Leia) にて,手元でビルドした pvr.chinachu (18.x-Leia branch) を用いたところ Chinachu の API からデータを取得できないエラーが発生。
環境は

  • Raspberry Pi 2
  • OSMC (stable)

同じコードベースを Windows 上でビルドし,Windows の Kodi v18.1 で使用した際には問題なく動作した。

以下,エラーログ

2019-05-05 17:06:26.931 T:1418703584  NOTICE: AddOnLog: Harekaze (Chinachu PVR client): Transcoding parameter: &c:v=copy&c:a=copy
2019-05-05 17:06:26.939 T:1418703584  NOTICE: PVR Manager: Starting
2019-05-05 17:06:28.892 T:1410310880   ERROR: CCurlFile::FillBuffer - Failed: Server returned nothing (no headers, no data)(52)
2019-05-05 17:06:28.892 T:1410310880   ERROR: CCurlFile::Open failed with code 0 for http://chinachu:10712/api/schedule.json:
2019-05-05 17:06:28.893 T:1410310880   ERROR: Open - failed to open source <http://chinachu:10712/api/schedule.json>
2019-05-05 17:06:28.893 T:1410310880   ERROR: AddOnLog: Harekaze (Chinachu PVR client): [schedule.json] Request failed
2019-05-05 17:06:28.893 T:1410310880   ERROR: GetChannels: Add-on 'Chinachu:http://chinachu:10712/' returned an error: server error
2019-05-05 17:06:28.893 T:1410310880   ERROR: GetChannels: PVR client 'Chinachu:http://chinachu:10712/' returned an error: server error
2019-05-05 17:06:28.940 T:1915889200  NOTICE: Samba is idle. Closing the remaining connections
2019-05-05 17:06:31.542 T:1410310880   ERROR: CCurlFile::FillBuffer - Failed: Server returned nothing (no headers, no data)(52)
2019-05-05 17:06:31.542 T:1410310880   ERROR: CCurlFile::Open failed with code 0 for http://chinachu:10712/api/rules.json:
2019-05-05 17:06:31.543 T:1410310880   ERROR: Open - failed to open source <http://chinachu:10712/api/rules.json>
2019-05-05 17:06:31.543 T:1410310880   ERROR: AddOnLog: Harekaze (Chinachu PVR client): [rules.json] Request failed
2019-05-05 17:06:31.543 T:1410310880   ERROR: GetTimers: Add-on 'Chinachu:http://chinachu:10712/' returned an error: server error
2019-05-05 17:06:31.543 T:1410310880   ERROR: GetTimers: PVR client 'Chinachu:http://chinachu:10712/' returned an error: server error
2019-05-05 17:06:32.595 T:1410310880   ERROR: CCurlFile::FillBuffer - Failed: Server returned nothing (no headers, no data)(52)
2019-05-05 17:06:32.595 T:1410310880   ERROR: CCurlFile::Open failed with code 0 for http://chinachu:10712/api/recorded.json:
2019-05-05 17:06:32.596 T:1410310880   ERROR: Open - failed to open source <http://chinachu:10712/api/recorded.json>
2019-05-05 17:06:32.596 T:1410310880   ERROR: AddOnLog: Harekaze (Chinachu PVR client): [recorded.json] Request failed
2019-05-05 17:06:32.596 T:1410310880   ERROR: GetRecordings: Add-on 'Chinachu:http://chinachu:10712/' returned an error: server error
2019-05-05 17:06:32.596 T:1410310880   ERROR: GetRecordings: PVR client 'Chinachu:http://chinachu:10712/' returned an error: server error
2019-05-05 17:06:32.598 T:1410310880  NOTICE: PVR Manager: Started
2019-05-05 17:06:32.603 T:1418703584  NOTICE: EPG thread started
2019-05-05 17:06:33.696 T:1452274400   ERROR: CCurlFile::FillBuffer - Failed: Server returned nothing (no headers, no data)(52)
2019-05-05 17:06:33.696 T:1452274400   ERROR: CCurlFile::Open failed with code 0 for http://chinachu:10712/api/storage.json:
2019-05-05 17:06:33.696 T:1452274400   ERROR: Open - failed to open source <http://chinachu:10712/api/storage.json>
2019-05-05 17:06:33.697 T:1452274400   ERROR: AddOnLog: Harekaze (Chinachu PVR client): [storage.json] Request failed
2019-05-05 17:06:33.697 T:1452274400   ERROR: GetDriveSpace: Add-on 'Chinachu:http://chinachu:10712/' returned an error: server error
@5ym
Copy link

5ym commented May 5, 2019

こちら以下確認いただけますでしょうか
chinachuというホストネームを使用していますがこちらはkodiが動いているホストで正常に解決できていますでしょうか。
chinachuのデフォルトポートは10772ですがこちらは変更されているということでしょうか。

@orumin
Copy link
Author

orumin commented May 5, 2019

ホスト名とポート番号は適当に置換したものなので特に意味はないです。
実際に使用しログに出力されてた URL で正しくアクセスできることは確認しています。

@5ym
Copy link

5ym commented May 5, 2019

初歩的なところで申し訳ありません確認ありがとうございます。
こちらでもkodi18で検証したところ同じログがでました当方ubuntuです。
kodi関係のissueを追って見るとどうやらプラグインの実装の問題の可能性が高そうです。
お力になれず申し訳ありません。

@mzyy94
Copy link
Member

mzyy94 commented May 7, 2019

調査します 🌊

@mzyy94 mzyy94 pinned this issue May 7, 2019
@ashimokawa
Copy link
Contributor

今日、Libreelec 9.0.1(Kodi 18.1)を9.0.2(Kodi 18.2)にアップデートしてから、同じ問題があります。

@ashimokawa
Copy link
Contributor

これをrevertすれば、プラグインはまた使えるようになります。
xbmc/xbmc@8839957

多分必要じゃないけど、念の為にこれもrevertしました。
xbmc/xbmc@6285fb4

まだ、詳しく調査してないけど、HTTP/2が関係している問題に見えます。Chinachuのせいかな。

@mzyy94
Copy link
Member

mzyy94 commented May 14, 2019

再現確認が難航しております。。

@ashimokawa
Copy link
Contributor

確認しました。やっぱりこれだけをrevertしたら、大丈夫です。

xbmc/xbmc@8839957

次、プラグインからchinachuのURL以外にリクエストしたら、どうなるか調べるつもりです。

@ashimokawa
Copy link
Contributor

xbmc/xbmc@8839957
が入っているkodiからchinachuのhttpサーバーへリクエストすると、エラーが発生します。他のhttpサーバー(LANのlighttpd)は大丈夫です。

ashimokawa@demo:~$ curl --http2 http://chinachu:20772
curl: (52) Empty reply from server

kodi.logの中に、全く同じエラーがあります。
ChinachuのHTTP/2サポートがおかしいのか、TLSなしのHTTP/2のサポートがありません。

@mzyy94
Copy link
Member

mzyy94 commented May 16, 2019

ChinachuのHTTP/2サポートがおかしい

curlの結果をみるに可能性としてありそうですね
ただ、Issue descriptionにある

同じコードベースを Windows 上でビルドし,Windows の Kodi v18.1 で使用した際には問題なく動作した。

が気になるところです。

@orumin
Copy link
Author

orumin commented May 16, 2019

Windows で使用していた Kodi がもしかしたら xbmc/xbmc@8839957 の commit 以前でビルドされたものだったかもしれません。

@orumin
Copy link
Author

orumin commented May 16, 2019

私が Windows で使用していたものは xbmc/xbmc@8cfdc895f3 のようです。

@mzyy94
Copy link
Member

mzyy94 commented May 17, 2019

なるほど、、、なるほど、、、

@ashimokawa
Copy link
Contributor

ビルドしたくない方はtinyproxyをつかて、問題を解決できる。
chinachuのホストで

apt install tinyproxy

/etc/tinyproxy/tinyproxy.confの内容は

User tinyproxy
Group tinyproxy
Port 8888
Timeout 600
DefaultErrorFile "/usr/share/tinyproxy/default.html"
StatFile "/usr/share/tinyproxy/stats.html"
LogFile "/var/log/tinyproxy/tinyproxy.log"
LogLevel Info
PidFile "/run/tinyproxy/tinyproxy.pid"
MaxClients 100
MinSpareServers 5
MaxSpareServers 20
StartServers 10
MaxRequestsPerChild 0
ViaProxyName "tinyproxy"
ReversePath "/" "http://localhost:20772"
ReverseOnly Yes

sudo /etc/init.d/tinyproxy restart

pvr.chinachuプラグイン設定でChinachuのポートを8888にしたら。。。。OKです。

kodi18.2のcurl<ー>nodejsのhttpはNGです。
kodi18.2のcurl<ー>tinyproxy<ー>nodejsのhttpはOKです。

@ashimokawa
Copy link
Contributor

diff --git a/app-wui.js b/app-wui.js
index 51bd2ca..3407f12 100644
--- a/app-wui.js
+++ b/app-wui.js
@@ -805,6 +805,7 @@ function iosAddEventListner(io, eventName) {
 }
 
 function ioAddListener(server, isOpen) {
+       return;
        var io = socketio(server);
 
        io.on('connection', isOpen ? ioOpenServer : ioServer);

socket.ioとhttpが同じポートを使えば、「HTTP/1.1 Upgrade header」を送ったらだめです。
socket.ioとhttpお別のポートにしたらいいと思います。
とりあえず、上のパッチでChinachu WUIのsocket.ioサポートを無効にしました。

@stu2005
Copy link

stu2005 commented Apr 18, 2020

古いissueにコメントして申し訳ないのですが.....
tinyproxyを使う方法でkodiから接続はできるものの、kodiのガイドから録画予約しようとしたときに下記のエラーが発生します。

2020-04-18 22:22:13.940 T:140122925160576   ERROR: AddOnLog: Harekaze (Chinachu PVR client): Failed to reserve new program: 374wgcke9z
2020-04-18 22:22:13.941 T:140122925160576   ERROR: AddTimer: Add-on 'Chinachu:http://ip:port' returned an error: server error

これは自分に限ったことでしょうか?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants