ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] Битые символы при сборке virtualbox.git=6.1.14-alt1
  @ 2020-09-23 13:28 ` Valery Sinelnikov
  2020-09-23 14:10   ` Nikolai Kostrigin
  2020-09-24  7:34   ` Ivan A. Melnikov
  0 siblings, 2 replies; 7+ messages in thread
From: Valery Sinelnikov @ 2020-09-23 13:28 UTC (permalink / raw)
  To: ALT Linux Team development discussions

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

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

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

Какие варианты решения можете предложить?


---------- Forwarded message ---------
От: Girar awaiter (greh) <girar-builder@altlinux.org>
Date: ср, 9 сент. 2020 г. в 12:41
Subject: [#257606] [test-only] FAILED (try 2) virtualbox.git=6.1.14-alt1 ...
To: Valery Sinelnikov <greh@altlinux.org>
Cc: <girar-builder-sisyphus@altlinux.org>,
<sisyphus-incominger@lists.altlinux.org>


http://git.altlinux.org/tasks/257606/logs/events.2.1.log

subtask  name            aarch64  armh   i586  ppc64le   x86_64
    #40  virtualbox            -     -  19:39        -  1:22:19
   #200  kernel-modules        -     -   1:32        -     1:03
   #300  kernel-modules        -     -      -        -     1:09
   #400  kernel-modules        -     -      -        -     1:11
   #500  kernel-modules        -     -   1:05        -     1:02

2020-Sep-09 07:09:05 :: test-only task #257606 for sisyphus resumed by greh:
[...]
#40 virtualbox 6.1.12a-alt2 -> 6.1.14-alt1
 Wed Sep 09 2020 Valery Sinelnikov <greh@altlinux> 6.1.14-alt1
 - Update to newest version 6.1.14
2020-Sep-09 08:39:34 :: generated apt indices
2020-Sep-09 08:39:34 :: created next repo
2020-Sep-09 08:40:30 :: dependencies check OK
        x86_64: NEW bad_elf_symbols detected:
virtualbox-6.1.14-alt1.x86_64.rpm       /usr/lib64/virtualbox/VMMR0.r0
 U       RTLogSetDefaultInstanceThread
virtualbox-6.1.14-alt1.x86_64.rpm       /usr/lib64/virtualbox/VMMR0.r0
 U       RTMpCpuId
virtualbox-6.1.14-alt1.x86_64.rpm       /usr/lib64/virtualbox/VMMR0.r0
 U       RTMpCurSetIndex
virtualbox-6.1.14-alt1.x86_64.rpm       /usr/lib64/virtualbox/VMMR0.r0
 U       RTMpCurSetIndexAndId
virtualbox-6.1.14-alt1.x86_64.rpm       /usr/lib64/virtualbox/VMMR0.r0
 U       RTMpGetArraySize
virtualbox-6.1.14-alt1.x86_64.rpm       /usr/lib64/virtualbox/VMMR0.r0
 U       RTMpNotificationDeregister
virtualbox-6.1.14-alt1.x86_64.rpm       /usr/lib64/virtualbox/VMMR0.r0
 U       RTMpNotificationRegister
virtualbox-6.1.14-alt1.x86_64.rpm       /usr/lib64/virtualbox/VMMR0.r0
 U       RTMpOnAll
virtualbox-6.1.14-alt1.x86_64.rpm       /usr/lib64/virtualbox/VMMR0.r0
 U       RTMpOnSpecific
virtualbox-6.1.14-alt1.x86_64.rpm       /usr/lib64/virtualbox/VMMR0.r0
 U       RTMpPokeCpu
[...]
virtualbox-6.1.14-alt1.x86_64.rpm       /usr/lib64/virtualbox/VMMR0.r0
 U       g_SUPGlobalInfoPage
2020-Sep-09 08:41:23 :: [x86_64 i586] ELF symbols check FAILED
2020-Sep-09 08:41:23 :: task #257606 for sisyphus FAILED

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [devel] Битые символы при сборке virtualbox.git=6.1.14-alt1
  2020-09-23 13:28 ` [devel] Битые символы при сборке virtualbox.git=6.1.14-alt1 Valery Sinelnikov
