вторник, 8 февраля 2011 г.

Правильное завершение работы под wine

Многие пользователи linux рады бы использовать FlylinkDC++, но работа с ним под wine связана с рядом сложностей. С версий wine 1.1.42 появилась проблема нормального завершения работы FlylinkDC++ (и других на движке DC++, например, StrongDC++). После исчезновения главного окна процессы FlylinkDC.exe и wineserver продолжают работать и грузить процессор.

Причиной зависания является блокирование сокета UDP. Это известная ошибка wine, уходящая корнями в linux.

Чтобы повторить зависание нужно:
  1. Переключить FlylinkDC++ в активный режим работы
  2. Выйти из FlylinkDC++ через меню Файл->Выход
Результат будет такой: 
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
12329 skazochn 40 0 1587m 24m 9176 S 37.5 1.6 0:07.03 FlylinkDC.exe
12332 skazochn 40 0 18192 15m 672 S 31.6 1.0 0:07.13 wineserver


Завершить повисшие приложения можно командой wineserver -k.


Ревизией 6132 ошибка была исправлена. Проверена нормальная работа под wine 1.3.13.


Здесь можно скачать и протестировать работу под wine у себя:
FlylinkDC-x86-r500-beta80-build-6134-07-Feb-2011-22-33.zip (16.95 МБ)

В комментариях интересуют опыты запуска и завершения приложения. Указывайте версию wine, чтобы можно было повторить испытание.


P.S.: На ранних версиях wine (например, 1.1.8) ошибка не возникает.

7 комментариев:

Alexander комментирует...

Проверил на wine-1.2.2 (ubuntu 10.10, ядро 2.6.35-25-generic-pae) - все работает.

Trojan комментирует...

Все отлично работает (openSUSE 11.3 2.6.34.7-0.7-xen), ошибку заметил давно, разработчиков уведомлял, все это время пришибал Флайлинк по killall FlylinkDC.exe . Спасибо за исправление баги и за все что вы делаете!

Павел комментирует...

Спасибо!

Mr.Shullz комментирует...

Спасибо за Вашу работу и никогда не обращайте внимание на тролей, они ничего не умеют кроме этого, вот и надо им как то самовыразиться. Удачи вам в новых версиях.

Pavel Pimenov комментирует...

Исправлено зависание для ветки r4xx
http://www.flylinkdc.ru/2011/02/flylinkdc-r403-beta3.html

Анонимный комментирует...

Unhandled exception at 0x002e0ab0:
Code 0xC0000005: Access violation reading 0x324c4c4d.

http://depositfiles.com/files/pt8ldybqe

Unknown комментирует...

Скачал эту версию SetupFlylinkDC-x86-x64-r500-beta116-build-6826, так она на стадии после установки на стадии заргрузки зависает!