Как стать автором
Обновить

GLPI и последние обновления временных зон в Windows

Время на прочтение2 мин
Количество просмотров13K
История одного подвига

Несколько недель назад GLPI ни с того, ни с сего стал зависать на загрузке страницы заявки. Жалоба поступила от моих сослуживцев, когда я находился в отпуске. Открыв страницу в браузере я не обнаружил проблемы, о чем уведомил своих коллег.

К сведению — у меня Firefox на Linux, а у них Chrome на Windows.

Они настаивали на проблеме. И я специально установил на свой нетбук зоопарк браузеров: Chrome, Opera (Blink, Presto). Проверил работу с GLPI в них — проблемы не обнаружил. Когда вышел на работу, проверил на рабочем компьютере под Windows и с удивлением обнаружил, что кроме Firefox, ни один из выше перечисленных браузеров не грузит страницу задачи. По совету одного из знакомых php программистов полез в код страницы и выяснил, что загрузка спотыкается о javascript устанавливающих дату создания заявки и дату выполнения. Памятуя о последних обновлениях Windows, связанных с изменениями часового пояса во Владивостоке, из-за которых у меня время раньше положенного срока перескочило на час назад, я попробовал поменять часовой пояс с Владивосток на Брисбен — проблема пропала.

Послесловие

Хочу выразить особую благодарность scif, Андрею — системному администратору, который не дал мне забить на эту проблему и заставил меня с ней разобраться, а также компании Microsoft, благодаря которой у меня всегда будет работа.

Не смотрите, что статья написана в столь легком стиле. Я потратил на решение этой проблемы целый день. Буду очень рад, если другим системным администраторам эта статья сэкономит время.

Технические данные

Зависшая страница не отвечала ни на какие действия, кроме закрытия вкладки. Процесс вкладки постепенно рос до 1ГБ, после чего браузер сообщал об ошибке загрузки страницы.

Обновления Windows, которые вызвали проблему — KB2998527

JavaScript, который вызывал проблему:
<script type="text/javascript">Ext.onReady(function() {
         var md1665785715 = new Ext.ux.form.DateTime({
            hiddenName: 'date'
            ,id: 'date1665785715'
            ,value: '2014-10-21 17:05:01'
            ,hiddenFormat:'Y-m-d H:i:s'
            ,applyTo: 'showdate1665785715'
            ,timeFormat:'H:i'
            ,timeWidth: 55
            ,dateWidth: 90
            ,startDay: 1,allowBlank: false,timeConfig: {
         altFormats:'H:i:s',increment: 1,allowBlank: false},dateFormat: 'd-m-Y',dateConfig: {
               altFormats:'d-m-Y|d-n-Y',allowBlank: false} });
      });</script>

<script type="text/javascript">Ext.onReady(function() {
         var md33295515 = new Ext.ux.form.DateTime({
            hiddenName: 'due_date'
            ,id: 'date33295515'
            ,value: ''
            ,hiddenFormat:'Y-m-d H:i:s'
            ,applyTo: 'showdate33295515'
            ,timeFormat:'H:i'
            ,timeWidth: 55
            ,dateWidth: 90
            ,startDay: 1,allowBlank: true,timeConfig: {
         altFormats:'H:i:s',increment: 1,allowBlank: true},dateFormat: 'd-m-Y',dateConfig: {
               altFormats:'d-m-Y|d-n-Y',allowBlank: true} });
      });</script>


Дополнение к статье от 27.10.2014

Пришли обновления Firefox, стала версия 33.0.1, и после перезагрузки браузера эта же проблема стала возникать и в Firefox. Какова мотивация разработчиков внедрять такие изменения?.. (это риторический вопрос)
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Кто, по вашему мнению, должен сделать исправления?
8.33% JS разработчики2
16.67% Разработчики сайтов использующие эту библиотеку JS4
16.67% Разработчики браузеров4
45.83% Разработчики Microsoft11
12.5% Пускай мучаются админы на местах! А зачем им ещё деньги платят?..3
Проголосовали 24 пользователя. Воздержались 11 пользователей.
Теги:
Хабы:
+10
Комментарии8

Публикации

Истории

Работа

Ближайшие события

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн