Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Постоянное зависание WebDav через NetDrive клиент при попытке доступа содержимого файлов на облаке, а также ошибки #70

Closed
Corak667 opened this issue Mar 10, 2017 · 5 comments
Assignees
Labels
Projects

Comments

@Corak667
Copy link

Corak667 commented Mar 10, 2017

Сначала наглухо повесило webdav, пришлось прерывать процесс и отключать соединение (использую NetDrive), при повторной попытке зашло, но выдало кучу ошибок
http://picsee.net/upload/2017-03-10/ea078f82ddd9.png

[11]: PROPFIND:http://127.0.0.1:801/temp:127.0.0.1:801 - Start processing
[11]: PROPFIND:http://127.0.0.1:801/temp:127.0.0.1:801 - Finished processing (70
1ms, HTTP result: 207)
[8]: GET:http://127.0.0.1:801/Cloud/unins000.exe:127.0.0.1:801 - Finished proces
sing (3511ms, HTTP result: 200)
[4]: Exception
System.ObjectDisposedException: Доступ к ликвидированному объекту невозможен.
Имя объекта: "System.Net.HttpListenerRequest".
   в System.Net.HttpListenerRequest.CheckDisposed()
   в System.Net.HttpListenerRequest.GetKnownHeader(HttpRequestHeader header)
   в NWebDav.Server.HttpListener.HttpRequest.get_RemoteEndPoint()
   в NWebDav.Server.WebDavDispatcher.<>c__DisplayClass6_0.<DispatchRequestAsync>
b__5()
   в YaR.WebDavMailRu.Log4NetAdapter.Log4NetLoggerAdapter.Log(LogLevel logLevel,
 Func`1 messageFunc, Exception exception)
   в NWebDav.Server.WebDavDispatcher.<DispatchRequestAsync>d__6.MoveNext()
--- Конец трассировка стека из предыдущего расположения, где возникло исключение
 ---
   в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   в NWebDav.Server.WebDavDispatcher.<DispatchRequestAsync>d__6.MoveNext()
--- Конец трассировка стека из предыдущего расположения, где возникло исключение
 ---
   в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNoti
fication(Task task)
   в YaR.WebDavMailRu.Program.<>c__DisplayClass3_0.<<DispatchHttpRequestsAsync>b
__1>d.MoveNext()
[5]: PROPFIND:http://127.0.0.1:801/temp:127.0.0.1:801 - Start processing
[3]: PROPFIND:http://127.0.0.1:801/temp:127.0.0.1:801 - Finished processing (319
ms, HTTP result: 207)

Очень медленно качает, (100кбс или менее), но потом вообще обрывается и виснет

@Corak667 Corak667 changed the title Возможное зависание WebDav при попытке доступа содержимого в директории temp, а также ошибки Возможное зависание WebDav (через NetDrive клиент) при попытке доступа содержимого в директории temp, а также ошибки Mar 10, 2017
@yar229 yar229 self-assigned this Mar 10, 2017
@Corak667 Corak667 changed the title Возможное зависание WebDav (через NetDrive клиент) при попытке доступа содержимого в директории temp, а также ошибки Постоянное зависание WebDav через NetDrive клиент при попытке доступа содержимого файлов на облаке, а также ошибки Mar 10, 2017
@Corak667
Copy link
Author

Corak667 commented Mar 10, 2017

Написал об этом разработчикам NetDrive, может тоже изучат проблему и что-то решает у себя. Не уверен, что тут виноват сервер, скорее всего комплексно.

Похожая проблема была с DavDrive на Android - там скачивало около 1мб файла и дальше записывало мусор вместо данных.
http://picsee.net/upload/2016-02-20/398383c4bfd6.png
Только с BestDAV на android такой проблемы не было. ...
Долго переписывался с автором DavDrive, наконец он починил проблему и в новых версиях все нормально с NetDrive.
Но это было на Android, даже Ghisler писал о лимитах (Android AIDL limit):
http://ghisler.fileburst.com/android/history2.txt
"2014-05-21 Fixed: FTP, SFTP, LAN plugins: Support very long directories (several
1000 files), need to split list into blocks <1 MB (Android AIDL limit)"
"2013-12-22 Fixed: GoogleDrive plugin: problems with uploading multiple files >1 MB
2013-08-13 Fixed: Plugin interface: Support sending the file list in multiple chunks (Android transfer buffer is limited to 1 MByte)"

Jochen Ruehl (автор DAVDrive) писал по поводу NetDrive:
"Somehow NetDrive does not correctly handle the result of the GET request.
Maybe that BestDav does a chunked encoding, or does handle the GET request in a different way."
"...range header support.
Might fix the NetDrive issue."
Потом мы еще исследовали проблему через logcat и он наконец починил ее. Но связано оно было с какими-то android лимитами, так что может не актуально

@yar229 yar229 added this to In progress in Board Mar 13, 2017
@yar229
Copy link
Owner

yar229 commented Mar 19, 2017

ac53c0b
Кажеццо, починил в 1.5.62

@yar229 yar229 closed this as completed Mar 19, 2017
@yar229 yar229 moved this from In progress to Done in Board Mar 19, 2017
@Corak667
Copy link
Author

УХ, рили починил! Пасиб!
http://f6.s.qip.ru/cMfvX1Jy.png

@Corak667
Copy link
Author

А что там было? Можно подробней, чтобы я народ оповестил и авторов NetDrive

@yar229
Copy link
Owner

yar229 commented Mar 20, 2017

Моя ошибка, при скачивании я отдавал нетдрайву на 1 байт меньше, чем он заказывал, соотвественно, он висел и ждал этот недостающий байт.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Board
Done
Development

No branches or pull requests

2 participants