LINUX.ORG.RU

Сообщения MihanEntalpo

 

Acer ES1-711G зависает при выключении, перезагрузке, suspend'е в Debian 10 (и других системах)

Форум — Admin

Здравствуйте, товарищи.

Ситуация:

Есть ноутбук Acer ES1-711G, неплохой, но уж больно невезучий.

Когда стабильной версией был Debian Jessie, то и тогда с ним были проблемы (борьбу с ними я даже описал для потомков https://mihanentalpo.me/en/2016/10/debian-jessie-acer-es1-711g/), но их почти все удалось побороть.

Сейчас взялся ставить на него Debian 10. Проблем, описанных по вышеуказанной ссылке я уже не встретил, но, кроме мелочей (не сразу заработал wifi, при загрузке Grub показывает чёрно-белую картинку меню, видеокарта Nvidia не обнаруживается) обнаружил более серьёзную проблему: при выключении, перезагрузке, уходе в спящий режим (suspend), да даже когда система гасит экран для энергосбережения - ноутбук виснет полностью или почти полностью (при гашении экрана, если быстро что-то нажать, на чёрном экране появляется курсор мышки, и некоторое время им ещё можно двигать, но потом и он замирает).

Забегая вперёд: попробовал на этом же ноутбуке кучу LIVE-дистрибутивов: перезагрузка, выключение и спящий режим также зависают в OpenSuse, Fedora, Kubuntu, Mint, Majaro, CentOs, и не зависает только в Debian 8.9 Jessie.

Данные:

Железо:

Acer ES1-711G

CPU: Intel(R) Pentium(R) CPU N3540, 2.16GHz, 4 ядра RAM: 8GB

lspci:

https://gist.github.com/MihanEntalpo/66e506f4e2014943d6086fd34336d993

Из возможно важного: есть видеокарты Intel и NVidia, на старом дебиане работали в режиме Optimus, даже в игры игралось. Здесь попробовал поставить также, но карта NVidia не обнаруживалась, поэтому все дрова, primusrun и bumblebee удалил назад, а также снёс карту nouveau, так как от неё была ругань и я решил, что может быть проблемы связаны с этим.

lsusb:

https://gist.github.com/MihanEntalpo/555cf545be1e372c01fe368fcda0e9fc

Софт:

Система: Debian 10 (buster) Ядро: Linux debian10 4.19.0-8-amd64 #1 SMP Debian 4.19.98-1 (2020-01-26) x86_64 GNU/Linux (также, пробовал ядра 4.19.0-4, 4.19.0-6)

KDE Plasma 5.14 (стандартная для дебиана).

Лог загрузки:

Все сообщения dmesg от загрузки и до открытия браузера: https://gist.github.com/MihanEntalpo/0123cbde22cfa57581bfa4a3815ea804

Лог перезагрузки:

При перезагрузке, когда набираю из первой консоли (Ctrl+Alt+F1) команду reboot, процесс доходит до логического завершения, после чего экран гаснет, но перезагрузка не происходит.

Запись экрана при перезагрузке: https://yadi.sk/i/v6mVEtuY-MDM7w

Последний кадр при перезагрузке перед потемнением экрана: https://yadi.sk/i/7IhMFe5K8ebW9g

Лог выключения:

При выключении, когда из первой консоли выполняю poweroff, процесс также идёт до логического завершения, но с той разницей что экран даже не гаснет, и выключение не происходит

Запись экрана: https://yadi.sk/i/PLxJmOO_nDXuQA Последний кадр: https://yadi.sk/i/GyOWRVNSi5O-zA

Зависания:

Кроме прочего, иногда (примерно пару раз за день) ноутбук вообще зависает без каких-либо видимых причиню. Просто вот пока я правил этот текст (со второго раза начал постоянно сохранять черновик), ноутбук завис 2 раза. При этом зависании всё просто встаёт колом и не двигается, экран остаётся графический, переключиться на текстовую консоль невозможно, Alt+SysRq+REISUB не работает.

Дополнительные сведения:

  • Данный дистрибутив я поставил на одном ноутбуке, после чего снял образ fsarchiver’ом и залил его на несколько ноутбуков и стационарных компов, нигде проблем не обнаружено, софт полностью идентичный

  • Debian Jessie на этом ноутбуке последний использовался довольно давно, около года назад, примерно в этот момент был куплен новый ноутбук, данные перенесены, а этот был убран в ящик стола. В результате сейчас даже кнопки на клаве пришлось «разрабатывать» чтобы они печатали (первое время нажимались не с первого раза), так что потенциально можно предположить что с ноутом что-то могло случиться за это время (хотя его и не трогали совсем)

  • Данный ноутбук даже на Debian Jessie был немного больной, к примеру, он также мог зависнуть иногда, но в основном это происходило когда на ноутбуке включена карта Nvidia через bumblebee, и я выдёргивал из него шнур питания. При этом зависал он не насмерть, к нему можно было подключиться по SSH и нормально его перезагрузить/выключить, то есть отрубалась только графическая подсистема (вероятно из-за какого-то кривого управления питанием при отключении зарядки)

Сейчас bunblebee и вообще Nvidia я не использую.

  • Изначально на этот ноут шла Windows 8, которая ужасно тормозила, а последние драйвера на Nvidia на неё вообще нельзя было поставить, в процессе установки она зависала или падала в синий экран смерти, что наводит на мысли об аппаратном дефекте, однако, этот ноут за деньги носили в официальный сервис-центр и диагностировали всё железно, после чего сообщили что он полностью рабочий и проблем нет (а мы знаем насколько такие заявления не выгодны сервис центру).

Что делал:

  • Отключил «quite» в параметрах ядра, благодаря чему ядро стало подробнее писать в логах, и стало видно что всё более-менее нормально проходит (к сожалению, лучше бы сразу было видно где падает)

  • Пробовал Alt+SysRq + R-E-I-S-U-B после зависания системы при перезагрузке или выключении, не помогает.

  • Если набрать Alt+SysRq + R-E-I-S-U-B когда система нормально работает - она ПЕРЕЗАГРУЖАЕТСЯ как следует, что говорит о том, что в принципе система способна нормально перезагрузиться, но видимо в процессе «штатной» перезагрузки она делает что-то такое что не даёт ей дойти собственно до перезагрузки.

  • Поставил всевозможные обновления, все недостающие прошивки.

  • Пробовал Kubuntu 19.10 с Live-флешки. Ядро там 5.3.* (точно не вспомню, уже вышел оттуда), но симптомы точно такие же. При закрывании крышки ноутбука он засыпает и не просыпается, при выключении, перезагрузке комп зависает на чёрном экране или на экране с логом действий завершения работы в которых не видно какого-то криминала.

  • Пробовал Fedora 31 c Live-флешки. Ядро 5.3.7-301.fc31.x86_64, результат ровно тот же самый

  • Пробовал Manjaro-xfce 18.1.5 с Live-флешки, результат тот-же

  • Пробовал openSuse Leap 15.1, загрузившись с установочной флешки в Recsue mode, точно также, при команде poweroff логи доходят до сообщения «Reached target shutdown» после чего ничего не происходит, комп не отключается

  • Пробовал загрузиться с флешки Debian Jessie 8.9 amd64, с ядром версии 3.16.0-4-amd64 SMP Debian 3.16.7-ckt25-2, на ней ПЕРЕЗАГРУЗКА РАБОТАЕТ, ОТКЛЮЧЕНИЕ ПИТАНИЯ ТОЖЕ. Уход в спящий режим - зависает. Может быть это связано с контроллером USB, так как в прошлый раз мне приходилось отключать один из стандартных драйверов.

  • Попробовал CentOS-7 с флешки, ядро древнее, 3.10.0-957.12.2.el7.x86_64. Перезагрузка зависла, отключение зависло, спящий режим завис.

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

  • Пробовал добавлять в параметры ядра acpi=force (не помогло)

  • Пробовал добавлять в параметры ядра nomodeset - X-сервер отказался запускаться.

  • Пробовал гонять нагрузочное тестирование stress-ng, запускал игры с графикой которую тянет встроенная intel-овская видеокарта, добивался того, чтобы комп начал греться и жужжать вентиляторами, но это не привело к его зависанию, продолжал работать как ни в чём не бывало.

Что ещё не сделал

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

  • Долго читал о том как работает в linux управление питанием и suspend, про всякие файлы /proc/acpi/* в которые можно писать разные значения, но пока не понял что именно и куда мне надо писать чтобы вручную проверить как будет работать усыпление (на одном из форумов прочитал что один из режимов sleep’а может зависать а другой будет работать, что-то про s2idle, deep)

  • Не пробовал пересобирать ядро. Раз старое ядро (от Debian Jessie) нормально перезапускало систему, значит новое просто содержит в себе какие-то не те опции и модули. В принципе, можно попробовать поэкспериментировать с настройками сборки, касающимися ACPI, но я в этом ничего не понимаю поэтому буду делать методом тыка, что продлится очень долго.

  • Знаю что можно как-то настроить удалённую отладку, чтобы syslog писал логи не на свой ПК, а отправлял по сети удалённо, что могло бы мне помочь в отладке этих зависаний и невозможноси отключиться, но пока я не знаю как перевести тот же systemd в режим супер-подробного логирования выключения/перезагрузки/суспенда, то и настраивать удалённую отладку не пробовал.

  • Нашёл статью про отладку ACPI (https://01.org/blogs/rzhang/2015/best-practice-debug-linux-suspend/hibernate-issues) буду пробовать её.

Буду рад:

  • Если у кого-то были похожие проблемы и вы поделитесь со мной способами их решения

  • Если дадите ссылки на статьи, где подробно изложено управление ACPI в Linux и то, как решать проблемы с ними

  • Если подскажите как можно отлаживать внезапные зависания системы.

 , , , ,

MihanEntalpo
()

Свитч перестаёт нормально работать при подключении роутера

Форум — Admin

Здравствуйте товарищи!

Вопрос не столько по администрированию Linux-систем, сколько по сетям, и их отладке и настройке с помощью Linux-систем :)

Исходные данные:

В организации есть:

  • Неуправляемый свитч на 48 портов (марку и модель записать забыл, добавлю позже, сейчас пишу уже из дома), к которому подключены по проводам некоторое количество рабочих станций на Linux, MacOS и Windows.
  • Роутер MikroTik hEX RB750Gr3 (на RouterOS), через который заходит интернет
  • Несколько Wifi-тарелок MikroTik подключённые также к свитчу

Настроено это всё по мануалам из интернета, знания у меня в сетях чуть выше чем «продвинутый пользователь», никаких научных степеней по MTCNA конечно нет. Всевозможные «защиты от взлома» постарался настроить (например эти: https://habr.com/ru/post/424433/), веб-морду из интернета закрыл, так же как и все остальные службы.

Проблема:

Долгое время работало прекрасно, но в какой-то момент стало просто тупо пропадать подключение, и даже не через WiFi а прямо по проводам. То всё работает, то не работает ничего, не пингуется ни соседний ПК, ни сам роутер на 192.168.1.1, не идёт трассировка никуда, а то и вовсе arp -a ничего не возвращает.

Что было сделано для анализа:

  • Попробовал перезагрузить роутер и свитч несколько раз - не помогло. Точнее помогало, но ненадолго, минут на 10.
  • Проанализировал логи роутера, а также всех WiFi-тарелок. Ничего опасного или даже интересного там не было.
  • Проанализировал записи /system sheduler, /ip proxy, /ip socks, /ppp secret роутера - ничего не нашлось.
  • Два ноутбука подключил короткими проводами непосредственно к свитчу, на одном поднял сервер iperf, на другом запустил простенький скрипт:
# Бесконечно проверять скорость с частотой раз в 0.5 секунды
while true; do iperf -c 192.168.1.121 -p 5001 -i 0.5; done

При подключении ноутбуков к свитчу скорость по iperf то была около 100 МБит, но временами, раз в несколько секунд, резко просаживалась до нуля или почти до нуля, после чего снова возрастая до 100МБит.

  • Попробовал подключить эти два ноутбука к свободным выходным портам роутера - там никаких просадок скорости не было, всё отлично.
  • Достал маленький свитч на 5 портов, воткнул его проводом в большой свитч, переткнул два ноутбука в маленький свитч - точно также, просадки скорости.
  • Отключил провод соединяющий маленький свитч с большим, т.е. ноутбуки остались сидеть на маленьком свитче в одиночестве, и скорость, естественно, не проседала а шла стабильно около 100МБит. При повторном подключении мелкого свитча к большому - скорость снова начинала периодически проседать.

Итого я сделал вывод, достойный капитана очевидность, о том, что похоже проблема в свитче, я слышал о каких то flood-ах сети (хотя и не очень представляю принципов), и подумал, что может какой-то ПК не даёт жить остальным.

  • Стал отключать потребителей от большого свитча, тем временем глядя на то как меняются показания iperf.

  • Обнаружил, что iperf начинает стабильно показывать почти 100 МБит когда отключён САМ РОУТЕР.

  • Ещё раз перепроверил все настройки роутера в которых я что-то понимал, долго и вдумчиво посмотрел на те, которых я не понимаю.

  • Пробовал подключать роутер не напрямую в большой свитч, а «сквозь» маленький. Безрезультатно.

  • Параллельно прогуглил весь интернет, но похоже я даже не могу сформулировать вопрос так чтобы найти его на английском (на русском и подавно)

Ну и собственно, сотрудники разошлись, и проблема стала сходить на нет, когда осталось совсем мало народу, проседание скорости были уже не до 0 а до 60-70 МБит, и проблему больше не получалось воспроизвести.

Что хотелось бы понять (но не получается):

  1. Бывают ли такие flood-атаки (пусть даже и не «специальные») которые могут привести к такому поведению свитча?

  2. Какими инструментами можно это проверить? Как их найти? Я конечно пробовал включить wireshark, но в сети такой объём пакетов, что понять в них что-то можно только статистическим анализом, сдампив несколько гигов этих пакетов, и написав скрипты для анализа, что я наверное буду делать в случае если вообще ничего больше не поможет.

  3. Как можно проверить что в свитче есть проблема? Как его можно «отладить» если он неуправляемый? На мысль что дело не в нём меня навело то, что при подключении его к новенькому 5-портовому свитчу, он его «заражал» своим странным поведением. Но может это он как-то неверно реагирует на передаваемые данные и сам устраивает какой-то flood?

  4. Может быть есть какие-то «кривые» пакеты которые могут приводить к таким результатам? Откуда они могут браться? Как их обнаружить, как отладить?

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

 , ,

MihanEntalpo
()

Debian: После отключения от NoMachine на сервере повреждаются цвета

Форум — Desktop

Здравствуйте, товарищи

Ситуация:

С одной системы Debian подключаюсь к другой по NoMachine. Всё хорошо. Один раз из нескольких десятков подключений, когда я физически прихожу к ПК, к которому подключался, я вижу что на нём цвета превратились в наркоманский трип.

Если разлогиниться (завершить сеанс) - то всё приходит в норму.

Примеры:

Видео: https://yadi.sk/i/gU1--5vA71UA7A Фото: https://yadi.sk/i/JR_uM1qhzkFBqw

Подробности:

Сервер:

OS: Debian GNU/Linux 10 (buster) Kernel: 4.19.0-6-amd64

Видеокарта: VGA compatible controller: Intel Corporation HD Graphics 630 (rev 04)

Видеодрайвер: i915

Сервер NoMachine: 6.8.1-3

DE: Kde 4.17.08.3

DM: Sddm 0.18.0.1

Вопрос: как можно решить эту проблему без выхода пользователя из системы?

Что пробовал:

  • Гуглил форумы NoMachine, нашёл один похожий вопрос без ответа
  • Пытался сменить цветовую битность с помощью xrandr - безуспешно

 , ,

MihanEntalpo
()

QCA6174, Debian 9, Подключается но не работает.

Форум — Admin

Здравствуйте, товарищи.

Ситуация:
Ноутбук Acer aspire A717-71G.
ОС: Debian 9.5 Stretch
И всё то на нём хорошо, кроме Wi-fi карты Qualcomm Atheros QCA6174

А именно:

Драйвер установлен, прошивка установлена, Wi-fi карта определяется, Network manager успешно подключает её к сети, и даже получает IP-адрес, но после этого данные не передаёт совершенно.

Другие ПК (в том числе на Debian Linux 8 и 9) и телефоны прекрасно подключаются к той же самой сети.

Оборудование: https://pastebin.com/cRe7YkE7

Ядро: 4.9.0-8-amd64 #1 SMP Debian 4.9.110-3+deb9u6 (2018-10-08) x86_64 GNU/Linux

apt search firmware-atheros:
firmware-atheros/now 20180825+dfsg-1~bpo9+1 all [установлен, локальный] Binary firmware for Atheros wireless cards

apt search firmware-linux:
firmware-linux/stable,stable,now 20161130-3 all [установлен] Binary firmware for various drivers in the Linux kernel (meta-package)

firmware-linux-free/stable,stable,now 3.4 all [установлен] бинарные микропрограммы различных устройств для ядра Linux

firmware-linux-nonfree/stable,stable,now 20161130-3 all [установлен] Binary firmware for various drivers in the Linux kernel (meta-package)

Сообщения «dmesg | grep ath10k»:
https://pastebin.com/H1j1bJK5

Сообщения dmesg при подключении к WiFi-сети:
https://pastebin.com/EW23ynfU

Собственно последние строчки из dmesg (IPv6: wlp2s0: IPv6 duplicate address fd01::525b:c2ff:fe7e:aa5 detected! ) меня и наводят на странные мысли.

Я пробовал отключить для карты IPv6 с помощью настроек NetworkManager'а и путём танцев с бубном, выразившихся в подключении/отключении соединения, выполнения dhclient, и подобных вещей, мне 1 раз удалось заставить её работать, но воспроизвести свою последовательность действий я уже не смог, и после очередного пробуждения из спящего режима всё опять вернулось в нерабочее состояние.

Что ещё можно предпринять для решения проблемы?

 , ,

MihanEntalpo
()

SU позволяет войти в root'а без пароля

Форум — Security

Здравствуйте товарищи!

Предыстория:
На виртуальной машине в vscale.io под Debian был добавлен пользователь sshguestuser, который не имеет никаких прав, а может только подключиться по SSH.
Предназначен он был для проброса портов (подключаемся с одного ПК, пробрасываем порт VNC-сервера, подключаемся с другого, пробрасываем порт до своего VNC-клиента), однако обнаружилось удивительное:
команда su БЕЗ ПАРОЛЯ сразу же делает данного пользователя суперпользователем!

$ su
# _
Гугление помогло найти один из способов, как добиться такого результата (правка файла /etc/pam.d/su), однако, в моём случае данный файл оказался абсолютно стандартным, никаких изменений по сравнению с «дитрибутивной» версией в нём не было.

sudo не настраивал. Вообще ничего особенного не делал, свежая установка!

Куда копать? Что делать? Как жить дальше?

 , ,

MihanEntalpo
()

Mint, SDDM, KDE: Вместо Ctrl+Alt+F1...6 срабатывает Alt+F1...6

Форум — Desktop

Здравствуйте товарищи.

TL;DR: Прямо из KDE при нажатии Alt+F1 или, например, Alt+F4 происходит переключение в текстовую консоль.

Предыстория:
По долгу службы приходится пользоваться Linux Mint 18.1 Serena. Изначально на нём стоял mate и менеджер экрана mdm.
Я поставил KDE, после чего начались проблемы с экраном блокировки.
В частности, при блокировке экрана, появлялось чёрное окно с надписью «The screen locker is broken and the session can not be unlocked. To unlock it please switch to the console and execute 'loginctl unlock-sessions' you can then change back using ALT+CTRL+F7 to your running session.»
Путём поисков выяснил, что достаточно поставить другой DM, и поставил sddm. Проблема с чёрным экраном прошла, экран блокировки заработал.

Однако появилась проблема:
При нажатии на Alt+F1, Alt+F2 ... Alt+F6 происходит переключение в терминалы с соответствующими номерами. Причём, происходит при нажатии в KDE (то, что оно так должно работать в терминале, я знаю).
Соответственно, я не могу закрыть окно по Alt+F4, не могу открыть панель запуска приложений по Alt+F2.
Поиски ни к чему не привели, ни в русском ни в английском сегментах сети. Максимум что удаётся найти: «как отключить Ctrl+Alt+F#» и «как назначить другие клавиши на переключение терминалов».
При этом, комбинация Ctrl+Alt+F1..6 также работает.

Вопросы:
Что может вызывать такую работу Alt+F# в KDE?
В какую сторону копать?
Как это можно побороть?

 , , ,

MihanEntalpo
()

Power fail. KDE лежит на боку, сокет ksmserver'а /tmp/.ICE-unix/* залипает

Форум — Desktop

Здравствуйте, товарищи! Пишу вам из горящего трактора.

После неудачного отключения ноутбука из-за отключения питания, KDE упала на бок и дрыгает лапками. Раньше у меня такое тоже бывало, спасало удаление папок ~/.kde/~cache-*, ~/.kde/~tmp-* и ~/.kde/~socket-* и очистка /tmp, но теперь нет.

Итак, условия задачи Debian Jessie, 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt25-2+deb8u3 (2016-07-02) x86_64 GNU/Linux
KDE 4.14.2, Qt 4.8.6

Сразу после аварийного отключения система при загрузке сказала, что восстанавливает журналы /dev/sda1 и /dev/sda2, и что в целом файловая система не пострадала.

Ситуация

После входа пользователя в kde запускаются программы которые были запущены перед отключением, а именно: firefox, thunderbird, gimp, konsole, guake и ещё по мелочи.

Сразу после запуска всё вроде нормально, но через какое-то время становится понятно, что больше ни одно GUI-приложение не запускается. Они просто зависают и всё. Убить процесс получается с лёгкостью.

Если сразу же после входа в KDE запускать GUI-приложения, они запускаются, но по прошествии небольшого времени - перестают.

Проведённые исследования:

Если запустить приложение из консоли, никакого вывода не следует, оно просто зависает и всё.

Если запустить приложение через strace, то практически всегда последними строками перед зависанием выдаются такие:

socket(PF_LOCAL, SOCK_STREAM, 0)        = 9
getsockopt(9, SOL_SOCKET, SO_SNDBUF, [212992], [4]) = 0
uname({sys="Linux", node="MihanLenovo", ...}) = 0
connect(9, {sa_family=AF_LOCAL, sun_path=@"/tmp/.ICE-unix/638"}, 21) = 0
fcntl(9, F_SETFD, FD_CLOEXEC)           = 0
write(9, "\0\1\0\0\0\0\0\0", 8)         = 8
read(9, 
Из чего видно, что программа подключается к сокету /tmp/.ICE-unix/638 (цифры, понятное дело, меняются от запуска к запуску), и не может дождаться оттуда ответа.

netstat -nlp | grep /tmp/.ICE-unix выдал:

unix  2      [ ACC ]     STREAM     LISTENING     87122    638/kdeinit4: ksmse @/tmp/.ICE-unix/638
unix  2      [ ACC ]     STREAM     LISTENING     87123    638/kdeinit4: ksmse /tmp/.ICE-unix/638
А вызов ps aux | grep 638 выдаёт:
mihanen+   638  0.0  0.4 565208 38496 ?        Sl   09:31   0:00 kdeinit4: ksmserver [kdeinit] 
То есть, становится понятно, что данный сокет создаёт ksmserver, а после какого-то времени работы перестаёт работать как следует.

Важный момент: Логин от имени другого пользователя не работает совсем. То есть, я создаю пользователя testuser, у которого, понятное дело, пустая домашняя папка, и при попытке залогиниться этим пользователем в KDE получаю следующее:

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

Что я пробовал для устранения проблемы:

1. Попробовал зайти от имени абсолютно девственно чистого пользователя - результат описан выше.

2. Попробовал удалить временные папки /tmp/*, ~/.kde/~tmp-*, ~/.kde/~cache-*, ~/.kde/~socket-* - никакого результата

3. Посмотрел файл ~/.xsession-errors, там вот что: http://pastebin.ru/OkNPIUq8 (там были и ещё строчки но все такого же типа, никаких сообщений от самого ksmserver'а)

4. Посмотрел /var/log/Xorg.0.log - там никаких ошибок вообще, если нужно могу и его приложить.

5. Перечитал кучу форумов на эту тему, никаких решений не нашел. Нашёл похожую проблему - у человека зависал ksmserver и после этого приложения также не могли подключиться к нему через /tmp/.ICE-unix/123. Однако, в том случае причиной был pidgin, который после запуска ломал ksmserver. Я допускаю, что в моём случае это тоже какая-то программа так делает, но не знаю какая, и главное, не знаю как это стыкуется с другими составляющими проблемы.

6. Попытался найти подробное описание ksmserver, чтобы понять где он может хранить логи, или как включить у него такую способность. Потрепел неудачу. Правда нашёл официальные исходники, и так как знаю С++, на крайний случай отложил вариант «посмотреть исходные коды ksmserver'а»

Итого:

Сейчас я могу худо-бедно пользоваться компьютером, так как при входе в систему запускается почтовый клиент, firefox, и netbeans, так что работать я могу. Также, работает всё что нужно в консоли. Если нужна какая-то программа, я выхожу из kde путём kdm restart, захожу заново, и когда вход произойдёт, быстро-быстро запускаю нужную программу. Иногда мне везёт и она успешно запускается до того как ksmserver встаёт колом.

Тем не менее, данная ситуация меня не устраивает.

Поскольку я вижу, что простой пользователь вообще не может зайти в KDE:

1) я хотел бы понять, где можно посмотреть логи именно ksmserver'а, или как его заставить писать эти логи.

2) я был бы рад узнать, какие пакеты можно было бы переустановить чтобы вероятно восстановить работоспособность системы. И главное, как их переустановить с удалением настроек (purge), чтобы при этом не слетела вся система (при удалении ksmserver'а естественно предлагается снести вообще всё GUI)

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

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

Спасибо за уделённое внимание!

 , ,

MihanEntalpo
()

Запрос INSERT, выполненный из PHP вставляет не все заданные поля, а из консоли - все.

Форум — Web-development

Здравствуйте, товарищи. У меня тут какая-то магия.

Tl;dr:
Один и тот же SQL-запрос, выполняемый через php вставляет в таблицу не все заданные поля, тогда как ОН ЖЕ, выполненный через консольный mysql-клиент вставляет все поля.

Ситуация:
1) Есть таблица в Mysql следующей конструкции:

CREATE TABLE `af_prices_items` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `list_id` int(11) NOT NULL,
 `f_name` varchar(255) NOT NULL,
 `f_art` varchar(255) NOT NULL,
 `f_category` varchar(255) NOT NULL,
 `f_width` varchar(255) NOT NULL,
 `f_height` varchar(255) NOT NULL,
 `f_frame` varchar(255) NOT NULL,
 `s_name` varchar(255) NOT NULL,
 `s_art` varchar(255) NOT NULL, 
 `s_width` int(11) NOT NULL,
 `s_height` int(11) NOT NULL,
 `price` decimal(10,2) NOT NULL,
  PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8
2) Из скрипта php выполняю запрос:
INSERT INTO af_prices_items
(`list_id`,`f_width`,`f_height`,`f_frame`,`price`,`s_width`,`s_height`) 
VALUES 
(201,'45','140','0','1450','45','140')
3) В результате, в таблицу вставляется запись такого вида:
Array
(
    [id] => 2314
    [list_id] => 201
    [f_name] => 
    [f_art] => 
    [f_category] => 
    [f_width] => 45
    [f_height] => 140
    [f_frame] => 0
    [s_name] => 
    [s_art] => 
    [s_width] => 45
    [s_height] => 140
    [price] => 0.00
)

Проблема: Как можно заметить, в поле price записывается ноль.

При этом, если выполнить ЭТОТ ЖЕ запрос в adminer'е (аналог PhpMyAdmin), или из консольного mysql-клиента то ВСЁ РАБОТАЕТ, цена вставляется именно такая какая должна быть, а не ноль.

Что я пробовал:

1. Выполнял запрос разными способами:
Способ первый, топорный

mysql_query($sql);
Способ второй, через PDO
$pdo = new PDO("mysql:host=" . MYSQL_SERV . ";dbname=" . MYSQL_DB, MYSQL_LOGIN, MYSQL_PASS);
$pdo->exec($sql);
Результат одинаков. (При этом, запись создаётся, никаких ошибок, так как проверяю запись сразу после добавления).

В переменной $sql при этом просто указан тот самый запрос что я привёл выше.

2. Также, я пробовал делать запрос не в виде INSERT ... (fields) VALUES (values), а в виде INSERT ... field1=value1, field2=value2 и т.д., опять же без результата.

3. Я обновил систему и до максимума и перезагрузил машину, не помогло. Кстати вот конфигурация:

Система: Debian Wheezy x64
Ядро: 3.2.0-4-amd64
Mysql: mysql Ver 14.14 Distrib 5.5.46, for debian-linux-gnu (x86_64) using readline 6.2
Php: PHP 5.4.45-0+deb7u2 в виде модуля для Apache
Apache: 2.2.22

4. Ещё, пробовал менять тип данных у поля price в таблице на bigint, integer, float, varchar(255), без результата :(

5. Проверял свободное место на диске (всё окей), сообщения в dmesg (всё окей), сообщения в /var/log/mysql и /var/log/apache (всё окей).

6. Пробовал гуглить, но либо я один такой, либо просто не смог грамотно сформулировать вопрос на английском (по «PHP INSERT not inserting all the fields into database» ничего путного не нашел)

7. Да, пробовал менять движок таблицы с MyISAM на InnoDB (MyIsam там был исторически) - не помогло.

8. Попробовал создать копию таблицы с другим именем, и вставлять данные в неё - не помогло.

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

Заранее спасибо :)

 , , ,

MihanEntalpo
()

Залипает клавиша TAB после Alt-TAB

Форум — Desktop

Краткая суть: в KDE после переключения между окнами по Alt-TAB иногда залипает TAB и начинает «нажиматься» в том окне куда произошло переключение.

Доброе время суток!
Уже долго живу с этой проблемой, наконец решил предпринять что-то более серьезное нежели просто гугление.

Конкретика:
Система: Debian Wheezy i386
GUI: KDE стандартная 4.8.4

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

Дополнительная информация:
по всей видимости это как-то связано с переключателем раскладки клавиатуры в KDE и вот почему:
1) TAB залипает только тогда, когда одно окно имеет раскладку «ru» а другое - «en». При переключении между окнами с одним языком такая проблема не возникает
2) На одном форуме я нагуглил «решение», в котором сказано «Просто сделайте чтобы раскладка не привязывалась к окнам, а была глобальной на все иксы». К сожалению, это решение для меня абсолютно неприемлемо.

Вероятно, залипание TAB-а зависит от того, как именно я его нажимаю, так как у моего товарища установлена полная копия моей системы (за исключением /home/*) на аналогичном железе и он не сталкивался с такой проблемой, однако, стоит мне прийти к нему, и начать что-то делать на его машине - довольно быстро проявляется таже ошибка.
Различает нас с ним только скорость печати, я печатаю гораздо быстрее, и могу например допечатать что-то, резко нажать Alt-Tab чтобы перейти в другое окно - и вот уже TAB залип.

Данный вопрос также всплывал на форумах убунты, но, там он не нашел решения, а просто «отпал» когда вышла новая версия убунты и баг там видимо либо пофиксили либо он сам рассосался.

В чем мне нужна помощь:
я хочу написать толковый багрепорт об ошибке (а может быть даже и пофиксить баг, так как навыки C++ присутствуют), но я не могу собрать достаточно информации.
Проблема эта проявляется случайным образом. Иногда всего лишь пару раз за день, а иногда каждое второе нажатие ALT+TAB.
Повторить её «специально» не получается, сейчас я для проверки в течении пяти минут сидел и переключался между двумя окнами, у которых были разные раскладки, и ничего не добился, однако стоило мне забыть про это и, уже через несколько минут, при перелючении из Kopete[ru] в Netbeans[en] курсор в нетбинсе понёсся вправо.
Нашел, что для дебаггинга событий используется xev, но он мне не помог, так как, видимо из-за какой-то уникальностии его окна, переключалка не может для него запомнить раскладку, например выбираю окно xev, включаю раскладку [ru], переключаюсь на другое окно, там раскладка [en], переключаюсь обратно - там уже тоже [en].

Подскажите, каким образом я могу получить хоть какую-то отладочную информацию о событии залипания TAB-а?
Я плохо понимаю в каком месте иксов можно просмотреть события нажимающихся кнопок «во всей системе» (а не в одном окне как с xev'ом)

Спасибо за то что пытались думать над моей проблемой :)

 ,

MihanEntalpo
()

eth NO-CARRIER при подключённом проводе и что с ним делать

Форум — Admin

Здравствуйте.

Столкнулся с очень странной проблемой.

В одной организации начались проблемы с интернетом, а именно, он начал пропадать по несколько раз в день, и появлялся снова только после перезагрузки «Роутера» - машины с установленной в давние времена Fedora Core 5. Однако появлялся интернет снова не очень надолго.

В ходе экспериментов было попробовано: смена сетевых карт роутера, использование в качестве роутера Wifi-коробочки Asus RT-N66U (так как все машины в организации подключаются к сети по Wi-fi, это было самым простым решением), однако это не привело к изменению ситуации. Интернет также мог время от времени отваливаться, при этом помогало только «передёргивание» провода в разъеме роутера.

Вызывали даже мастера из тех-поддержки провайдера, который прозвонил провод тестером, и сказал что всё отлично.

Поскольку, как я решил, данный wi-fi-роутер (Asus) всё равно не смог бы вытянуть интернет, пользуемый 20-ю машинами (он люто грелся, и на яндекс-маркете про него был срач на 10 страниц о том что «эта шляпа умеет только греться как утюг и лампочками мигать), а в федоре я не особо разбираюсь (и предшественником было оставлено море хитрых правил iptables и ip route, которые уже давно не использовались но понимание затрудняли), решил поставить на роутер Debian чтобы по крайней мере быть как рыба в воде.

Поставив Debian Wheezy со всеми необходимыми firmware для сетевых карт, и сделав настройки для простейшего интернет-шлюза я, успев долго просидеть за настройкой, обнаружил основной симптом болезни:

В моменты, когда пропадает интернет, ip link show показывает что на устройстве eth8 (интернет-карте) нет сигнала (NO-CARRIER). Факты:

1) Выдёргивание и вставление провода назад помогает, сигнал сразу же появляется.

2) Отключение и включение сетевого интерфейса (ip link set dev eth8 down/up) не помогает.

3) Служба поддержки провайдера, в тот момент когда у нас NO-CARRIER тоже наблюдает в своём админском интерфейсе (не знаю что у них там, наверное cisco какое-нибудь) отсутствие устройств подключённых к порту.

4) Смена сетевой карты никак не влияет на результат.

5) Большая часть NO-CARRIER'ов приходится на утро, возможно потому что все приходят на работу и начинают проверять почту, заходить вконтактики и включать ютюбы.

6) Ни в каких логах, в том числе в dmesg ничего кроме сообщений о том что „провод отключён“/„провод подключён“ нету.
Выглядит это примерно так:

[ 3245.159773] r8169 0000:03:00.0: eth8: link down
„Передёрнули“ провод:
[ 3239.600327] r8169 0000:03:00.0: eth8: link up
[ 3239.603487] ADDRCONF(NETDEV_CHANGE): eth8: link becomes ready
(Это одна из сетевых карт, пробовал также карты D-link и Intel, там примерно так-же)

7) После долгих уговоров, провайдер согласился в течении 3-х дней поменять порт к которому подключён наш провод на какой-нибудь другой. Но это в течении 3-х дней, а работать как-то надо. Организация торговая, и интернет для неё жизненно необходим.

Сейчас я просто вывел интернет-кабель, соединённый переходником „на стол“ и дал инструкцию по „починке интернета“ персоналу. Однако это решение, разумеется, никому не нравится, в том числе и мне. Что можно сделать в этой ситуации?

Можно ли как-то программно „отключить“ сетевую карту так, чтобы процесс „обнаружения провода“ начался в ней по новой? Чем может быть вызвано такое поведение? Я, к сожалению, недостаточно хорошо представляю себе физический уровень организации связи по витой паре, чтобы понять причины.

Заранее признателен за ваши ответы.

MihanEntalpo
()

Медленные файловые операции PHP

Форум — Admin

Приветствую!

Столкнулся с крайне непонятной ситуацией и нуждаюсь в вашей помощи или хотя-бы каких-то предположениях :)

Исходные данные: Жил себе сайт, написанный довольно давно на PHP в стилях «говнокод» и «спагетти», в чем-то неудобный в чем-то устаревший, но рабочий. (Параллельно с функционирование сайта шло, и до сих пор идет его переписывание на популярном фреймворке с использованием годных практик программировани, так что совет «выкинуть и переписать» потихоньку релизуется)

В какой-то момент сайт был перенесён на виртуальный сервер от Selectel, и стал жить там. После более года жизни на сервере, неделю назад начались симптомы болезни: - В основном все работает хорошо - Иногда, примерно каждый 10-й раз, но вообще как повезёт (иногда и 10 раз подряд) случайные страницы грузятся ОЧЕНЬ долго, иногда этот процесс заканчивается успешной загрузкой, но часто - превышается максимальный период выполнения PHP-скрипта и взоваращается пустая страница.

Система: debian squeeze, тип виртуализации неизвестен (но скорее всего что-то типа OpenVZ) - буду благодарен если подскажете как изнутри виртуалки проверить тип виртуального сервера.

Сервер: apache2, php5.3 конкретные версии не особо важны, далее объясню почему.

Что было предпринято: (извиняюсь за долгое расписывание, просто хочу чтобы сразу отпало много вопросов)

0) Нагрузочное тестирование через Apache Benchmark при определенном количестве запросов (например, 50 в секунду) приводило к тому что максимальное время запроса становилось как раз 60 секунд, и большая часть запросов не была обработана (по результатам ab)

1) Мониторинг нагрузки: во время таких «зависаний» top и htop показывали что система не особо то и загружена. 10% CPU, 40% RAM

2) Мониторинг SQL: long queries log в mysql были включены, и показали что за полдня таких запросов набарлось 2 штуки, по 2 секунды каждый.

3) Мониторинг подключений к SQL: их всего штук 10-20 набиралось от силы, с учетом ожидающих

4) Полное обновление системы (ПО не обновлялось уже год наверное) - ничего не изменилось

5) Установка apache и php из DotDeb - ничего не изменилось

6) Установка nginx + php5-fpm, настройка их на 81-м порту (для проверки) - опять же ничего не изменилось, под nginx конечно все стало работать чуть побыстрее, но тормозные страницы так и открывались тормозно! Вывод - дело не в апаче и пхп, и не в их версии,а в чем-то другом.

7) Оптимизация работы с базой путём добавления memcache - с помощью XDEBUG_PROFILE посмотрел все узкие места работы с базой, и добавил туда кэширование (где было допустимо). Страницы стали грузиться со скоростью света! Но те, которым выпадала судьба тормозить - тормозили как и раньше по 30-60 секунд.

8) Поставил xdebug_profile в ВЕЧНО-Включенное состояние, и стал анализировать самые жирные логи. И вот что выяснилось: На тех страницах, которые случайным образом начинали тормозить большую часть времени занимали файловые операции. А конкретно:

file_get_contents - считывающий файл с диска а не откуда-то из интернета по 20-60 секунд (упирается в max_execution_time)

include, require, require_once - да, по 25 секунд на каждый! А иногда и по 60!

session_start() - тоже от 20 до 60 секунд.

На счёт session_start() знаю, что можно перенести их в БД или в Мемкэш или ещё куда, и проблема решится, но зато не решатся остальные проблемы с файлами. И никаких «одновременных запросов» к сессии одного юзера не производится. На сайте нет никакого аякса, никаких фоновых работ, просто странички сгенерированные PHP.

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

9) Последнее что я предпринял - это попытался посмотреть количество доступных файловых дескрипторов (дескрипторов открытых файлов), через

# cat /proc/sys/fs/file-nr


Результат:
1376 0 6592120
то есть, как я понял, всего у меня есть 6.5 миллионов а из них использовано 1376.
Я знаю о том, что на некоторых системах пара-виртуализации можно «насильно» ограничивать какие-то параметры гостевой системы, поэтому решил проверить, каким вообще бывает это число занятых дескрипторов. Снова запустил apache benchmark, и стал с помощью watch смотреть на это число. Больше чем до 1440 оно так и не поднялось!
Последняя догадка в том что админы Selectel снизили количество открываемых файлов до такого количества (а может это админ данного сервера - если там не OpenVZ как-то умудрился это сделать), но для проверки этого у меня к сожалению не хватает опыта и знаний. (Тикет в Селектел я написал но ответа нет.)

Также, к сожалению не удалось воспользоваться утилитой iotop, которая должна показывать нагрузку дисковых операций.
Её выдача: «OSError: Netlink error: No such file or directory (2)», на просторах гугла нашел, что это значит, что, скорее всего у меня именно паравиртуализация которая не даёт делать некоторые вещи с ФС и ядром.

Может среди благородных донов на LORе найдется кто-то с подобным жизненным опытом...

Заранее спасибо за то что думали в направлении моего вопроса :)

 , , , ,

MihanEntalpo
()

Проблема с определением формата файла MP4

Форум — Multimedia

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

Предыстория: Друзья ездившие в Китай на каникулы приобрели по моей просьбе видеорегистратор на 8 видеокамер. Видеорегистратор - NoName. Точнее какой-то нэйм у него все-таки есть, но он на китайском :)

Внутри видеорегистратора установлено некое устройство, имеющее VGA-видеовывод, SATA-порт для винта, куда успешно подключен винт на 1ТБ. После снятия винта и попытки анализа его содержимого дома, выяснилось что он разбит на 4 раздела ext3 и они забиты кучей мелких файлов рассортированных по дате. Из чего можно сделать вывод о наличии некоего линукса или просто *nix'а на борту девайса.

Проблема возникла именно с файлами. Они имеют расширение MP4, однако mplayer и многие другие проигрыватели отказываются это воспринимать.

Итак, вот пища для ума:

0) Для желающих посмотреть - вот сам файл: http://bit.ly/xeg73K (находится на яндекс.народе)

1) Вывод mplayer'а:

Playing /tmp/file1.mp4.

Seek failed

libavformat file format detected.

[mp3 @ 0xaf76750] Header missing

Last message repeated 555 times

[mp3 @ 0xaf757b0] max_analyze_duration reached

[mp3 @ 0xaf757b0] Estimating duration from bitrate, this may be inaccurate

[lavf] stream 0: audio (mp1), -aid 0

==========================================================================

Opening audio decoder: [mp3lib] MPEG layer-2, layer-3

AUDIO: 22050 Hz, 2 ch, s16le, 288.0 kbit/40.82% (ratio: 36000->88200)

Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3)

==========================================================================

AO: [alsa] 22050Hz 2ch s16le (2 bytes per sample)

Video: no video

Starting playback...

big_values too large!

2) при запуске SMPlayer'ом слышно быстрый жужжащий звук

3) проверял запускать с помощью xine, и в винде: kmplayer, media player classic со всеми кодеками K-Lite (наверное это не панацея, но я попытался)

4) найдена аналогичная проблема: http://linuxvideo.ru/forum/viewthread.php?thread_id=12

5) из предыдущей темы найдена такая история: http://www.moviecodec.com/file-types/how-to-play-cctv-dv4-file-format-in-pc-8...

6) из последнего адреса удалось выкопать следующую инфу: Все плейеры которые там рекомендовались - или канули в лету, или не работают, или не открывают данный файл, КРОМЕ: Elecard AVC HD Player, который, разумеется, под винду. Файлы он открывает и почти хорошо читает (во время воспроизведения иногда останавливается по непонятным причинам)

7) Вышеупомянутый Elecard сообщает о том, что файл имеет формат MPEG4 AVC HD (типа того) но поискав на эту тему я пришел к выводу что видимо это какая-то проприетарная версия лично этого Элекарда.

8) Сам элекард в Wine заставить работать не удалось, валится и все тут. Ни на winehq ни где-то еще нет пытавшихся его запустить под вайном, так как этот виндовый плейер никому нафиг не нужен.

9) Конвертировать винт в fat32 или ntfs невозможно, ибо у меня нет чистого винта на 1 ТБ, а конвертировать «на живую» я боюсь :)

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

Итак: Я в тупике, и прошу вашей помощи, друзья.

Спасибо уже за то уделили время читая данный вопль.

MihanEntalpo
()

RSS подписка на новые темы