LINUX.ORG.RU

Сообщения shatsky

 

strace не показывает пути (с -y) и строки (только длину в байтах)

Форум — General

Заметил такую странность на одном бинарнике. Бинарник вроде бы обыкновенный, права доступа такие же, как у других бинарников, расширенные атрибуты отсутствуют. В чем может быть причина?

UPD это происходит не сразу, до какого-то события все подробности вызовов отображаются. Кажется, вот фрагмент, в котором это происходит:

21494 close(3</home/eugene/.config/QtProject/qtlogging.ini>) = 0
21494 getuid()                          = 1000
21494 getppid()                         = 21490
21494 statx(AT_FDCWD, "/proc/21490/exe", AT_STATX_SYNC_AS_STAT|AT_SYMLINK_NOFOLLOW, STATX_ALL, {stx_mask=STATX_BASIC_STATS, stx_attributes=0, stx_mode=S_IFLNK|0777, stx_size=0, 
...}) = 0
21494 readlink("/proc/21490/exe", "/nix/store/mcwpfr63ar5zahqyagk7l"..., 256) = 65
21494 statx(AT_FDCWD, "/proc/21490/exe", AT_STATX_SYNC_AS_STAT, STATX_ALL, {stx_mask=STATX_ALL, stx_attributes=0, stx_mode=S_IFREG|0555, stx_size=1152216, ...}) = 0
21494 prctl(PR_SET_DUMPABLE, SUID_DUMP_DISABLE) = 0
21494 sched_get_priority_min(SCHED_RR)  = 1
21494 sched_setscheduler(0, SCHED_RR, 0x7fff8900d920) = -1 EPERM (Operation not permitted)
21494 capget(0x129daa4, NULL)           = 0
21494 capget(0x129daa4, 0x129daac)      = 0
21494 capset(0x129daa4, 0x129daac)      = 0
21494 rt_sigaction(SIGTERM, 0x7fff8900d490, 0x7fff8900d530, 8) = 0
21494 rt_sigaction(SIGINT, 0x7fff8900d490, 0x7fff8900d530, 8) = 0
21494 rt_sigaction(SIGHUP, 0x7fff8900d490, 0x7fff8900d530, 8) = 0
21494 rt_sigaction(SIGABRT, 0x7fff8900d490, 0x7fff8900d530, 8) = 0
21494 rt_sigaction(SIGSEGV, 0x7fff8900d490, 0x7fff8900d530, 8) = 0
21494 rt_sigaction(SIGPIPE, 0x7fff8900d490, 0x7fff8900d530, 8) = 0
21494 rt_sigprocmask(SIG_BLOCK, 0x7fff8900d9e0, NULL, 8) = 0
21494 geteuid()                         = 1000
21494 getuid()                          = 1000
21494 openat(AT_FDCWD, 0x7fff8901b141, O_RDONLY|O_CLOEXEC) = 3
21494 fstat(3, 0x7f5c0a013840)          = 0

Прозреваю, что в результате какого-то из этих вызовов strace лишается доступа к страницам памяти процесса (в которых находятся строки, на которые ссылаются указатели)

 

shatsky
()

Тупых вопросов про Qt тред

Форум — Development
  1. Что считается более труЪ и почему - инстанциировать библиотечные классы или наследоваться от них? Дилемма осложняется тем, что в Python модуль практически синглтон, т. е. если я в нем инстанциирую библиотечный класс и навалю вокруг полученного объекта своей логики как module-level функций, то я могу потом импортировать весь модуль и работать с ним как с объектом.

  2. Некоторые вещи в Qt можно сделать разными способами. Например, если нужно обрабатывать выбор элемента в дереве, то можно повесить свой обработчик на сигнал selectionModel().currentChanged, а можно перегрузить существующий обработчик currentChanged. Зачем так сделано и какой способ труЪ?

 , , ,

shatsky
()

GPLv3+, говорите?

Форум — Talks

https://itsfoss.com/hippocratic-license/

Для Ъ: пока продолжается столлмангейт, небезызвестное Эмке выкатило новую лицензию (пока что на основе MIT), в которую добавлен запрет использования ПО лицами, поддерживающими дискриминацию меньшинств (в самом широком смысле). Естественно, авторитетные организации отказались признать такую лицензию свободной, на что Эмке заявило

OSI and FSF are not the real arbiters of what is Open Source and what is Free Software.

We are.

 , , ,

shatsky
()

Про PCI host bridge и 00:00.0

Форум — Linux-hardware

Чем на самом деле является присутствующее во всех x86 системах PCI устройство 00:00.0 с классом 0x060000 и как оно используется? Обычно пишется, что это хост бридж/драм контроллер, но хост бридж было бы ожидаемо увидеть как родительский узел иерархии PCI без собственного адреса на downstream шине, а при обращении процессора к памяти PCI уж точно не используется. Это какое-то устройство для доступа к регистрам настоящего моста CPU-PCI/CPU-RAM, который сам по себе «прозрачен»?

