Шедевр индусской программерской мысли

Ответить

Код подтверждения
Введите код в точности так, как вы его видите. Регистр символов не имеет значения.

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[flash] ОТКЛЮЧЕН
[url] ВКЛЮЧЁН
Смайлики ОТКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: Шедевр индусской программерской мысли

Eugie » 22 июн 2006, 21:28

Здорово... Не оскудела талантами земля индийская :)

Шедевр индусской программерской мысли

Absurd » 22 июн 2006, 13:44

Ну, значит дело такое: имеем мы кмпонент, написанный индусами.
То, что он вылетал с NullPointerException в том случае если конфиг файл имеет флаг Read-Only я еще терпел.
Но сегодня я встретил абсолюный перл: Началось с того, что я поставил брейкпоинт на тот свой метод, который они вызывают чтобы зарегистрироваться.
И тут оказалось, что у них есть отдельный тред, который отслеживает время, которое компонент регистрируется - и он сработал, поскольку метод стоит на брейкпоинте.
Если время истекло, они вызывают метод unregister() в отдельном треде, что вызывает deadlock, поскольку register и unregister это взаимно блокирующие операции.
Но и это еще не все - после этого они создают еще несколько тредов, которые пытаются зарегистрироваться и делают unregister в случае неудачи.

Вернуться к началу