Bug#927027: dcfldd: split=1000 fails on i386, armhf

2019-11-02 Thread Eriberto
Hi again Steve and Berhard,

dcfldd v1.5 was released today[1].

[1] 
https://github.com/resurrecting-open-source-projects/dcfldd/releases/tag/v1.5

I confirm that the new version is working fine now on amd64, i386 and
armhf (I did some tests over these architectures) with split=1000 in
command line. However, I got segmentation fault when running it with
autopkgtest in armhf (amd64 and i386 are ok).

I will remove the split option and close this bug (via upload).
Tomorrow, I will make tests in several architectures and file a bug
against autopkgtest package.

Thank you very much for you contribution.

Cheers,

Eriberto



Bug#927027: dcfldd: split=1000 fails on i386, armhf

2019-10-28 Thread Eriberto Mota
Control: forwarded 927027
https://github.com/resurrecting-open-source-projects/dcfldd

Em dom, 14 de abr de 2019 às 14:57, Bernhard Übelacker
 escreveu:
> Dear Maintainer,
> I tried to have a look at this crash and I think it is related to
> the large file support, which is defined in dcfldd.h, line 27 and 28.
>
> Unfortunately this file gets not included first in split.c and
> therefore off_t gets defined without large file support.
> Therefore the size of struct split_t in split.c and output.c
> is different and therefore the fmt is a null pointer.

Hi Steve and Berhard,

Sorry for my long delay. I implemented Berhard's changes in new
upstream repo (created by me)[1]. I will release the 1.5 version soon.
Note that I am not a C programmer. Feel free to join to the project.
dcfldd is a very nice/useful program and it needs to be resurrected.

Regards,

Eriberto

[1] https://github.com/resurrecting-open-source-projects/dcfldd



Bug#927027: dcfldd: split=1000 fails on i386, armhf

2019-04-14 Thread Bernhard Übelacker
Control: tags 927027 + patch


Dear Maintainer,
I tried to have a look at this crash and I think it is related to
the large file support, which is defined in dcfldd.h, line 27 and 28.

Unfortunately this file gets not included first in split.c and
therefore off_t gets defined without large file support.
Therefore the size of struct split_t in split.c and output.c
is different and therefore the fmt is a null pointer.

The include in split.c got introduced in
30_fix-implicit-declarations.patch and might be fixed there.

There is another case where dcfldd.h is not the first include
in file verify.c, but cannot say if that would cause other problems.

Attached patch demonstrates both changes and a package built
with it could run the test successful.
I have just tested i386, not armhf.

Kind regards,
Bernhard


(gdb) bt
#0  __strlen_sse2_bsf () at ../sysdeps/i386/i686/multiarch/strlen-sse2-bsf.S:50
#1  0x0041da62 in getext (num=0, fmt=0x0) at split.c:52
#2  open_split (split=0x2262330) at split.c:104
#3  split_write (split=0x2262330, buf=0x226d000 "Autopkgtest - Defining tests 
for Debian packages\n\nThis document describes how autopkgtest interprets and 
executes tests found in Debian source packages.\nOverview\n\nThe source package 
provides a test me"..., len=) at split.c:128
#4  0x0041d96d in outputlist_write (buf=0x226d000 "Autopkgtest - Defining tests 
for Debian packages\n\nThis document describes how autopkgtest interprets and 
executes tests found in Debian source packages.\nOverview\n\nThe source package 
provides a test me"..., len=18171) at output.c:155
#5  0x0041b6a7 in dd_copy () at copy.c:366
#6  0x00414d29 in main (argc=, argv=) at 
dcfldd.c:768

# Buster i386 qemu VM 2019-04-14


apt update
apt dist-upgrade


apt install dpkg-dev devscripts mc systemd-coredump autopkgtest dcfldd 
dcfldd-dbgsym gdb lz4

apt build-dep dcfldd


mkdir /home/benutzer/source/dcfldd/orig -p
cd/home/benutzer/source/dcfldd/orig
apt source dcfldd
cd


cd /home/benutzer/source/dcfldd
cp -a orig try1
cd try1/dcfldd-1.3.4.1
dpkg-buildpackage
autopkgtest -- null


###


benutzer@debian:~/source/dcfldd/try1/dcfldd-1.3.4.1$ autopkgtest -- null
autopkgtest [18:54:30]: version 5.10
autopkgtest [18:54:30]: host debian; command line: /usr/bin/autopkgtest -- null
autopkgtest [18:54:30]: testbed dpkg architecture: i386
autopkgtest [18:54:30]: testbed running kernel: Linux 4.19.0-4-686-pae #1 SMP 
Debian 4.19.28-2 (2019-03-15)
autopkgtest [18:54:30]:  built-tree .
autopkgtest [18:54:30]: testing package dcfldd version 1.3.4.1-13
autopkgtest [18:54:30]: test command1: preparing testbed
Starting pkgProblemResolver with broken count: 0
Starting 2 pkgProblemResolver with broken count: 0
Done
autopkgtest: WARNING: virtualisation system does not offer root or writable 
testbed; unpacking dependencies to temporary dir, which will only work for some 
packages
Holen:1 http://192.168.178.25:/debian-10-buster-deb.debian.org buster/main 
i386 dcfldd i386 1.3.4.1-13 [42,5 kB]
Es wurden 42,5 kB in 0 s geholt (2.439 kB/s).
autopkgtest [18:54:31]: test command1: dcfldd if=debian/tests/test.txt 
split=1000 of=$AUTOPKGTEST_TMP/test2.txt hash=md5,sha1,sha256,sha384,sha512; ls 
$AUTOPKGTEST_TMP -lh
autopkgtest [18:54:31]: test command1: [---
bash: line 1: 19173 Segmentation fault  (core dumped) dcfldd 
if=debian/tests/test.txt split=1000 of=$AUTOPKGTEST_TMP/test2.txt 
hash=md5,sha1,sha256,sha384,sha512
autopkgtest [18:54:32]: test command1: ---]
autopkgtest [18:54:32]: test command1:  - - - - - - - - - - results - - - - - - 
- - - -
command1 FAIL non-zero exit status 139
autopkgtest [18:54:32]:  summary
command1 FAIL non-zero exit status 139