@ 2020-09-23 14:10   ` Nikolai Kostrigin
  2020-09-23 15:17     ` Valery Sinelnikov
  2020-09-24  7:34   ` Ivan A. Melnikov
  1 sibling, 1 reply; 7+ messages in thread
From: Nikolai Kostrigin @ 2020-09-23 14:10 UTC (permalink / raw)
  To: devel


23.09.2020 16:28, Valery Sinelnikov пишет:
>
> Проблема возникает при проверке модуля VMMR0.r0, который динамически
> загружает другие модули, но явно с ними не слинкован. На
> работоспособность это не влияет, но сборочница не пропускает.
>
> Какие варианты решения можете предложить?
>
А этот модуль выполняется в хост-системе или в госте?

Отчасти, может быть полезно почитать тут:

https://bugzilla.altlinux.org/show_bug.cgi?id=37213


-- 
Best regards,
Nikolai Kostrigin


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [devel] Битые символы при сборке virtualbox.git=6.1.14-alt1
  2020-09-23 14:10   ` Nikolai Kostrigin
@ 2020-09-23 15:17     ` Valery Sinelnikov
  2020-09-24  6:35       ` Nikolai Kostrigin
  0 siblings, 1 reply; 7+ messages in thread
From: Valery Sinelnikov @ 2020-09-23 15:17 UTC (permalink / raw)
  To: ALT Linux Team development discussions

ср, 23 сент. 2020 г. в 18:11, Nikolai Kostrigin <nickel@basealt.ru>:
>
>
> 23.09.2020 16:28, Valery Sinelnikov пишет:
> >
> > Проблема возникает при проверке модуля VMMR0.r0, который динамически
> > загружает другие модули, но явно с ними не слинкован. На
> > работоспособность это не влияет, но сборочница не пропускает.
> >
> > Какие варианты решения можете предложить?
> >
> А этот модуль выполняется в хост-системе или в госте?

В хост-системе.

> Отчасти, может быть полезно почитать тут:
>
> https://bugzilla.altlinux.org/show_bug.cgi?id=37213



-- 
С уважением,
Синельников Валерий Александрович
Тел. + 7-917-324-20-36

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [devel] Битые символы при сборке virtualbox.git=6.1.14-alt1
  2020-09-23 15:17     ` Valery Sinelnikov
@ 2020-09-24  6:35       ` Nikolai Kostrigin
  0 siblings, 0 replies; 7+ messages in thread
From: Nikolai Kostrigin @ 2020-09-24  6:35 UTC (permalink / raw)
  To: devel


23.09.2020 18:17, Valery Sinelnikov пишет:
> ср, 23 сент. 2020 г. в 18:11, Nikolai Kostrigin <nickel@basealt.ru>:
>>
>> 23.09.2020 16:28, Valery Sinelnikov пишет:
>>> Проблема возникает при проверке модуля VMMR0.r0, который динамически
>>> загружает другие модули, но явно с ними не слинкован. На
>>> работоспособность это не влияет, но сборочница не пропускает.
>>>
>>> Какие варианты решения можете предложить?
>>>
>> А этот модуль выполняется в хост-системе или в госте?
> В хост-системе.
Тогда моя предыдущая отсылка к багу неактуальна.
Нужно разбираться с тем, как вытащить наружу символы из загружаемых модулей.
А сами модули - это ELF?

Посмотрите как сборочница собирает и проверяет символы в
perl-qa-rpmelfsym [1]


[1] http://git.altlinux.org/gears/p/perl-qa-rpmelfsym.git

>
>> Отчасти, может быть полезно почитать тут:
>>
>> https://bugzilla.altlinux.org/show_bug.cgi?id=37213
>
>
-- 
Best regards,
Nikolai Kostrigin


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [devel] Битые символы при сборке virtualbox.git=6.1.14-alt1
  2020-09-23 13:28 ` [devel] Битые символы при сборке virtualbox.git=6.1.14-alt1 Valery Sinelnikov
  2020-09-23 14:10   ` Nikolai Kostrigin
