• ↓
  • ↑
  • ⇑
 
14:06 

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

Обращается к нам в отдел один разработчик и жалуется на то, что у него повисла vnc-сессия. VNC-сессии - это виртуальные рабочие столы серверов, которые доступны по сети. На каждом сервере работает несколько пользователей, открывая на своём рабочем ПК удалённый рабочий стол. Довольно удобная технология. VNC-сессия состоит из серверной и клиентской части приложения.

Vnc-сессия зависла в результате какого-то очень редкого стечения обстоятельств и за несколько лет работы это было первое такого рода обращение к нам по поводу vnc. Поскольку баг редкий, рецептов в инете нет. Проблема характеризуется тем, что у коллеги пропал нормальный доступ к текущей сессии удалённого рабочего стола: она есть, но не "откликается", изображение зависло. Вариант убить сессию и создать новую влечёт за собой большую потерю важных данных, открытых в данной сессии и это просто не спортивно и скучно. Поэтому я решил посмотреть, а нельзя ли её обратно оживить.

1. Первым делом я зашёл на сервер посмотреть, в каком состоянии находится процесс данной vnc-сессии этого пользователя. Для этого используются команды top и ps. Они показывал аномальную 100% загрузку CPU - такого быть не должно. Нормальный режим работы серверного процесса vnc - 3-5% потребления CPU: он ждёт команды что-то отрисовать, переместить - когда такая команда поступает, формируется и передаётся по сети новое изображение, а процесс снова засыпает в ожидании новой команды извне. 100% загрузка означает, что процесс постоянно занят вычислительной работой и не может перейти в режим прослушивания команд и поэтому он никак не реагирует на попытки подключиться к нему.

2. Чем же занят процесс? Надо выяснить. Для этого нужно провести трассировку и при необходимости можно дизассемблировать приложение и увидеть команды и инструкции, которые выполняются в настоящий момент.

Сделал strace процесса Xvnc, увидел следующую картину (зацикливание):



strace — это утилита, отслеживающая системные вызовы от приложения к операционной системе. Эти вызовы могут быть перехвачены и прочитаны. Это позволяет лучше понять, что процесс пытается сделать в заданное время. Системных вызовов много, приложение управляет ресурсами операционной системы (памятью, открытыми файлами, потоками, буферами). Здесь случайно так получилось, что в отчёт попал только вызов select.

В отчёте только эти повторяющиеся строчки select в большом количестве, и стало понятно, что процесс зациклился на какой-то функции.
В описании системного вызова select сказано, что EBADF возвращается тогда, когда один из файловых дескрипторов (в отчёте они в квадратных скобках), отправленных в select - недопустим. На лицо программная ошибка программистов, которые не предусмотрели проверку входных параметров в этом месте приложения.

3) Ок, смотрим /proc/123456/fd (список файловых дескрипторов процесса), видим, что 111 отсутствует в списке. (что с ним произошло - не в курсе). Каталог /proc/идентификатор_процесса - виртуальный каталог, где в текстовом виде можно найти ВСЮ актуальную информацию про ВСЕ текущие процессы, очень удобная сущность для исследования.

4) Далее мне понадобился отладчик gdb, присоединяемся к процессу и в нём выполняем команду "catch syscall select" - gdb покажет точки вызова select процессом, а команда отладчика "bt" - показала стек вызовов, таким образом я определил функцию в Xvnc и её адрес, которая вызывает ущербный select. Ставим точку останова на вход в select, анализируем входные параметры для функции (info r - показать содержимое всех регистров)
5) затираем регистр, в котором передавался недействительный ф.д. 111 (команда отладчика set $edx=0), после этого вызов функции прошёл успешно

Таким образом подменил входные данные в функцию в действующем процессе, убрал упоминание недействительного файлового дескриптора. Процесс сразу же вышел из этой функции совсем и возобновилась нормальная работа приложения. Повезло, что сработало. Можно было действовать иначе: после возврата из системного вызова заменить в eax значение -1 на 0 (успешный выход).

