Re: [perl #25129] IO Buffer Test
Arvindh Rajesh Tamilmani [EMAIL PROTECTED] wrote: name=biotests.patch Something is wrong with these tests: patching t/src/io.t and PASM code. Even if that works, PASM tests shouldn't be in t/src but in t/pmc/io.t. leo
RE: [perl #25129] IO Buffer Test
Even if that works, PASM tests shouldn't be in t/src but in t/pmc/io.t. Sorry, I didn't know that. The attached patch is for t/pmc/io.t leo Thanks, Arvindh biotests2.patch Description: biotests2.patch This e-mail and any files transmitted with it are for the sole use of the intended recipient(s) and may contain confidential and privileged information. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. Any unauthorised review, use, disclosure, dissemination, forwarding, printing or copying of this email or any action taken in reliance on this e-mail is strictly prohibited and may be unlawful. Visit us at http://www.cognizant.com
RE: [perl #25129] IO Buffer Test
This is a test for the buffer bug that was discussed on p6i a few days ago. It does not remove the test file it makes because I do not know a good way to do this. You may use teardown() defined in t/src/io.t The attached patch contains stripped down versions of your program that I used to simulate the buffer IO bugs (perl #24941). Test cases for: a) PIO_flush on buffer full b) turn off buffering Leo, even with old versions of the repository, I couldn't simulate the 'filling the disk on flush' bug. My box is i386-linux with gcc. /Stefan Thanks, Arvindh biotests.patch Description: biotests.patch This e-mail and any files transmitted with it are for the sole use of the intended recipient(s) and may contain confidential and privileged information. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. Any unauthorised review, use, disclosure, dissemination, forwarding, printing or copying of this email or any action taken in reliance on this e-mail is strictly prohibited and may be unlawful. Visit us at http://www.cognizant.com
Re: [perl #25129] IO Buffer Test
Stefan Lidman [EMAIL PROTECTED] wrote: This is a test for the buffer bug that was discussed on p6i a few days ago. Thanks, fine. output_is('CODE', OUTPUT, Buffer test); set S0, buffTest open P1, S0 open P1, S0, I don't know, if it should even write the test file w/o that, but it does (once). Anyway, while the rest of the code seems to be totally ok, it PANICs here with a memory shortage. I'll have a look at that first. Thanks for the test, leo
Re: [perl #25129] IO Buffer Test
Stefan Lidman [EMAIL PROTECTED] wrote: readline S1, P1 The implementation of readline looks rather bogus. It allocates a huge (64K) string, sets that to zero, and the calls read, which calls readline. This is really suboptimal. It should probably call PIO_buf_readline or such directly, which could return a newly created string of the needed size. WRT the PANIC: interpreter-memory_allocated = 412528944, I don't know yet, why. Printing statistics after the readline makes the PANIC go away but still: Successful *** Parrot VM: Dumping GC info *** Total memory allocated = 384226672 DOD runs = 547 Collect runs = 11 leo
Re: [perl #25129] IO Buffer Test
Stefan Lidman [EMAIL PROTECTED] wrote: [ VM Panic ] SPLIT: substr S3, S1, 0, 1 substr S1, 0, 1, The mem_allocate happens to be triggered by above string_replace, which does unmake_COW. During that GC is blocked, so we are allocating increasing blocks of memory until the PANIC. leo
Re: [perl #25129] IO Buffer Test
Stefan Lidman [EMAIL PROTECTED] wrote: [ and yet another f'up ] I've now comitted a fix for unmakeCOW not to turn off GC. So the test runs fine now with limited memory. *But*: Total memory allocated = 532480 DOD runs = 9680 Collect runs = 9660 Collect memory = 1388032592 ^^ Its horribly slow. /Me thinks that's the readline b0rkeness, I summarized ealier. Thanks Stefan again for this great test leo