ALT Linux Team development discussions
 help / color / mirror / Atom feed
* Re: [devel] dvblast-2.2-alt4: Sisyphus/x86_64 test rebuild failed
  @ 2012-10-02  5:13 ` Alexei Takaseev
  2012-10-02  6:16   ` Ivan A. Melnikov
  0 siblings, 1 reply; 3+ messages in thread
From: Alexei Takaseev @ 2012-10-02  5:13 UTC (permalink / raw)
  To: devel



----- Исходное сообщение -----
> От: "ALT beekeeper" <hiver@altlinux.org>
> Кому: sbolshakov@altlinux.org, taf@altlinux.org
> Копия: hiver@altlinux.org
> Отправленные: Вторник, 2 Октябрь 2012 г 2:17:59
> Тема: dvblast-2.2-alt4: Sisyphus/x86_64 test rebuild failed
> 
> Package: dvblast-2.2-alt4
> Status: Sisyphus/x86_64 test rebuild failed
> Cannot build this package.
> Please investigate.
> Excerpt from build log:
> 
> <86>Oct  1 15:58:28 userdel[25513]: delete user 'rooter'
> <86>Oct  1 15:58:28 userdel[25513]: removed group 'rooter' owned by
> 'rooter'
> <86>Oct  1 15:58:28 groupadd[25521]: group added to /etc/group:
> name=rooter, GID=549
> <86>Oct  1 15:58:28 groupadd[25521]: new group: name=rooter, GID=549
> <86>Oct  1 15:58:28 useradd[25527]: new user: name=rooter, UID=549,
> GID=549, home=/root, shell=/bin/bash
> <86>Oct  1 15:58:28 userdel[25533]: delete user 'builder'
> <86>Oct  1 15:58:28 userdel[25533]: removed group 'builder' owned by
> 'builder'
> <86>Oct  1 15:58:28 groupadd[25538]: group added to /etc/group:
> name=builder, GID=550
> <86>Oct  1 15:58:28 groupadd[25538]: group added to /etc/gshadow:
> name=builder
> <86>Oct  1 15:58:28 groupadd[25538]: new group: name=builder, GID=550
> <86>Oct  1 15:58:28 useradd[25542]: new user: name=builder, UID=550,
> GID=550, home=/usr/src, shell=/bin/bash
> <13>Oct  1 15:58:33 rpmi: bitstream-headers-1.0-alt3 installed
> Installing dvblast-2.2-alt4.src.rpm
> Building target platforms: x86_64
> Building for target x86_64
> Executing(%prep): /bin/sh -e /usr/src/tmp/rpm-tmp.33481
> + umask 022
> + /bin/mkdir -p /usr/src/RPM/BUILD
> + cd /usr/src/RPM/BUILD
> + rm -rf dvblast-2.2
> + echo 'Source #0 (dvblast-2.2.tar):'
> Source #0 (dvblast-2.2.tar):
> + /bin/tar -xf /usr/src/RPM/SOURCES/dvblast-2.2.tar
> + cd dvblast-2.2
> + /bin/chmod -c -Rf u+rwX,go-w .
> + exit 0
> Executing(%build): /bin/sh -e /usr/src/tmp/rpm-tmp.33481
> + umask 022
> + /bin/mkdir -p /usr/src/RPM/BUILD
> + cd /usr/src/RPM/BUILD
> + cd dvblast-2.2
> + make
> make: Entering directory `/usr/src/RPM/BUILD/dvblast-2.2'
> CC      dvblast.c
> CC      util.c
> CC      dvb.c
> CC      udp.c
> CC      asi.c
> CC      demux.c
> CC      output.c
> CC      en50221.c
> In file included from /usr/include/string.h:656:0,
>                  from en50221.c:30:
> In function 'memcpy',
>     inlined from 'TPDUSend.constprop.35' at en50221.c:318:19,
>     inlined from 'SPDUSend' at en50221.c:500:26:
> /usr/include/bits/string3.h:51:3: error: call to
> __builtin___memcpy_chk will always overflow destination buffer
> make: *** [en50221.o] Error 1
> make: Leaving directory `/usr/src/RPM/BUILD/dvblast-2.2'
> error: Bad exit status from /usr/src/tmp/rpm-tmp.33481 (%build)

Подскажите, пожалуйста, куда копать в данном случае? На i586 сборка проходит нормально.


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

