Pull to refresh

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

JavaScript *Development for Windows *
История одного подвига

Несколько недель назад 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. Какова мотивация разработчиков внедрять такие изменения?.. (это риторический вопрос)
Only registered users can participate in poll. Log in, please.
Кто, по вашему мнению, должен сделать исправления?
8.33% JS разработчики 2
16.67% Разработчики сайтов использующие эту библиотеку JS 4
16.67% Разработчики браузеров 4
45.83% Разработчики Microsoft 11
12.5% Пускай мучаются админы на местах! А зачем им ещё деньги платят?.. 3
24 users voted. 11 users abstained.
Tags:
Hubs:
Total votes 32: ↑21 and ↓11 +10
Views 12K
Comments Comments 8