LINUX.ORG.RU

Сообщения Rot1

 

eGPU в Sway возможен?

Форум — Desktop

Подключаю карту (RX 570) к ноуту (Arch Linux + Sway) через тандерболт (R43SG-TB3). Приоритет карт указал в файле /etc/environment.d/10sway.conf строчкой WLR_DRM_DEVICES=/dev/dri/card1:/dev/dri/card0. Карту авторизовал с помощью boltctl.

Если подключать монитор к карте, он перестает выдавать больше 30 фпс даже на рабочем столе. Но когда я запускаю игру через стим, мне внутриигровой счетчик показывает ~60 кадров, хотя я не наблюдаю никакой плавности. Самое интересное, что если перетащить окно с игрой на экран ноута, то изображение становится плавным. В данной схеме подключения видеокарта работает постоянно и не отключается, даже на рабочем столе.

Я читал, что композитор рендерит картинку на одной карте, а затем копирует ее на другую. Поэтому было бы логично наблюдать тормоза на экране ноута, но я их наблюдаю на мониторе, который подключен непосредственно к внешней карте. Нашел обсуждение похожей проблемы https://github.com/swaywm/sway/issues/4596, но решения там нет.

Я подключаю монитор через HDMI, пробовал сменить кабель на DP, но разницы никакой. Установка другого драйвера (amdvlk, vulkan-radeon, amdgpu-pro) тоже ничего не дала. Отключение экрана ноутбука через конфиг тоже не помогло.

Я пробовал подключать монитор к ноуту. В этом случае карта отключается на рабочем столе и лагов никаких нет. Когда запускаю игру, карта включается, и изображение остается плавным на обоих экранах. Но проблема в том, что мне удалось достичь этого случайно, всего 2 раза, когда переустановил драйвер и перезагрузился. После повторой перезагрузки игры перестали запускаться на внешней карте. Вот, что пишет мне lutris:

[vanya@cora ~]$ lutris
2022-01-29 06:16:37,593: Command /usr/bin/lspci after 3 seconds
2022-01-29 06:16:37,687: Magic not available. Unable to automatically find game executables. Please install python-magic
2022-01-29 06:16:37,719: Starting Lutris 0.5.9.1
2022-01-29 06:16:37,736: No cores found
2022-01-29 06:16:38,389: Failed to read content length on response from https://api.github.com/repos/lutris/dxvk/releases
2022-01-29 06:16:39,350: Startup complete
2022-01-29 06:16:39,355: Running Intel Mesa driver 21.3.4 on Mesa Intel(R) UHD Graphics 620 (WHL GT2) (0x3ea0)
2022-01-29 06:16:39,356: GPU: 1002:67DF 148C:2379 (amdgpu drivers)
2022-01-29 06:16:39,357: GPU: 8086:3EA0 1558:1325 (i915 drivers)
2022-01-29 06:16:39,358: i386 libgnutls.so.30 missing (needed by gnutls)
2022-01-29 06:16:39,406: Vulkan is not available or your system isn't Vulkan capable

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

