remy on Mon, 17 Apr 2017 17:01:40 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
(Possibly:) Bug report. |
Dear PARI-Dev team, and PARI-Users mail list members. Greetings!, I am humbly following the request: "bug in PARI/GP (Segmentation Fault), please report." Scenario: Source code compiled (including -g option!) and run with GP2C (from an invocation to gp2c-run ) About /etc/gprc precprime set to: 100M Both maxparisize and parisize set to 2*(1024)^3 (without suffix!, i.e. bytes) About used hardware: Physically installed RAM memory of 4GB (recently tested 100% O.K. with "GNU memtest64" program ) Hard disk primary partition allocated for linux swapping. Size: 4GB. ( Device: Hitachi travelstar 160GB. 5400rpm, 6 months ago checking O.K. according to HDD regenerator 2011 utility ) Observed behaviour: Only the current PARI-GP Calculator session "crashed". System behaves stable and steady after that. About used software. Distro: Slackware64 GNU Linux 14.2, "icewm" window manager. "uname -a" command replies: -------------------[Start] Linux ToshibaSatelliteC855D 4.4.14 #2 SMP Fri Jun 24 13:38:27 CDT 2016 x86_64 AMD E-300 APU with Radeon(tm) HD Graphics AuthenticAMD GNU/Linux -------------------[End] I would know from you if actually there was triggered/exposed a bug. Athough surely any technical explanation on that could be honestly out of my reach, I need to learn it anyway... ...And of course (hehe!), :-) Moral support is plenty, always welcome. Many thanks in advance for your valuable time and consideration. I hope this e-mail be found at least a little bit useful. Sincerely, Your friend Remy (R. J. Cano); P.S.: Attachments (2 of them) (in situ, plain-text content): Part 1) The featured screen... ---------------------------------------------[ Issued "crashing": Sample output [Start] ]--------------------------------------------------------- bash-4.3$ cd /home2/gorilla/Documents/sda5/Remy/my.pari/; clear; gp2c -g Symmetry_gp.txt > Symmetry_gp.txt.c; gp2c-run ./Symmetry_gp.txt.c Reading GPRC: /etc/gprc ...Done. GP/PARI CALCULATOR Version 2.9.1 (released) amd64 running linux (x86-64/GMP-6.1.1 kernel) 64-bit version compiled: Apr 5 2017, gcc version 5.3.0 (GCC) threading engine: single (readline v6.3 enabled, extended help enabled) Copyright (C) 2000-2016 The PARI Group PARI/GP is free software, covered by the GNU General Public License, and comes WITHOUT ANY WARRANTY WHATSOEVER. Type ? for help, \q to quit. Type ?15 for how to get moral (and possibly technical) support. parisizemax = 2147483648, primelimit = 100000000 ? p0=A217626_vec(11); ^C *** at top-level: p0=A217626_vec(11) *** ^--------------- *** A217626_vec: user interrupt after 12min, 13,741 ms *** Break loop: <Return> to continue; 'break' to go back to GP prompt break> *** at top-level: p0=A217626_vec(11) *** ^--------------- *** A217626_vec: bug in PARI/GP (Segmentation Fault), please report. *** Break loop: type 'break' to go back to GP prompt break> ## *** at top-level: p0=A217626_vec(11) *** ^--------------- *** A217626_vec: The result history is empty. *** Break loop: type 'break' to go back to GP prompt break[2]> break *** at top-level: p0=A217626_vec(11) *** ^--------------- break> break ? p0=A217626_vec(10); time = 33,450 ms. ? #p0 %2 = 3628799 ? 10!-1 %3 = 3628799 ? Symmetry(p0) time = 758 ms. %4 = 1 ? Symmetry(p0,1,2,1,1) %5 = [[1, 2, 874]] ? quit Goodbye! bash-4.3$ ---------------------------------------------[ Issued "crashing": Sample output [End] ]--------------------------------------------------------- Part 2) (the code) What was being used... ---------------------------------------------[ Underlying source code: [Star] ]--------------------------------------------------------- A217626_vec(n,{B=10})={my(u=n!-1);my(x=numtoperm(n,0),y,z=vector(u),i);for(j=1,u,y=numtoperm(n,j)-x;z[i++]=fromdigits( vector(#x-1,k,vecsum(y[1..k]) ) ,B);x+=y);z} Symmetry(s0,{r=0},{leastSize=3},{e=0},{xX=0})={ if(leastSize-1<#s0, if(!r, my(c, t=(-1)^( (!vecsum(s0)) %2) ); while(c++<=#s0\2, if(s0[c]!=t*s0[1+#s0-c],return(0)) ); return(t) , my(a:list,w=leastSize-1,t,q); a=List(); while(w++<=#s0, t=0; while(#s0>=w-1+t++, q=Symmetry(s0[t..(t+w-1)],0,leastSize,0,0); if(q&&(!e||(e&&(w==leastSize))),listput(a,[q,w,t]);if(e&&xX,return(Vec(a)))); \\ # By expecting an empty result, ) \\ # finishes as soon as a counter-example ); \\ # is found. /* * / return(Vec(a)) / * */ /* */ return(a) /* */ ) , return(0); ) } ---------------------------------------------[ Underlying source code: [End] ]--------------------------------------------------------- EOF
Dear PARI-Dev team. Greetings!, I am humbly following the request: "bug in PARI/GP (Segmentation Fault), please report." Scenario: Source code compiled (including -g option!) and run with GP2C (from an invocation to gp2c-run ) About /etc/gprc precprime set to: 100M Both maxparisize and parisize set to 2*(1024)^3 (without suffix!, i.e. bytes) About used hardware: Physically installed RAM memory of 4GB (recently tested 100% O.K. with "GNU memtest64" program ) Hard disk primary partition allocated for linux swapping. Size: 4GB. ( Device: Hitachi travelstar 160GB. 5400rpm, 6 months ago checking O.K. according to HDD regenerator 2011 utility ) Observed behaviour: Only the current PARI-GP Calculator session "crashed". System behaves stable and steady after that. About used software. Distro: Slackware64 GNU Linux 14.2, "icewm" window manager. "uname -a" command replies: -------------------[Start] Linux ToshibaSatelliteC855D 4.4.14 #2 SMP Fri Jun 24 13:38:27 CDT 2016 x86_64 AMD E-300 APU with Radeon(tm) HD Graphics AuthenticAMD GNU/Linux -------------------[End] I would know from you if actually there was triggered/exposed a bug. Athough surely any technical explanation on that could be honestly out of my reach, I need to learn it anyway... ...And of course (hehe!), :-) Moral support is plenty, always welcome. Many thanks in advance for your valuable time and consideration. I hope this e-mail be found at least a little bit useful. Sincerely, Your friend Remy. P.S.: Attachments (2 of them) (in situ, plain-text content): Part 1) The featured screen... ---------------------------------------------[ Issued "crashing": Sample output [Start] ]--------------------------------------------------------- bash-4.3$ cd /home2/gorilla/Documents/sda5/Remy/my.pari/; clear; gp2c -g Symmetry_gp.txt > Symmetry_gp.txt.c; gp2c-run ./Symmetry_gp.txt.c Reading GPRC: /etc/gprc ...Done. GP/PARI CALCULATOR Version 2.9.1 (released) amd64 running linux (x86-64/GMP-6.1.1 kernel) 64-bit version compiled: Apr 5 2017, gcc version 5.3.0 (GCC) threading engine: single (readline v6.3 enabled, extended help enabled) Copyright (C) 2000-2016 The PARI Group PARI/GP is free software, covered by the GNU General Public License, and comes WITHOUT ANY WARRANTY WHATSOEVER. Type ? for help, \q to quit. Type ?15 for how to get moral (and possibly technical) support. parisizemax = 2147483648, primelimit = 100000000 ? p0=A217626_vec(11); ^C *** at top-level: p0=A217626_vec(11) *** ^--------------- *** A217626_vec: user interrupt after 12min, 13,741 ms *** Break loop: <Return> to continue; 'break' to go back to GP prompt break> *** at top-level: p0=A217626_vec(11) *** ^--------------- *** A217626_vec: bug in PARI/GP (Segmentation Fault), please report. *** Break loop: type 'break' to go back to GP prompt break> ## *** at top-level: p0=A217626_vec(11) *** ^--------------- *** A217626_vec: The result history is empty. *** Break loop: type 'break' to go back to GP prompt break[2]> break *** at top-level: p0=A217626_vec(11) *** ^--------------- break> break ? p0=A217626_vec(10); time = 33,450 ms. ? #p0 %2 = 3628799 ? 10!-1 %3 = 3628799 ? Symmetry(p0) time = 758 ms. %4 = 1 ? Symmetry(p0,1,2,1,1) %5 = [[1, 2, 874]] ? quit Goodbye! bash-4.3$ ---------------------------------------------[ Issued "crashing": Sample output [End] ]--------------------------------------------------------- Part 2) (the code) What was being used... ---------------------------------------------[ Underlying source code: [Star] ]--------------------------------------------------------- A217626_vec(n,{B=10})={my(u=n!-1);my(x=numtoperm(n,0),y,z=vector(u),i);for(j=1,u,y=numtoperm(n,j)-x;z[i++]=fromdigits( vector(#x-1,k,vecsum(y[1..k]) ) ,B);x+=y);z} Symmetry(s0,{r=0},{leastSize=3},{e=0},{xX=0})={ if(leastSize-1<#s0, if(!r, my(c, t=(-1)^( (!vecsum(s0)) %2) ); while(c++<=#s0\2, if(s0[c]!=t*s0[1+#s0-c],return(0)) ); return(t) , my(a:list,w=leastSize-1,t,q); a=List(); while(w++<=#s0, t=0; while(#s0>=w-1+t++, q=Symmetry(s0[t..(t+w-1)],0,leastSize,0,0); if(q&&(!e||(e&&(w==leastSize))),listput(a,[q,w,t]);if(e&&xX,return(Vec(a)))); \\ # By expecting an empty result, ) \\ # finishes as soon as a counter-example ); \\ # is found. /* * / return(Vec(a)) / * */ /* */ return(a) /* */ ) , return(0); ) } ---------------------------------------------[ Underlying source code: [End] ]--------------------------------------------------------- EOF