Подробности
[В начало]
Проблема в реализации № K0007
Краткое описание
(Guest Additions) Не удаляется g_vbgldata.mutexHGCMHandle
Подробное описание
При завершении работы модуля vboxsf содержимое структуры g_vbgldata заполняется нулями до вызова RTSemFastMutexDestroy() для поля g_vbgldata.mutexHGCMHandle.
Файл: trunk/src/VBox/Additions/common/VBoxGuestLib/Init.cpp, SVN rev. 33540.
Рассмотрим функцию VbglTerminate() (Init.cpp:252). Она вызывает vbglTerminateCommon(), а затем vbglR0HGCMTerminate(). g_vbgldata.mutexHGCMHandle должен был бы уничтожаться в последней. Однако vbglTerminateCommon() заполняет нулями структуру g_vbgldata после того, как освобождает другие ресурсы(Init.cpp:164):
DECLVBGL(void) vbglTerminateCommon (void) { VbglPhysHeapTerminate (); RT_ZERO(g_vbgldata); return; }
В результате значение g_vbgldata.mutexHGCMHandle теряется и структура, на которую это поле раньше указывало, не будет освобождена. При вызове vbglR0HGCMTerminate() будет вызов RTSemFastMutexDestroy(0) в данном случае.
Компонент
VirtualBox 3.2.10
Ссылки
Принято
VirtualBox bug tracker, ticket #7720
Статус
Исправлено в VirtualBox 3.2.12
[В начало]