* Re: [devel] dvblast-2.2-alt4: Sisyphus/x86_64 test rebuild failed
  2012-10-02  5:13 ` [devel] dvblast-2.2-alt4: Sisyphus/x86_64 test rebuild failed Alexei Takaseev
@ 2012-10-02  6:16   ` Ivan A. Melnikov
  2012-10-03  8:02     ` Alexei Takaseev
  0 siblings, 1 reply; 3+ messages in thread
From: Ivan A. Melnikov @ 2012-10-02  6:16 UTC (permalink / raw)
  To: devel


Посмотрел на код. По-моему, как-то так:

On Tue, 2 Oct 2012 14:13:46 +0900 (IRKT)
Alexei Takaseev <alexei@taf.ru> wrote:
[...]
> >     inlined from 'TPDUSend.constprop.35' at en50221.c:318:19,

Тут выделяется буфер размером MAX_TPDU_SIZE (4096) байт, затем туда
пишется заголовок (3 каких-то байта, хитро закодированная длинна
данных i_lenght, ещё один байт) и данные размером i_length.

> >     inlined from 'SPDUSend' at en50221.c:500:26:

Тут в ту функцию выше передаются данные размером MAX_TPDU_DATA (4096
- 4) байт.

> > /usr/include/bits/string3.h:51:3: error: call to
> > __builtin___memcpy_chk will always overflow destination buffer

Тут компилятор справедливо замечает, что

	3 + (длина поля size) + 1 + (4096 - 4) > 4096

на размер хитро	закодированной длины (в нашем случае 3 байта).

> > make: *** [en50221.o] Error 1
> > make: Leaving directory `/usr/src/RPM/BUILD/dvblast-2.2'
> > error: Bad exit status from /usr/src/tmp/rpm-tmp.33481 (%build)
> 
> Подскажите, пожалуйста, куда копать в данном случае? На i586 сборка
> проходит нормально.

Нужно знать особенности формата. Можно рискнуть уменьшить MAX_TPDU_DATA
ещё на 3 (откомпилироваться помогает), но не знаю, поймут ли это те, кто
эти данные читает.

-- 
WBR,
Ivan A. Melnikov


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

* Re: [devel] dvblast-2.2-alt4: Sisyphus/x86_64 test rebuild failed
  2012-10-02  6:16   ` Ivan A. Melnikov
@ 2012-10-03  8:02     ` Alexei Takaseev
  0 siblings, 0 replies; 3+ messages in thread
From: Alexei Takaseev @ 2012-10-03  8:02 UTC (permalink / raw)
  To: ALT Linux Team development discussions



----- Исходное сообщение -----
> От: "Ivan A. Melnikov" <iv@altlinux.org>
> Кому: devel@lists.altlinux.org
> Отправленные: Вторник, 2 Октябрь 2012 г 15:16:08
> Тема: Re: [devel] dvblast-2.2-alt4: Sisyphus/x86_64 test rebuild failed
> 
> 
> Посмотрел на код. По-моему, как-то так:
> 
> On Tue, 2 Oct 2012 14:13:46 +0900 (IRKT)
> Alexei Takaseev <alexei@taf.ru> wrote:
> [...]
> > >     inlined from 'TPDUSend.constprop.35' at en50221.c:318:19,
> 
> Тут выделяется буфер размером MAX_TPDU_SIZE (4096) байт, затем туда
> пишется заголовок (3 каких-то байта, хитро закодированная длинна
> данных i_lenght, ещё один байт) и данные размером i_length.
> 
> > >     inlined from 'SPDUSend' at en50221.c:500:26:
> 
> Тут в ту функцию выше передаются данные размером MAX_TPDU_DATA (4096
> - 4) байт.
> 
> > > /usr/include/bits/string3.h:51:3: error: call to
> > > __builtin___memcpy_chk will always overflow destination buffer
> 
> Тут компилятор справедливо замечает, что
> 
> 	3 + (длина поля size) + 1 + (4096 - 4) > 4096
> 
> на размер хитро	закодированной длины (в нашем случае 3 байта).
> 
> > > make: *** [en50221.o] Error 1
> > > make: Leaving directory `/usr/src/RPM/BUILD/dvblast-2.2'
> > > error: Bad exit status from /usr/src/tmp/rpm-tmp.33481 (%build)
> > 
> > Подскажите, пожалуйста, куда копать в данном случае? На i586 сборка
> > проходит нормально.
> 
> Нужно знать особенности формата. Можно рискнуть уменьшить
> MAX_TPDU_DATA
> ещё на 3 (откомпилироваться помогает), но не знаю, поймут ли это те,
> кто
> эти данные читает.

Спасибо! MAX_TPDU_DATA-7 помогло собраться. По ходу, автор упустил реальный
размер i_length в памяти. На реальных данных переполнения не происходило (там
оперируют блоками до 200 байт), но апстрим уже разбирается, откуда у них
3 лишних байта вылезло.

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

end of thread, other threads:[~2012-10-03  8:02 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-10-02  5:13 ` [devel] dvblast-2.2-alt4: Sisyphus/x86_64 test rebuild failed Alexei Takaseev
2012-10-02  6:16   ` Ivan A. Melnikov
2012-10-03  8:02     ` Alexei Takaseev

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