bug-gawk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: double free error in gawk


From: Andrew J. Schorr
Subject: Re: double free error in gawk
Date: Wed, 1 Jul 2020 15:23:43 -0400
User-agent: Mutt/1.5.21 (2010-09-15)

On Thu, Jul 02, 2020 at 02:40:46AM +0900, NIDE, Naoyuki wrote:
> Thanks. After replacing MPFR and GMP, double free does disappear.
> However, a larger AWK script still does not produce proper output.
> It seems to take time to create the smallest example that causes
> anomalies. I will try again later.

I do suspect there's a gawk issue. If I instrument mpfr.c:mpg_zero
to show the value of n->mpg_i->_mp_d, and I show that value
as well in mpfr_unset, it does look like the same item is freed twice.
It's going to take more troubleshooting to figure this out. But
with the attached mess of a debugging patch and building
with .developing so MEMDEBUG is enabled, on Fedora 32, I see this:

GNU Awk 5.1.0, API: 3.0 (GNU MPFR 4.0.2-p7, GNU MP 6.1.2)

[schorr@ajs-x1 ~/gawk]$ ./gawk -M 'BEGIN{$0 = "a0 b"; gsub(/0/, "", $1); $2 == 
"b"; $0 = ""}'
debug: r_getblock(size 112) -> 0xc997c0
debug: r_getblock(size 112) -> 0xc99c70
debug: r_getblock(size 112) -> 0xc99cf0
debug: r_getblock(size 112) -> 0xc99d90
debug: r_getblock(size 112) -> 0xc99e30
debug: r_getblock(size 48) -> 0xc99f20
debug: r_getblock(size 112) -> 0xc99f80
debug: r_getblock(size 112) -> 0xc9a020
debug: r_getblock(size 48) -> 0xc9a0a0
debug: r_getblock(size 112) -> 0xc9a6e0
debug: r_getblock(size 112) -> 0xc9a780
debug: r_getblock(size 48) -> 0xc9a870
debug: r_getblock(size 112) -> 0xc9a8b0
debug: mpz_init(0xc9a8b0) 0xc9a930
debug: mpg_make_number(0xc9a8b0) to 0 at 0xc9a930
debug: r_getblock(size 112) -> 0xc9a970
debug: r_getblock(size 112) -> 0xc9aa10
debug: r_getblock(size 48) -> 0xc9aa90
debug: r_getblock(size 112) -> 0xc9aad0
debug: mpz_init(0xc9aad0) 0xc9ab50
debug: mpg_make_number(0xc9aad0) to 0 at 0xc9ab50
debug: r_getblock(size 112) -> 0xc9ab90
debug: r_getblock(size 112) -> 0xc9ac30
debug: r_getblock(size 48) -> 0xc9acb0
debug: r_getblock(size 112) -> 0xc9acf0
debug: r_getblock(size 112) -> 0xc9ade0
debug: r_getblock(size 112) -> 0xc9ae80
debug: r_getblock(size 48) -> 0xc9af00
debug: r_getblock(size 112) -> 0xc9af40
debug: r_getblock(size 112) -> 0xc9b000
debug: r_getblock(size 112) -> 0xc9b0a0
debug: r_getblock(size 48) -> 0xc9b120
debug: r_getblock(size 112) -> 0xc9b160
debug: r_getblock(size 112) -> 0xc9b220
debug: r_getblock(size 112) -> 0xc9b2c0
debug: r_getblock(size 48) -> 0xc9b340
debug: r_getblock(size 112) -> 0xc9b380
debug: r_getblock(size 112) -> 0xc9b440
debug: r_getblock(size 112) -> 0xc9b4e0
debug: r_getblock(size 48) -> 0xc9b560
debug: r_getblock(size 112) -> 0xc9b5a0
debug: mpz_init(0xc9b5a0) 0xc9b620
debug: mpg_make_number(0xc9b5a0) to 0 at 0xc9b620
debug: r_getblock(size 112) -> 0xc9b660
debug: r_getblock(size 112) -> 0xc9b700
debug: r_getblock(size 48) -> 0xc9b780
debug: r_getblock(size 112) -> 0xc9b7c0
debug: r_getblock(size 112) -> 0xc9b880
debug: r_getblock(size 112) -> 0xc9b920
debug: r_getblock(size 48) -> 0xc9b9a0
debug: r_getblock(size 112) -> 0xc9b9e0
debug: r_getblock(size 112) -> 0xc9baa0
debug: r_getblock(size 112) -> 0xc9bb40
debug: r_getblock(size 48) -> 0xc9bbc0
debug: r_getblock(size 112) -> 0xc9bc00
debug: mpz_init(0xc9bc00) 0xc9bc80
debug: mpg_make_number(0xc9bc00) to 0 at 0xc9bc80
debug: r_getblock(size 112) -> 0xc9bcc0
debug: r_getblock(size 112) -> 0xc9bd60
debug: r_getblock(size 48) -> 0xc9bde0
debug: r_getblock(size 112) -> 0xc9be20
debug: mpz_init(0xc9be20) 0xc9bea0
debug: mpg_make_number(0xc9be20) to 0 at 0xc9bea0
debug: r_getblock(size 112) -> 0xc9bee0
debug: r_getblock(size 112) -> 0xc9bf80
debug: r_getblock(size 48) -> 0xc9c000
debug: r_getblock(size 112) -> 0xc9c040
debug: mpz_init(0xc9c040) 0xc9c0c0
debug: mpg_make_number(0xc9c040) to 53 at 0xc9c0c0
debug: r_getblock(size 112) -> 0xc9c100
debug: r_getblock(size 112) -> 0xc9c1a0
debug: r_getblock(size 48) -> 0xc9c220
debug: r_getblock(size 112) -> 0xc9c260
debug: mpz_init(0xc9c260) 0xc9c2e0
debug: mpg_make_number(0xc9c260) to -1 at 0xc9c2e0
debug: r_getblock(size 112) -> 0xc9c320
debug: r_getblock(size 112) -> 0xc9c3c0
debug: r_getblock(size 48) -> 0xc9c440
debug: r_getblock(size 112) -> 0xc9c480
debug: mpz_init(0xc9c480) 0xc9c500
debug: mpg_make_number(0xc9c480) to 0 at 0xc9c500
debug: r_getblock(size 112) -> 0xc9c540
debug: r_getblock(size 112) -> 0xc9c5e0
debug: r_getblock(size 48) -> 0xc9c660
debug: r_getblock(size 112) -> 0xc9c6a0
debug: r_getblock(size 112) -> 0xc9c760
debug: r_getblock(size 112) -> 0xc9c800
debug: r_getblock(size 48) -> 0xc9c880
debug: r_getblock(size 112) -> 0xc9c8c0
debug: r_getblock(size 112) -> 0xc9c9a0
debug: r_getblock(size 112) -> 0xc9ca40
debug: r_getblock(size 48) -> 0xc9cac0
debug: r_getblock(size 112) -> 0xc9cb00
debug: r_getblock(size 112) -> 0xc9cbc0
debug: r_getblock(size 112) -> 0xc9cc60
debug: r_getblock(size 48) -> 0xc9cce0
debug: r_getblock(size 112) -> 0xc9cd20
debug: mpz_init(0xc9cd20) 0xc9cda0
debug: mpg_make_number(0xc9cd20) to 0 at 0xc9cda0
debug: r_getblock(size 112) -> 0xc9cde0
debug: r_getblock(size 112) -> 0xc9ce80
debug: r_getblock(size 48) -> 0xc9cf00
debug: r_getblock(size 112) -> 0xc9cf40
debug: r_getblock(size 112) -> 0xc9d000
debug: r_getblock(size 112) -> 0xc9d0a0
debug: r_getblock(size 48) -> 0xc9d120
debug: r_getblock(size 112) -> 0xc9d160
debug: r_getblock(size 112) -> 0xc9d220
debug: r_getblock(size 112) -> 0xc9d2c0
debug: r_getblock(size 48) -> 0xc9d340
debug: r_getblock(size 112) -> 0xc9d380
debug: mpz_init(0xc9d380) 0xc9d400
debug: mpg_make_number(0xc9d380) to 0 at 0xc9d400
debug: r_getblock(size 112) -> 0xc9d440
debug: r_getblock(size 112) -> 0xc9d4e0
debug: r_getblock(size 48) -> 0xc9d560
debug: r_getblock(size 112) -> 0xc9d5a0
debug: r_getblock(size 112) -> 0xc9d660
debug: r_getblock(size 112) -> 0xc9d700
debug: r_getblock(size 48) -> 0xc9d780
debug: r_getblock(size 112) -> 0xc9d7c0
debug: r_getblock(size 112) -> 0xc9d880
debug: r_getblock(size 112) -> 0xc9d920
debug: r_getblock(size 48) -> 0xc9d9a0
debug: r_getblock(size 112) -> 0xc9d9e0
debug: r_getblock(size 112) -> 0xc9daa0
debug: r_getblock(size 112) -> 0xc9db40
debug: r_getblock(size 48) -> 0xc9dbc0
debug: r_getblock(size 112) -> 0xc9dc00
debug: r_getblock(size 112) -> 0xc9dca0
debug: r_getblock(size 48) -> 0xc9ddb0
debug: r_getblock(size 112) -> 0xc9ddf0
debug: r_getblock(size 112) -> 0xc9de90
debug: r_getblock(size 48) -> 0xc9df30
debug: r_getblock(size 112) -> 0xc9df70
debug: r_getblock(size 112) -> 0xc9e010
debug: r_getblock(size 48) -> 0xc9e0b0
debug: r_getblock(size 112) -> 0xc9e0f0
debug: r_getblock(size 112) -> 0xc9e190
debug: r_getblock(size 48) -> 0xc9e230
debug: r_getblock(size 112) -> 0xc9e270
debug: r_getblock(size 112) -> 0xc9e310
debug: r_getblock(size 48) -> 0xc9e3b0
debug: r_getblock(size 112) -> 0xc9e3f0
debug: r_getblock(size 112) -> 0xc9e490
debug: mpz_init(0xc9e490) 0xc9e510
debug: mpg_make_number(0xc9e490) to 9.22337e+18 at 0xc9e510
debug: r_getblock(size 48) -> 0xc9e530
debug: r_getblock(size 112) -> 0xc9e570
debug: r_getblock(size 112) -> 0xc9e610
debug: mpz_init(0xc9e610) 0xc9e690
debug: mpg_make_number(0xc9e610) to 1 at 0xc9e690
debug: r_getblock(size 48) -> 0xc9e6b0
debug: r_getblock(size 112) -> 0xc9e6f0
debug: r_getblock(size 112) -> 0xc9e790
debug: mpz_init(0xc9e790) 0xc9e810
debug: mpg_make_number(0xc9e790) to 3 at 0xc9e810
debug: r_getblock(size 48) -> 0xc9e830
debug: r_getblock(size 112) -> 0xc9e870
debug: r_getblock(size 112) -> 0xc9e910
debug: mpz_init(0xc9e910) 0xc9e990
debug: mpg_make_number(0xc9e910) to 0 at 0xc9e990
debug: r_getblock(size 48) -> 0xc9e9b0
debug: r_getblock(size 112) -> 0xc9e9f0
debug: r_getblock(size 112) -> 0xc9ea90
debug: mpz_init(0xc9ea90) 0xc9eb10
debug: mpg_make_number(0xc9ea90) to 114683 at 0xc9eb10
debug: r_getblock(size 48) -> 0xc9eb30
debug: r_getblock(size 112) -> 0xc9eb70
debug: r_getblock(size 112) -> 0xc9ec10
debug: mpz_init(0xc9ec10) 0xc9ec90
debug: mpg_make_number(0xc9ec10) to 114683 at 0xc9ec90
debug: r_getblock(size 48) -> 0xc9ecb0
debug: r_getblock(size 112) -> 0xc9ecf0
debug: r_getblock(size 112) -> 0xc9ed90
debug: mpz_init(0xc9ed90) 0xc9ee10
debug: mpg_make_number(0xc9ed90) to 112133 at 0xc9ee10
debug: r_getblock(size 48) -> 0xc9ee30
debug: r_getblock(size 112) -> 0xc9ee70
debug: r_getblock(size 112) -> 0xc9ef10
debug: mpz_init(0xc9ef10) 0xc9ef90
debug: mpg_make_number(0xc9ef10) to 1000 at 0xc9ef90
debug: r_getblock(size 48) -> 0xc9efb0
debug: r_getblock(size 112) -> 0xc9eff0
debug: r_getblock(size 112) -> 0xc9f090
debug: mpz_init(0xc9f090) 0xc9f110
debug: mpg_make_number(0xc9f090) to 1000 at 0xc9f110
debug: r_getblock(size 48) -> 0xc9f130
debug: r_getblock(size 112) -> 0xc9f170
debug: r_getblock(size 112) -> 0xc9f210
debug: mpz_init(0xc9f210) 0xc9f290
debug: mpg_make_number(0xc9f210) to 1000 at 0xc9f290
debug: r_getblock(size 48) -> 0xc9f2b0
debug: r_getblock(size 112) -> 0xc9f2f0
debug: r_getblock(size 112) -> 0xc9f390
debug: mpz_init(0xc9f390) 0xc9f410
debug: mpg_make_number(0xc9f390) to 1000 at 0xc9f410
debug: r_getblock(size 48) -> 0xc9f430
debug: r_getblock(size 112) -> 0xc9f470
debug: r_getblock(size 112) -> 0xc9f510
debug: r_getblock(size 48) -> 0xc9f5b0
debug: r_getblock(size 112) -> 0xc9f5f0
debug: r_getblock(size 112) -> 0xc9f690
debug: mpz_init(0xc9f690) 0xc9f710
debug: mpg_make_number(0xc9f690) to 135 at 0xc9f710
debug: r_getblock(size 48) -> 0xc9f730
debug: r_getblock(size 112) -> 0xc9f770
debug: r_getblock(size 112) -> 0xc9f810
debug: mpz_init(0xc9f810) 0xc9f890
debug: mpg_make_number(0xc9f810) to 1000 at 0xc9f890
debug: r_getblock(size 48) -> 0xc9f8b0
debug: r_getblock(size 112) -> 0xc9f8f0
debug: r_getblock(size 112) -> 0xc9f970
debug: mpz_init(0xc9f970) 0xc9f9f0
debug: mpg_make_number(0xc9f970) to 0 at 0xc9f9f0
debug: r_getblock(size 112) -> 0xc9fa10
debug: r_getblock(size 112) -> 0xc9fb00
debug: r_getblock(size 48) -> 0xc9fbf0
debug: r_getblock(size 112) -> 0xc9fb00
debug: mpz_init(0xc9fb00) 0xca0b10
debug: mpg_make_number(0xc9fb00) to 1 at 0xca0b10
debug: r_getblock(size 112) -> 0xc9fc30
debug: r_getblock(size 112) -> 0xc9fe30
debug: r_getblock(size 48) -> 0xc9feb0
debug: r_getblock(size 112) -> 0xc9fe30
debug: mpz_init(0xc9fe30) 0xc9fd00
debug: mpg_make_number(0xc9fe30) to 2 at 0xc9fd00
debug: r_getblock(size 112) -> 0xc9fef0
debug: r_getblock(size 112) -> 0xca0120
debug: r_getblock(size 48) -> 0xca01a0
debug: r_getblock(size 112) -> 0xca0120
debug: r_getblock(size 48) -> 0xca01e0
debug: r_getblock(size 112) -> 0xca0220
debug: r_getblock(size 112) -> 0xca02a0
debug: r_getblock(size 48) -> 0xca0320
debug: r_getblock(size 112) -> 0xca0360
debug: r_getblock(size 112) -> 0xca0400
debug: r_getblock(size 48) -> 0xca0510
debug: r_getblock(size 112) -> 0xca0550
debug: r_getblock(size 112) -> 0xca05f0
debug: r_getblock(size 48) -> 0xca06d0
debug: r_getblock(size 112) -> 0xca0710
debug: r_getblock(size 112) -> 0xca07b0
debug: r_getblock(size 48) -> 0xca0850
debug: r_getblock(size 112) -> 0xca0890
debug: r_getblock(size 112) -> 0xca0930
debug: r_getblock(size 48) -> 0xca09d0
debug: r_getblock(size 112) -> 0xca0a10
debug: r_getblock(size 112) -> 0xca0c60
debug: r_getblock(size 48) -> 0xca0ad0
debug: r_getblock(size 112) -> 0xca0ce0
debug: r_getblock(size 112) -> 0xca0d80
debug: r_getblock(size 48) -> 0xca0e20
debug: r_getblock(size 112) -> 0xca0e60
debug: r_getblock(size 112) -> 0xca0f00
debug: r_getblock(size 48) -> 0xca0fa0
debug: r_getblock(size 112) -> 0xca0fe0
debug: r_getblock(size 112) -> 0xca1080
debug: r_getblock(size 48) -> 0xca1120
debug: r_getblock(size 112) -> 0xca1160
debug: r_getblock(size 112) -> 0xca1200
debug: r_getblock(size 48) -> 0xca12a0
debug: r_getblock(size 112) -> 0xca12e0
debug: r_getblock(size 112) -> 0xca1380
debug: r_getblock(size 48) -> 0xca1420
debug: r_getblock(size 112) -> 0xca1460
debug: r_getblock(size 112) -> 0xca1500
debug: r_getblock(size 48) -> 0xca15a0
debug: r_getblock(size 112) -> 0xca15e0
debug: r_getblock(size 112) -> 0xca1680
debug: r_getblock(size 48) -> 0xca1720
debug: r_getblock(size 112) -> 0xca1760
debug: r_getblock(size 112) -> 0xca1800
debug: r_getblock(size 48) -> 0xca1ac0
debug: r_getblock(size 112) -> 0xca1b00
debug: r_getblock(size 112) -> 0xca1ba0
debug: r_getblock(size 48) -> 0xca1c40
debug: r_getblock(size 112) -> 0xca1c80
debug: r_getblock(size 112) -> 0xca1d20
debug: r_getblock(size 48) -> 0xca1dc0
debug: r_getblock(size 112) -> 0xca1e00
debug: r_getblock(size 112) -> 0xca1ea0
debug: r_getblock(size 48) -> 0xca1f40
debug: r_getblock(size 112) -> 0xca1f80
debug: r_getblock(size 112) -> 0xca2020
debug: r_getblock(size 48) -> 0xca20c0
debug: r_getblock(size 112) -> 0xca2100
debug: r_getblock(size 112) -> 0xca21a0
debug: r_getblock(size 48) -> 0xca2240
debug: r_getblock(size 112) -> 0xca2280
debug: r_getblock(size 112) -> 0xca2320
debug: r_getblock(size 48) -> 0xca23d0
debug: r_getblock(size 112) -> 0xca2410
debug: r_getblock(size 112) -> 0xca24b0
debug: r_getblock(size 48) -> 0xca2550
debug: r_getblock(size 112) -> 0xca2590
debug: r_getblock(size 112) -> 0xca2630
debug: r_getblock(size 48) -> 0xca26e0
debug: r_getblock(size 112) -> 0xca2720
debug: r_getblock(size 112) -> 0xca27c0
debug: r_getblock(size 48) -> 0xca2860
debug: r_getblock(size 112) -> 0xca28a0
debug: r_getblock(size 112) -> 0xca2940
debug: r_getblock(size 48) -> 0xca29e0
debug: r_getblock(size 112) -> 0xca2a20
debug: r_getblock(size 112) -> 0xca2ac0
debug: r_getblock(size 48) -> 0xca2b90
debug: r_getblock(size 112) -> 0xca2bd0
debug: r_getblock(size 112) -> 0xca2c70
debug: r_getblock(size 48) -> 0xca2d10
debug: r_getblock(size 112) -> 0xca2d50
debug: r_getblock(size 112) -> 0xca2df0
debug: r_getblock(size 48) -> 0xca2e90
debug: r_getblock(size 112) -> 0xca2ed0
debug: r_getblock(size 112) -> 0xca2f70
debug: r_getblock(size 48) -> 0xca3010
debug: r_getblock(size 112) -> 0xca3050
debug: r_getblock(size 112) -> 0xca3100
debug: r_getblock(size 48) -> 0xca31a0
debug: r_getblock(size 112) -> 0xca31e0
debug: r_getblock(size 112) -> 0xca3280
debug: r_getblock(size 48) -> 0xca3390
debug: r_getblock(size 112) -> 0xca33d0
debug: r_getblock(size 112) -> 0xca3470
debug: r_getblock(size 48) -> 0xca3510
debug: r_getblock(size 112) -> 0xca3550
debug: r_getblock(size 112) -> 0xca35f0
debug: r_getblock(size 48) -> 0xca3690
debug: r_getblock(size 112) -> 0xca36d0
debug: r_getblock(size 112) -> 0xca3770
debug: r_getblock(size 48) -> 0xca3810
debug: r_getblock(size 112) -> 0xca3850
debug: r_getblock(size 112) -> 0xca38f0
debug: r_getblock(size 48) -> 0xca39a0
debug: r_getblock(size 112) -> 0xca39e0
debug: r_getblock(size 112) -> 0xca3a80
debug: r_getblock(size 48) -> 0xca3b20
debug: r_getblock(size 112) -> 0xca3b60
debug: r_getblock(size 112) -> 0xca3c00
debug: r_getblock(size 48) -> 0xca3cb0
debug: r_getblock(size 112) -> 0xca3cf0
debug: r_getblock(size 112) -> 0xca3d90
debug: r_getblock(size 48) -> 0xca3ea0
debug: r_getblock(size 112) -> 0xca3ee0
debug: r_getblock(size 112) -> 0xca3f80
debug: r_getblock(size 48) -> 0xca4020
debug: r_getblock(size 112) -> 0xca4060
debug: r_getblock(size 112) -> 0xca4100
debug: r_getblock(size 48) -> 0xca41a0
debug: r_getblock(size 112) -> 0xca41e0
debug: r_getblock(size 112) -> 0xca4280
debug: r_getblock(size 48) -> 0xca4720
debug: r_getblock(size 112) -> 0xca4760
debug: r_getblock(size 112) -> 0xca4800
debug: r_getblock(size 48) -> 0xca48a0
debug: r_getblock(size 112) -> 0xca48e0
debug: r_getblock(size 112) -> 0xca4980
debug: r_getblock(size 48) -> 0xca4a20
debug: r_getblock(size 112) -> 0xca4a60
debug: r_getblock(size 112) -> 0xca4b00
debug: r_getblock(size 48) -> 0xca4ba0
debug: r_getblock(size 112) -> 0xca4be0
debug: r_getblock(size 112) -> 0xca4c80
debug: r_getblock(size 48) -> 0xca4d20
debug: r_getblock(size 112) -> 0xca4d60
debug: r_getblock(size 112) -> 0xca4e00
debug: r_getblock(size 48) -> 0xca4ea0
debug: r_getblock(size 112) -> 0xca4ee0
debug: r_getblock(size 112) -> 0xca4f80
debug: r_getblock(size 48) -> 0xca5020
debug: r_getblock(size 112) -> 0xca5060
debug: r_getblock(size 112) -> 0xca5100
debug: r_getblock(size 48) -> 0xca51a0
debug: r_getblock(size 112) -> 0xca51e0
debug: r_getblock(size 112) -> 0xca5280
debug: r_getblock(size 48) -> 0xca5320
debug: r_getblock(size 112) -> 0xca5360
debug: r_getblock(size 112) -> 0xca5410
debug: r_getblock(size 48) -> 0xca54c0
debug: r_getblock(size 112) -> 0xca5500
debug: r_getblock(size 112) -> 0xca55a0
debug: r_getblock(size 48) -> 0xca5640
debug: r_getblock(size 112) -> 0xca5680
debug: r_getblock(size 112) -> 0xca5730
debug: r_getblock(size 48) -> 0xca57d0
debug: r_getblock(size 112) -> 0xca5810
debug: r_getblock(size 112) -> 0xca58b0
debug: r_getblock(size 48) -> 0xca5950
debug: r_getblock(size 112) -> 0xca5990
debug: r_getblock(size 112) -> 0xca5a30
debug: r_getblock(size 48) -> 0xca5ad0
debug: r_getblock(size 112) -> 0xca5b10
debug: r_getblock(size 112) -> 0xca5bb0
debug: r_getblock(size 48) -> 0xca5c50
debug: r_getblock(size 112) -> 0xca5c90
debug: r_getblock(size 112) -> 0xca5d30
debug: r_getblock(size 48) -> 0xca5dd0
debug: r_getblock(size 112) -> 0xca5e10
debug: r_getblock(size 112) -> 0xca5eb0
debug: r_getblock(size 48) -> 0xca5f50
debug: r_getblock(size 112) -> 0xca5f90
debug: r_getblock(size 112) -> 0xca6030
debug: r_getblock(size 48) -> 0xca60d0
debug: r_getblock(size 112) -> 0xca6110
debug: r_getblock(size 112) -> 0xca61b0
debug: r_getblock(size 48) -> 0xca6250
debug: r_getblock(size 112) -> 0xca6290
debug: r_getblock(size 112) -> 0xca6330
debug: r_getblock(size 48) -> 0xca63d0
debug: r_getblock(size 112) -> 0xca6410
debug: r_getblock(size 112) -> 0xca64b0
debug: r_getblock(size 48) -> 0xca6550
debug: r_getblock(size 112) -> 0xca6590
debug: r_getblock(size 112) -> 0xca6630
debug: r_getblock(size 48) -> 0xca66f0
debug: r_getblock(size 112) -> 0xca6730
debug: r_getblock(size 112) -> 0xca67d0
debug: r_getblock(size 48) -> 0xca6880
debug: r_getblock(size 112) -> 0xca68c0
debug: r_getblock(size 112) -> 0xca6960
debug: r_getblock(size 48) -> 0xca6a00
debug: r_getblock(size 112) -> 0xca6a40
debug: r_getblock(size 112) -> 0xca6ae0
debug: r_getblock(size 48) -> 0xca7250
debug: r_getblock(size 112) -> 0xca7290
debug: r_getblock(size 112) -> 0xca7330
debug: r_getblock(size 48) -> 0xca73d0
debug: r_getblock(size 112) -> 0xca7410
debug: r_getblock(size 112) -> 0xca74b0
debug: r_getblock(size 48) -> 0xca7550
debug: r_getblock(size 112) -> 0xca7590
debug: r_getblock(size 112) -> 0xca7630
debug: r_getblock(size 48) -> 0xca76d0
debug: r_getblock(size 112) -> 0xca7710
debug: r_getblock(size 48) -> 0xca77b0
debug: r_getblock(size 112) -> 0xca77f0
debug: r_getblock(size 112) -> 0xca7890
debug: r_getblock(size 48) -> 0xca7930
debug: r_getblock(size 112) -> 0xca7970
debug: r_getblock(size 112) -> 0xca7a30
debug: r_getblock(size 112) -> 0xca7ad0
debug: r_getblock(size 112) -> 0xca8500
debug: r_getblock(size 112) -> 0xca8580
debug: mpz_init(0xca8580) 0xca8600
debug: mpg_make_number(0xca8580) to 0 at 0xca8600
debug: r_getblock(size 112) -> 0xca8620
debug: mpz_init(0xca8620) 0xca86a0
debug: mpg_make_number(0xca8620) to 1 at 0xca86a0
debug: r_getblock(size 112) -> 0xca86e0
debug: r_getblock(size 112) -> 0xca8780
debug: r_getblock(size 48) -> 0xca8800
debug: r_getblock(size 112) -> 0xca8840
debug: mpz_init(0xca8840) 0xca88c0
debug: mpg_make_number(0xca8840) to 0 at 0xca88c0
debug: r_getblock(size 112) -> 0xca88e0
debug: r_getblock(size 112) -> 0xca89d0
debug: r_getblock(size 48) -> 0xca8ac0
debug: r_getblock(size 112) -> 0xca89d0
debug: r_getblock(size 112) -> 0xca8b00
debug: r_getblock(size 48) -> 0xca8b80
debug: r_getblock(size 112) -> 0xca8bc0
debug: mpz_init(0xca8bc0) 0xca9b10
debug: mpg_make_number(0xca8bc0) to 1 at 0xca9b10
debug: r_getblock(size 112) -> 0xca8c90
debug: mpz_init(0xca8c90) 0xca8d10
debug: r_getblock(size 112) -> 0xca8d30
debug: r_getblock(size 112) -> 0xca8df0
debug: r_getblock(size 112) -> 0xca8e70
debug: r_getblock(size 112) -> 0xcaf350
debug: r_getblock(size 112) -> 0xcaf3d0
debug: mpz_init(0xcaf3d0) 0xcaf450
debug: r_getblock(size 112) -> 0xcaf470
debug: mpz_init(0xcaf470) 0xcaf4f0
debug: r_getblock(size 112) -> 0xcaf510
debug: r_getblock(size 112) -> 0xcaf5b0
debug: mpz_init(0xcaf5b0) 0xcaf630
debug: r_getblock(size 112) -> 0xcaf650
debug: r_getblock(size 112) -> 0xcaf6f0
debug: r_getblock(size 112) -> 0xcaf790
debug: r_getblock(size 48) -> 0xcaf030
debug: r_getblock(size 112) -> 0xcaf880
debug: r_getblock(size 112) -> 0xcaf9b0
debug: r_getblock(size 48) -> 0xcaf210
debug: r_getblock(size 112) -> 0xcafa30
debug: r_getblock(size 112) -> 0xcafab0
debug: r_getblock(size 48) -> 0xcafb30
debug: r_getblock(size 112) -> 0xcafb70
debug: r_getblock(size 112) -> 0xcafbf0
debug: r_getblock(size 48) -> 0xcafc70
debug: r_getblock(size 112) -> 0xcafcb0
debug: r_getblock(size 112) -> 0xcafd50
debug: r_getblock(size 48) -> 0xcafdd0
debug: r_getblock(size 112) -> 0xcafe10
debug: r_getblock(size 112) -> 0xcafeb0
debug: r_getblock(size 48) -> 0xcaff30
debug: r_getblock(size 112) -> 0xcaff70
debug: r_getblock(size 112) -> 0xcb0010
debug: r_getblock(size 48) -> 0xcb0090
debug: r_getblock(size 112) -> 0xcb00d0
debug: r_getblock(size 112) -> 0xcb0170
debug: r_getblock(size 48) -> 0xcb01f0
debug: r_getblock(size 112) -> 0xcb0230
debug: r_getblock(size 112) -> 0xcb02d0
debug: r_getblock(size 48) -> 0xcb0350
debug: r_getblock(size 112) -> 0xcb0390
debug: r_getblock(size 112) -> 0xcb0430
debug: r_getblock(size 48) -> 0xcb04b0
debug: r_getblock(size 112) -> 0xcb04f0
debug: r_getblock(size 112) -> 0xcb0590
debug: r_getblock(size 48) -> 0xcb0610
debug: r_getblock(size 112) -> 0xcb0650
debug: r_getblock(size 112) -> 0xcb06f0
debug: r_getblock(size 48) -> 0xcb0770
debug: r_getblock(size 112) -> 0xcb07b0
debug: r_getblock(size 112) -> 0xcb0850
debug: r_getblock(size 48) -> 0xcb08d0
debug: r_getblock(size 112) -> 0xcb0910
debug: r_getblock(size 112) -> 0xcb09b0
debug: r_getblock(size 48) -> 0xcb0a30
debug: r_getblock(size 112) -> 0xcb0a70
debug: r_getblock(size 112) -> 0xcb0b10
debug: r_getblock(size 48) -> 0xcb0b90
debug: r_getblock(size 112) -> 0xcb0bd0
debug: r_getblock(size 112) -> 0xcb0c70
debug: r_getblock(size 48) -> 0xcb0cf0
debug: r_getblock(size 112) -> 0xcb0d30
debug: r_getblock(size 112) -> 0xcb0dd0
debug: r_getblock(size 48) -> 0xcb0e50
debug: r_getblock(size 112) -> 0xcb0e90
debug: r_getblock(size 112) -> 0xcb0f30
debug: r_getblock(size 48) -> 0xcb0fb0
debug: r_getblock(size 112) -> 0xcb0ff0
debug: r_getblock(size 112) -> 0xcb1090
debug: r_getblock(size 48) -> 0xcb1110
debug: r_getblock(size 112) -> 0xcb1150
debug: r_getblock(size 112) -> 0xcb11f0
debug: r_getblock(size 48) -> 0xcb1270
debug: r_getblock(size 112) -> 0xcb12b0
debug: r_getblock(size 112) -> 0xcb1350
debug: r_getblock(size 48) -> 0xcb13d0
debug: r_getblock(size 112) -> 0xcb1410
debug: r_getblock(size 112) -> 0xcb14b0
debug: r_getblock(size 48) -> 0xcb1530
debug: r_getblock(size 112) -> 0xcb1570
debug: r_getblock(size 112) -> 0xcb1610
debug: r_getblock(size 48) -> 0xcb1690
debug: r_getblock(size 112) -> 0xcb16d0
debug: r_getblock(size 112) -> 0xcb1770
debug: r_getblock(size 48) -> 0xcb17f0
debug: r_getblock(size 112) -> 0xcb1830
debug: r_getblock(size 112) -> 0xcb18d0
debug: r_getblock(size 48) -> 0xcb1950
debug: r_getblock(size 112) -> 0xcb1990
debug: r_getblock(size 112) -> 0xcb1a30
debug: r_getblock(size 48) -> 0xcb1ab0
debug: r_getblock(size 112) -> 0xcb1af0
debug: r_getblock(size 112) -> 0xcb1b90
debug: r_getblock(size 48) -> 0xcb1c10
debug: r_getblock(size 112) -> 0xcb1c50
debug: r_getblock(size 112) -> 0xcb1cf0
debug: r_getblock(size 48) -> 0xcb1d70
debug: r_getblock(size 112) -> 0xcb1db0
debug: r_getblock(size 112) -> 0xcb1e50
debug: r_getblock(size 48) -> 0xcb1ed0
debug: r_getblock(size 112) -> 0xcb1f10
debug: r_getblock(size 112) -> 0xcb1fb0
debug: r_getblock(size 48) -> 0xcb2030
debug: r_getblock(size 112) -> 0xcb2070
debug: r_getblock(size 112) -> 0xcb2110
debug: r_getblock(size 48) -> 0xcb2190
debug: r_getblock(size 112) -> 0xcb21d0
debug: r_getblock(size 112) -> 0xcb2270
debug: r_getblock(size 48) -> 0xcb22f0
debug: r_getblock(size 112) -> 0xcb2330
debug: r_getblock(size 112) -> 0xcb23d0
debug: r_getblock(size 48) -> 0xcb2450
debug: r_getblock(size 112) -> 0xcb2490
debug: r_getblock(size 112) -> 0xcb2530
debug: r_getblock(size 48) -> 0xcb25b0
debug: r_getblock(size 112) -> 0xcb25f0
debug: r_getblock(size 112) -> 0xcb2690
debug: r_getblock(size 48) -> 0xcb2710
debug: r_getblock(size 112) -> 0xcb2750
debug: r_getblock(size 112) -> 0xcb27f0
debug: r_getblock(size 48) -> 0xcb2870
debug: r_getblock(size 112) -> 0xcb28b0
debug: r_getblock(size 112) -> 0xcb2950
debug: r_getblock(size 48) -> 0xcb29d0
debug: r_getblock(size 112) -> 0xcb2a10
debug: r_getblock(size 112) -> 0xcb2ab0
debug: r_getblock(size 48) -> 0xcb2b30
debug: r_getblock(size 112) -> 0xcb2b70
debug: r_getblock(size 112) -> 0xcb2c10
debug: r_getblock(size 48) -> 0xcb3090
debug: r_getblock(size 112) -> 0xcb30d0
debug: r_getblock(size 112) -> 0xcb3170
debug: r_getblock(size 48) -> 0xcb31f0
debug: r_getblock(size 112) -> 0xcb3230
debug: r_getblock(size 112) -> 0xcb32d0
debug: r_getblock(size 48) -> 0xcb3350
debug: r_getblock(size 112) -> 0xcb3390
debug: r_getblock(size 48) -> 0xcb3430
debug: r_getblock(size 112) -> 0xcb3470
debug: r_getblock(size 112) -> 0xcb3510
debug: r_getblock(size 112) -> 0xcb35b0
debug: r_getblock(size 112) -> 0xcb3650
debug: r_getblock(size 112) -> 0xcb36f0
debug: r_getblock(size 112) -> 0xcb3790
debug: r_getblock(size 112) -> 0xcb3830
debug: r_getblock(size 112) -> 0xcb3b70
debug: r_getblock(size 48) -> 0xcb3c80
debug: r_getblock(size 112) -> 0xcb3cc0
debug: r_getblock(size 48) -> 0xcb3d60
debug: r_getblock(size 112) -> 0xcb3da0
debug: r_getblock(size 48) -> 0xcb3e40
debug: r_getblock(size 112) -> 0xcb3e80
debug: r_getblock(size 48) -> 0xcb3f20
debug: r_getblock(size 112) -> 0xcb3f60
debug: r_getblock(size 48) -> 0xcb4000
debug: r_getblock(size 112) -> 0xcb4040
debug: r_getblock(size 48) -> 0xcb40e0
debug: r_getblock(size 112) -> 0xcb4120
debug: r_getblock(size 48) -> 0xcb41c0
debug: r_getblock(size 112) -> 0xcb4200
debug: r_getblock(size 48) -> 0xcb42a0
debug: r_getblock(size 112) -> 0xcb42e0
debug: r_getblock(size 48) -> 0xcb4380
debug: r_getblock(size 112) -> 0xcb43c0
debug: r_getblock(size 48) -> 0xcb4460
debug: r_getblock(size 112) -> 0xcb44a0
debug: r_getblock(size 48) -> 0xcb4540
debug: r_getblock(size 112) -> 0xcb4580
debug: r_getblock(size 48) -> 0xcb4620
debug: r_getblock(size 112) -> 0xcb4660
debug: r_getblock(size 48) -> 0xcb4700
debug: r_getblock(size 112) -> 0xcb4740
debug: r_getblock(size 48) -> 0xcb47e0
debug: r_getblock(size 112) -> 0xcb4820
debug: r_getblock(size 48) -> 0xcb48c0
debug: r_getblock(size 112) -> 0xcb4900
debug: r_getblock(size 48) -> 0xcb49a0
debug: r_getblock(size 112) -> 0xcb49e0
debug: r_getblock(size 48) -> 0xcb4a80
debug: r_getblock(size 112) -> 0xcb4ac0
debug: r_getblock(size 48) -> 0xcb4b60
debug: r_getblock(size 112) -> 0xcb4ba0
debug: r_getblock(size 48) -> 0xcb4c40
debug: r_getblock(size 112) -> 0xcb4c80
debug: r_getblock(size 48) -> 0xcb4d20
debug: r_getblock(size 112) -> 0xcb4d60
debug: r_getblock(size 48) -> 0xcb4e00
debug: r_getblock(size 112) -> 0xcb4e40
debug: r_getblock(size 48) -> 0xcb4ee0
debug: r_getblock(size 112) -> 0xcb4f20
debug: r_getblock(size 48) -> 0xcb4fc0
debug: r_getblock(size 112) -> 0xcb5000
debug: r_getblock(size 48) -> 0xcb50a0
debug: r_getblock(size 112) -> 0xcb50e0
debug: r_getblock(size 48) -> 0xcb5180
debug: r_getblock(size 112) -> 0xcb51c0
debug: r_getblock(size 48) -> 0xcb5260
debug: r_getblock(size 112) -> 0xcb52a0
debug: r_getblock(size 48) -> 0xcb5340
debug: r_getblock(size 112) -> 0xcb5380
debug: r_getblock(size 48) -> 0xcb5420
debug: r_getblock(size 112) -> 0xcb5460
debug: r_getblock(size 48) -> 0xcb5500
debug: r_getblock(size 112) -> 0xcb5540
debug: r_getblock(size 48) -> 0xcb55e0
debug: r_getblock(size 112) -> 0xcb5620
debug: r_getblock(size 48) -> 0xcb56c0
debug: r_getblock(size 112) -> 0xcb5700
debug: r_getblock(size 48) -> 0xcb57a0
debug: r_getblock(size 112) -> 0xcb57e0
debug: r_getblock(size 48) -> 0xcb5880
debug: r_getblock(size 112) -> 0xcb58c0
debug: r_getblock(size 48) -> 0xcb5960
debug: r_getblock(size 112) -> 0xcb59a0
debug: r_getblock(size 48) -> 0xcb5a40
debug: r_getblock(size 112) -> 0xcb5a80
debug: r_getblock(size 48) -> 0xcb5b20
debug: r_getblock(size 112) -> 0xcb5b60
debug: r_getblock(size 48) -> 0xcb5c00
debug: r_getblock(size 112) -> 0xcb5c40
debug: r_getblock(size 48) -> 0xcb5ce0
debug: r_getblock(size 112) -> 0xcb5d20
debug: r_getblock(size 48) -> 0xcb61c0
debug: r_getblock(size 112) -> 0xcb6200
debug: r_getblock(size 48) -> 0xcb62a0
debug: r_getblock(size 112) -> 0xcb62e0
debug: r_getblock(size 48) -> 0xcb6380
debug: r_getblock(size 112) -> 0xcb6590
debug: r_getblock(size 48) -> 0xcb6630
debug: r_getblock(size 112) -> 0xcb6670
debug: r_getblock(size 48) -> 0xcb6710
debug: r_getblock(size 112) -> 0xcb6750
debug: r_getblock(size 48) -> 0xcb67f0
debug: r_getblock(size 112) -> 0xcb6830
debug: r_getblock(size 48) -> 0xcb68d0
debug: r_getblock(size 112) -> 0xcb6910
debug: r_getblock(size 48) -> 0xcb69b0
debug: r_getblock(size 112) -> 0xcb69f0
debug: r_getblock(size 48) -> 0xcb6a90
debug: r_getblock(size 112) -> 0xcb6ad0
debug: r_getblock(size 48) -> 0xcb6b70
debug: r_getblock(size 112) -> 0xcb6bb0
debug: r_getblock(size 48) -> 0xcb6c50
debug: r_getblock(size 112) -> 0xcb6c90
debug: r_getblock(size 48) -> 0xcb6d30
debug: r_getblock(size 112) -> 0xcb6d70
debug: r_getblock(size 48) -> 0xcb6e10
debug: r_getblock(size 112) -> 0xcb6e50
debug: r_getblock(size 48) -> 0xcb6ef0
debug: r_getblock(size 112) -> 0xcb6f30
debug: r_getblock(size 48) -> 0xcb6fd0
debug: r_getblock(size 112) -> 0xcb7010
debug: r_getblock(size 48) -> 0xcb70b0
debug: r_getblock(size 112) -> 0xcb70f0
debug: r_getblock(size 48) -> 0xcb7190
debug: r_getblock(size 112) -> 0xcb71d0
debug: r_getblock(size 48) -> 0xcb7270
debug: r_getblock(size 112) -> 0xcb72b0
debug: r_getblock(size 48) -> 0xcb7350
debug: r_getblock(size 112) -> 0xcb7390
debug: r_getblock(size 48) -> 0xcb7430
debug: r_getblock(size 112) -> 0xcb7470
debug: r_getblock(size 48) -> 0xcb7510
debug: r_getblock(size 112) -> 0xcb7550
debug: r_getblock(size 48) -> 0xcb75f0
debug: r_getblock(size 112) -> 0xcb7630
debug: r_getblock(size 48) -> 0xcb76d0
debug: r_getblock(size 112) -> 0xcb7710
debug: r_getblock(size 48) -> 0xcb77b0
debug: r_getblock(size 112) -> 0xcb77f0
debug: r_getblock(size 48) -> 0xcb7890
debug: r_getblock(size 112) -> 0xcb78d0
debug: r_getblock(size 48) -> 0xcb7970
debug: r_getblock(size 112) -> 0xcb79b0
debug: r_getblock(size 48) -> 0xcb7a50
debug: r_getblock(size 112) -> 0xcb7a90
debug: r_getblock(size 48) -> 0xcb7b30
debug: r_getblock(size 112) -> 0xcb7b70
debug: r_getblock(size 48) -> 0xcb7c10
debug: r_getblock(size 112) -> 0xcb7c50
debug: r_getblock(size 48) -> 0xcb7cf0
debug: r_getblock(size 112) -> 0xcb7d30
debug: r_getblock(size 48) -> 0xcb7dd0
debug: r_getblock(size 112) -> 0xcb7e40
debug: r_getblock(size 48) -> 0xcb7ee0
debug: r_getblock(size 112) -> 0xcb7f20
debug: r_getblock(size 48) -> 0xcb7fc0
debug: r_unref(0xcb3510)
debug: r_unref(0xcb35b0)
debug: r_unref(0xcb36f0)
debug: r_unref(0xca7a30)
debug: r_getblock(size 112) -> 0xca7a30
debug: r_unref(0xca7a30)
debug: r_getblock(size 112) -> 0xca7a30
debug: r_getblock(size 112) -> 0xcb36f0
debug: mpz_init(0xcb36f0) 0xcb3590
debug: mpg_make_number(0xcb36f0) to 1 at 0xcb3590
debug: r_unref(0xcb36f0)
debug: mpz_clear(0xcb36f0): 0xcb36f0  _mp_alloc 1 _mp_size 1 mp_d 0xcb3590
debug: r_getblock(size 112) -> 0xcb36f0
debug: mpgz_zero(0xcb36f0) 0xcb3590
debug: r_getblock(size 112) -> 0xcb35b0
debug: r_getblock(size 112) -> 0xcb3510
debug: r_unref(0xcb36f0)
debug: mpz_clear(0xcb36f0): 0xcb36f0  _mp_alloc 1 _mp_size 0 mp_d 0xcb3590
debug: r_unref(0xca7a30)
debug: r_getblock(size 112) -> 0xca7a30
debug: r_unref(0xcb3510)
debug: mpz_clear(0xcb3510): 0xcb3510  _mp_alloc 1 _mp_size 0 mp_d 0xcb3590
free(): double free detected in tcache 2
Abort (core dumped)

As you can see, mpz_clear is getting called twice with mp_d 
set to 0xcb3590. That looks fishy to me.

Regards,
Andy

Attachment: mpfrdbg.patch
Description: Text document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]