Правильно ли я понимаю, что текст в документации ядра: «For example, there's no standard hardware mechanism for enumerating PCI host bridges, so the ACPI namespace must describe each host bridge, the method for accessing PCI config space below it, the address space windows the host bridge forwards to PCI (using _CRS), and the routing of legacy INTx interrupts (using _PRT).» относится к появившемуся с появлением PCIe memory-mapped механизму взаимодействия с хост-бриджем и доступными через него устройствами, а до этого было достаточно стандартных I/O портов и APCI вообще не был необходим?

Перемещено leave из talks

 , , ,

shatsky
()

Конвертер HDMI-VGA и Freesync

Форум — Talks

Купил сабж (на EP94Z1E, https://www.kirich.blog/obzory/58-konverter-hdmi-vga.html), подключил старый VGA монитор к проброшенной в виртуалку RX 470. И вот что странно: я не вижу тиринга в играх, когда FPS плавает между 30 и 60 (если верить MSI Afterburner и субъективным ощущениям). Это работает при выключенном vsync и включенном FPS limit. Если выключить последний - тиринг появляется. Если включить vsync - начинает резаться до 30, когда игра не может выдать все 60. Возможно ли, что в конвертере реализован некий инженерный хак, позволяющий получить результат эвкивалентный работе freesync?

Насколько я понимаю, в VGA передается синхросигнал в зеленом канале, не значит ли это, что можно заставить VGA монитор работать с переменной частотой, если интервал этого сигнала сделать переменным?

 ,

shatsky
()

Все крашится

Форум — Linux-install

Попытался использовать kvm, на который рассчитывал при покупке железа. Все крашится с наиразнообразнейшими ошибками - сегфолты, ошибки распаковки initramfs, kernel panic с руганью на адрес в RIP, отсутствие нужных символов в либах. Похоже на memory corruption или проблему с трансляцией адресов, но мемтест ничего не обнаруживает. Попробовал на всякий случай выключить VT-d, убрать относящиеся к iommu аргументы ядра, выгрузить модули virtualbox - ничего не помогло. В qemu без kvm работает. В virtualbox тоже все работает - а он ведь использует VT-x, и даже не может 64-разрядные VM без него. Ну и на хосте никаких проблем не было. Ядро 4.14.95, NixOS (хотя что тут может от дистра зависеть-то), Xeon E3-1225 v2, плата ASRock H61M-DGS. Нагуглить ничего релевантного не выходит, проявления выглядят уж слишком разнообразно. Может, кто-нибудь знает, что это может быть? Дефективное железо? Но тогда почему больше нигде это не проявляется?

ЗЫ еще сначала был странный звоночек - виртуалка не запускалась с руганью на занятость /dev/kvm, в dmesg сыпались каждый раз ошибки вида «kvm: enabling virtualization on CPU0 failed». Вылечилось перезагрузкой.

ЗЫ2 похоже, дело таки в конкретной сборке ядра в конкретном дистре, под убунтой все работает. Обновление микрокода не помогло, буду искать другие причины.

ЗЫ3 обновление ведра до 4.14.109 помогло. Похоже, столкнулся с https://bugzilla.kernel.org/show_bug.cgi?id=202419

Перемещено Dimez из talks

 , , ,

shatsky
()

Про архитектуру display manager'ов

Форум — Talks

Почему разработчики решили, что запихнуть логику управления местами в главный процесс display manager'а и забить на возможность одновременного запуска нескольких его экземпляров хорошая идея? Попытался сделать для LightDM instantiated сервис (lightdm@.service, чтоб запускать/останавливать по отдельности lightdm@seat0, lightdm@seat1) с костыльными конфигами, в которых для всех мест кроме управляемого текущим экземпляром команда запуска иксов переопределяется на false - не сработало, второй экземпляр ругается на невозможность занять имя на шине DBus. Судя по документации, все основные альтернативы работают так же. Кто-нибудь знает юзабельную?

 ,

shatsky
()

Про поддержку Intel IOMMU (VT-d) со стороны материнской платы

Форум — Talks

Где почитать про то, как именно используются эти самые DMAR таблицы и как так вышло, что без поддежки платы IOMMU невозможно использовать даже для проброса устройств, подключенных напрямую к процессору? Судя по структурной схеме моей платы, как минимум PCIe x16 слот подключен напрямую к контроллеру PCIe 3.0 в процессоре.

 ,

shatsky
()

Про кривизну VT-switching/KMS/иксов

Форум — Talks

Понадобилось переключиться в другой vt, иксы блокируют Ctrl+Alt+Fx. Выполняю sudo chvt 1. Ничего не происходит. strace показывает, что был выполнен сисколл VT_ACTIVATE 1 на /dev/tty0. В /sys/class/tty/tty0/active tty1. Не трогая клавиатуру переключаюсь в текстовый редактор, набираю текст, ввод которого в консоли залогинил бы меня и выполнил бы парочку команд в шелле. В эмуляторе терминала выполняю sudo chvt 7. Смотрю процессы - так и есть, на tty1 запущен шелл, команды выполнились. Безобразие. Зато у ретроградов никаких претензий.

Насколько я понимаю, средств для revoke дисплея и устройств ввода у ядра нет и не планируется, и даже поступление VT_RELDISP от процесса, контролирующего source vt, находящийся в KD_GRAPHICS, оно не проверяет перед тем, как сменить /sys/class/tty/tty0/active и начать передавать события ввода запущенному на target vt процессу. И это еще мультисита нет.

 

shatsky
()

Просьба к имеющим установленную L4D2 на убунте

Форум — Games

Сообщить, сегфолтится ли игра при попытке подключения к серверам:

46.174.52.14:27216
185.248.102.39:27020

 ,

shatsky
()

Рабочее место в 20 метрах от системника

Форум — Talks

Есть один домашний недосервак/рабочая станция с мультиситом, нужно сделать два (в идеале) места для полноценной работы с ним в соседней комнате. Также нужна возможность в случае работы с ноутом там же подключаться к гигабитной сети. Сейчас между точками проброшена пара 20-метровых UTP Cat5e (можно заменить на более высокочастотные/помехозащищенные). Вариантов решения много, но все они хуже.

1. 20м HDMI.
+ должно просто работать
- на дешевые кабеля (от 20 долларов) много жалоб, дорогие ближе к сотне
- сложно прокладывать в уже благоустроенном доме - толстый, с большим радиусом изгиба, с розетками тоже непросто
- куча разного вида кабелей, превышающая мой предел терпимости к элементам киберпанка в интерьере

2. Передавать видеосигнал по витой паре.
+ минимум кабелей; витая пара одновременно для LAN и прямого подключения периферии не нужна - можно будет переключать в зависимости от задач
2.1 Пассивные переходники HDMI-8P8C или DVI-8P8C, пример https://www.aliexpress.com/item/Kebidu-Professional-4k-RJ45-Ports-HDMI-Extend... .
+ копеечная стоимость
- непонятно, как это вообще может работать (но в отзывах многие пишут, что с добротной витой парой на 15-20м работает)
2.1.2 Аналогичные переходники для передачи по двум кабелям, пример https://www.aliexpress.com/item/1-Pair-HDMI-Dual-RJ45-CAT5E-CAT6-UTP-LAN-Ethe...
- два места одновременно никак не сделать; хотя это может быть единственным реально работоспособным сверхдешевым вариантом
- в отзывах пишут, что при неправильном подключении легко спалить технику
2.1.2.1 Возможно, переходники для передачи по двум кабелям можно использовать наоборот - для превращения HDMI-розеток в пару Ethernet.
2.2 HDBaseT
+ имеет хорошую репутацию, популярен в узких кругах на реддите
- просто конская цена за пару трансмиттер-ресивер
- возможно, очень ограниченный ресурс относительно недорогих устройств; даже на не ноунейм Monoprice за $100 (без стоимости пересылки из США, и это считается дешевым решением данного типа) жалуются, что он после года работы умирает (возможно, лечится установкой более массивных радиаторов и не столь критично для видеопотока дисплеев с разрешением ниже 1080p).

2.3 Передавать сжатый видеопоток по витой паре поверх TCP/IP
+ теоретически возможно передавать по тому же кабелю еще и сигналы устройств ввода
- артефакты сжатия
- латентность?
- необходимость покупать еще более сложное узкоспециализированное активное оборудование, умеющее кодировать-декодировать сжатый видеопоток, либо дополнительная вычислительная нагрузка на сервер и тонкий клиент
- хороших свободных решений[, насколько мне известно, ]нет.

Занимался ли кто-нибудь из ЛОРовцев подобным? Я собираюсь начать с пассивных переходников HDMI-8P8C, вдруг для моего недоHD хватит.

 , ,

shatsky
()

Ссылки в 2gis

Форум — Talks

Пригляделся к хвостам урлов организаций в каталоге:

https://2gis.ua/odessa/firm/1970853118808894?refHash=cff0a38e-b330-43b7-a299-...*%2Fpage%2F5038%2Fpage%2F1

Задумался, что там делает cat /etc/passwd и подозрительно выглядящий кусок raw SQL, законцованный комментарием. Посмотрел с соседней машины - никаких хвостов. Перезагрузил каталог у себя - тоже никаких хвостов.

 

shatsky
()

Гуглоаккаунт опасносте?

Форум — Talks

Включил двухфакторку, получил тестовый код, решил перелогиниться. Гугл просит код - телефон молчит. Проходит несколько минут - ничего. Через минут 5 попыток повторить отправку код пришел. Смска в обычном формате гугла, в поле отправителя - альфанумерическое имя «Google». Залогинился. Через минут 10 начинает приходит тот же код. Уже без сопроводительного текста, отправитель - левый номер одного из опсосов незалежной. Потом еще раз, с другого номера. Потом еще два раза, со странных альфанумерических имен «centroBu» и «ABANDON». Что это могло быть? Гугл борется с потенциальной блокировкой своих смсок по альфанумерическому имени?

 ,

shatsky
()

Про качество оптимизации

Форум — Web-development

Есть безобидный запрос

SELECT DISTINCT messages.contact_id FROM messages WHERE messages.failed != true AND messages.timestamp_sent > какое-то значение
Обычно он выполняется 2 секунды, но иногда - все 10 минут. Как выяснилось, при некоторых значениях фазы луны^W^W timestamp_sent оптимизатор решает, что использовать очевидный индекс timestamp_sent ни к чему, и использует contact_id, который вроде бы никак ускорить выборку не может. А если использовать USE INDEX - вообще никакой не использует. И только с костыльным FORCE INDEX понимает, достигая требуемых 2 секунд.

Еще я недавно столкнулся с тем, что оптимизатор подзапрос, выбирающий общий для всего запроса набор ключей, который в памяти теоретически занимает менее мегабайта, иногда (тоже в зависимости от значения datetime-поля) решает вместо однократного выполнения перед запросом (MATERIALIZED) выполнять для каждой строки выборки (DEPENDENT SUBQUERY), увеличивая время выполнения запроса с секунд или минут до более суток.

Главный вопрос: оптимизация MySQL/MariaDB настолько говно, или я чего-то не понимаю? Если первое, то есть ли смысл валить на PostgreSQL?

 , ,

shatsky
()

Бесплатный OpenShift Online все?

Форум — Talks

Очередной день пытаюсь перенести проекты на v3. Вроде бы разобрался, что да как, но снаружи ничего не открывается. В веб-консоли у маршрута крутится бесконечный спиннер с сообщением о его неготовности The route is not accepting traffic yet because it has not been admitted by a router. В выхлопе oc status ошибка route/<название маршрута> is routing traffic to svc/<название сервиса>, but either the administrator has not installed a router or the router is not selecting this route. Там же предлагается использовать команду oc adm router, но с --dry-run она сообщает об отсутствии роутера сообщением error: Router "router" service does not exist", а при попытке создать его выдает увлекательные сообщения, выдача гугла по которым наводит на мысль, что делать такое могут только администраторы сервера OpenShift.

Тут вроде как были пользователи OpenShift Online Starter, у кого-то что-то работает?

 

shatsky
()

Оффлайн навигация

Форум — Talks

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

 

shatsky
()

Про системы редактирования генома

Форум — Talks

Периодически слышу о том, что CRISPR/Cas9 невозможно довести до клинического применения из-за неустранимой нецелевой активности на участках, отличающихся от целевого одним или несколькими нуклеотидами. И каждый раз вспоминаю про хэширование. Были ли попытки найти решение, которое реализует некий химический аналог хэш-функции, чтобы избежать вырезания нецелевых участков? Какие проблемы есть на этом пути?

Cast DNA_Seq

 

shatsky
()

Buran.ru хотят закрыть

Форум — Talks

https://geektimes.ru/post/291403/

Ъ: на создателя хорошего, годного сайта наехали владельцы товарного знака «Буран». Похоже на семейные разборки, бывшая жена при делах.

 

shatsky
()

Есть ли хоть одна причина...

Форум — Talks

...по которой в 2017 году в линуксе нет штатного механизма ограничения минимального размера памяти, доступной для буферизации/кэширования, чтобы при ее исчерпании не приходилось черт знает сколько смотреть на unresponsive систему и ждать, пока процессы не попробуют использовать еще больше, вызвав срабатывание oom-killer, или не освободят занятую? Или я неправильно понимаю причины этого раздражающего явления?

Inb4: просто увеличь swap. Нет, я хочу, чтобы описанная ситуация была в принципе невозможной.

 ,

shatsky
()

Вытащить текст из PDF с невидимыми лишними пробелами

Форум — Talks

Имеется PDF, при копировании/извлечении текста он получается с многочисленными лишними пробелами в словах. Есть что-нибудь готовое для решения задачи? Логика вроде бы проста: если координата whitespace-символа совпадает с координатой другого символа, также попавшего в selection, символ следует выкинуть.

 

shatsky
()

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