@ 2020-09-24  7:34   ` Ivan A. Melnikov
  2020-09-24 11:23     ` Alexey V. Vissarionov
  1 sibling, 1 reply; 7+ messages in thread
From: Ivan A. Melnikov @ 2020-09-24  7:34 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Wed, Sep 23, 2020 at 05:28:32PM +0400, Valery Sinelnikov wrote:
> Здравствуйте.
> 
> Столкнулся со сложностью прохождения пакета в сборочнице.
> Не знаю как обойти проверку в соответствии с правилами
> сборочницы для новой версии virtualbox.
> 
> Проблема возникает при проверке модуля VMMR0.r0, который динамически
> загружает другие модули, но явно с ними не слинкован. На
> работоспособность это не влияет, но сборочница не пропускает.

Тут дело не в недолинковке. Проверка bad_elf_symbols означает, что
таких символов в репозитории вообще нет, то есть бинарник их
требует, но нет ни одного elf-файла, который бы их предоставлял.

Однако, как я понимаю, VMMR0.r0 -- это не какая-нибудь разделяемая
библиотека, а часть гипервизора, и эти символы ей предоставляются
ядром, а точнее модулем virtualbox.ko из kernel-modules-virtualbox.

> Какие варианты решения можете предложить?

В сборке из #257606:
$ file usr/lib64/virtualbox/VMMR0.r0
usr/lib64/virtualbox/VMMR0.r0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped

Это shared object, и он попадает под проверку bad_elf_symbols.

Сейчас в Сизифе:
$ file usr/lib64/virtualbox/VMMR0.r0
usr/lib64/virtualbox/VMMR0.r0: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), not stripped

Это не shared object, и проверка его игнорирует. Таковы, кстати,
модули ядра:

# find /lib/modules/5.8.9-un-def-alt1/ -name *.ko  | xargs file | grep -c 'ELF 64-bit LSB relocatable'
4820
# find /lib/modules/5.8.9-un-def-alt1/ -name *.ko  | xargs file | grep -cv 'ELF 64-bit LSB relocatable'
0

Я бы копнул в эту сторону.

