Вести с полей

Привет.

Про баги

Меня иногда посещает мысль — вместо прогона одних и тех же тестов в течении стольких лет, надо покупать лотерейные билеты и вписывать один и тот же набор цифр. В новостях иногда проскакивает, что такая схема работает.

Неделю назад, утром в субботу, разблокировал компьютер и узрел окно с ошибкой в тестах. При тестировании отладочной 32-битной сборки сработал assert.

Я так удивился, что сразу начал делать screenshot-ы этого чуда и делать дампы памяти процесса.

Потом осторожно подключился отладчиком и стал изучать проблемную память:

И только потом решил внимательно посмотреть на сам assert 🙂

CHECK_READ_PTR(_v,sizeof(_s)); // <--- вот оно.

switch(_t)
{
 case dbtype__i2:
 {
  typedef dbvalue_i2   xtype;
  assert(_s==sizeof(xtype));

Понятно, вместо того чтобы использовать значение переменной _s, я зачем-то использовал размер этой переменной.

Этой забагованной проверке не меньше 10 лет. А то и все 15.

Забавно.

Провайдер пришлось пересобирать и заново запускать процедуру релизного тестирования.

Личные кабинеты клиентов

В личных кабинетах добавлена возможность продления лицензий (с 20% скидкой) через PayProGlobal.

Потребовалось «серьезно» доработать возможности нашей простенькой CRM системы, написанной в 2008 году.

Очень увлекательное занятие. Я уже не помню когда в последний раз при программировании так отключался от реальности.

Правда, снова захотелось выругаться — «Рома (Пиминов), блин, надо было в основу базы клиентов ложить нормальное ядро». И снова вспоминаю, что нормальное ядро требует нормального сервера с нормальной поддержкой PHP. Сейчас бы, лично я, взял бы под это дело PG. А в 2008 году все было по другому. Поэтому такая база и MySQL. Ладно, время еще есть — переедем. Когда-нибудь 🙂

Leave a Comment