critical bug

vectoroc Ср, 09/09/2009 - 11:23

Сломалась таблица menu_links. Кто виноват, и что делать?

Недавно по неизвестным мне причинам сайт перестал работать с сообщением out of memory
Естественно любой друпаллер скажет "памяти добавь, ты что не знаешь, как прожорлив друпал?", но я начал разбираться.

Выяснилось, что выпадает в функции _menu_tree_data. При этом до вызова этой функции потребление памяти 14М, а из функции уже вываливается с нехваткой памяти (~32M).
В _menu_tree_data берутся данные из menu_links, полез смотреть эту таблицу и выяснил, что каждый link_path этой таблице повторяется 10 раз. 1 выглядит наиболее вменяемо, а остальные неправильные, на мой взгляд.

Вот пример записи:

 
admin/build/block/configure    2  17  25  64  0  0  0  0  0  0
admin/build/block/configure    476  0  0  0  0  0  0  0  0  0

Слева links_path, далее идут числа p1/2/3/... p1 - id первого участка меню (т.е. admin/build/block/configure ), далее id для admin/build/block/configure и т.д..
Из 10 копий каждого пункта меню только у первого правильные значения для pN, у остальных p1 > 400 , а p2/3+.. = 0.

В итоге сделал дамп таблицы (в атаче) и truncate. Это помогло, но надолго ли?
Кто-нибудь сталкивался с таким?

Ключевые слова: 
Версия Drupal: 
0 Спасибо

m0ro Чт, 06/12/2007 - 21:35

Drupal 4.7.10 and 5.5 fixing a critical bug released

Тут все написано. Обновиться очень рекомендовано.
http://drupal.org/drupal-5.5

Ключевые слова: 
Версия Drupal: 
0 Спасибо