[vanya@cora ~]$ vulkaninfo
ERROR: [Loader Message] Code 0 : loader_scanned_icd_add: Driver /usr/lib/libvulkan_radeon.so supports Vulkan 1.2, but only supports loader interface version 4. Interface version 5 or newer required to support this version of Vulkan (Policy #LDP_DRIVER_7)
ERROR: [../mesa-21.3.4/src/amd/vulkan/radv_device.c:583] Code 0 : VK_ERROR_INCOMPATIBLE_DRIVER
ERROR: [Loader Message] Code 0 : setup_loader_term_phys_devs:  Failed to detect any valid GPUs in the current config
ERROR: [Loader Message] Code 0 : setup_loader_tramp_phys_devs:  Failed during dispatch call of 'vkEnumeratePhysicalDevices' to lower layers or loader to get count.
ERROR at /build/vulkan-tools/src/Vulkan-Tools-1.2.203/vulkaninfo/vulkaninfo.h:230:vkEnumeratePhysicalDevices failed with ERROR_INITIALIZATION_FAILED

Во время логина, если не сделать это сразу, а подождать, пока видеокарта отключится, можно увидеть такое сообщение:

https://ibb.co/wRhK5Y0

Потом во время запуска композитора все зависает на минуту, затем, если закрыть сеанс, можно увидеть это:

https://ibb.co/FxwLGBh

Во время выключения часто, но не всегда, вижу такое сообщение:

https://ibb.co/h9CC1DY

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

 , , , ,

Rot1
()

Кривой drag & drop в pcmanfm-gtk3

Форум — Desktop

У меня есть 2 файла: f1 и f2. Перетаскиваю f1 в папку d. Затем перетаскиваю f2 в d. Получаю ошибку:

Error when getting information for file “/foo/bar/d/f1”: No such file or directory

То есть он пытается переместить файл, который я перемещал ранее.

Это ведь грубейший баг. У вас он тоже присутствует? В интернете ничего не нашел про него…

Если перемещать при помощи контекстного меню, то все работает.

Версия 1.3.2.

 , , , ,

Rot1
()

Багнутый Firefox

Форум — Desktop

Недавно перестала работать кнопка Заказы на Ozon, всплывающие меню тоже не открываются. Подобные проблемы замечал и раньше, на других сайтах, на госуслугах, например. В Chromium все норм. У меня одного такая проблема, или это норма? Как можно пофиксить? На Хромимум возвращаться не хочется, там не работает аппаратное ускорение и регулярно возникает баг с ютубом, когда ролик перестает загружаться, пока не перезагрузишь компьютер.

 , , , ,

Rot1
()

32 дюйма для извращенцев?

Форум — Desktop

Купил себе монитор 32", QHD. После длительной работы на своем 15" ноутбуке новый монитор кажется гиганским. Как будто телевизор поставил себе на рабочий стол, хотя со стороны он кажется не таким большим. Вот думаю, может нужно было брать 27"? В интернетах читал, что многие для кодинга берут 29" и при этом жалуются на то, что не хватает места по вертикали. 32" фактически и есть 29" с дополнительным вертикальным пространством. Делитесь своим опытом использования мониторов с разной диагональю. Нормально ли прогеру сидеть за 32" моником или это какая-то экзотика? PS. До глаз расстояние 75 см.

 , , , ,

Rot1
()

Сломалась виртуалка после обновления системы

Форум — Desktop

Система ArchLinux. После обновления перестала запускаться виртуалка с 10 вендой. Расширения из аура удалил, но это не помогло. Во время запуска виртуалки либо висит черный экран, либо интерфейс виртуалбокса полностью зависает. После нескльких неудачных попыток запуска происходит загрузка в меню восстановления. Оно работает, но после перезагрузки все повторяется.

[vanya@cora ~]$ pacman -Q | grep -i virt
virtualbox 6.1.12-4
virtualbox-guest-iso 6.1.12-1
virtualbox-host-modules-arch 6.1.12-14

Кто-нибудь из арчеводов сталкивался с подобным?

 , ,

Rot1
()

Дробный размер шрифта в qt5ct

Форум — Desktop

Привет. Использую qt5ct для настройки внешнего вида Qt-приложений. Шрифт размером 12pt кажется большим, а 11pt - маленьким. Ввести размер 11.5pt нельзя. Есть ли способ обмануть qt5ct и сделать это?

В ~/.config/qt5ct/qt5ct.conf есть строка: general=@Variant(\0\0\0@\0\0\0\x12\0N\0o\0t\0o\0 \0S\0\x61\0n\0s@(\0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0\x32\x10) . Кажется, что в ней закодирована информация о шрифте. Есть идеи, как в ней заменить 12 на 11.5?

PS. Править исходники не хочется

 , , ,

Rot1
()

Пропустить разделы перед содержанием в etoc

Форум — General

Привет! У меня содержание начинается после раздела с рефератом. Я не хочу включать реферат в содержание, но он там появляется. Что можно сделать?

Раньше использовал \startcontents из пакета titletoc, но сейчас использую etoc и там аналогичного макроса не нашел…

Минимальный пример: https://ru.overleaf.com/project/5ed01f0b475d7e000161356f. Нужно из Contents исключить First

 ,

Rot1
()

Как поставить Breeze Dark в qt5ct?

Форум — Desktop

Привет! Сижу на арче, использую sway, хочу, чтобы все приложения выглядели одинаково (почти). Установил эти пакеты: breeze, breeze-gtk. В lxappearance успешно установил темную тему, в qt5ct в выпадающем списке вижу только светлую (Breeze), других нет. Кто ставил эту тему, поделитесь опытом, куда спрятана темная версия для qt?

 , , , ,

Rot1
()

Запуск gunicorn не под рутом

Форум — Admin

Если запускать не под рутом, то получаю такое

[2020-03-24 14:47:56 +0000] [10112] [INFO] Starting gunicorn 19.7.1
[2020-03-24 14:47:56 +0000] [10112] [ERROR] Retrying in 1 second.
[2020-03-24 14:47:57 +0000] [10112] [ERROR] Retrying in 1 second.
[2020-03-24 14:47:58 +0000] [10112] [ERROR] Retrying in 1 second.
[2020-03-24 14:47:59 +0000] [10112] [ERROR] Retrying in 1 second.
[2020-03-24 14:48:00 +0000] [10112] [ERROR] Retrying in 1 second.
[2020-03-24 14:48:01 +0000] [10112] [ERROR] Can't connect to ('0.0.0.0', 443)

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

Если использовать специальные флаги -u и -g для смены пользователя рабочих процессов, то получаю ошибки, связанные с отсутствием необходимых модулей

[2020-03-24 14:26:58 +0000] [9776] [INFO] Starting gunicorn 19.7.1
[2020-03-24 14:26:58 +0000] [9776] [INFO] Listening at: https://0.0.0.0:443 (9776)
[2020-03-24 14:26:58 +0000] [9776] [INFO] Using worker: sync
[2020-03-24 14:26:58 +0000] [9779] [INFO] Booting worker with pid: 9779
[2020-03-24 14:26:59 +0000] [9779] [ERROR] Exception in worker process
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gunicorn/arbiter.py", line 578, in spawn_worker
    worker.init_process()
  File "/usr/lib/python3/dist-packages/gunicorn/workers/base.py", line 126, in init_process
    self.load_wsgi()
  File "/usr/lib/python3/dist-packages/gunicorn/workers/base.py", line 135, in load_wsgi
    self.wsgi = self.app.wsgi()
  File "/usr/lib/python3/dist-packages/gunicorn/app/base.py", line 67, in wsgi
    self.callable = self.load()
  File "/usr/lib/python3/dist-packages/gunicorn/app/wsgiapp.py", line 65, in load
    return self.load_wsgiapp()
  File "/usr/lib/python3/dist-packages/gunicorn/app/wsgiapp.py", line 52, in load_wsgiapp
    return util.import_app(self.app_uri)
  File "/usr/lib/python3/dist-packages/gunicorn/util.py", line 377, in import_app
    __import__(module)
  ...
ModuleNotFoundError: No module named 'psycopg2'
[2020-03-24 14:26:59 +0000] [9779] [INFO] Worker exiting (pid: 9779)
[2020-03-24 14:26:59 +0000] [9776] [INFO] Shutting down: Master
[2020-03-24 14:26:59 +0000] [9776] [INFO] Reason: Worker failed to boot.

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

Есть идеи?

 , , , ,

Rot1
()

Макрос на VBA для Libreoffice, странная ошибка

Форум — Desktop

Доброго времени суток. Написал функцию в Libreoffice Calc на VBA. Она отрабатывает правильно и без ошибок, но в момент открытия документа появляется следующая ошибка ровно столько раз, сколько эта функция используется в формулах:

BASIC runtime error.
'1'

Type: com.sun.star.uno.RuntimeException
Message: unsatisfied query for interface of type com.sun.star.sheet.XSpreadsheetView!

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

Знатоки макросов в Libreoffice, подскажите, в чем проблема?

Сам макрос (сумма чисел в строке с заданным отступом и промежутком):

REM  *****  BASIC  *****

Sub Main

End Sub

Option VBASupport 1
Option Explicit

Function SumEvery(startCell As Range, row As Boolean, gape As Integer) As Double
	On Error GoTo ErrorHandler
	
	Dim sht As Worksheet
	Set sht = ActiveSheet
	
	Dim lastCell As Range
	If row Then
		Set lastCell =  Cells(startCell.Row, sht.Columns.Count)
	Else
		Set lastCell = Cells(sht.Rows.Count, startCell.Column)
	End If
	
	Dim resRan As Range
	Set resRan = Range(startCell, lastCell)
	
	Dim res As Double
	res = 0.0

	Dim c As Integer
	For c = 1 to resRan.Cells.Count
		If (c - 1) Mod gape = 0 Then
			res = res + resRan.Cells(c).Value
		End If	
	Next
	
	SumEvery = res
	
	Exit Function
	
	ErrorHandler:
	Stop
End Function

Выяснил, что проблемный участок кода здесь:

Dim sht As Worksheet
Set sht = ActiveSheet

Что с ним можно сделать? Если заменить на

Dim sht As Object
Set sht = ThisComponent.getCurrentController().getActiveSheet()

то ситуация та же самая, но ошибка изменяется на:

BASIC runtime error.
'91'
Object variable not set.

Ошибка исправлена созданием новой библиотеки в Macros Organizer. Но теперь использование макроса возвращает ошибку #NAME? пока он не будет открыт на редактирование

Причина ошибки #NAME? здесь https://stackoverflow.com/questions/26442049/name-error-after-opening-spreadsheet-with-macro

В итоге вернул функцию обратно в docname.ods - Standard - Module1 и добавил игнорирование ошибок. В описании исправленная функция

 , , ,

Rot1
()

QSettings для кириллицы

Форум — Development

Доброго времени суток. Есть файл в кодировке Windows-1251 следующего содержания:

[bar]
hello=world

[бар]
hello=world

Пытаюсь его прочесть:

QSettings s("/home/vanya/winfolder/foo.txt", QSettings::IniFormat);

QTextCodec* c = QTextCodec::codecForName("CP1251");
s.setIniCodec(c);

qDebug() << s.childGroups();

Получаю ("bar", "áàð") . Если закомментировать строку с указанием кодировки, то вывод тот же. В документации к setIniCodec сказано:

The codec is used for decoding any data that is read from the INI file ... By default, no codec is used, and non-ASCII characters are encoded using standard INI escape sequences.

Чему вообще не соответствует поведение моего кода. Вопрос: как правильно получить значения на русском языке?

Если foo.txt открыть в кодировке latin1, то там будут те же áàð. Тогда для чего я использую функцию setIniCodec? В моем понимании она как раз используется, чтобы правильно конвертировать текст из файла в utf-16. Тогда в чем проблема?

 , , ,

Rot1
()

Неожиданно сломался VirtualBox

Форум — Desktop

Доброго времени суток. Ночью закрыл виртуалбокс, а утром он отказался открываться:

[vanya@Cora ~]$ /usr/lib/virtualbox/VirtualBox
Segmentation fault (core dumped)

Пробовал всякое: обновил систему, перезагрузился, удалил и снова установил пакет. Система ArchLinux. Прикладываю логи.

journalctl

Oct 09 15:16:43 Cora audit[3956]: ANOM_ABEND auid=1000 uid=1000 gid=1000 ses=1 pid=3956 comm="VirtualBox" exe="/usr/lib/virtualbox/VirtualBox" sig=11 res=1
Oct 09 15:16:43 Cora kernel: traps: VirtualBox[3956] general protection fault ip:562008cdaafb sp:7ffe28a58800 error:0 in VirtualBox[562008c60000+159000]
Oct 09 15:16:43 Cora kernel: audit: type=1701 audit(1570623403.119:45): auid=1000 uid=1000 gid=1000 ses=1 pid=3956 comm="VirtualBox" exe="/usr/lib/virtualbox/VirtualBox" sig=11 res=1
Oct 09 15:16:43 Cora systemd[1]: Started Process Core Dump (PID 3978/UID 0).
Oct 09 15:16:43 Cora audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-coredump@4-3978-0 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Oct 09 15:16:43 Cora kernel: audit: type=1130 audit(1570623403.123:46): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-coredump@4-3978-0 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? add>
Oct 09 15:16:43 Cora systemd-coredump[3979]: Process 3956 (VirtualBox) of user 1000 dumped core.
                                             
                                             Stack trace of thread 3956:
                                             #0  0x0000562008cdaafb n/a (VirtualBox)
                                             #1  0x00007f12536b0f94 _Zls6QDebugPK20QAccessibleInterface (libQt5Gui.so.5)
                                             #2  0x00007f12536b2c06 _ZNK16QAccessibleCache6insertEP7QObjectP20QAccessibleInterface (libQt5Gui.so.5)
                                             #3  0x00007f12536ac3dd _ZN11QAccessible24queryAccessibleInterfaceEP7QObject (libQt5Gui.so.5)
                                             #4  0x00007f12536ace20 _ZNK16QAccessibleEvent19accessibleInterfaceEv (libQt5Gui.so.5)
                                             #5  0x00007f12536ad34d _ZN11QAccessible19updateAccessibilityEP16QAccessibleEvent (libQt5Gui.so.5)
                                             #6  0x00007f12530c0981 _ZN14QWidgetPrivate11show_helperEv (libQt5Widgets.so.5)
                                             #7  0x00007f12530c088c _ZN14QWidgetPrivate12showChildrenEb (libQt5Widgets.so.5)
                                             #8  0x00007f12530c0902 _ZN14QWidgetPrivate11show_helperEv (libQt5Widgets.so.5)
                                             #9  0x00007f12530c088c _ZN14QWidgetPrivate12showChildrenEb (libQt5Widgets.so.5)
                                             #10 0x00007f12530c0902 _ZN14QWidgetPrivate11show_helperEv (libQt5Widgets.so.5)
                                             #11 0x00007f12530c088c _ZN14QWidgetPrivate12showChildrenEb (libQt5Widgets.so.5)
                                             #12 0x00007f12530c0902 _ZN14QWidgetPrivate11show_helperEv (libQt5Widgets.so.5)
                                             #13 0x00007f12530c3bd5 _ZN14QWidgetPrivate10setVisibleEb (libQt5Widgets.so.5)
                                             #14 0x00007f12530c08a1 _ZN14QWidgetPrivate12showChildrenEb (libQt5Widgets.so.5)
                                             #15 0x00007f12530c0902 _ZN14QWidgetPrivate11show_helperEv (libQt5Widgets.so.5)
                                             #16 0x00007f12530c3bd5 _ZN14QWidgetPrivate10setVisibleEb (libQt5Widgets.so.5)
                                             #17 0x00007f12530c08a1 _ZN14QWidgetPrivate12showChildrenEb (libQt5Widgets.so.5)
                                             #18 0x00007f12530c0902 _ZN14QWidgetPrivate11show_helperEv (libQt5Widgets.so.5)
                                             #19 0x00007f12530c3bd5 _ZN14QWidgetPrivate10setVisibleEb (libQt5Widgets.so.5)
                                             #20 0x00007f12530c08a1 _ZN14QWidgetPrivate12showChildrenEb (libQt5Widgets.so.5)
                                             #21 0x00007f12530c0902 _ZN14QWidgetPrivate11show_helperEv (libQt5Widgets.so.5)
                                             #22 0x00007f12530c3bd5 _ZN14QWidgetPrivate10setVisibleEb (libQt5Widgets.so.5)
                                             #23 0x00007f12530c08a1 _ZN14QWidgetPrivate12showChildrenEb (libQt5Widgets.so.5)
                                             #24 0x00007f12530c0902 _ZN14QWidgetPrivate11show_helperEv (libQt5Widgets.so.5)
                                             #25 0x00007f12530c3bd5 _ZN14QWidgetPrivate10setVisibleEb (libQt5Widgets.so.5)
                                             #26 0x0000562008c9d408 n/a (VirtualBox)
                                             #27 0x0000562008c9d58c n/a (VirtualBox)
                                             #28 0x0000562008c805d9 n/a (VirtualBox)
                                             #29 0x00007f1253e6044a _ZN7QObject5eventEP6QEvent (libQt5Core.so.5)
                                             #30 0x00007f12530804f5 _ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent (libQt5Widgets.so.5)
                                             #31 0x00007f1253089e11 _ZN12QApplication6notifyEP7QObjectP6QEvent (libQt5Widgets.so.5)
                                             #32 0x00007f1253e339c2 _ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent (libQt5Core.so.5)
                                             #33 0x00007f1253e36739 _ZN23QCoreApplicationPrivate16sendPostedEventsEP7QObjectiP11QThreadData (libQt5Core.so.5)
                                             #34 0x00007f1253e8c404 n/a (libQt5Core.so.5)
                                             #35 0x00007f12518eb3fe g_main_context_dispatch (libglib-2.0.so.0)
                                             #36 0x00007f12518ed211 n/a (libglib-2.0.so.0)
                                             #37 0x00007f12518ed251 g_main_context_iteration (libglib-2.0.so.0)
                                             #38 0x00007f1253e8ba03 _ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE (libQt5Core.so.5)
                                             #39 0x00007f1253e324ec _ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE (libQt5Core.so.5)
                                             #40 0x00007f1253e3a326 _ZN16QCoreApplication4execEv (libQt5Core.so.5)
                                             #41 0x0000562008c6a01c n/a (VirtualBox)
                                             #42 0x0000562008c678f2 n/a (VirtualBox)
                                             #43 0x00007f1252acd153 __libc_start_main (libc.so.6)
                                             #44 0x0000562008c6931e n/a (VirtualBox)
                                             
                                             Stack trace of thread 3973:
                                             #0  0x00007f125298cf7a pthread_cond_timedwait@@GLIBC_2.3.2 (libpthread.so.0)
                                             #1  0x00007f125415b452 n/a (VBoxXPCOM.so)
                                             #2  0x00007f125415b856 VBoxNsprPR_WaitCondVar (VBoxXPCOM.so)
                                             #3  0x00007f125415baf4 VBoxNsprPR_Wait (VBoxXPCOM.so)
                                             #4  0x00007f124c0223c2 n/a (VBoxXPCOMIPCC.so)
                                             #5  0x00007f124c023408 n/a (VBoxXPCOMIPCC.so)
                                             #6  0x00007f124c0291e8 n/a (VBoxXPCOMIPCC.so)
                                             #7  0x00007f1254156501 n/a (VBoxXPCOM.so)
                                             #8  0x00007f1254155943 n/a (VBoxXPCOM.so)
                                             #9  0x00007f1254abe75c _ZN12CEventSource8GetEventERK14CEventListeneri (VBoxGlobal.so)
                                             #10 0x00007f125488d2b8 n/a (VBoxGlobal.so)
                                             #11 0x00007f1253c655b0 n/a (libQt5Core.so.5)
                                             #12 0x00007f12529864cf start_thread (libpthread.so.0)
                                             #13 0x00007f1252ba52d3 __clone (libc.so.6)
                                             
                                             Stack trace of thread 3972:
                                             #0  0x00007f125298cf7a pthread_cond_timedwait@@GLIBC_2.3.2 (libpthread.so.0)
                                             #1  0x00007f125454348f RTSemEventWait (VBoxRT.so)
                                             #2  0x00007f1244796858 n/a (VBoxC.so)
                                             #3  0x00007f1254487d34 n/a (VBoxRT.so)
                                             #4  0x00007f12545404a1 n/a (VBoxRT.so)
                                             #5  0x00007f12529864cf start_thread (libpthread.so.0)
                                             #6  0x00007f1252ba52d3 __clone (libc.so.6)
                                             
                                             Stack trace of thread 3970:
                                             #0  0x00007f1252b9a9ef __poll (libc.so.6)
                                             #1  0x00007f125415db36 n/a (VBoxXPCOM.so)
                                             #2  0x00007f125415f5f2 VBoxNsprPR_Poll (VBoxXPCOM.so)
                                             #3  0x00007f124c02e10d n/a (VBoxXPCOMIPCC.so)
                                             #4  0x00007f125415a469 n/a (VBoxXPCOM.so)
                                             #5  0x00007f1254487d34 n/a (VBoxRT.so)
                                             #6  0x00007f12545404a1 n/a (VBoxRT.so)
                                             #7  0x00007f12529864cf start_thread (libpthread.so.0)
                                             #8  0x00007f1252ba52d3 __clone (libc.so.6)
                                             
                                             Stack trace of thread 3967:
                                             #0  0x00007f1252b9a9ef __poll (libc.so.6)
                                             #1  0x00007f1252069630 n/a (libxcb.so.1)
                                             #2  0x00007f125206b2db xcb_wait_for_event (libxcb.so.1)
                                             #3  0x00007f124e507101 n/a (libQt5XcbQpa.so.5)
                                             #4  0x00007f1253c655b0 n/a (libQt5Core.so.5)
                                             #5  0x00007f12529864cf start_thread (libpthread.so.0)
                                             #6  0x00007f1252ba52d3 __clone (libc.so.6)
                                             
                                             Stack trace of thread 3974:
                                             #0  0x00007f125298cf7a pthread_cond_timedwait@@GLIBC_2.3.2 (libpthread.so.0)
                                             #1  0x00007f125454348f RTSemEventWait (VBoxRT.so)
                                             #2  0x00007f12446fe69a n/a (VBoxC.so)
                                             #3  0x00007f12446fe87a n/a (VBoxC.so)
                                             #4  0x00007f1244867141 n/a (VBoxC.so)
                                             #5  0x00007f1254abe75c _ZN12CEventSource8GetEventERK14CEventListeneri (VBoxGlobal.so)
                                             #6  0x00007f125488d2b8 n/a (VBoxGlobal.so)
                                             #7  0x00007f1253c655b0 n/a (libQt5Core.so.5)
                                             #8  0x00007f12529864cf start_thread (libpthread.so.0)
                                             #9  0x00007f1252ba52d3 __clone (libc.so.6)
                                             
                                             Stack trace of thread 3977:
                                             #0  0x00007f125298cf7a pthread_cond_timedwait@@GLIBC_2.3.2 (libpthread.so.0)
                                             #1  0x00007f1253c6b5cc _ZN14QWaitCondition4waitEP6QMutex14QDeadlineTimer (libQt5Core.so.5)
                                             #2  0x00007f1253c6b719 _ZN14QWaitCondition4waitEP6QMutexm (libQt5Core.so.5)
                                             #3  0x00007f12548bbcab _ZN12UIThreadPool11dequeueTaskEP14UIThreadWorker (VBoxGlobal.so)
                                             #4  0x00007f12548bbef3 n/a (VBoxGlobal.so)
                                             #5  0x00007f1253c655b0 n/a (libQt5Core.so.5)
                                             #6  0x00007f12529864cf start_thread (libpthread.so.0)
                                             #7  0x00007f1252ba52d3 __clone (libc.so.6)
                                             
                                             Stack trace of thread 3968:
                                             #0  0x00007f125298cc45 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
                                             #1  0x00007f1246ec866c n/a (i965_dri.so)
                                             #2  0x00007f1246ec8268 n/a (i965_dri.so)
                                             #3  0x00007f12529864cf start_thread (libpthread.so.0)
                                             #4  0x00007f1252ba52d3 __clone (libc.so.6)
                                             
                                             Stack trace of thread 3969:
                                             #0  0x00007f1252b9a9ef __poll (libc.so.6)
                                             #1  0x00007f12518ed180 n/a (libglib-2.0.so.0)
                                             #2  0x00007f12518ed251 g_main_context_iteration (libglib-2.0.so.0)
                                             #3  0x00007f1253e8ba03 _ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE (libQt5Core.so.5)
                                             #4  0x00007f1253e324ec _ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE (libQt5Core.so.5)
                                             #5  0x00007f1253c64385 _ZN7QThread4execEv (libQt5Core.so.5)
                                             #6  0x00007f124e3cfb37 n/a (libQt5DBus.so.5)
                                             #7  0x00007f1253c655b0 n/a (libQt5Core.so.5)
                                             #8  0x00007f12529864cf start_thread (libpthread.so.0)
                                             #9  0x00007f1252ba52d3 __clone (libc.so.6)
                                             
                                             Stack trace of thread 3976:
                                             #0  0x00007f125298cf7a pthread_cond_timedwait@@GLIBC_2.3.2 (libpthread.so.0)
                                             #1  0x00007f1253c6b5cc _ZN14QWaitCondition4waitEP6QMutex14QDeadlineTimer (libQt5Core.so.5)
                                             #2  0x00007f1253c6b719 _ZN14QWaitCondition4waitEP6QMutexm (libQt5Core.so.5)
                                             #3  0x00007f12548bbcab _ZN12UIThreadPool11dequeueTaskEP14UIThreadWorker (VBoxGlobal.so)
                                             #4  0x00007f12548bbef3 n/a (VBoxGlobal.so)
                                             #5  0x00007f1253c655b0 n/a (libQt5Core.so.5)
                                             #6  0x00007f12529864cf start_thread (libpthread.so.0)
                                             #7  0x00007f1252ba52d3 __clone (libc.so.6)
                                             
                                             Stack trace of thread 3975:
                                             #0  0x00007f125298cf7a pthread_cond_timedwait@@GLIBC_2.3.2 (libpthread.so.0)
                                             #1  0x00007f1253c6b5cc _ZN14QWaitCondition4waitEP6QMutex14QDeadlineTimer (libQt5Core.so.5)
                                             #2  0x00007f1253c6b719 _ZN14QWaitCondition4waitEP6QMutexm (libQt5Core.so.5)
                                             #3  0x00007f12548bbcab _ZN12UIThreadPool11dequeueTaskEP14UIThreadWorker (VBoxGlobal.so)
                                             #4  0x00007f12548bbef3 n/a (VBoxGlobal.so)
                                             #5  0x00007f1253c655b0 n/a (libQt5Core.so.5)
                                             #6  0x00007f12529864cf start_thread (libpthread.so.0)
                                             #7  0x00007f1252ba52d3 __clone (libc.so.6)
                                             
                                             Stack trace of thread 3971:
                                             #0  0x00007f125298cc45 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
                                             #1  0x00007f125415b8b1 VBoxNsprPR_WaitCondVar (VBoxXPCOM.so)
                                             #2  0x00007f125415baf4 VBoxNsprPR_Wait (VBoxXPCOM.so)
                                             #3  0x00007f124c02b521 n/a (VBoxXPCOMIPCC.so)
                                             #4  0x00007f1254148d65 n/a (VBoxXPCOM.so)
                                             #5  0x00007f125415a469 n/a (VBoxXPCOM.so)
                                             #6  0x00007f1254487d34 n/a (VBoxRT.so)
                                             #7  0x00007f12545404a1 n/a (VBoxRT.so)
                                             #8  0x00007f12529864cf start_thread (libpthread.so.0)
                                             #9  0x00007f1252ba52d3 __clone (libc.so.6)
Oct 09 15:16:43 Cora systemd[1]: systemd-coredump@4-3978-0.service: Succeeded.
Oct 09 15:16:43 Cora kernel: audit: type=1131 audit(1570623403.503:47): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-coredump@4-3978-0 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? add>
Oct 09 15:16:43 Cora audit[1]: SERVICE_STOP pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-coredump@4-3978-0 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'

gdb

[vanya@Cora ~]$ gdb /usr/lib/virtualbox/VirtualBox
GNU gdb (GDB) 8.3.1
Copyright (C) 2019 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/lib/virtualbox/VirtualBox...
(No debugging symbols found in /usr/lib/virtualbox/VirtualBox)
(gdb) run
Starting program: /usr/lib/virtualbox/VirtualBox 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[New Thread 0x7ffff031e700 (LWP 3664)]
[Thread 0x7ffff031e700 (LWP 3664) exited]
[New Thread 0x7ffff031e700 (LWP 3665)]
[New Thread 0x7fffec9ab700 (LWP 3666)]
[New Thread 0x7fffe736b700 (LWP 3667)]
[New Thread 0x7fffec1aa700 (LWP 3668)]
[New Thread 0x7fffec129700 (LWP 3669)]
[Detaching after fork from child process 3671]
[New Thread 0x7fffe56f0700 (LWP 3687)]
[New Thread 0x7fffe566f700 (LWP 3688)]
[New Thread 0x7fffe4e6e700 (LWP 3689)]
[New Thread 0x7fffcffff700 (LWP 3691)]
[New Thread 0x7fffcf7fe700 (LWP 3692)]
[New Thread 0x7fffceffd700 (LWP 3693)]

Thread 1 "VirtualBox" received signal SIGSEGV, Segmentation fault.
0x0000555555645afb in ?? ()
(gdb) backtrace
#0  0x0000555555645afb in  ()
#1  0x00007ffff4b7af94 in operator<<(QDebug, QAccessibleInterface const*) () at /usr/lib/libQt5Gui.so.5
#2  0x00007ffff4b7cc06 in QAccessibleCache::insert(QObject*, QAccessibleInterface*) const () at /usr/lib/libQt5Gui.so.5
#3  0x00007ffff4b763dd in QAccessible::queryAccessibleInterface(QObject*) () at /usr/lib/libQt5Gui.so.5
#4  0x00007ffff4b76e20 in QAccessibleEvent::accessibleInterface() const () at /usr/lib/libQt5Gui.so.5
#5  0x00007ffff4b7734d in QAccessible::updateAccessibility(QAccessibleEvent*) () at /usr/lib/libQt5Gui.so.5
#6  0x00007ffff458a981 in QWidgetPrivate::show_helper() () at /usr/lib/libQt5Widgets.so.5
#7  0x00007ffff458a88c in QWidgetPrivate::showChildren(bool) () at /usr/lib/libQt5Widgets.so.5
#8  0x00007ffff458a902 in QWidgetPrivate::show_helper() () at /usr/lib/libQt5Widgets.so.5
#9  0x00007ffff458a88c in QWidgetPrivate::showChildren(bool) () at /usr/lib/libQt5Widgets.so.5
#10 0x00007ffff458a902 in QWidgetPrivate::show_helper() () at /usr/lib/libQt5Widgets.so.5
#11 0x00007ffff458a88c in QWidgetPrivate::showChildren(bool) () at /usr/lib/libQt5Widgets.so.5
#12 0x00007ffff458a902 in QWidgetPrivate::show_helper() () at /usr/lib/libQt5Widgets.so.5
#13 0x00007ffff458dbd5 in QWidgetPrivate::setVisible(bool) () at /usr/lib/libQt5Widgets.so.5
#14 0x00007ffff458a8a1 in QWidgetPrivate::showChildren(bool) () at /usr/lib/libQt5Widgets.so.5
#15 0x00007ffff458a902 in QWidgetPrivate::show_helper() () at /usr/lib/libQt5Widgets.so.5
#16 0x00007ffff458dbd5 in QWidgetPrivate::setVisible(bool) () at /usr/lib/libQt5Widgets.so.5
#17 0x00007ffff458a8a1 in QWidgetPrivate::showChildren(bool) () at /usr/lib/libQt5Widgets.so.5
#18 0x00007ffff458a902 in QWidgetPrivate::show_helper() () at /usr/lib/libQt5Widgets.so.5
#19 0x00007ffff458dbd5 in QWidgetPrivate::setVisible(bool) () at /usr/lib/libQt5Widgets.so.5
#20 0x00007ffff458a8a1 in QWidgetPrivate::showChildren(bool) () at /usr/lib/libQt5Widgets.so.5
#21 0x00007ffff458a902 in QWidgetPrivate::show_helper() () at /usr/lib/libQt5Widgets.so.5
#22 0x00007ffff458dbd5 in QWidgetPrivate::setVisible(bool) () at /usr/lib/libQt5Widgets.so.5
#23 0x00007ffff458a8a1 in QWidgetPrivate::showChildren(bool) () at /usr/lib/libQt5Widgets.so.5
#24 0x00007ffff458a902 in QWidgetPrivate::show_helper() () at /usr/lib/libQt5Widgets.so.5
#25 0x00007ffff458dbd5 in QWidgetPrivate::setVisible(bool) () at /usr/lib/libQt5Widgets.so.5
#26 0x0000555555608408 in  ()
#27 0x000055555560858c in  ()
#28 0x00005555555eb5d9 in  ()
#29 0x00007ffff532a44a in QObject::event(QEvent*) () at /usr/lib/libQt5Core.so.5
#30 0x00007ffff454a4f5 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#31 0x00007ffff4553e11 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#32 0x00007ffff52fd9c2 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#33 0x00007ffff5300739 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/libQt5Core.so.5
#34 0x00007ffff5356404 in  () at /usr/lib/libQt5Core.so.5
#35 0x00007ffff2db53fe in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#36 0x00007ffff2db7211 in  () at /usr/lib/libglib-2.0.so.0
#37 0x00007ffff2db7251 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#38 0x00007ffff5355a03 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#39 0x00007ffff52fc4ec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#40 0x00007ffff5304326 in QCoreApplication::exec() () at /usr/lib/libQt5Core.so.5
#41 0x00005555555d501c in  ()
#42 0x00005555555d28f2 in  ()
#43 0x00007ffff3f97153 in __libc_start_main () at /usr/lib/libc.so.6
#44 0x00005555555d431e in  ()
(gdb)

dmesg

[ 2296.178710] traps: VirtualBox[4076] general protection fault ip:560ea2ad1afb sp:7ffc7e5fa850 error:0 in VirtualBox[560ea2a57000+159000]
[ 2296.178735] audit: type=1701 audit(1570623749.363:48): auid=1000 uid=1000 gid=1000 ses=1 pid=4076 comm="VirtualBox" exe="/usr/lib/virtualbox/VirtualBox" sig=11 res=1
[ 2296.184067] audit: type=1130 audit(1570623749.366:49): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-coredump@5-4098-0 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[ 2296.587492] audit: type=1131 audit(1570623749.769:50): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-coredump@5-4098-0 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'

 , , , ,

Rot1
()

HASP + LXC + 1С == боль

Форум — Admin

Доброго времени суток. На железке с proxmox живет lxc (ubuntu 16.04), где стоит 1С сервер, HASP драйвер и менеджер лицензий. Для ключа защиты софт брался здесь https://safenet-sentinel.ru/helpdesk/download-space/ по рекомендации в ИТС. Клиенты на другом компьютере в той же сети не могут получить лицензию. Взываю к админам 1Ски и не только для помощи. Спасибо!

На lxc:

root@1csrv1:~# systemctl status hasplmd.service
● hasplmd.service - Sentinel LDK Runtime Environment (hasplmd daemon)
   Loaded: loaded (/etc/systemd/system/hasplmd.service; enabled; vendor preset: enabled)
   Active: active (running) since Сб 2019-10-05 11:21:41 UTC; 1h 9min ago
  Process: 185 ExecStart=/usr/sbin/hasplmd_x86_64 -s (code=exited, status=0/SUCCESS)
 Main PID: 243 (hasplmd_x86_64)
   CGroup: /system.slice/hasplmd.service
           └─243 /usr/sbin/hasplmd_x86_64 -s
 
окт 05 11:21:41 1csrv1 systemd[1]: Starting Sentinel LDK Runtime Environment (hasplmd daemon)...
окт 05 11:21:41 1csrv1 systemd[1]: Started Sentinel LDK Runtime Environment (hasplmd daemon).
окт 05 11:21:41 1csrv1 hasplmd[243]: HASP LM v23.0.1.90971 loaded
 
 
root@1csrv1:~# systemctl status aksusbd.service
● aksusbd.service - Sentinel LDK Runtime Environment (aksusbd daemon)
   Loaded: loaded (/etc/systemd/system/aksusbd.service; enabled; vendor preset: enabled)
   Active: active (running) since Сб 2019-10-05 11:21:41 UTC; 1h 10min ago
  Process: 160 ExecStart=/usr/sbin/aksusbd_x86_64 (code=exited, status=0/SUCCESS)
 Main PID: 179 (aksusbd_x86_64)
   CGroup: /system.slice/aksusbd.service
           └─179 /usr/sbin/aksusbd_x86_64
 
окт 05 11:21:41 1csrv1 systemd[1]: Starting Sentinel LDK Runtime Environment (aksusbd daemon)...
окт 05 11:21:41 1csrv1 aksusbd[179]: loaded, daemon version: 7.100.1.88855, key API (USB) version: 3.88 (parallel driver not available)
окт 05 11:21:41 1csrv1 systemd[1]: Started Sentinel LDK Runtime Environment (aksusbd daemon).


root@1csrv1:~# ss -anp | grep -E 'hasp|usb'
u_str  LISTEN     0      5      /tmp/.aksusb 4686911               * 0                   users:(("aksusbd_x86_64",pid=179,fd=6))
u_dgr  UNCONN     0      0         * 4686646               * 4683873             users:(("hasplm",pid=246,fd=0))
u_dgr  UNCONN     0      0         * 4687060               * 4683873             users:(("hasplmd_x86_64",pid=243,fd=3))
u_dgr  UNCONN     0      0         * 4686909               * 4683873             users:(("aksusbd_x86_64",pid=179,fd=3))
udp    UNCONN     3584   0         *:475                   *:*                   users:(("hasplm",pid=246,fd=3))
udp    UNCONN     52992  0         *:1947                  *:*                   users:(("hasplmd_x86_64",pid=243,fd=10))
tcp    LISTEN     0      128       *:1947                  *:*                   users:(("hasplmd_x86_64",pid=243,fd=9))


root@1csrv1:~# ps -A -o user,command | grep 'hasp'
root     /usr/sbin/hasplmd_x86_64 -s
root     /opt/hasplm/hasplm -c /etc/nhsrv.ini
root     grep --color=auto hasp
 

root@1csrv1:~# cat /etc/nhsrv.ini
[NHS_SERVER]
 
NHS_USERLIST    = 250   ; maximum number of concurrent logins
                        ; to this LM (default=250, max = 65520)
 
; settings for the IP protocol
[NHS_IP]
 
NHS_USE_UDP      = enabled   ; enabled or disabled (default: enabled)
NHS_USE_TCP      = enabled   ; enabled or disabled (default: enabled)
NHS_IP_portnum   = 475       ; IP port number (default: 475 (IANA registered))
                             ; CAUTION: clients must use the same port !
 
NHS_IP_LIMIT = 172.25.1.*
; specifies the range of stations that are allowed to access the LM
; 10.24.2.18-99, 10.1.1.9/16, 194.0.*.*
 
; settings for the IPX protocol
[NHS_IPX]
 
NHS_USE_IPX       = disabled
 
[NHS_NETBIOS]
NHS_USE_NETBIOS   = disabled
 

root@1csrv1:~# lsusb -t
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 480M
    |__ Port 2: Dev 2, If 0, Class=Vendor Specific Class, Driver=, 12M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 10000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/10p, 480M
    |__ Port 2: Dev 2, If 0, Class=Vendor Specific Class, Driver=, 12M
 
 
root@1csrv1:~# ls -al /dev/bus/usb/001/002
crw-rw-r-- 1 root root 189, 1 окт  5 12:41 /dev/bus/usb/001/002

На хосте:

root@itghost1:~# cat /etc/pve/nodes/itghost1/lxc/105.conf
arch: amd64
cores: 4
hostname: 1csrv1
memory: 4096
net0: name=eth0,bridge=vmbr0,gw=172.25.1.1,hwaddr=16:D0:C9:E2:8C:52,ip=172.25.1.8/24,tag=70,type=veth
ostype: ubuntu
rootfs: disk-sdd:vm-105-disk-1,size=64G
swap: 512
lxc.cgroup.devices.allow = c *:* rwm
lxc.mount.entry = /dev/bus/usb dev/bus/usb none bind,optional,create=dir
 
 
root@itghost1:~# cat /var/log/lxc/105.log
lxc-start 105 20191003195710.255 ERROR    lxc_conf - conf.c:run_buffer:347 - Script exited with status 1
lxc-start 105 20191003195710.255 ERROR    lxc_start - start.c:lxc_fini:961 - Failed to run lxc.hook.post-stop for container "105"
-//-

Запросы от клиентов доходят и им даже отправляется ответ

root@1csrv1:~# tcpdump port 475
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
12:46:35.616476 IP 172.25.1.2.57149 > 1csrv1.localdomain.475: UDP, length 165
12:46:35.616647 IP 1csrv1.localdomain.475 > 172.25.1.2.57149: UDP, length 62

PS: Клиенты под вендой, брандмауэр отключен

 , , ,

Rot1
()

Сделать бэкап SQL-командой в Postgres

Форум — Admin

Доброго времени суток. Поставил я pg_cron. Как там делать бэкапы? Если нельзя, то зачем он нужен?

 , ,

Rot1
()

Раскройте тайну thenComparing

Форум — Development

Доброго времени суток. Объясните, как работает thenComparing класса Comparator, когда передаешь туда ссылку на метод. В документации написано, что это должен быть keyExtractor, который НЕ принимает аргументы. Тогда почему new MyComp().thenComparing(MyClass::compareTo); компилируется. Где в документации описание такого варианта thenComparing? Юзаю JDK8, внизу пример.

import java.util.Comparator;

class MyClass
    implements Comparable<MyClass> {

    String ftitle;
    String stitle;

    @Override
    public int compareTo(MyClass obj) {
        return ftitle.compareTo(obj.ftitle);
    }

    public int hello() {
        return 1;
    }
}

class MyComp
    implements Comparator<MyClass> {

    @Override
    public int compare(MyClass f, MyClass s) {
        return f.stitle.compareTo(s.stitle);
    }
}

class Main {
    public static void main(String[] args) {
        new MyComp().thenComparing(MyClass::compareTo); //OK

        new MyComp().thenComparing(Comparator.comparing(MyClass::hello));       //OK
        //new MyComp().thenComparing(Comparator.comparing(MyClass::compareTo)); //ERROR
    }
}

 , ,

Rot1
()

Разрешить проходящий трафик одним правилом?

Форум — Admin

Доброго времени суток. Дропаете ли вы все пакеты в конце цепочки форвард? Если да, то как относитесь к подобным правилам?

-A FORWARD -i eth1 -o eth2 -j ACCEPT
-A FORWARD -i eth2 -o eth1 -j ACCEPT
Если способ написать то же самое в одну строчку?

 , , , ,

Rot1
()

Траблы с vim-instant-markdown

Форум — Desktop

Привет. Установил, значит, плагин vim-instant-markdown. Когда открываю пустой или мало заполненный файл, получаю такую ошибку при каждой попытке ввода.

"hello.md" [New File]
Error detected while processing function <SNR>38_pushMarkdown[4]..<SNR>38_bufGetLines:
line    6:
E684: list index out of range: -3
E116: Invalid arguments for function join([lines[row_num], '<a name="#marker" id="marker"></a>'], ' ')
Error detected while processing function <SNR>38_refreshView[2]..<SNR>38_bufGetLines:
line    6:
E684: list index out of range: -3
E116: Invalid arguments for function join([lines[row_num], '<a name="#marker" id="marker"></a>'], ' ')

Интересно то, что если в файле много контента, то ошибки нет. Отображение в браузере в любом случае работает правильно. Кто-нибудь пользуется этим плагином? Есть проблема?

PS Баг появляется, если в файле меньше 3-х строк. Забавно

 , ,

Rot1
()

Терминальный сервер на линух - миф или реальность?

Форум — Admin

Доброго времени суток. Попробовал развернуть тестовый терминальник на 18 убунте. Сначала поставил x2go, потом xrdp + xorgxrdp (понравился больше). Огромная задержка в обоих случаях. Если подключаться к вендовому рабочему терминалу по RDP, то задержка заментно меньше. Есть ли способ приблизить сервер терминалов на GNU/Linux к вендовому? Поделитесь тонкостями настройки. Если запускать сессию локально, то все достаточно плавно, так что, думаю, что-то со сжатием

 , , , ,

Rot1
()

Почему корневые сертификаты спасают от MITM атаки?

Форум — Admin

Вот подпишет мне какой-нибудь let's encrypt сертификат, он станет доверенным клиентами. Теперь я могу устроить MITM атаку?

 , , ,

Rot1
()

Local & Remote Address for Tunnel

Форум — Admin

Что конкретно означают поля Local Address и Remote Address при создании тоннеля? В документации просто пишут, что это адреса начала и конца туннеля. Хотелось бы больше конкретики. Есть подозрение, что это предлагаемые клиенту адреса на концах интерфейса туннеля. Аналогично предлагаемым настройкам DNS и так далее. Я прав?

 , , , ,

Rot1
()

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