Несколько месяцев пользователи OneDrive for Business жалуются на странную проблему: веб-приложение очень медленно открывается и неторопливо работает под Linux (Chrome/Firefox). Но скорость работы приложения резко возрастает, если изменить user-agent на Windows.

26 ноября 2016 года один из пользователей приводил такой пример. На Ubuntu/Linux 16.04 + Chrome/Firefox (последняя версия) он открывает:

https://<my_company>-my.sharepoint.com/personal/<my_user>/_layouts/15/onedrive.aspx

В течение двух минут UI не откликается, загрузка CPU на 100%, сетевая панель показывает загрузку страницы около 100 МБ.

Если изменить user-agent в браузере, указав операционную систему Windows, то всё работает как положено.

В дальнейшем обсуждении проблему подтвердили другие пользователи. Некоторые были разочарованы таким поведением Microsoft, один сказал о переходе на Google Apps. На этом дискуссия и прекратилась. Как выяснилось, на официальном форуме поддержки трудно добиться справедливости.

Тема снова всплыла 22 марта 2017 года, когда один из пользователей Reddit пожаловался на аналогичную проблему. Он сказал, что использует ноутбук с Linux Mint 18.1 и Firefox 52, а из сервисов Office 365 использует только Word. Это приходится делать, потому что при работе в команде важна совместимость форматов. В отличие от предыдущего пользователя, у него OneDrive всё-таки запускается, хотя работает очень медленно, с жуткими лагами. В то же время на настольном компьютере с Windows 10 таких проблем не наблюдается.

Тогда ему пришла идея попробовать расширение для смены user-agent в Firefox. Он поставил такой user-agent, изменив только операционную систему: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/52 — и проблема чудесным образом решилась. Интерфейс OneDrive вообще не тормозил.

Пользователь сказал, что такой же способ помог и его товарищу. Если вернуть обычный user-agent Mozilla/5.0 (Linux Mint/18.1; WOW64; rv:40.0) Gecko/20100101 Firefox/52, тормоза тоже возвращаются.

Cтранное поведение веб-приложения породило ряд вопросов. Непонятно, как производительность приложения может зависеть от user-agent?

23 марта 2017 года Microsoft наконец-то разъяснила ситуацию. Сотрудник объяснил, что этот баг исправлен. Оказывается, проблема была со страницей StaticLoad.aspx, которая в фоновом режиме подкачивает ресурсы для офисных веб-приложений (это стандартная технология оптимизации в браузерах — предвыборка или префетчинг).

Как выяснилось, из-за нелепой случайности эта страница использовала одну ссылку для предвыборки в браузерах на операционных системах iOS, Chrome OS, Mac, Windows, но для браузеров на операционной системе Linux она скатывалась на альтернативный менее эффективный механизм предвыборки — без оптимизации.

Сотрудник подчеркнул, что проблема исправлена 22 марта в 15:00 PST, это было совершенно неумышленная ошибка — и извинился за возможные неудобства.

В более подробном объяснении сотрудник Microsoft объяснил, что под «менее эффективным» механизмом предвыборки он имеет в виду предвыборку с использованием тегов <object>, <script>, <img>. В этом случае не используется предвыборка ссылок. Именно на такой механизм переходили браузеры под Linux.

Сотрудник сказал, что распознавание браузеров страницей StaticLoad.aspx выполнялось для выбора способа предвыборки, потому что не все браузеры поддерживают наиболее оптимальный префетчинг ссылок. Поэтому некоторых скатывали на предвыборку через теги <object>, <script>, <img>.

Возможно, существовал некий белый или чёрный список — и этот список работал не совсем корректно. Что ж, такие простые программистские ошибки случаются даже у больших компаний как Microsoft. Главное, что компания пусть и с опозданием на полгода-год, но распознала проблему — и исправила её.

«Обновленная» Microsoft декларирует, что очень по-дружески относится к Open Source и к GNU/Linux. Все помнят, как Сатья Наделла сказал: «Microsoft любит Linux». Правда, это не мешает Microsoft продолжать патентные атаки на Linux и выдаивать деньги с Android, но это уже мелочи.
Поделиться с друзьями
-->