Спасибо за внимание, вы сейчас прочитали про несколько часов трудовой жизни Тротила. Жалко, что с такими интересными задачами сталкиваешься редко, хотелось бы почаще.

23:52 

Известный бизнесмен Дмитрий Зимин закрывает свой некоммерческий фонд "Династия"

Вот новость: Известный бизнесмен Дмитрий Зимин закрывает свой некоммерческий фонд "Династия"

Фонд поддерживал проекты в области науки и образования. Об этом со ссылкой на свои источники сообщил журналист Александр Невзоров.

Он напомнил, что Минюст собирается включить фонд в реестр иностранных агентов.

Невзоров добавил, что даже не представляет, на каком уровне должны извиниться, чтобы Зимин отказался от этого шага.

Для тех, кто не знает, что такое Династия: это под сотню переведённых современных научно-популярных книг и гранты молодым российским учёным.
Это тот случай, когда одна персона по полезности выше министра образования, а может быть, и самого министерства в целом.

14:08 

10-й Юбилейный фестиваль фейерверков состоится в Костроме 8 августа 2015 года.

Ежегодный праздник фейерверков в Костроме на набережной Волги. Грандиозное шоу организовано при поддержке администраций Костромской области и Костромы. В фестивале примут участие сильнейшие пиротехнические команды страны и зарубежья. Каждая представит пятиминутную фейерверк-программу с музыкальным сопровождением. Традиционно шоу пройдет в акватории реки Волга. В течение часа небо над Волгой будет озаряться миллионами(врут!) ярких огней, солнечными салютами, а музыкальное сопровождение добавит особый колорит в восприятие красочного представления. Набережная реки Волги превратится в огромный зрительный зал, а сама Волга в сцену, на которой пройдет фантастическое действо.

