[Reproducible-builds] Bug#833088: xine-list: non-deterministic output (0xB8), valgrind warning
Daniel Shahaf
danielsh at apache.org
Sun Jul 31 18:21:04 UTC 2016
Package: libxine2-bin
Version: 1.2.6-1.1+b1
Severity: normal
Tags: upstream
User: reproducible-builds at lists.alioth.debian.org
Usertags: randomness toolchain
Control: affects -1 xine-ui
Dear Maintainer,
xine-list-1.2 behaves non-deterministically:
[[[
# while true; do echo $((++i)):; xine-list-1.2 | xxd; done
1:
2:
3:
4:
5:
6:
7:
8:
00000000: b83b .;
9:
10:
11:
12:
13:
⋮
48:
49:
^C
]]]
When xine-list-1.2 does have output, B8 3B is the most common output,
but not the only one; some other values were:
00000000: b81b b13b ...;
00000000: b82b 7c7f 3b .+|.;
00000000: b83b .;
00000000: b83b 1cd1 3b .;..;
00000000: b84b 3b .K;
00000000: b86b 3b .k;
00000000: b86b b4e9 3b .k..;
00000000: b8ab 4a3b ..J;
00000000: b8cb 3b ..;
00000000: b8db 3b0a 3b ..;.;
This may be related to the following valgrind warning:
[[[
# valgrind xine-list-1.2
==3386== Memcheck, a memory error detector
==3386== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
==3386== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info
==3386== Command: xine-list-1.2
==3386==
==3386== Conditional jump or move depends on uninitialised value(s)
==3386== at 0x400B6E: ??? (in /usr/bin/xine-list-1.2)
==3386== by 0x52E672F: (below main) (libc-start.c:291)
==3386==
xine-list: failed to read types info
==3386==
==3386== HEAP SUMMARY:
==3386== in use at exit: 43,508 bytes in 85 blocks
==3386== total heap usage: 192 allocs, 107 frees, 2,155,513 bytes allocated
==3386==
==3386== LEAK SUMMARY:
==3386== definitely lost: 1 bytes in 1 blocks
==3386== indirectly lost: 0 bytes in 0 blocks
==3386== possibly lost: 272 bytes in 1 blocks
==3386== still reachable: 43,235 bytes in 83 blocks
==3386== suppressed: 0 bytes in 0 blocks
==3386== Rerun with --leak-check=full to see details of leaked memory
==3386==
==3386== For counts of detected and suppressed errors, rerun with: -v
==3386== Use --track-origins=yes to see where uninitialised values come from
==3386== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
]]]
(The "failed to read types info" error message and the "1 block
definitely lost" leak summary occur every time; the conditional jump or
move only happens sometimes.)
Finally, I believe this issue may be the reason the 'xine-ui' package is
not reproducible:
..
https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/xine-ui.html
..
That diff currently shows the files are identical, except that the left
file has B8 3B and the right file B8 8B 66 3B, , exactly at the location
where the build might call xine-list:
..
https://sources.debian.net/src/xine-ui/0.99.9-1.2/misc/desktops/Makefile.am/#L31-L43
Cheers,
Daniel
-- System Information:
Debian Release: stretch/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)
Kernel: Linux 4.6.0-1-amd64 (SMP w/1 CPU core)
Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages libxine2-bin depends on:
ii libavutil55 7:3.1.1-3
ii libc6 2.23-4
ii libfreetype6 2.6.3-3+b1
ii zlib1g 1:1.2.8.dfsg-2+b1
libxine2-bin recommends no packages.
libxine2-bin suggests no packages.
-- no debconf information
More information about the Reproducible-builds
mailing list