Комментарии (38)


  1. Delics
    24.03.2017 11:30
    +13

    из-за нелепой случайности

    Это пора делать девизом Microsoft


    1. dmitry_dvm
      24.03.2017 12:36
      +4

      А также амазона, гугла, фб, вк и всех-всех-всех. В любой системе полно багов, вы как маленький, ей-богу.


      1. osipov_dv
        24.03.2017 12:46
        +5

        сперва игнорят в своем форуме проблему, а потом когда пахнет жареным еще и пиарятся? мне кажется остальные из списка тут не при чем.


        1. dmitry_dvm
          24.03.2017 13:14
          +3

          Представьте ситуацию. Где-то среди их форумов описали проблему что что-то, где-то тормозит. Не массовая проблема, а просто у кого-то одного тормозит. Даже если на это вдруг завели баг, то представляете насколько низкий приоритет у него? Там ведь всё работает, просто не так быстро как хотелось бы. Тут даже бюрократия не причем. Обычный рабочий процесс обычной достаточно крупной компании. А когда начался шум, — да, кого-то пнули, чтобы посмотрел что там у кого тормозит. Так вообще везде происходит.


          1. geisha
            24.03.2017 14:05

            Так никто и не говорит что это из ряда вон. Обычный процесс в обычной мегакорпорации которая делает деньги на том, что пользователи используют именно её экосистему. Они любят линукс, никто не спорит, но в гробу они видели дистрибутивы для десктопов и мобильных устройств, конкурирующие браузеры, open hardware и прочее.


            Я считаю, что всё как-то слишком сложно для гребаного редактора текста в браузере (особенно если это можо починить сменой юзер-агента).


          1. osipov_dv
            24.03.2017 14:46

            Могу рассказать про баг с Exchange 2013 и локалью на сервере, при котором не работает часть функционала аж с 2014 года… и тоже не чешутся, вышло уже куча релизов, тема висит открытой и там только отписываются что все по прежнему. :)

            главное, если написать там микрософт говно, то среагируют быстро. А багу поправить уже 3 года не могут.


          1. u010602
            24.03.2017 15:27

            Их форум полон проблем и почти ничего не решается. И так у всех крупных корпораций, хоть делл, хоть тошиба, хоть вмваре. Максимум могут заставить собрать триллион логов и потом пропасть, или посоветовать «перезагрузиться» или «переустановиться». А если новый функционал попросить — то это вообще можно забыть. Т.е. большая часть форумов это общение ОБ компании, но НЕ С компанией.


          1. Al_Azif
            24.03.2017 15:32

            Dropbox не может четвёртый год исправить баг когда при переустановке инсталлер не даёт просто указать нужный каталог, и весь дроп начинает заново синхронизироваться на системный ssd.
            Тупая функция — сделать кнопку «choose directory», задача на 2 минуты.
            Четвёртый год.
            В платной программе.

            Вот мне честно — на их «приоритеты» на… ть, вон из профессии, если руки из ж…


            1. u010602
              24.03.2017 15:38

              Просто у них есть простой воркэраунд. Переименовать папку, включить синхронизацию, выключить дроп бокс, переместить содержимое, включить дропбокс. Вот они и не парятся.


            1. Andrei_ra
              26.03.2017 12:32
              +1

              Яндекс четвёртый год пилит воспроизведение mts файлов в браузере. При том, что простое переименование расширения файла в ts — решает проблему. Все облака воспроизводят его, тестировал сам, а Яндекс ещё думает.


      1. Delics
        24.03.2017 12:57
        -1

        Где-то «баги» — это именно баги. А где-то это политика компании.

        Потом поймете разницу.


        1. osipov_dv
          24.03.2017 14:50
          -1

          вот кстати да, по объяснениям мы поняли что ошибочно выполнялась не оптимизированная загрузка, а неужели такая простая операция может быть настолько не оптимизированной и тормозить? Ответ выглядит странным.


          1. mayorovp
            25.03.2017 08:06

            Да, может. В одном случае браузеру говорится "предзагрузи вот эту ссылку, когда будет время". В другом случае — "загружай вот эту картинку сейчас же".


            На слабом канале разница хорошо заметна. Да и на хорошем канале загрузка кучи картинок будет мешать ajax-запросам.


          1. Cenzo
            26.03.2017 12:32

            Ответ MS выглядит особенно странным в свете отчётов, что из FreeBSD ни у кого не тормозил клауд, про это в статье тоже «забыли» сказчать.


      1. OnYourLips
        25.03.2017 11:02
        -1

        Здесь не баг, а целенаправленное действие.

        Использование юзерагента для определения возможностей браузера — это некомпетентность.
        Программист так мог ошибиться, но code review выявляет эту проблему. Поэтому если такой код прошёл, то это сделано специально.


        1. mayorovp
          25.03.2017 18:10

          Конкретно эту возможность (поддержку предвыборки ссылок) довольно трудно проверить (единственный путь — попробовать и поставить тайм-аут). А узнать заранее какой из двух вариантов использовать — так и вовсе невозможно.


      1. KoToSveen
        27.03.2017 10:56

        На счёт «багов»: вы пробовали устанавливать iTunes на Win?


  1. dmitryredkin
    24.03.2017 11:36
    +7

    Вывод:
    Наиболее эффективный канал для общения с компанией Микрософт — это отнюдь не официальный форум поддержки.


    1. Kobalt_x
      24.03.2017 20:09
      +1

      Извините, но premier support очень дорогой и позволить его могут не все компании.


  1. fireSparrow
    24.03.2017 12:36
    -1

    Забавно, у меня под линуксом подвисания периодически бывают при использовании Google Диска…


  1. sotnikdv
    24.03.2017 12:36
    +13

    Ага, уже была одна нелепая случайность

    From: Bill Gates
    Sent: Sunday, January 24, 1999 8:41 AM
    To: Jeff Westorinen; Ben Fathi
    Cc: Carl Stork (Exchange); Nathan Myhrvold; Eric Rudder
    Subject: ACPI extensions

    One thing I find myself wondering about is whether we shouldn’t try and make the “ACPI” extensions somehow Windows specific.

    It seems unfortunate if we do this work and get our partners to do the work and the results is that Linux works great without having to do the work.

    Maybe there is no way to avoid this problem but it does bother me.

    Maybe we could define the APIs so that they work well with NT and not
    the others even if they are open.

    Or maybe we could patent something related to this.


    за которую Майкрософт хорошо поимели.

    Потом снова была нелепая случайность
    Complained to the Federal Trade Commission

    http://www.ftc.gov

    Foxconn
    458 E. Lambert Road Fullerton
    Fullerton, CA
    92835

    FOXCONN PHONE NUMBER: 714-871-9968

    Company sold me a computer motherboard, model G33M-S, claiming that it was compliant with ACPI versions 1.0, 2.0, and 3.0.

    Linux and FreeBSD do not work with this motherboard due to it’s ACPI configuration, using a disassembler program, I have found that it detects Linux specifically and points it to bad DSDT tables, thereby corrupting it’s hardware support, changing this and setting the system to override the BIOS ACPI DSDT tables with a customized version that passes the Windows versions to Linux gives Linux ACPI support stated on the box, I am complaining because I feel this violates an anti-trust provision in the Microsoft settlement, I further believe that Microsoft is giving Foxconn incentives to cripple their motherboards if you try to boot to a non-Windows OS.

    We have received your complaint.

    Thank you for contacting the FTC. Your complaint has been entered into Consumer Sentinel, a secure online database available to thousands of civil and criminal law enforcement agencies worldwide. Your reference number is:
    19642372

    [...]

    They detect Linux, give it a bad DSDT table, one that looks ok at a glance, but broken in subtle ways so that some of it works, but not correctly.

    You call them to ask why their board won’t run Linux.

    They tell you to buy Vista.

    They’re basically rubbing Microsoft’s back.


    За которую их опять немного пожурили.

    Что поделать, снова нелепая случайность.


  1. Cheater
    24.03.2017 13:20
    +15

    Где-то в недрах серверов OneDrive…

    if ($user_agent =~ /linux/i) {
        sleep(30);
    }
    


  1. BubaVV
    24.03.2017 14:46

    Много лет назад
    image


  1. Soffort
    24.03.2017 15:54
    +5

    А ещё одна нелепая случайность у них была, когда оффсайт на Опере криво отображался, а при смене user-agent всё работало хорошо.
    http://www.wiumlie.no/2003/2/msn/
    Почему-то «нелепые случайности» у Microsoft случаются только по отношению к продуктам конкурентов.


    1. TheOleg
      25.03.2017 00:08
      +3

      Такая же практика с Оперой была у Гугла, кстати.


      1. rub_ak
        25.03.2017 20:28
        +1

        Гугл неплохо так подтолкнул оперу в гроб.


    1. Steed
      26.03.2017 12:32

      Например потому, что приложение разрабатывают и более тщательно тестируют на родной платформе.


      1. Soffort
        26.03.2017 16:27
        +1

        Вы статью явно не читали. Для того, чтобы сайт работал на Опере им просто ничего не надо было для этого делать. Именно якобы «оптимизация» под конкретный браузер привела к проблеме.


  1. Robotex
    24.03.2017 18:10

    Так они нам сказали. А настоящую причину они никогда не расскажут.


  1. SkidanovAlex
    24.03.2017 19:47

    один сказал о переходе на Google Apps

    Надо отметить, что это ответ к удаленному комментарию, целиком до удаления комментария это выглядело так:


    Hi DL, As Office 365 for Business services(e.g. SharePoint Online, including OneDrive for Business, Exchange Online) are not supported on Linux as shown below, for the best experience, we recommend the operating system listed in the article.
    Thank you, I go back to Google Apps suite


  1. hp6812er
    24.03.2017 21:50
    +1

    Умышленный баг-не думал, что МС на это способна. Ведь раньше баги были так естественны...:)


  1. NoRegrets
    25.03.2017 00:39
    +3

    Неправильно они о баге жаловались. Нужно было писать: «алгоритм включения торможения на не windows системах может быть легко обойден сменой юзерагента, прошу пофиксить...»


  1. mtivkov
    25.03.2017 16:44

    Что ж, такие простые программистские ошибки случаются даже у больших компаний как Microsoft. Главное, что компания пусть и с опозданием на полгода-год, но распознала проблему — и исправила её.

    Ну ладно, пусть ошибка была случайная.
    Но вот то, что её не исправляли год — уже не случайно.


  1. ruwebstyle
    26.03.2017 04:49

    Надо же как-то поддерживать мифы о том, что Линукс не для людей. Вот и стараются изо всех сил, любят с одной стороны, любят в другом плане с другой стороны.


  1. snnrman
    26.03.2017 07:29
    -2

    Уровень яда в комментариях зашкаливает. Тем не менее, несколько лет назад была аналогичная проблема с картами Google Maps из Safari, которая решалась сменой user agent. Что же это, заговор Google или просто ошибка, которую пофиксили?


    1. snnrman
      26.03.2017 14:25
      -1

      Судя по истеричному минусу, заговор Google.


  1. loco777
    26.03.2017 12:32

    Как ни странно, пользуясь Ubuntu14.04 и OneDrive в течении последних двух с половиной лет ни разу не замечал описанных в посте тормозов.


  1. customtema
    26.03.2017 23:33
    +2

    А еще у меня постоянно плющит скайп, с тех пор, как его купил микрософт. Перестал передавать вложения, тормозит и зависает при попытке групповых конференций (причем зависает не только с моей стороны, но и со стороны собеседников-виндузятников).

    И паранойя началась давно, когда в 2010 в Gnome «внезапно» стал глючить Network Manager. Сейчас падает Thunar, при переименовании. И это все случайно, да…