DPDK CI discussions
 help / color / mirror / Atom feed
* Re: [dpdk-ci] [PATCH v2] pmdinfogen: allow padding after NUL terminator
       [not found] ` <20210527212421.24224-1-dmitry.kozliuk@gmail.com>
@ 2021-06-09 15:52   ` Dmitry Kozlyuk
  2021-06-09 16:01     ` Lincoln Lavoie
  0 siblings, 1 reply; 4+ messages in thread
From: Dmitry Kozlyuk @ 2021-06-09 15:52 UTC (permalink / raw)
  To: dev; +Cc: Zhihong Peng, Neil Horman, ci

2021-05-28 00:24 (UTC+0300), Dmitry Kozlyuk:
> Size of string constant symbol may be larger than its length
> measured up to NUL terminator. In this case pmdinfogen included padding
> bytes after NUL terminator in generated source, yielding incorrect code.
> 
> Always trim string data to NUL terminator while reading ELF.
> It was already done for COFF because there's no symbol size.
> 
> Bugzilla ID: 720
> Fixes: f0f93a7adfee ("buildtools: use Python pmdinfogen")
> 
> Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
> ---
> v2: return helper to coff.py, where it's needed (David Marchand).
> 
>  buildtools/pmdinfogen.py | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/buildtools/pmdinfogen.py b/buildtools/pmdinfogen.py
> index 7a739ec7d4..2a44f17bda 100755
> --- a/buildtools/pmdinfogen.py
> +++ b/buildtools/pmdinfogen.py
> @@ -28,7 +28,7 @@ def __init__(self, image, symbol):
>      def string_value(self):
>          size = self._symbol["st_size"]
>          value = self.get_value(0, size)
> -        return value[:-1].decode() if value else ""
> +        return coff.decode_asciiz(value)  # not COFF-specific
>  
>      def get_value(self, offset, size):
>          section = self._symbol["st_shndx"]

There are CI failures that seem unrelated to this patch:
some tests with NICs that I can't check
and an Arch Linux build failure that I failed to reproduce.
GitHub Actions are passing.
Are these known CI bugs or does this patch need any corrections?

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

* Re: [dpdk-ci] [PATCH v2] pmdinfogen: allow padding after NUL terminator
  2021-06-09 15:52   ` [dpdk-ci] [PATCH v2] pmdinfogen: allow padding after NUL terminator Dmitry Kozlyuk
@ 2021-06-09 16:01     ` Lincoln Lavoie
  2021-06-09 16:48       ` Dmitry Kozlyuk
  0 siblings, 1 reply; 4+ messages in thread
From: Lincoln Lavoie @ 2021-06-09 16:01 UTC (permalink / raw)
  To: Dmitry Kozlyuk; +Cc: dev, Zhihong Peng, Neil Horman, ci

