У меня HAL потому что KDE 3, да и вообще хорошая штука, годами отлаженная. И я хочу помочь исправить утечку памяти в ней.
Утечка памяти связана с глючной программой. Сначала для использования USB 3G модема я пользовался usb_modeswitch и KInternet, потом удалил usb_modeswitch и стал пользоваться Mobile Partner. Скачивал с чьей-то домашней странички, mobile_partner_linux.zip, MD5 c54287a0b62bbf7fa1669bcea093a6ed. Скрипт «install» установил всё в /usr/local (он спрашивает, куда установиться, по-умолчанию предлагая /usr/local) вместе с 32-битной копией Java JRE 1.5. Плюс этого в том, что есть индикатор силы сигнала сети, в том что можно задать модему режим «Только 3G», в том что есть возможность получать сообщения. Только всё ещё ни одного не пришло почему-то. Минус этого в том, что если при загрузке нажать Esc, чтобы посмотреть лог загрузки, то появляется вот такая стена текста: http://paste.org.ru/?xfxhoj С usb_modeswitch её нет. Откройте, посмотрите, там много ругани на неправильные правила udev. Второй минус - эта соединялка с Интернетом ест 30 Мб памяти, а игра Minecraft на Java всё равно использует другой бинарник Java.
Ну так вот, эта программа создаёт не только /dev/ttyUSB0, но ещё и много других каких-то непонятных устройств:
zenitur@linux-athlon64x2:/dev> ls ttyUSB*
ttyUSB0 ttyUSB2 ttyUSB_utps_modem
ttyUSB1 ttyUSB_utps_diag ttyUSB_utps_pcui
А usb_modeswitch создавал меньше, насколько я помню. После того как Mobile Partner находит устройство и выполняет переключение, появляется окошко «Вставлен CD-ROM „MTS Connect“, открыть?». Это HAL, появляется в принципе и без usb_modeswitch или mobile partner, но если сделать переключение не сразу, то появится два раза.
А ещё иногда Mobile Partner любит совершенно неожиданно сказать «Устройство отключено или недоступно», даже если секунду назад активно передавались данные. В один день такого нет, в другой день такое раз в несколько часов. Мне кажется, что если я сначала включал Windows, а потом перезагружался, то эта ошибка появляется, но не уверен. Пробовал отключать-подключать устройство, не подействовало. Важный момент! Если Mobile Partner самовольно разъединил соединение, окошко «Вставлен CD-ROM» не появляется. Если отключить-подключить устройство физически, то появляется.
Вот и вся предварительная информация, теперь - описание проблемы. Скриншот программы, а видео-скринкаст ошибки я записать не сумел, потому что сегодня она не возникла ни разу и я не дождался.
После очередного «Устройство отключено или недоступно» я стал ждать, когда оно снова инициализируется. А это чуть меньше двух минут. А мне в Интернет нужно было сейчас! Я выключил Mobile Partner и попробовал соединиться с KInternet. Всё прекрасно соединилось. Оказывается, хоть usb_modeswitch и нет, программе wvdial, через которую работает KInternet, не важно, кто сделал переключение режима модема. Важно то, что я отключил Mobile Partner.
А в следующий раз я не выключил Mobile Partner и соединился с Интернетом с помощью KInternet, пока Mobile Partner инициализировался. Я успел сделать что хотел, но компьютер стал тормозить. Вот что выдал top по нажатию Shift-M: скриншот. Я попробовал остановить демон haldaemon, попытка остановить его выдала failed. А количество утекающей памяти росло. Помогла перезагрузка.
Хотя программа Mobile Partner и глючная, это не повод повесить неглючный HAL, утечку памяти надо найти и исправить. Для этого я прошу разбирающихся в HAL и в составлении отчётов об ошибках сказать мне, что нужно сделать.