On 12/15/2013 21:50, Nicholas Clark wrote:
On Sun, Dec 15, 2013 at 05:56:40PM +0000, Nicholas Clark wrote:

With this, all NQP tests pass I can build the Rakudo setting, with a nursery
size of 2048K.

I have now written a script that will attempt to repeatedly recompile that
far, each time dropping the nursery size by 1K, until something breaks.
I shall nice it appropriately, and if it still going tomorrow, try again
with a larger decrement, until something does fail.
Hit at 2047.

(gdb) where
#0  0x00007ffff7a3360b in mp_copy (a=0x7fffffffd2e0, b=0x7ffff6a91ba8)
     at 3rdparty/libtommath/bn_mp_copy.c:30
#1  0x00007ffff7a2f111 in MVM_bigint_radix (tc=0x6023f0, radix=10,
     str=0x7ffff6a983c0, offset=1, flag=2, type=0x1588110)
     at src/math/bigintops.c:396
#2  0x00007ffff79a35ff in MVM_interp_run (tc=0x6023f0,
     initial_invoke=0x7ffff7a2fac3 <toplevel_initial_invoke>,
     invoke_data=0x6676c0) at src/core/interp.c:1891
#3  0x00007ffff7a2fbf0 in MVM_vm_run_file (instance=0x602010,
     filename=0x7fffffffe7c0 "perl6.moarvm") at src/moar.c:157
#4  0x0000000000400d2e in main (argc=9, argv=0x7fffffffe4d8) at src/main.c:137

b is in fromspace

Lines 367 onwards of bigintops.c:

     value_obj = MVM_repr_alloc_init(tc, type);
     MVM_repr_push_o(tc, result, value_obj);

     value = get_bigint(tc, value_obj);

     base_obj = MVM_repr_alloc_init(tc, type);
     MVM_repr_push_o(tc, result, base_obj);

     base = get_bigint(tc, base_obj);



I think that value_obj is getting moved.
I presume that base_obj could get moved too.

I don't know for sure what the right fix is.
Hopefully, 191c383 is the right fix. Confirmation welcome. :-)

Thanks,

Jonathan


Reply via email to