###


dmesg:
[  744.195515] dcfldd[19173]: segfault at 0 ip b7e38686 sp bff82094 error 4 in 
libc-2.28.so[b7dca000+14e000]
[  744.195524] Code: 89 fa 5b 5e 0f b6 fa 29 f8 5f 5d c3 66 90 66 90 66 90 66 
90 56 57 8b 7c 24 0c 31 c0 89 f9 83 e1 3f 66 0f ef c0 83 f9 30 77 17  0f 6f 
0f 66 0f 74 c1 66 0f d7 d0 85 d2 75 73 89 f8 83 e0 f0 eb


root@debian:~# coredumpctl list
TIMEPID   UID   GID SIG COREFILE  EXE
Sun 2019-04-14 18:54:31 CEST  19173  1000  1000  11 present   
/tmp/autopkgtest.eHCLuf/deps/usr/bin/dcfldd


root@debian:~# coredumpctl gdb 19173
   PID: 19173 (dcfldd)
   UID: 1000 (benutzer)
   GID: 1000 (benutzer)
Signal: 11 (SEGV)
 Timestamp: Sun 2019-04-14 18:54:31 CEST (1min 5s ago)
  Command Line: dcfldd if debian/tests/test.txt split 1000 of 
/tmp/autopkgtest.eHCLuf/autopkgtest_tmp/test2.txt hash md5 sha1 sha256 sha384 
sha512
Executable: /tmp/autopkgtest.eHCLuf/deps/usr/bin/dcfldd
 Control Group: /user.slice/user-1000.slice/session-3.scope
  Unit: session-3.scope
 Slice: user-1000.slice
   Session: 3
 Owner UID: 1000 (benutzer)
   Boot ID: 8b4e680d36e04a738bc8e8a33f18f3c0
Machi

Bug#927027: dcfldd: split=1000 fails on i386, armhf

2019-04-13 Thread Steve Langasek
Package: dcfldd
Version: 1.3.4.1-12
Severity: important
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu disco

Dear Joao Eriberto,

In 1.3.4.1-13, you have introduced an improved autopkgtest that runs:

  dcfldd if=debian/tests/test.txt split=1000 of=$AUTOPKGTEST_TMP/test2.txt 
hash=md5,sha1,sha256,sha384,sha512

in order to more completely test the dcfldd functionality.

This test passes on amd64 in Debian and Ubuntu; however, Ubuntu runs
autopkgtests for all architectures, not just for amd64, and in Ubuntu this
new test is failing on i386 and armhf.  On i386:

autopkgtest [13:12:59]: test command1: [---
bash: line 1:  1030 Segmentation fault  (core dumped) dcfldd 
if=debian/tests/test.txt split=1000 of=$AUTOPKGTEST_TMP/test2.txt 
hash=md5,sha1,sha256,sha384,sha512
autopkgtest [13:13:00]: test command1: ---]
command1 FAIL non-zero exit status 139

  (http://autopkgtest.ubuntu.com/packages/d/dcfldd/disco/i386)

On armhf:

autopkgtest [12:50:19]: test command1: [---
bash: line 1:   637 Floating point exception(core dumped) dcfldd 
if=debian/tests/test.txt split=1000 of=$AUTOPKGTEST_TMP/test2.txt 
hash=md5,sha1,sha256,sha384,sha512
autopkgtest [12:50:21]: test command1: ---]
autopkgtest [12:50:24]: test command1:  - - - - - - - - - - results - - - - - - 
- - - -
command1 FAIL non-zero exit status 136

  (http://autopkgtest.ubuntu.com/packages/d/dcfldd/disco/armhf)

I've checked, and verified that this same test also fails with the prior
version of dcfldd, in the same way on each architecture.

On both archs, it's the 'split=1000' argument that causes the failure.

Since Debian doesn't run autopkgtests on architectures other than amd64, I
would suggest that you also run this test at package build time so that you
can detect such architecture-dependent breakage before the binary package is
shipped.

Cheers,
-- 
Steve Langasek   Give me a lever long enough and a Free OS
Debian Developer   to set it on, and I can move the world.
Ubuntu Developer   https://www.debian.org/
slanga...@ubuntu.com vor...@debian.org


signature.asc
Description: PGP signature