[-- Attachment #1: Type: text/plain, Size: 2233 bytes --]

Hi Dmitry,

If the failing test is the unit test func_reentrancy_autotest, that is
being looked into , as it seems like the test case does not reliably run.
It passes / fails between different systems running both on bare metal and
in virtual environments, on different OSes and architectures.

Do you have a link to your patch in patchworks or the lab dashboard?

Cheers,
Lincoln



On Wed, Jun 9, 2021 at 11:52 AM Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
wrote:

> 2021-05-28 00:24 (UTC+0300), Dmitry Kozlyuk:
> > Size of string constant symbol may be larger than its length
> > measured up to NUL terminator. In this case pmdinfogen included padding
> > bytes after NUL terminator in generated source, yielding incorrect code.
> >
> > Always trim string data to NUL terminator while reading ELF.
> > It was already done for COFF because there's no symbol size.
> >
> > Bugzilla ID: 720
> > Fixes: f0f93a7adfee ("buildtools: use Python pmdinfogen")
> >
> > Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
> > ---
> > v2: return helper to coff.py, where it's needed (David Marchand).
> >
> >  buildtools/pmdinfogen.py | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/buildtools/pmdinfogen.py b/buildtools/pmdinfogen.py
> > index 7a739ec7d4..2a44f17bda 100755
> > --- a/buildtools/pmdinfogen.py
> > +++ b/buildtools/pmdinfogen.py
> > @@ -28,7 +28,7 @@ def __init__(self, image, symbol):
> >      def string_value(self):
> >          size = self._symbol["st_size"]
> >          value = self.get_value(0, size)
> > -        return value[:-1].decode() if value else ""
> > +        return coff.decode_asciiz(value)  # not COFF-specific
> >
> >      def get_value(self, offset, size):
> >          section = self._symbol["st_shndx"]
>
> There are CI failures that seem unrelated to this patch:
> some tests with NICs that I can't check
> and an Arch Linux build failure that I failed to reproduce.
> GitHub Actions are passing.
> Are these known CI bugs or does this patch need any corrections?
>


-- 
*Lincoln Lavoie*
Principal Engineer, Broadband Technologies
21 Madbury Rd., Ste. 100, Durham, NH 03824
lylavoie@iol.unh.edu
https://www.iol.unh.edu
+1-603-674-2755 (m)
<https://www.iol.unh.edu>

[-- Attachment #2: Type: text/html, Size: 4080 bytes --]

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

* Re: [dpdk-ci] [PATCH v2] pmdinfogen: allow padding after NUL terminator
  2021-06-09 16:01     ` Lincoln Lavoie
@ 2021-06-09 16:48       ` Dmitry Kozlyuk
  2021-06-09 17:19         ` Owen Hilyard
  0 siblings, 1 reply; 4+ messages in thread
From: Dmitry Kozlyuk @ 2021-06-09 16:48 UTC (permalink / raw)
  To: Lincoln Lavoie; +Cc: dev, Zhihong Peng, Neil Horman, ci

2021-06-09 12:01 (UTC-0400), Lincoln Lavoie:
> Hi Dmitry,
> 
> If the failing test is the unit test func_reentrancy_autotest, that is
> being looked into , as it seems like the test case does not reliably run.
> It passes / fails between different systems running both on bare metal and
> in virtual environments, on different OSes and architectures.
> 
> Do you have a link to your patch in patchworks or the lab dashboard?

Hi Lincoln,

Yes, this is func_reentrancy_autotest failure.
Dashboard link:
https://lab.dpdk.org/results/dashboard/patchsets/17240/
MTU and stats can hardly be affected by this patch.

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

* Re: [dpdk-ci] [PATCH v2] pmdinfogen: allow padding after NUL terminator
  2021-06-09 16:48       ` Dmitry Kozlyuk
@ 2021-06-09 17:19         ` Owen Hilyard
  0 siblings, 0 replies; 4+ messages in thread
From: Owen Hilyard @ 2021-06-09 17:19 UTC (permalink / raw)
  To: Dmitry Kozlyuk; +Cc: Lincoln Lavoie, dev, Zhihong Peng, Neil Horman, ci

[-- Attachment #1: Type: text/plain, Size: 922 bytes --]

Hi Dmitry,

Those failures are the result of a known issue with that machine. Those
tests were disabled on that machine shortly after you submitted that patch.
I've re-run the patch.

Owen Hilyard

On Wed, Jun 9, 2021 at 12:48 PM Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
wrote:

> 2021-06-09 12:01 (UTC-0400), Lincoln Lavoie:
> > Hi Dmitry,
> >
> > If the failing test is the unit test func_reentrancy_autotest, that is
> > being looked into , as it seems like the test case does not reliably run.
> > It passes / fails between different systems running both on bare metal
> and
> > in virtual environments, on different OSes and architectures.
> >
> > Do you have a link to your patch in patchworks or the lab dashboard?
>
> Hi Lincoln,
>
> Yes, this is func_reentrancy_autotest failure.
> Dashboard link:
> https://lab.dpdk.org/results/dashboard/patchsets/17240/
> MTU and stats can hardly be affected by this patch.
>

[-- Attachment #2: Type: text/html, Size: 1433 bytes --]

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

end of thread, other threads:[~2021-06-09 17:19 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20210526214343.31352-1-dmitry.kozliuk@gmail.com>
     [not found] ` <20210527212421.24224-1-dmitry.kozliuk@gmail.com>
2021-06-09 15:52   ` [dpdk-ci] [PATCH v2] pmdinfogen: allow padding after NUL terminator Dmitry Kozlyuk
2021-06-09 16:01     ` Lincoln Lavoie
2021-06-09 16:48       ` Dmitry Kozlyuk
2021-06-09 17:19         ` Owen Hilyard

DPDK CI discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/ci/0 ci/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 ci ci/ https://inbox.dpdk.org/ci \
		ci@dpdk.org
	public-inbox-index ci

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.ci


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