PDA

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



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

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