Я кому-то обещал напомнить, совершенно запамятовал, кому именно (((
Это очень зрелищное мероприятие, я был в прошлом году и мне так понравилось, что в этом году обязательно поеду еще.
Фестиваль совпадает с днём города, поэтому на центральных площадях днём в этот день проводятся ярмарки и концерты.

Я всем-всем-всем рекомендую съездить!

10:15 

На планете Плюк запустили трамвай

10:12 

evo-lutio.livejournal.com/82936.html

Оттуда: "Страх отказа, ответственность за следующий этап, опасения не удовлетворить ожидания другого, негативный опыт в прошлом, неуверенность в будущем, все это факторы, которые создают в начале отношений стену. С обеих сторон создают стены, что удваивает проблему. То есть пока женщина думает "посмотрим, на что он способен" и спокойно ждет, поскольку женщине так положено, мужчина тоже думает "не подождать ли более удобного момента?", и этот момент может все время откладываться, поскольку никогда не кажется достаточно удобным."

В целом полезная запись (для меня), только жалко, что нет никаких рецептов. А еще там есть ссылка на запись про эмпатию, но написана как-то непонятно для меня.

17:44 

Вот мнение (серьёзное) известного сатирика Задорнова про чеченскую девушку: mzadornov.livejournal.com/196436.html
А вот другое мнение известного блоггера Анатолия Воробья: часть 1, часть 2
Просто сравните и решите, какое мнение Вам ближе.

Вот что заставляет людей думать, размышлять, как Задорнов? Мне, наверное, никогда не понять их внутренний мир. А Анатолий, как всегда молодец. Давно читаю его блог.

P.S. Гениальней всего высказался по этому поводу Астахов, уполномоченный по правам детей, по ссылке совсем небольшая цитата: esquire.ru/quotes/14052015

01:35 

Я не успеваю писать отчёты, кошмар. Ну, невелика беда, наверное.

Слетал в Екатеринбург на два мероприятия:
- в субботу небольшая игра-квест по району Уралмаша (освоение территории связано со строительством завода), по окончании - подробнейшая двухчасовая экскурсия от Сергея Агеева по истории завода. Уральский завод тяжёлого машиностроения - непростой завод. Он является одним из крупнейших в России, а на момент своей постройки - крупнейший в мире (если это и преувеличение, то не слишком больше). Его называли "завод заводов" - тут делались прокатные станы, блюминги, гидравлические прессы, доменные печи, корпуса шахт, карьерные экскаваторы. Также и до сих пор предприятие выпускает уникальные составляющие для атомной энергетики и космической отрасли. Во время ВОВ предприятие было оперативно перепрофилировано для производства танков и гаубиц. В самом музее, помимо стендов, посвященным разным эпохам, есть несколько макетов, в частности, шагающий экскаватор (натуральный размер 120 метров, второй по величине в мире) и бурильная установка. Про установку экскурсовод рассказал следующую интересную вещь: помимо типовых конструкций инженерами Уралмаша была предпринята попытка создать оборудование для бурения сверхглубоких скважин. Это на самом деле весьма сложная инженерная задача, которая требует нетривиальных конструкторских решений... к примеру, стальной трос, если его удлиннять, в конце-концов разрывается под действием собственного веса, то есть просто пробурить сверхглубокую скважину по тем технологиям, которые позволяют бурить на глубину до 2км никак не получится. Тем не менее мировой рекорд по глубине был поставлен (12262 метра) и сохраняется до сих пор. Об этом можно прочитать здесь и здесь.

- в воскресенье я должен был поучаствовать в майской прогулке. Новый для меня формат, в Москве ничего подобного нет. Это массовое спортивное шествие с несколькими привалами по интересным местам города и пригорода Екатеринбурга. Проснулись в 7 утра - сильный ливень, решили не ходить. На самом деле оптимально было переждать дождь и стартовать позже (думаю, многие так и сделали, плохая погода в городе была только с утра). Но для меня не вариант - обратный самолёт был в 18:00. Это значит, финиш возможен только до обеда, затем перекус и час на дорогу в аэропорт. Летал авиакомпанией Победа, у которой на весну очень "вкусные" цены - 2000 рублей в одну сторону.

За выходные сделал два фото:

вот вам указатель на заправку:



а это электричка на I пути станции Екатеринбург-Пасс, у которой есть один нетипичный элемент экстерьера (на фото виден):



Следующая запланированная поездка: Псков + окрестности 30-31 мая.

17:33 

Для затравочки к посту о транспортной системе Марокко

А вот тамошний транспорт в центре города. Грузы перевозить надо, а что-либо шире не пролезает из-за ширины улиц:


13:02 

Как Игорь с друзьями ночью в Африке ночлег искал

Начну рассказ про отпуск с конца, так сказать, с небольшого незапланированного приключения.

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

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

В отеле друзья узнали, что Геркулесовы пещеры временно закрыты (почему, не поняли), и гулять по одиночке в тех местах опасно: оказывается, там сейчас осели бедные африканцы, которые добрались туда из своих неблагополучных стран (вся топ-десятка беднейших стран мира - африканская!) в надежде как-то переплыть Гибралталский пролив и оказаться в Европе. Чтобы иметь хоть какие-то средства на существование, они вынужденно нападают на одиноких туристов там.

До нас была донесена эта информация и мы в свой последний день путешествия решили остаться в предпоследней гостинице на дополнительные сутки. На следующий день сходили в порт, на закрытый ЖД вокзал, немного погуляли по медине, купили клубники, сувениров. В понедельник в аэропорт и домой через Мадрид.

Об остальных днях путешествия по Марокко я расскажу отдельно.

02:14 

На отдыхе

Всем привет из Марракеша! Приехали вчера ночью, а сегодня целый день гуляли в новой для себя местности.
Погоду здесь обещали плюс 41 градус, но затем в небесной канцелярии передумали и сейчас здесь всего +27.
Страна нас встретила весьма навязчивым сервисом - ты просто гуляешь, а тебя начинают везде зазывать, хватать за рукава и так каждые пять минут, если находишься в центре. По пути из аэропорта в город еле отбились от таксистов.
Местное автомобильное движение слегка хаотичное - на некоторых перекрестках стоят регулировщики вдобавок к светофору - последнего люди не всегда слушаются, как я заметил. На узких улочках медины снуют пешеходы, велосипедисты и мотоциклисты.
С адресацией и картографией в этой стране полный бардак и анархия. Вполне нормальным здесь отсутствие указателей улиц и номеров домов. Номера домов - штука очень редкая. На карте улицы не всегда правильно прорисованы...
Среди туристов преобладают французы, совсем немного англичан, немцев и испанце в. Русскую речь вообще не слышали.
завтра у нас по плану Касабланка, Мекнес, и в ночь приезжаем в город Фес и там ночуем.

08:13 

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

Вопрос: Какая высота монумента? Ответ: 32 метра.
Ответ "32" без указания размерности не принимается. Очень жаль, что люди не понимают, что 32 - это не высота. Высота - это сколько-то метров, сантиметров или километров. То есть при обозначении высоты единица измерения всегда должна указываться.

Перепишите фамилию скульптора. Ответ: "Сербский"
Некоторые переписали полные данные с таблички, там была надпись "К. Сербский". Но "К." никакого отношения к фамилии не имеет. Следовательно, "К. Сербский" это не фамилия. Ответ не засчитывается.

Перепишите первое слово второй строки. Ответ "Пренимать".
Написание в виде "принимать" не является верным, потому что на табличке не было такого слова.

Но некоторые участники (особенно новички, незнакомые с этой спецификой и, вероятно, основами элементарной логики) недовольны таким, по их мнению, слишком строгим подходом. А в чём строгость? Не засчитывать неправильные ответы - это нормально. Всегда против был всяких послаблений. В этом смысле московские орги намного справедливее питерских: последние, кажется порой, что засчитывают всё подряд.

23:41 

Парад трамваев запомнился совсем не трамваями - я уже их все видел. Зато к параду добавили коллекцию велосипедов 50-80 годов советского производства + один довоенный и выставку электробусов. Последние наконец планируется начать эксплуатировать в Москве, в этом году начнётся тестирование.

На параде были толпы людей, как и год назад. Приятно видеть на празднике столь большое количество москвичей, а не только транспортных фанатов. На мой взгляд это явно означает о необходимости открытия музея общественного транспорта. Только для властей это, похоже, не аргумент: разговоры о музее ведутся уже около 15(!) лет, а музея как не было, так и нет.

А фоточки можете посмотреть у Варламова.

Проводили трамваи на Устьинском мосту, далее я пошел куда глаза глядят, хорошая погода позволила немного физически размяться, впервые в этом году. Пробежки пока делать не получается совсем, но ничего, восстановлю прошлогоднюю форму. Завтра продолжу разминаться.

Upd: 15 км в субботу, 28 км в воскресенье.

23:16 

Оказывается, Яндекс выложил панорамы Кругобайкальской ЖД:

тыкнул в пару мест:
раз место
два место
Красиво, правда?

Будете в тех краях, постарайтесь попасть на экскурсию туда. Дизель едет медленно, успеваешь всё внимательно посмотреть и насладиться местными красотами.

22:45 

Идея - 5 с плюсом!

10.04.2015 в 22:34
Пишет Ули:

Пасха совпала с днем космонавтики - получилось космическое яйцо.

Чуть крупнее


URL записи

11:47 

изображение


Появилась хорошая традиция открывать сезон своих городских прогулок игрой в Минске. Минск в это время уже радует свежей тёплой погодой, зелёной травкой, чистотой и большими пространствами и уютными невысокими домами. Только птички еще не пели, жаль. На один день смотался в Минск, утром с поезда и на работу. Соблазнил прогулкой нового адепта - ей понравилось. Кто еще не знает, у нашей прогулочной команды принцип - большой прайд всегда рад хорошему человеку. В этот раз прайд был вообще не прайд - все знакомые плотно заняты подготовкой московского мероприятия. Ездил самый минимум - два человека. Привёз вкусных конфет - всех угощаю сейчас.

Фотографии от участников игры-прогулки: vk.com/album-1151542_213679601

(пока по ссылке ничего нет, но постепенно будет!)

Кстати, в Москве боооольшая проблема в парикмахерской получить услугу "помыть голову"! Почти нигде это не проблема, а в Москве - проблема. "Услугу не предоставляем"! Кое-где соглашаются, но за конский ценник. Сегодня еле-еле нашёл место за 100 рублей. Безобразие, короче.

11:27 

Я в январе рассказывал, что мой троюродный брат в январе покупал в Москве машину и я ему помогал. Дубль 2: в четверг он приехал снова, чтобы осуществить тоже самое. А январскую машину он продал, у них машины стоят значительно дороже. На этой сделке он заработал 1000-1500 долларов, а им нужны деньги, поскольку с работой сейчас у брата не очень стабильно. Я писал, что белорусское законодательство не позволяет ввозить больше одной машины без оплаты таможенной пошлины, поэтому в этот раз о приехал не один, а с мамой. На этот раз получилось гораздо быстрее: первая машина, которую он выбрал по объявлениям (машина аналогичная январской), при осмотре его устроила и они оформили сделку (машину записали на мать). Всё сделали за два дня и сегодня утром уже отправились в путь домой. Я работал, брат делал всё самостоятельно.

Впечатления жителя небольшого спокойного города яркие. Саша живёт в небольшом городе, где все объекты почти в пешеходной доступности. А здесь Москва. Сильно нигде не заблудился - но намаялся! Особенно вчера, в пятницу, по пробкам, по лабиринтам развязок (не всегда с первого раза уезжал в нужном направлении), перегонял машину с одного конца Москвы на другой. И когда сегодня обсуждали возможный заезд для его мамы в пару магазинов, Саша решительно сказал: "Нет. Хватит. Никуда заезжать не будем. Не хочу больше. Сразу на шоссе и за город - только домой." А еще его поразила Щелковская (где автовокзал) наличием бардака, людского хаоса, бомжеватого вида людей... Ну её, эту Москву. Предложил ему приехать через год и в мае - закончатся стройки, будет весна, трава и солнышко.

18:57 

к сведению

Статистика показывает, что судьбы тысяч военных и добровольцев, вернувшихся из горячих точек, в дальнейшем не сложились. С января 2008-го по март 2015 года в информационной системе "Правосудие" упоминается 1177 бывших военнослужащих—обладателей боевых наград, находившихся под судом.

Через Афганскую войну (1979-1989), по официальным данным, прошло около 620 тыс. советских военнослужащих, а по информации Союза ветеранов Афганистана — до 1,5 млн. После войны, по сведениям ветеранской организации, минимум 35% ее участников остро нуждались в психологической помощи, до 70% выражали готовность в любой момент вернуться в горячую точку. По данным на ноябрь 1989 года, 372 тыс. бывших воинов-"афганцев" в той или иной степени страдали от алкоголизма и наркомании. 3,7 тыс. человек уже в конце 1989-го были осуждены за убийства и грабежи. В начале 1990-х годов организованные преступные группировки, состоявшие из ветеранов Афганистана, появились в Екатеринбурге, Санкт-Петербурге, Иркутске, Красноярске и других городах. Одной из наиболее влиятельных была Купеевская ОПГ в Тольятти, шесть лидеров которой в 1998 году были застрелены прямо в городском филиале Союза ветеранов.

В Абхазской войне 1992-1993 годов приняли участие тысячи добровольцев с Северного Кавказа. Одним из самых крупных стал пятитысячный отряд чеченцев под руководством Шамиля Басаева. В 1994 году, в разгар Первой чеченской войны, "абхазский батальон" Басаева выступил против федеральных войск, в июне 1995-го у села Ведено он был разбит. Уцелевшие 200 человек в том же месяце захватили в заложники более 1600 жителей Буденновска, 147 из них погибли. К 2005 году 30 членов "батальона" Басаева, участвовавших в теракте, было убиты, 20 — задержано. Сам Басаев убит в 2006-м в Ингушетии.

В первой (1994-1996) и второй (1999-2009) чеченских войнах, по консервативным оценкам, приняло участие не менее 600 тыс. бойцов вооруженных сил и внутренних войск. По данным Центра социальной и судебной психиатрии имени Сербского, к 2003 году 70% ветеранов конфликта страдали посттравматическим синдромом. В 2004-м среди прошедших Чечню было зафиксировано более 1 тыс. попыток самоубийства. В 2005 году, по данным Союза ветеранов участников локальных войн, 13 тыс. бывших бойцов состояли на учете в психоневрологических диспансерах. За тяжкие преступления в тюрьмах и колониях находилось около 100 тыс. ветеранов локальных войн, многие из которых прошли Чечню. Одним из резонансных стало дело об участии незадолго до этого вернувшегося из Чечни уфимского ОМОНа в массовых "зачистках" в Благовещенске в 2004 году, в результате которых было задержано и избито более 300 человек. Командиры были позже осуждены на условные сроки за превышение должностных полномочий.

www.kommersant.ru/doc/2691719?isSearch=True

15:08 

Во время подготовки отпуска в Африку на майские праздники начинают проявляться интересные вещи: например, в аэропорт, куда я прилетаю, в принципе не ходит общественный транспорт. Местный сайт автобусных междугородних перевозок отказывается принимать российские карточки и ещё по мелочи всякое организационное. Пишут, что регион кишит всякими попрошайками и жуликами. В общем в данном случае, продумывание маршрутов заранее, уточнение местных реалий, сильно поможет сохранить время, деньги и, возможно, нервы.

А еще там козы любят лазить по деревьям: фотодоказательство

16:56 

публикуется впервые

А вот часть коллекции тарелок, которая украшает стену в комнате:

.

Из надписей можно прочитать лишь Байкал и Липецк, до остальных придётся догадываться самостоятельно :). Фотографам по ссылке не переходить, ибо будет повреждена душевная организация, ибо фото мобильником получилось отвратного качества. Это далеко не все тарелки, где-то процентов 60-70, больше тупо не помещается. Остальные в ящиках. Я планирую после ремонта изменить систему подвеса тарелок - сделать горизонтальную планку и уже на неё прибивать гвозди и делать верёвочные подвесы. Фото на память, летом, наверное, всё изменится.

04:46 

Какая-то хрень происходит со здоровьем, не пойму, какая.
Началось еще в Хайфе, когда за два дня от отлёта попал под холодный ветер, продрог и простудился. Стало болеть горло и много течь из носа. Температура повышалась ненадолго.
Ок, прилетел в Москву, пролечился 1.5 недели - вроде симптомы прошли, вышел на работу. Проработал 3 дня (10.03 - 12.03), и неожиданно в четверг к вечеру на рабочем месте начался сильный чих, хотя предпосылок заболеть у меня не было. В пятницу утром температура была 37.9 и далее в течение суток держалась на уровне 38.5. Горло болело слабо и заложеннность носа небольшая - в основном высокая температура. Пролечился я эти три дня и в воскресенье целый день температура не повышалась выше 36.8 (жаропонижающее в воскресенье не принимал). Оптимистично настроился выйти на работу в понедельник и... вот, просыпаюсь посреди ночи - 37.8!!! Какого хрена? Что вообще происходит? Почему уже второй раз возникает рецидив? Раньше такого никогда не было. Вызову врача, подозреваю, что эта хрень еще как минимум на неделю... (((

Дневник Тротила

главная