> ---------- Forwarded message ---------
> От: Girar awaiter (greh) <girar-builder@altlinux.org>
> Date: ср, 9 сент. 2020 г. в 12:41
> Subject: [#257606] [test-only] FAILED (try 2) virtualbox.git=6.1.14-alt1 ...
> To: Valery Sinelnikov <greh@altlinux.org>
> Cc: <girar-builder-sisyphus@altlinux.org>,
> <sisyphus-incominger@lists.altlinux.org>
> 
> 
> http://git.altlinux.org/tasks/257606/logs/events.2.1.log
> 
> subtask  name            aarch64  armh   i586  ppc64le   x86_64
>     #40  virtualbox            -     -  19:39        -  1:22:19
>    #200  kernel-modules        -     -   1:32        -     1:03
>    #300  kernel-modules        -     -      -        -     1:09
>    #400  kernel-modules        -     -      -        -     1:11
>    #500  kernel-modules        -     -   1:05        -     1:02
> 
> 2020-Sep-09 07:09:05 :: test-only task #257606 for sisyphus resumed by greh:
> [...]
> #40 virtualbox 6.1.12a-alt2 -> 6.1.14-alt1
>  Wed Sep 09 2020 Valery Sinelnikov <greh@altlinux> 6.1.14-alt1
>  - Update to newest version 6.1.14
> 2020-Sep-09 08:39:34 :: generated apt indices
> 2020-Sep-09 08:39:34 :: created next repo
> 2020-Sep-09 08:40:30 :: dependencies check OK
>         x86_64: NEW bad_elf_symbols detected:
> virtualbox-6.1.14-alt1.x86_64.rpm       /usr/lib64/virtualbox/VMMR0.r0
>  U       RTLogSetDefaultInstanceThread
> virtualbox-6.1.14-alt1.x86_64.rpm       /usr/lib64/virtualbox/VMMR0.r0
>  U       RTMpCpuId
> virtualbox-6.1.14-alt1.x86_64.rpm       /usr/lib64/virtualbox/VMMR0.r0
>  U       RTMpCurSetIndex
> virtualbox-6.1.14-alt1.x86_64.rpm       /usr/lib64/virtualbox/VMMR0.r0
>  U       RTMpCurSetIndexAndId
> virtualbox-6.1.14-alt1.x86_64.rpm       /usr/lib64/virtualbox/VMMR0.r0
>  U       RTMpGetArraySize
> virtualbox-6.1.14-alt1.x86_64.rpm       /usr/lib64/virtualbox/VMMR0.r0
>  U       RTMpNotificationDeregister
> virtualbox-6.1.14-alt1.x86_64.rpm       /usr/lib64/virtualbox/VMMR0.r0
>  U       RTMpNotificationRegister
> virtualbox-6.1.14-alt1.x86_64.rpm       /usr/lib64/virtualbox/VMMR0.r0
>  U       RTMpOnAll
> virtualbox-6.1.14-alt1.x86_64.rpm       /usr/lib64/virtualbox/VMMR0.r0
>  U       RTMpOnSpecific
> virtualbox-6.1.14-alt1.x86_64.rpm       /usr/lib64/virtualbox/VMMR0.r0
>  U       RTMpPokeCpu
> [...]
> virtualbox-6.1.14-alt1.x86_64.rpm       /usr/lib64/virtualbox/VMMR0.r0
>  U       g_SUPGlobalInfoPage
> 2020-Sep-09 08:41:23 :: [x86_64 i586] ELF symbols check FAILED
> 2020-Sep-09 08:41:23 :: task #257606 for sisyphus FAILED
> _______________________________________________
> Devel mailing list
> Devel@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [devel] Битые символы при сборке virtualbox.git=6.1.14-alt1
  2020-09-24  7:34   ` Ivan A. Melnikov
@ 2020-09-24 11:23     ` Alexey V. Vissarionov
  2020-09-24 12:49       ` Valery Sinelnikov
  0 siblings, 1 reply; 7+ messages in thread
From: Alexey V. Vissarionov @ 2020-09-24 11:23 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On 2020-09-24 11:34:18 +0400, Ivan A. Melnikov wrote:

 >> Проблема возникает при проверке модуля VMMR0.r0, который
 >> динамически загружает другие модули, но явно с ними не
 >> слинкован. На работоспособность это не влияет, но сборочница
 >> не пропускает.
 > Тут дело не в недолинковке. Проверка bad_elf_symbols означает,
 > что таких символов в репозитории вообще нет, то есть бинарник их
 > требует, но нет ни одного elf-файла, который бы их предоставлял.
 > Однако, как я понимаю, VMMR0.r0 -- это не какая-нибудь
 > разделяемая библиотека, а часть гипервизора, и эти символы
 > ей предоставляются ядром, а точнее модулем virtualbox.ko из
 > kernel-modules-virtualbox.

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

 >> Какие варианты решения можете предложить?
 > В сборке из #257606:
 > $ file usr/lib64/virtualbox/VMMR0.r0
 > usr/lib64/virtualbox/VMMR0.r0: ELF 64-bit LSB shared object,
 > x86-64, version 1 (SYSV), dynamically linked, stripped
 > Это shared object, и он попадает под проверку bad_elf_symbols.
 > Сейчас в Сизифе:
 > $ file usr/lib64/virtualbox/VMMR0.r0
 > usr/lib64/virtualbox/VMMR0.r0: ELF 64-bit LSB relocatable,
 > x86-64, version 1 (SYSV), not stripped
 > Это не shared object, и проверка его игнорирует.

Неудачный критерий... нужна возможность отключать эту проверку
в том чисте и для shared objects - например, когда они собраны
для другой системы (см. syslinux-efi) или даже архитектуры (см.
firmware).

 > Таковы, кстати, модули ядра [...] Я бы копнул в эту сторону.

А я бы рекомендовал проверять только GNU/Linux бинарники, а не
абстрактные SYSV - желающие могут сравнить вышепроцитированное
с выводом, например, `file /lib64/libc-2.30.so`:

/lib64/libc-2.30.so: ELF 64-bit LSB shared object, x86-64,
version 1 (GNU/Linux), dynamically linked (uses shared libs),
for GNU/Linux 3.2.0, stripped



-- 
Alexey V. Vissarionov
gremlin ПРИ altlinux ТЧК org; +vii-cmiii-ccxxix-lxxix-xlii
GPG: 0D92F19E1C0DC36E27F61A29CD17E2B43D879005 @ hkp://keys.gnupg.net


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [devel] Битые символы при сборке virtualbox.git=6.1.14-alt1
  2020-09-24 11:23     ` Alexey V. Vissarionov
@ 2020-09-24 12:49       ` Valery Sinelnikov
  0 siblings, 0 replies; 7+ messages in thread
From: Valery Sinelnikov @ 2020-09-24 12:49 UTC (permalink / raw)
  To: ALT Linux Team development discussions

чт, 24 сент. 2020 г. в 15:23, Alexey V. Vissarionov <gremlin@altlinux.org>:
>
> On 2020-09-24 11:34:18 +0400, Ivan A. Melnikov wrote:
>
>  >> Проблема возникает при проверке модуля VMMR0.r0, который
>  >> динамически загружает другие модули, но явно с ними не
>  >> слинкован. На работоспособность это не влияет, но сборочница
>  >> не пропускает.
>  > Тут дело не в недолинковке. Проверка bad_elf_symbols означает,
>  > что таких символов в репозитории вообще нет, то есть бинарник их
>  > требует, но нет ни одного elf-файла, который бы их предоставлял.
>  > Однако, как я понимаю, VMMR0.r0 -- это не какая-нибудь
>  > разделяемая библиотека, а часть гипервизора, и эти символы
>  > ей предоставляются ядром, а точнее модулем virtualbox.ko из
>  > kernel-modules-virtualbox.
>
> Проверка производится коряво, по причине чего ее нужно либо чинить,
> либо делать отключаемой. Я с этим сталкивался при сборке EFI-модулей
> syslinux, которые по уму вообще должны находиться в noarch-пакете -
> там нет бинарников, которые запускаются системным вызовом execve()
>
>  >> Какие варианты решения можете предложить?
>  > В сборке из #257606:
>  > $ file usr/lib64/virtualbox/VMMR0.r0
>  > usr/lib64/virtualbox/VMMR0.r0: ELF 64-bit LSB shared object,
>  > x86-64, version 1 (SYSV), dynamically linked, stripped
>  > Это shared object, и он попадает под проверку bad_elf_symbols.
>  > Сейчас в Сизифе:
>  > $ file usr/lib64/virtualbox/VMMR0.r0
>  > usr/lib64/virtualbox/VMMR0.r0: ELF 64-bit LSB relocatable,
>  > x86-64, version 1 (SYSV), not stripped
>  > Это не shared object, и проверка его игнорирует.
>
> Неудачный критерий... нужна возможность отключать эту проверку
> в том чисте и для shared objects - например, когда они собраны
> для другой системы (см. syslinux-efi) или даже архитектуры (см.
> firmware).

В новой сборке virtualbox-6.1.14 имеется опция
VBOX_WITH_VBOXR0_AS_DLL, которая по умолчанию установлена. Если её
отключить, то при старте виртуалки возникает ошибка:

Failed to load R0 module /usr/lib64/virtualbox/VMMR0.r0: RTLdrGetBits
failed (VERR_LDRELF_RELOCATION_NOT_SUPPORTED).
Failed to load VMMR0.r0 (VERR_LDRELF_RELOCATION_NOT_SUPPORTED).

Видимо, теперь необходимо чтобы этот модуль был собран как dll.



-- 
С уважением,
Синельников Валерий Александрович
Тел. + 7-917-324-20-36

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2020-09-24 12:49 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-23 13:28 ` [devel] Битые символы при сборке virtualbox.git=6.1.14-alt1 Valery Sinelnikov
2020-09-23 14:10   ` Nikolai Kostrigin
2020-09-23 15:17     ` Valery Sinelnikov
2020-09-24  6:35       ` Nikolai Kostrigin
2020-09-24  7:34   ` Ivan A. Melnikov
2020-09-24 11:23     ` Alexey V. Vissarionov
2020-09-24 12:49       ` Valery Sinelnikov

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git