![]() |
Thanks LaurV,
I have the same new install on two machines (Intels) and have updated an older one (AMD). All have the same issue. The paths are all correct and tune seemed to run perfectly on all three, leaving the proper (looking) tune_info lines. However, none seem to be able to find the tune_info when they run and all segfault on this number. I'm "assuming" that since tune ran without trouble that YAFU found the ggnfs path to be correct. It also seems to be using the threads from the .ini file. One thing I will look at, though: I removed the commented out and Xeon tune lines. Maybe that has confused something. Just a thought: If this number is outside SIQS capability, maybe there should be a hook that keeps SIQS from trying. I'll dig deeper later today... |
[QUOTE=EdH;440882]
I am having a very repeatable segmentation fault. [/QUOTE] I know this is frustrating but I do not have any problems with this number. siqs factors it just fine for me on both linux and windows using both 1.34.5 and the current SVN code. If you build your own executable, what is your build command? [QUOTE=EdH;440882] More questions: - Both of these machines have tune info in the respective yafu.ini files, yet both note, "fac: no tune info: using qs/gnfs crossover of 95 digits." Odd? [/QUOTE] Yes, this is a bug. I've fixed it and will upload soon. [QUOTE=EdH;440882] - If these machines are running the same YAFU, based on the same ECM, based on the same GMP, why does the Intel machine give div and rho lines? Does it take a different route? [/QUOTE] Early in factor() yafu will check if there is a nfs.dat or siqs.dat file that applies to the input and if so, automatically resumes from the savefile, skipping div, rho, etc. (they would have already been done in order to produce said savefile). |
Hi Ben,
A little background: --I recently updated my Aliqueit page and installed everything on two identical Intel desktops. Everything, including "./yafu tune" seemed to run fine, until I tested Aliqueit with 4788. Everything ran great up to and after the subject composite. Aliqueit swapped to msieve for the segfaulted number and msieve factored it with no trouble. Aliqueit then moved on using YAFU as the primary tool for many more lines until I stopped it. Both machines exhibit the same segfault, so I don't suspect failing hardware. I tried some 100+ digit composites on both machines and they factored fine. The AMD machine is another story - yesterday, it segfaulted on everything. Today, the subject composite works fine. (I did remove the logs and dat files, which I had forgotten to do previously on this machine.) However, I get the following gdb result on larger composites: [code] Program received signal SIGSEGV, Segmentation fault. 0x00007ffff7958340 in __gmpn_copyi () from /lib64/libgmp.so.10 [/code]which seems (to my ignorant eyes) to be somewhat removed from a YAFU problem. Here is what I used to install gmp, ecm, msieve and YAFU. (I also tried to install ggnfs, but I can no longer get it to compile. I am using your ggnfs binaries, which should have no effect on this trouble, of course.) I installed gmp with: [code] ./configure make make check sudo make install [/code]No errors were shown, but lots of warnings, which I always get. I installed ecm with: [code] ./configure make make check sudo make install [/code]No errors were shown, but lots of warnings, which I always get. I compiled msieve with: [code] svn co https://svn.code.sf.net/p/msieve/code/trunk /home/math58/Math/msieve --(I showed, "Checked out revision 993.") make all ECM=1 NO_ZLIB=1 (I also tried, "make all NO_ZLIB=1") [/code]No errors were shown, but lots of warnings, which I always get. I compiled YAFU with: [code] svn co https://svn.code.sf.net/p/yafu/code/trunk /home/math58/Math/yafu --(I showed, "Checked out revision 358.") I changed the following lines in Makefile: ====================== ifeq ($(MIC),1) ... no changes ... else OBJ_EXT = .o INC += -I[B]/home/math58/Math/gmp[/B] LIBS += -L[B]/home/math58/Math/gmp[/B] INC += -I[B]/home/math58/Math/ecm[/B] LIBS += -L[B]/home/math58/Math/ecm[/B] endif ... and ... # modify the following line for your particular msieve installation ifeq ($(MIC),1) LIBS += -L../msieve/lib/phi else LIBS += -L[B]/home/math58/Math/msieve[/B] endif LIBS += -lmsieve endif ====================== make x86_64 NFS=1 [/code]No errors were shown, but lots of warnings, which I always get. Here is the result: [code] math58@math58:~/Math/yafu$ ./yafu 'factor(1625417850674662961965677189663085535286500253815472)' fac: factoring 1625417850674662961965677189663085535286500253815472 fac: using pretesting plan: normal fac: no tune info: using qs/gnfs crossover of 95 digits div: primes less than 10000 rho: x^2 + 3, starting 1000 iterations on C41 rho: x^2 + 3, starting 1000 iterations on C36 rho: x^2 + 2, starting 1000 iterations on C36 rho: x^2 + 1, starting 1000 iterations on C36 starting SIQS on c36: 753954122664686097409379756097871777 ==== sieving in progress (1 thread): 464 relations needed ==== ==== Press ctrl-c to abort and save state ==== Segmentation fault (core dumped) [/code]And, now for a little bit of extra curiosity, during my testing, it worked once: [code] math58@math58:~/Math/yafu$ ./yafu 'factor(1625417850674662961965677189663085535286500253815472)' fac: factoring 1625417850674662961965677189663085535286500253815472 fac: using pretesting plan: normal fac: no tune info: using qs/gnfs crossover of 95 digits div: primes less than 10000 rho: x^2 + 3, starting 1000 iterations on C41 rho: x^2 + 3, starting 1000 iterations on C36 rho: x^2 + 2, starting 1000 iterations on C36 rho: x^2 + 1, starting 1000 iterations on C36 starting SIQS on c36: 753954122664686097409379756097871777 ==== sieving in progress (1 thread): 464 relations needed ==== ==== Press ctrl-c to abort and save state ==== 408 rels found: 219 full + 189 from 1626 partial, (24167.25 rels/sec) SIQS elapsed time = 0.1060 seconds. Total factoring time = 0.1236 seconds ***factors found*** P1 = 2 P1 = 2 P1 = 2 P1 = 2 P1 = 3 P1 = 3 P3 = 379 P3 = 461 P4 = 1153 P5 = 74317 P25 = 2793457951223996505799291 P12 = 269899936147 1 [/code]And, if I leave the log and dat files, a susequent run seems to succeed: [code] math58@math58:~/Math/yafu$ ./yafu 'factor(1625417850674662961965677189663085535286500253815472)' fac: factoring 1625417850674662961965677189663085535286500253815472 fac: using pretesting plan: normal fac: no tune info: using qs/gnfs crossover of 95 digits div: primes less than 10000 rho: x^2 + 3, starting 1000 iterations on C41 rho: x^2 + 3, starting 1000 iterations on C36 rho: x^2 + 2, starting 1000 iterations on C36 rho: x^2 + 1, starting 1000 iterations on C36 starting SIQS on c36: 753954122664686097409379756097871777 ==== sieving in progress ( 2 threads): 464 relations needed ==== ==== Press ctrl-c to abort and save state ==== Segmentation fault (core dumped) math58@math58:~/Math/yafu$ ./yafu 'factor(1625417850674662961965677189663085535286500253815472)' fac: factoring 1625417850674662961965677189663085535286500253815472 fac: using pretesting plan: normal fac: no tune info: using qs/gnfs crossover of 95 digits starting SIQS on c36: 753954122664686097409379756097871777 ==== sieving in progress ( 2 threads): 464 relations needed ==== ==== Press ctrl-c to abort and save state ==== 361 rels found: 204 full + 157 from 1552 partial, (27979.60 rels/sec) SIQS elapsed time = 0.0927 seconds. Total factoring time = 0.0961 seconds ***factors found*** P12 = 269899936147 P25 = 2793457951223996505799291 1 [/code]Sorry for the overload. Aren't you glad I disappear from here for months at a time?:smile: |
What is the default install location for gmp and ecm? You point yafu toward /home/math58/Math/gmp but it seems unlikely that gmp or ecm know to put libraries/headers there unless you tell it to during install via ./configure --prefix=/home/math58/Math/gmp
So you may not be linking with what you think you are linking with. Also I think your E7600 has SSE4.1 enabled, so you should be using [CODE]make x86_64 NFS=1 USE_SSE41=1[/CODE] for your yafu build. To doublecheck you can do [CODE]cat /proc/cpuinfo[/CODE] and make sure sse4_1 appears in the flags line. |
[QUOTE=bsquared;440973]What is the default install location for gmp and ecm? You point yafu toward /home/math58/Math/gmp but it seems unlikely that gmp or ecm know to put libraries/headers there unless you tell it to during install via ./configure --prefix=/home/math58/Math/gmp
So you may not be linking with what you think you are linking with.[/QUOTE]Quite possible. I only use those because that's what I got working so long ago. The place where the install says they are installed is /usr/local/lib for both gmp and ecm. I have changed the first set of links to that and commented out the second, since they are the same. It compiles fine, but still segfaults. [QUOTE=bsquared;440973] Also I think your E7600 has SSE4.1 enabled, so you should be using [CODE]make x86_64 NFS=1 USE_SSE41=1[/CODE] for your yafu build. To doublecheck you can do [CODE]cat /proc/cpuinfo[/CODE] and make sure sse4_1 appears in the flags line.[/QUOTE]You are correct and I added the option, with no visible change, other than, now retries fail past the first attempt for several tries before succeeding. Not sure of the relationship. All this was with the Intel machines. I'll play with the AMD another time. Thanks much for all your help on everything. |
Well, I'm having no luck with any of my testing. I ran all of them via gdb with the following outputs. All logs and siqs.dat files were removed prior to the runs. I'm not familiar enough with the gdb workings to go any further, yet, but here are my results so far:
machine58: [code] math58@math58:~/Math/yafu$ gdb yafu GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.04) 7.11.1 Copyright (C) 2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> ... Reading symbols from yafu...done. (gdb) run Starting program: /home/math58/Math/yafu/yafu [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". 08/30/16 22:19:58 v1.34.5 @ math58, System/Build Info: Using GMP-ECM 7.0.3, Powered by GMP 6.1.1 detected Intel(R) Core(TM)2 Duo CPU E7600 @ 3.06GHz detected L1 = 32768 bytes, L2 = 3145728 bytes, CL = 64 bytes measured cpu frequency ~= 3058.938130 using 1 random witnesses for Rabin-Miller PRP checks =============================================================== ======= Welcome to YAFU (Yet Another Factoring Utility) ======= ======= bbuhrow@gmail.com ======= ======= Type help at any time, or quit to quit ======= =============================================================== cached 78498 primes. pmax = 999983 >> factor(1625417850674662961965677189663085535286500253815472) fac: factoring 1625417850674662961965677189663085535286500253815472 fac: using pretesting plan: normal fac: no tune info: using qs/gnfs crossover of 95 digits div: primes less than 10000 rho: x^2 + 3, starting 1000 iterations on C41 rho: x^2 + 3, starting 1000 iterations on C36 rho: x^2 + 2, starting 1000 iterations on C36 rho: x^2 + 1, starting 1000 iterations on C36 starting SIQS on c36: 753954122664686097409379756097871777 [New Thread 0x7ffff5986700 (LWP 18721)] [New Thread 0x7ffff5986700 (LWP 18722)] [Thread 0x7ffff5986700 (LWP 18721) exited] [New Thread 0x7ffff5986700 (LWP 18723)] [Thread 0x7ffff5986700 (LWP 18722) exited] [Thread 0x7ffff5986700 (LWP 18723) exited] ==== sieving in progress ( 2 threads): 464 relations needed ==== ==== Press ctrl-c to abort and save state ==== [New Thread 0x7ffff5986700 (LWP 18724)] [New Thread 0x7ffff5185700 (LWP 18725)] 47 rels found: 42 full + 5 from 232 partial, (2148.43 rels/sec) Thread 6 "yafu" received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7ffff5185700 (LWP 18725)] tdiv_medprimes_32k (parity=<optimized out>, poly_id=<optimized out>, bnum=<optimized out>, sconf=0x77fad0, dconf=<optimized out>) at factor/qs/tdiv_med_32k.c:460 460 DIVIDE_ONE_PRIME_2((buffer[r])); (gdb) [/code]machine 59: [code] math59@math59:~/Math/yafu$ gdb yafu GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.04) 7.11.1 Copyright (C) 2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> ... Reading symbols from yafu...done. (gdb) run Starting program: /home/math59/Math/yafu/yafu [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". 08/30/16 22:23:37 v1.34.5 @ math59, System/Build Info: Using GMP-ECM 7.0.3, Powered by GMP 6.1.1 detected Intel(R) Core(TM)2 Duo CPU E7600 @ 3.06GHz detected L1 = 32768 bytes, L2 = 3145728 bytes, CL = 64 bytes measured cpu frequency ~= 3262.229260 using 1 random witnesses for Rabin-Miller PRP checks =============================================================== ======= Welcome to YAFU (Yet Another Factoring Utility) ======= ======= bbuhrow@gmail.com ======= ======= Type help at any time, or quit to quit ======= =============================================================== cached 78498 primes. pmax = 999983 >> factor(1625417850674662961965677189663085535286500253815472) fac: factoring 1625417850674662961965677189663085535286500253815472 fac: using pretesting plan: normal fac: no tune info: using qs/gnfs crossover of 95 digits div: primes less than 10000 rho: x^2 + 3, starting 1000 iterations on C41 rho: x^2 + 3, starting 1000 iterations on C36 rho: x^2 + 2, starting 1000 iterations on C36 rho: x^2 + 1, starting 1000 iterations on C36 starting SIQS on c36: 753954122664686097409379756097871777 [New Thread 0x7ffff5986700 (LWP 18956)] [New Thread 0x7ffff5986700 (LWP 18957)] [Thread 0x7ffff5986700 (LWP 18956) exited] [New Thread 0x7ffff5986700 (LWP 18958)] [Thread 0x7ffff5986700 (LWP 18957) exited] [Thread 0x7ffff5986700 (LWP 18958) exited] ==== sieving in progress ( 2 threads): 464 relations needed ==== ==== Press ctrl-c to abort and save state ==== [New Thread 0x7ffff5986700 (LWP 18959)] [New Thread 0x7ffff5185700 (LWP 18960)] 202 rels found: 147 full + 55 from 905 partial, (8546.52 rels/sec) Thread 6 "yafu" received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7ffff5185700 (LWP 18960)] tdiv_medprimes_32k (parity=<optimized out>, poly_id=<optimized out>, bnum=<optimized out>, sconf=0x77fad0, dconf=<optimized out>) at factor/qs/tdiv_med_32k.c:460 460 DIVIDE_ONE_PRIME_2((buffer[r])); (gdb) [/code]machine66: [code] math66@math66:~/Math/yafu$ gdb yafu GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.04) 7.11.1 Copyright (C) 2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> ... Reading symbols from yafu...done. (gdb) run Starting program: /home/math66/Math/yafu/yafu [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". 08/30/16 22:38:43 v1.34.5 @ math66, System/Build Info: Using GMP-ECM 7.0.3, Powered by GMP 6.1.1 detected Pentium(R) Dual-Core CPU T4500 @ 2.30GHz detected L1 = 32768 bytes, L2 = 1048576 bytes, CL = 64 bytes measured cpu frequency ~= 2294.291170 using 1 random witnesses for Rabin-Miller PRP checks =============================================================== ======= Welcome to YAFU (Yet Another Factoring Utility) ======= ======= bbuhrow@gmail.com ======= ======= Type help at any time, or quit to quit ======= =============================================================== cached 78498 primes. pmax = 999983 >> factor(1625417850674662961965677189663085535286500253815472) fac: factoring 1625417850674662961965677189663085535286500253815472 fac: using pretesting plan: normal fac: no tune info: using qs/gnfs crossover of 95 digits div: primes less than 10000 rho: x^2 + 3, starting 1000 iterations on C41 rho: x^2 + 3, starting 1000 iterations on C36 rho: x^2 + 2, starting 1000 iterations on C36 rho: x^2 + 1, starting 1000 iterations on C36 starting SIQS on c36: 753954122664686097409379756097871777 ==== sieving in progress (1 thread): 464 relations needed ==== ==== Press ctrl-c to abort and save state ==== 293 rels found: 180 full + 113 from 1337 partial, (7193.77 rels/sec) Program received signal SIGSEGV, Segmentation fault. tdiv_medprimes_32k (parity=<optimized out>, poly_id=<optimized out>, bnum=<optimized out>, sconf=0x77cad0, dconf=<optimized out>) at factor/qs/tdiv_med_32k.c:460 460 DIVIDE_ONE_PRIME_2((buffer[r])); (gdb) [/code]AMD machine: [code] $ gdb yafu GNU gdb (GDB) Fedora 7.9.1-20.fc22 Copyright (C) 2015 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> ... Reading symbols from yafu...done. (gdb) run Starting program: /home/duser/Math/yafu/yafu Missing separate debuginfos, use: dnf debuginfo-install glibc-2.21-13.fc22.x86_64 warning: the debug information found in "/usr/lib/debug/usr/lib64/libecm.so.0.0.0.debug" does not match "/lib64/libecm.so.0" (CRC mismatch). ... [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". warning: the debug information found in "/usr/lib/debug/usr/lib64/libgomp.so.1.0.0.debug" does not match "/lib64/libgomp.so.1" (CRC mismatch). ... 08/30/16 22:42:24 v1.34.5 @ localhost.localdomain, System/Build Info: Using GMP-ECM 7.0.3, Powered by GMP 6.1.1 detected AMD Athlon(tm) 64 X2 Dual Core Processor 6000+ detected L1 = 65536 bytes, L2 = 1048576 bytes, CL = 64 bytes measured cpu frequency ~= 2063.995690 using 1 random witnesses for Rabin-Miller PRP checks =============================================================== ======= Welcome to YAFU (Yet Another Factoring Utility) ======= ======= bbuhrow@gmail.com ======= ======= Type help at any time, or quit to quit ======= =============================================================== cached 78498 primes. pmax = 999983 >> factor(1625417850674662961965677189663085535286500253815472) fac: factoring 1625417850674662961965677189663085535286500253815472 fac: using pretesting plan: normal fac: no tune info: using qs/gnfs crossover of 95 digits div: primes less than 10000 rho: x^2 + 3, starting 1000 iterations on C41 rho: x^2 + 3, starting 1000 iterations on C36 rho: x^2 + 2, starting 1000 iterations on C36 rho: x^2 + 1, starting 1000 iterations on C36 starting SIQS on c36: 753954122664686097409379756097871777 ==== sieving in progress ( 2 threads): 464 relations needed ==== ==== Press ctrl-c to abort and save state ==== [New Thread 0x7ffff4afd700 (LWP 6103)]97 partial, (13209.91 rels/sec) [New Thread 0x7ffff52fe700 (LWP 6102)] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7ffff52fe700 (LWP 6102)] tdiv_medprimes_32k (parity=<optimized out>, poly_id=<optimized out>, bnum=<optimized out>, sconf=0x73e2c0, dconf=<optimized out>) at factor/qs/tdiv_med_32k.c:460 460 DIVIDE_ONE_PRIME_2((buffer[r])); Missing separate debuginfos, use: dnf debuginfo-install gmp-6.0.0-9.fc22.x86_64 gmp-ecm-libs-6.4.4-5.fc22.x86_64 libgcc-5.3.1-6.fc22.x86_64 libgomp-5.3.1-6.fc22.x86_64 (gdb) [/code]I wasn't able to fix the debug information warnings on the AMD machine. I'm not smart enough and the provided command doesn't work. So, bottom line for me is that every one of my 3 recent Intel installs and my recently updated older AMD all segfault on this number. What is one to do? Thanks for all. |
On line 135 of siqs_test.c, change the 115 to something big enough to exceed this input size (in bits).
|
[QUOTE=bsquared;441135]On line 135 of siqs_test.c, change the 115 to something big enough to exceed this input size (in bits).[/QUOTE]
Thanks! Short on time right now, but I calculated my number to be 172 bits, so I used 175 on line 135. From a cold start machine58 factored four times correctly prior to a continuous run of failures. After the recompile I have had no further failures within about twenty tries. That seems to have fixed it. I will have to wait until at least tonight before I can test the other machines and this one further. Thanks much for everything!!!:smile: |
[QUOTE=EdH;441179]Thanks!
Short on time right now, but I calculated my number to be 172 bits, so I used 175 on line 135. From a cold start machine58 factored four times correctly prior to a continuous run of failures. After the recompile I have had no further failures within about twenty tries. That seems to have fixed it. I will have to wait until at least tonight before I can test the other machines and this one further. Thanks much for everything!!!:smile:[/QUOTE] Good to hear. Note I still have no idea why this number failed for you. The debug info you posted earlier confirmed where I thought things probably went wrong, but doesn't really help identify the root cause. If you do come across more time, it might be helpful for you to run lots of random numbers at this or similar sizes to see if you can find more failure cases. Maybe one of them will also cause my exe to fail. You can do this test very easily now, with the latest code (\branches\wip): [CODE]./yafu "siqs(rsa(170))" -repeat 100[/CODE] [edit] remember to reset line 135 of siqs_test.c back to 115 cheers, - ben. |
[QUOTE=EdH;441179]Thanks!
Short on time right now, but I calculated my number to be 172 bits, so I used 175 on line 135. [/QUOTE] Note that it is your c36 (120 bits) that is failing in siqs, not the input c52 (171 bits). So you should be setting line 135 to something like 125, not 175. In fact, smallmpqs refuses to run on a 175 bit input in the latest code version, which makes me wonder now which version of the code you are using... :ermm: |
[QUOTE=bsquared;441204]Note that it is your c36 (120 bits) that is failing in siqs, not the input c52 (171 bits). So you should be setting line 135 to something like 125, not 175.
In fact, smallmpqs refuses to run on a 175 bit input in the latest code version, which makes me wonder now which version of the code you are using... :ermm:[/QUOTE] I knew but didn't think about the c36 being the problem child when I hastily did my quick testing this morning. The svn co command I used was: [code] svn co https://svn.code.sf.net/p/yafu/code/trunk /home/math58/Math/yafu [/code] It did reply with a version 358 message. I stand (sit) corrected on the c52 being 171 bits. I somehow thought the first digit was larger.:redface: As for other troublesome numbers, I should have some more available via aliqueit sequence 4788 tomorrow. During my original testing, I'm pretty sure I saw some others. |
| All times are UTC. The time now is 15:23. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.