Bug#1068117: dieharder: dab_monobit2 crashes with ntuple > 17

2024-04-08 Thread Lucas Thode
Apologies for the confusion, I didn't realize the patch in question was a
new addition.  Just confirmed that it errors out instead of segfaulting or
hanging.

On Sat, Apr 6, 2024 at 5:32 PM Dirk Eddelbuettel  wrote:

>
> Hi Lucas,
>
> As Milan suggested, please sure you are current.  If in doubt, park you
> current checkout and start from
>
> git checkout https://github.com/eddelbuettel/dieharder.git
>
> where you should see today's commit from merging PR 24.
>
> edd@rob:~/git/dieharder(master)$ git ls | head
> *   3442896 - (HEAD -> master, origin/master, origin/HEAD) Merge pull
> request #24 from mbroz/dab-monobit2-ntup (10 hours ago) 
> |\
> | * d928cbf - Avoid overflow in DAB Monobit2 test. (10 hours ago)
> 
> |/
> *   2d4763a - Merge pull request #22 from mbroz/master (6 weeks ago)
> 
> |\
> | * 67989b4 - Do not report file input rewind if nothing was read
> repeatedly. (6 weeks ago) 
> |/
> * c987a15 - Fix segfault for wrongly specified test on commandline.
> (#21) (9 weeks ago) 
> *   a186d90 - Merge pull request #20 from mbroz/warning-fixes (2
> months ago) 
> edd@rob:~/git/dieharder(master)$
>
> Do not rely on the Debian package, it has not been updated yet.
>
> Cheers, Dirk
>
> --
> dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org
>
>


Bug#1068117: dieharder: dab_monobit2 crashes with ntuple > 17

2024-04-06 Thread Lucas Thode
Even when built a statically linked libdieharder, I still get bogus results
(using yesterday's HEAD):
$ ldd dieharder/dieharder
linux-vdso.so.1 (0x7ffe9b548000)
libgsl.so.27 => /lib/x86_64-linux-gnu/libgsl.so.27 (0x7f28f3c0)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x7f28f3b21000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x7f28f393f000)
libgslcblas.so.0 => /lib/x86_64-linux-gnu/libgslcblas.so.0
(0x7f28f3ef2000)
/lib64/ld-linux-x86-64.so.2 (0x7f28f4007000)
$ ./dieharder/dieharder -d 209 -n 17 -p 1
#=#
#dieharder version 3.31.1 Copyright 2003 Robert G. Brown
   #
#=#
   rng_name|rands/second|   Seed   |
mt19937|  8.76e+07  | 422973324|
#=#
test_name   |ntup| tsamples |psamples|  p-value |Assessment
#=#
dab_monobit2|  17|  6500|   1|0.|  FAILED
$ ./dieharder/dieharder -d 209 -n 20 -p 1
Segmentation fault

On Sat, Apr 6, 2024 at 10:23 AM Milan Broz  wrote:

> On 4/6/24 4:33 PM, Lucas Thode wrote:
> ...
> > $ ./dieharder/dieharder -d 209 -n 17 -p 1
> >
> #=#
> > #dieharder version 3.31.1 Copyright 2003 Robert G. Brown
>  #
> >
> #=#
> > rng_name|rands/second|   Seed   |
> >  mt19937|  1.75e+08  |2063877943|
> >
> #=#
> >  test_name   |ntup| tsamples |psamples|  p-value |Assessment
> >
> #=#
> >  dab_monobit2|  17|  6500|   1|1.|  FAILED
>
> This should not be possible.
>
> Are you sure you run the patched version with patched libdieharder (and
> not one from system)?
> You can avoid it by "./configure --disable-shared" to force static link.
>
> This is what I get from current code
> (https://github.com/eddelbuettel/dieharder):
>
> ./dieharder/dieharder -d 209 -n 17 -p 1
> Error:  Can only use ntup up to 15.
>  Read test description with dieharder -d 209 -h.
>
> Milan
>


Bug#1068117: dieharder: dab_monobit2 crashes with ntuple > 17

2024-04-06 Thread Lucas Thode
The updated version is still buggy, albeit in a different way, as it hangs
for n=18, fails the test for n=19, then segfaults for any n after that:

 ./dieharder/dieharder -d 209 -n 12 -p 1
#=#
#dieharder version 3.31.1 Copyright 2003 Robert G. Brown
   #
#=#
   rng_name|rands/second|   Seed   |
mt19937|  1.59e+08  |1346171031|
#=#
test_name   |ntup| tsamples |psamples|  p-value |Assessment
#=#
dab_monobit2|  12|  6500|   1|0.31742526|  PASSED
$ ./dieharder/dieharder -d 209 -n 17 -p 1
#=#
#dieharder version 3.31.1 Copyright 2003 Robert G. Brown
   #
#=#
   rng_name|rands/second|   Seed   |
mt19937|  1.75e+08  |2063877943|
#=#
test_name   |ntup| tsamples |psamples|  p-value |Assessment
#=#
dab_monobit2|  17|  6500|   1|1.|  FAILED
$ ./dieharder/dieharder -d 209 -n 18 -p 1
^C
$ ./dieharder/dieharder -d 209 -n 19 -p 1
#=#
#dieharder version 3.31.1 Copyright 2003 Robert G. Brown
   #
#=#
   rng_name|rands/second|   Seed   |
mt19937|  1.78e+08  |2027322855|
#=#
test_name   |ntup| tsamples |psamples|  p-value |Assessment
#=#
dab_monobit2|  19|  6500|   1|0.|  FAILED
$ ./dieharder/dieharder -d 209 -n 20 -p 1
Segmentation fault
$ LD_LIBRARY_PATH=libdieharder/.libs gdb --args dieharder/.libs/dieharder
-d 209 -n 20 -p 1
(gdb) run
Starting program: ~/dieharder-test/dieharder/.libs/dieharder -d 209 -n 20
-p 1
Program received signal SIGSEGV, Segmentation fault.
add_2_test (dtest=0x3ff0, test=0x5558a830, count=1)
at std_test.c:233
233 for(j = 0;j < dtest->nkps;j++){
(gdb) bt
#0  add_2_test (dtest=0x3ff0, test=0x5558a830, count=1)
at std_test.c:233
#1  0x9bac in execute_test (dtest_num=209) at run_test.c:92
#2  0x9d82 in run_test () at run_test.c:32
#3  0x633e in main (argc=7, argv=0x7fffe078) at
dieharder.c:90

Unfortunately, the trail of what looks to be stack corruption goes cold
from there...

On Fri, Apr 5, 2024 at 1:24 PM Dirk Eddelbuettel  wrote:

>
> Hi Lucas,
>
> On 30 March 2024 at 22:47, Lucas Thode wrote:
> | Package: dieharder
> | Version: 3.31.1.4-1.1
> | Severity: normal
> | X-Debbugs-Cc: thode...@gmail.com
> |
> | Dear Maintainer,
> |
> | `dieharder -d 209 -n $nvalue` crashes for $nvalue>17:
> |
> | $ dieharder -d 209
> |
> #=#
> | #dieharder version 3.31.1 Copyright 2003 Robert G. Brown
>   #
> |
> #=#
> |rng_name|rands/second|   Seed   |
> | mt19937|  1.55e+08  |2819069712|
> |
> #=#
> | test_name   |ntup| tsamples |psamples|  p-value |Assessment
> |
> #=#
> | dab_monobit2|  12|  6500|   1|0.40510331|  PASSED
> | $ dieharder -d 209 -n 12
> |
> #=#
> | #dieharder version 3.31.1 Copyright 2003 Robert G. Brown
>   #
> |
> #=#
> |rng_name|rands/second|   Seed   |
> | mt19937|  2.54e+08  | 152376536|
> |
> #=#
> | test_name   |ntup| tsamples |psamples|  p-value |Assessment
> |
> #=#
> | dab_monobit2|  12|  6500|   1|0.10580971|  PASSED
> | $ dieharder -d 209 -n 17
> |
> #=#
> | #dieharder version 3.31.1 Copyright 2003 Ro

Bug#1068117: dieharder: dab_monobit2 crashes with ntuple > 17

2024-03-30 Thread Lucas Thode
Package: dieharder
Version: 3.31.1.4-1.1
Severity: normal
X-Debbugs-Cc: thode...@gmail.com

Dear Maintainer,

`dieharder -d 209 -n $nvalue` crashes for $nvalue>17:

$ dieharder -d 209
#=#
#dieharder version 3.31.1 Copyright 2003 Robert G. Brown  #
#=#
   rng_name|rands/second|   Seed   |
mt19937|  1.55e+08  |2819069712|
#=#
test_name   |ntup| tsamples |psamples|  p-value |Assessment
#=#
dab_monobit2|  12|  6500|   1|0.40510331|  PASSED
$ dieharder -d 209 -n 12
#=#
#dieharder version 3.31.1 Copyright 2003 Robert G. Brown  #
#=#
   rng_name|rands/second|   Seed   |
mt19937|  2.54e+08  | 152376536|
#=#
test_name   |ntup| tsamples |psamples|  p-value |Assessment
#=#
dab_monobit2|  12|  6500|   1|0.10580971|  PASSED
$ dieharder -d 209 -n 17
#=#
#dieharder version 3.31.1 Copyright 2003 Robert G. Brown  #
#=#
   rng_name|rands/second|   Seed   |
mt19937|  2.29e+08  |2998370165|
#=#
test_name   |ntup| tsamples |psamples|  p-value |Assessment
#=#
dab_monobit2|  17|  6500|   1|1.|  FAILED
$ dieharder -d 209 -n 18
*** stack smashing detected ***: terminated
Aborted
$ dieharder -d 209 -n 27
*** stack smashing detected ***: terminated
Aborted
$ dieharder -d 209 -n 28
Segmentation fault

P.S. There are more issues with this test not liking non-standard n values, as
can be seen from it failing miserably on mt19937 with -n 17, but the crash is
the most glaring problem.


-- System Information:
Debian Release: trixie/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.3.0-1-amd64 (SMP w/12 CPU threads; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages dieharder depends on:
ii  libc6 2.37-15
ii  libdieharder3t64  3.31.1.4-1.1
ii  libgsl27  2.7.1+dfsg-6+b1

dieharder recommends no packages.

dieharder suggests no packages.

-- no debconf information