mersenneforum.org  

Go Back   mersenneforum.org > Factoring Projects > Factoring

Reply
 
Thread Tools
Old 2016-08-10, 09:55   #45
Dubslow
Basketry That Evening!
 
Dubslow's Avatar
 
"Bunslow the Bold"
Jun 2011
40<A<43 -89<O<-88

3×29×83 Posts
Default

I apologize for my comment regarding inverted commas. Apparently, according to Wikipedia, they are indeed sometimes known that way, and I suppose that's how they were originally rendered (and sometimes still are depending on the fanciness of the font at hand), but it's something I've never heard, and especially not in any technical context regarding the meaning of the characters outside literary contexts.

If you are indeed familiar with the command line then you should know exactly what a quotation mark (both the single ' and double " variety and how they differ from a backtick `) is and how it is used. Putting multiple arguments inside a single pair of quotations, as you did some posts back, demonstrates a fundamental lack of knowledge about bash/sh/etc. They are also of fundamental importance in most programming languages, including at least C, C++ and Python (the three with which I am most familiar). For such a fundamental character, I am amazed that you made such a fundamental mistake with its usage. I just used the word fundamental four times, which suggests that I possibly need a thesaurus, but either way, that post was lacking, and is the source of my doubts. (Another point is that you apparently don't know what a segfault is -- it's far more than "an error in C++", and in fact, yafu and all tools and libraries in this thread use exclusively C, except for possibly GMP.)

Now, of course, there isn't anything wrong with not knowing something, as I myself am guilty of not knowing many things, and substantially more so than many other members here, so my comment about inverted commas aside, I was trying to be merely helpful in filling the gaps that I perceived based on your previous post.

I'm very sorry that the work around didn't work. What if you try putting -ext_ecm 5 on the command line? I'm not certain what else you can do, other than to try to run it in a debugger. (What if you put ext_ecm=10 in yafu.ini? Do you have the ecm_path variable properly set?) As a secondary note, any command line option to Yafu can be equivalently set in yafu.ini, e.g. -threads 8 on the CLI is equivalent to threads=8 in yafu.ini, etc.

Assuming you don't know precisely how to use a debugger, it would be like so:

Code:
 gdb ./yafu
...
(gdb) run "factor(...)" -threads 1 -ext_ecm 10
...
segfault...
(gdb) bt full
Then copy and paste the resulting output of that last command.
Dubslow is offline   Reply With Quote
Old 2016-08-10, 12:16   #46
Romuald
 
Romuald's Avatar
 
Oct 2015
France

32×7 Posts
Default

Quote:
Originally Posted by Dubslow View Post
and especially not in any technical context regarding the meaning of the characters outside literary contexts.
That's precisely the problem with computational english (and maybe english generally). The boundary between science and language.
As I said previously at the end of this post.

Quote:
Originally Posted by Dubslow View Post
If you are indeed familiar with the command line then you should know exactly what a quotation mark (both the single ' and double " variety and how they differ from a backtick `) is and how it is used.
Well, I know there is practically no difference in python, for instance, between the single and the double (well, according to my experimentations, I wrote once a program to crypt some strings with characters). In \TeX, there is one, and especially between ' and `. I don't remember exactly, but many times in my work on my computer I've read and have been confronted with it. Beyond this, my knowledge ends.

Quote:
Originally Posted by Dubslow View Post
Putting multiple arguments inside a single pair of quotations, as you did some posts back, demonstrates a fundamental lack of knowledge about bash/sh/etc.
I said I was familiar enough (implicit) with Linux environment in order not to scream "Help!!! What have I done ???!!!!" when a linux terminal appears (by the way, that's the reaction of most W$ or mac users because they don't want any complications, even discovering new OSs. It's not my case.).
I've ever installed some packages on my linux, did a lot of little things about this or that, but when I said "familiar" I wasn't thinking saying "have knowledge of".



Quote:
Originally Posted by Dubslow View Post
Putting multiple arguments inside a single pair of quotations, as you did some posts back, demonstrates a fundamental lack of knowledge about bash/sh/etc.
Do you mean this:
Code:
'factor(...)'
instead of
Code:
"factor(...)"
Then I'm sorry, but return the compliment to EdH, because from the beginning I was reproducing this:
http://www.mersenneforum.org/showpos...96&postcount=7
Quote:
Originally Posted by Dubslow View Post
(Another point is that you apparently don't know what a segfault is -- it's far more than "an error in C++", and in fact, yafu and all tools and libraries in this thread use exclusively C, except for possibly GMP.)
As I said, I only have the basic bases in C++, i.e. memory, calculations, control structures, functions, files. And yet, I forgot a lot.


Anyway, the seg fault still occurs with your both suggestions (-ext_ecm 5 on the command line & ext_ecm=10 in yafu.ini).

I tried gdb (a package I didn't even know it was installed on my computer, but I'm actually half-surprised, I guess it comes with compilers):

Code:
 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>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./yafu...done.

(gdb) run "factor(936157462197548159735487409840139678541967105278954108965724106755120647520167420795234190523754167235410972540967524108370459548121)" -threads 1 -ext_ecm 10
Starting program: /home/matthias/Téléchargements/programs/yafu-1.34.3-src/yafu "factor(936157462197548159735487409840139678541967105278954108965724106755120647520167420795234190523754167235410972540967524108370459548121)" -threads 1 -ext_ecm 10
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".


fac: factoring 936157462197548159735487409840139678541967105278954108965724106755120647520167420795234190523754167235410972540967524108370459548121
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 C132
rho: x^2 + 2, starting 1000 iterations on C132
rho: x^2 + 1, starting 1000 iterations on C132
pm1: starting B1 = 150K, B2 = gmp-ecm default on C132

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7435a3b in __gmpn_copyi () from /usr/local/lib/libgmp.so.10


(gdb) bt full
#0  0x00007ffff7435a3b in __gmpn_copyi () from /usr/local/lib/libgmp.so.10
No symbol table info available.
#1  0x00007ffff73f8cb6 in __gmpz_init_set () from /usr/local/lib/libgmp.so.10
No symbol table info available.
#2  0x00007ffff7662b04 in pm1 () from /usr/lib/x86_64-linux-gnu/libecm.so.0
No symbol table info available.
#3  0x00007ffff767bf5a in ecm_factor () from /usr/lib/x86_64-linux-gnu/libecm.so.0
No symbol table info available.
#4  0x000000000044c9ac in pm1_wrapper (fobj=0x6ad860) at factor/gmp-ecm/pm1.c:96
        status = <optimized out>
#5  pollard_loop (fobj=fobj@entry=0x6ad860) at factor/gmp-ecm/pm1.c:171
        d = {{_mp_alloc = 1, _mp_size = 0, _mp_d = 0x6b18a0}}
        t = {{_mp_alloc = 1, _mp_size = 0, _mp_d = 0x6b3cd0}}
        flog = 0x6bcb00
#6  0x000000000041eaa4 in do_work (method=method@entry=state_pm1_lvl1,
    fwork=fwork@entry=0x7fffffffd3f0, b=b@entry=0x7fffffffd580, fobj=fobj@entry=0x6ad860)
    at factor/factor_common.c:1057
        tmp1 = 100000
        tmp2 = 10000000
---Type <return> to continue, or q <return> to quit---
        tstart = {tv_sec = 1470831164, tv_usec = 815444}
        tstop = {tv_sec = 4630912924528854252, tv_usec = 0}
        t_time = <optimized out>
        difference = <optimized out>
        curves_done = <optimized out>
#7  0x0000000000421600 in factor (fobj=fobj@entry=0x6ad860) at factor/factor_common.c:2227
        b = {{_mp_alloc = 7, _mp_size = 7, _mp_d = 0x6b61a0}}
        origN = {{_mp_alloc = 7, _mp_size = 7, _mp_d = 0x6b68b0}}
        copyN = {{_mp_alloc = 7, _mp_size = 7, _mp_d = 0x6b68f0}}
        fact_state = state_pm1_lvl1
        fwork = {total_time = 0.028211999999999997, qs_time = 0, nfs_time = 0,
          trialdiv_time = 7.8999999999999996e-05, fermat_time = 1.3333906044922423e+115,
          rho_time = 0.028132999999999998, pp1_time = 0, pm1_time = 0, ecm_time = 0,
          pp1_lvl1_time_per_curve = -1.3673306603274231e-67,
          pp1_lvl2_time_per_curve = 1.8434482076174711e+118,
          pp1_lvl3_time_per_curve = -3.9971690988141701e-291,
          pm1_lvl1_time_per_curve = -8.8688109557045426e-127,
          pm1_lvl2_time_per_curve = 1.0737268038409442e+244,
          pm1_lvl3_time_per_curve = -3.2484310810858993e+199,
          ecm_15digit_time_per_curve = 1.178762468846141e-119,
          ecm_20digit_time_per_curve = 4.6447315548980825e+277,
          ecm_25digit_time_per_curve = -1.5375406510132115e-238,
          ecm_30digit_time_per_curve = -7.4078691184867474e+98,
          ecm_35digit_time_per_curve = 1.3067603643690692e+228,
          ecm_40digit_time_per_curve = -0.0050916914787499535,
          ecm_45digit_time_per_curve = 2.2339899078429996e+261,
          ecm_50digit_time_per_curve = 4.4042881443805471e-100,
          ecm_55digit_time_per_curve = -1.7089845924517536e+106,
          ecm_60digit_time_per_curve = 7.6471877762704223e+82,
          ecm_65digit_time_per_curve = 7.667573091672623e-156, tdiv_limit = 10000,
          fermat_iterations = 1579752421, rho_iterations = 1000, rho_bases = 3,
          pp1_lvl1_curves = 0, pm1_lvl1_curves = 0, pp1_lvl2_curves = 0, pm1_lvl2_curves = 0,
          pp1_lvl3_curves = 0, pm1_lvl3_curves = 0, ecm_15digit_curves = 0, ecm_20digit_curves = 0,
          ecm_25digit_curves = 0, ecm_30digit_curves = 0, ecm_35digit_curves = 0,
          ecm_40digit_curves = 0, ecm_45digit_curves = 0, ecm_50digit_curves = 0,
          ecm_55digit_curves = 0, ecm_60digit_curves = 0, ecm_65digit_curves = 0,
          min_pretest_done = 32767, tdiv_max_limit = 10000, fermat_max_iterations = 1000000,
          rho_max_iterations = 1000, rho_max_bases = 3, pp1_max_lvl1_curves = 0,
          pm1_max_lvl1_curves = 1, pp1_max_lvl2_curves = 0, pm1_max_lvl2_curves = 1,
          pp1_max_lvl3_curves = 0, pm1_max_lvl3_curves = 1, ecm_max_15digit_curves = 30,
          ecm_max_20digit_curves = 74, ecm_max_25digit_curves = 214, ecm_max_30digit_curves = 430,
          ecm_max_35digit_curves = 904, ecm_max_40digit_curves = 2350,
          ecm_max_45digit_curves = 4480, ecm_max_50digit_curves = 7553,
          ecm_max_55digit_curves = 17769, ecm_max_60digit_curves = 42017,
          ecm_max_65digit_curves = 69408, B1 = 150000, B2 = 0, curves = 1}
        flog = <optimized out>
        start = {tv_sec = 1470831164, tv_usec = 787090}
        stop = {tv_sec = -7532303627671118812, tv_usec = 2255058880813428647}
        t_time = <optimized out>
        difference = <optimized out>
        user_defined_ecm_b2 = 1
        user_defined_pp1_b2 = 1
        user_defined_pm1_b2 = 1
        data = 0x0
        tmpstr = "\350\064\374\367\377\177\000\000\360\345=\367\377\177\000\000\330$>\367\377\177\000\000{\024\336\367\377\177\000\000O\000\000\000\000\000\000\000\330$>\367\377\177\000\000\350\064\374\367\377\177\000\000\270\326\377\377\377\177\000\000\264\326\377\377\377\177\000\000\000\000\000\000\366\230\016\224\000\000\000\000\332o\210\\\246\027@\000\000\000\000\000\300\020@\000\000\000\000\000\270\326\377\377\377\177\000\000B\200]\177\000\000\000\000\001v\375\001\000\000\000\000\002\000\000\000\377\177\000\000\220\327\377\377\377\177\000\000\330$>\367\377\177\000\000\360\345=\367\377\177\000\000\264\326\377\377\377\177\000\000\200\327\377\377\377\177\000\000@ \374\367\377\177\000\000\000\000\000\000\000\000\000\000\a\000\000\000\000\000\000\000"...
        quit_after_sieve_method = 0
#8  0x000000000041505c in feval (func=<optimized out>, nargs=1, fobj=fobj@entry=0x6ad860)
---Type <return> to continue, or q <return> to quit---

Last fiddled with by Romuald on 2016-08-10 at 12:25
Romuald is offline   Reply With Quote
Old 2016-08-10, 12:58   #47
science_man_88
 
science_man_88's Avatar
 
"Forget I exist"
Jul 2009
Dartmouth NS

20E216 Posts
Default

Quote:
Originally Posted by Romuald View Post
The boundary between science and language.
Quote:
Well, I know there is practically no difference in python, for instance, between the single and the double (well, according to my experimentations, I wrote once a program to crypt some strings with characters). In \TeX, there is one, and especially between ' and `. I don't remember exactly, but many times in my work on my computer I've read and have been confronted with it. Beyond this, my knowledge ends.
admittedly just a guess but something like: http://www.howtogeek.com/howto/29980...he-bash-shell/ might show you there is a difference in bash for example.

Quote:
I said I was familiar enough (implicit) with Linux environment in order not to scream "Help!!! What have I done ???!!!!" when a linux terminal appears (by the way, that's the reaction of most W$ or mac users because they don't want any complications, even discovering new OSs. It's not my case.).
I've ever installed some packages on my linux, did a lot of little things about this or that, but when I said "familiar" I wasn't thinking saying "have knowledge of".
Quote:
fa·mil·iar
fəˈmilyər/Submit
adjective
1.
well known from long or close association.

Last fiddled with by science_man_88 on 2016-08-10 at 13:09
science_man_88 is offline   Reply With Quote
Old 2016-08-10, 13:07   #48
bsquared
 
bsquared's Avatar
 
"Ben"
Feb 2007

7·13·41 Posts
Default

The results of that backtrace indicate to me that something is wrong with your ecm library. I presume, since you built yafu from source, that you also built gmp-ecm from source? If so, what ./configure options if any did you provide? If not, it would appear that the library is incompatible with yafu and you should build from stable source.

You should test the ecm executable directly - vbcurtis gave some instructions in a previous post. However, it failed in the pm1 method, so you should try the following:

ecm -pm1 1e6 <input.txt
bsquared is offline   Reply With Quote
Old 2016-08-10, 13:28   #49
Romuald
 
Romuald's Avatar
 
Oct 2015
France

1111112 Posts
Default

@science_man_88

In french:
Quote:
Familier: Qui a la pratique de quelque chose, habitué à. (LAROUSSE)
Then, I've been too much confident in literal translation.
But language is a bit subjective, not absolute. There can be a shade of difference in the meaning of a word.
But obviously I can trust in your english expertise, so what should I say to translate "familier"?
Help me choosing between the extreme wealth of french language: http://www.larousse.fr/dictionnaires...familier#32712
I feel this topic is turning into a literacy discuss.

@B²
Of course, where do you think I get the source codes I use?

I did:
./configure
make
make install

as said in the INSTALL file.

Code:
 ecm -pm1 1e6 <input.txt 
GMP-ECM 7.0.3 [configured with GMP 6.1.1, --enable-asm-redc] [P-1]
Input number is 9517953219760970237954097542039 (31 digits)
Using B1=1000000, B2=1748900148, polynomial x^1, x0=2280606491
Step 1 took 44ms
********** Factor found in step 1: 23
Found prime factor of 2 digits: 23
Composite cofactor 413824053033085662519743371393 has 30 digits
I tried with different lenghs of numbers, each time it returns that kind of code.

Last fiddled with by Romuald on 2016-08-10 at 13:34
Romuald is offline   Reply With Quote
Old 2016-08-10, 14:09   #50
science_man_88
 
science_man_88's Avatar
 
"Forget I exist"
Jul 2009
Dartmouth NS

100000111000102 Posts
Default

Quote:
Originally Posted by Romuald View Post
@science_man_88

In french:
Then, I've been too much confident in literal translation.
But language is a bit subjective, not absolute. There can be a shade of difference in the meaning of a word.
But obviously I can trust in your english expertise, so what should I say to translate "familier"?
Help me choosing between the extreme wealth of french language: http://www.larousse.fr/dictionnaires...familier#32712
I feel this topic is turning into a literacy discuss.
I only stated something on here because I couldn't annoy you through PM, also I would translate that french ( partly from french emersion when I failed and part of my family being a french surname) into the english as something you practice , a habit:

hab·it
ˈhabət/
noun
1.
a settled or regular tendency or practice, especially one that is hard to give up.

of course at least in english you can in theory translate the definition of the word form the word itself in a lot of science like proopiomelanocortin as -in: protein, pro- precursor of , opio- opiates, melano- pigmentation, melanin, dark, cort: cortex, corticotrophin in this case specifically the adrenal cortex. so it can be translated as the precursor protein of opiates ,pigmentation, and corticotrophin ( aka ACTH for adrenocorticotropic hormone, a hormone that signals the adrenals)
science_man_88 is offline   Reply With Quote
Old 2016-08-10, 17:18   #51
Romuald
 
Romuald's Avatar
 
Oct 2015
France

32·7 Posts
Default

Yes, that's right, science words are the ones that give me a hard time (ceux qui me donnent du fil à retordre).
For instance, I am especially annoyed by function names and math names in general.
Romuald is offline   Reply With Quote
Old 2016-08-10, 17:32   #52
bsquared
 
bsquared's Avatar
 
"Ben"
Feb 2007

373110 Posts
Default

Quote:
Originally Posted by Romuald View Post
Code:
 ecm -pm1 1e6 <input.txt 
GMP-ECM 7.0.3 [configured with GMP 6.1.1, --enable-asm-redc] [P-1]
I can only comment that it works fine for me with GMP-ECM 7.0 and GMP 6.0.0, and several older revisions of both. I have not tried 7.0.3 or 6.1.1. Maybe the ecm_params typedef changed in the latest version? I can look into that... in the meantime maybe you can build GMP-ECM 7.0.0 and then rebuild yafu.
bsquared is offline   Reply With Quote
Old 2016-08-10, 18:42   #53
Romuald
 
Romuald's Avatar
 
Oct 2015
France

32·7 Posts
Default

Yet I think I had the latest version... I'm really surprised.

I will check this.
Romuald is offline   Reply With Quote
Old 2016-08-10, 18:57   #54
bsquared
 
bsquared's Avatar
 
"Ben"
Feb 2007

7·13·41 Posts
Default

Quote:
Originally Posted by Romuald View Post
Yet I think I had the latest version... I'm really surprised.

I will check this.
I just re-built my copy of yafu using the lastest SVN and the newest 7.0.3 version of ecm (same as yours) and everything is working fine. I'm not sure what's going on.
bsquared is offline   Reply With Quote
Old 2016-08-11, 08:05   #55
Romuald
 
Romuald's Avatar
 
Oct 2015
France

32·7 Posts
Default

Sorry but... I don't understand.
What is SNV ? Did I miss something ?

About GMP-ECM, my fault, I forgot I had indeed used the newest 7.0.3, though it doesn't appear on the main page of gforge.inria.fr. It's on the 'file' tab.


So, I rebuilt GMP, ECM, apparently, both compilations are OK, I made ./configure make make check sudo make install (this last is not really useful but I do it each time even though) each time without errors.
I rebuilt YAFU, but this time with only make x86_64, I got a lot of
"warning, variable X set but not used"...

Finally I still have this rotten seg fault while factorizing.

I start to wonder: Is it the path that's not correct ? I don't think, because at compilation YAFU seems to detect the path of GMP. Or is that ECM ? Both were OK...

Last fiddled with by Romuald on 2016-08-11 at 08:09
Romuald is offline   Reply With Quote
Reply

Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
Links to Factoring Projects rogue Factoring 20 2014-11-19 01:08
Implementing Factoring Algorithms Raman Hobbies 45 2009-05-11 05:11
Overview of Factoring Algorithms ThiloHarich Factoring 0 2007-09-02 20:32
design factoring algorithms koders333 Factoring 14 2006-01-25 14:08
factoring algorithms are patented? koders333 Factoring 1 2006-01-19 20:04

All times are UTC. The time now is 01:22.


Tue Jan 31 01:22:35 UTC 2023 up 165 days, 22:51, 1 user, load averages: 0.99, 0.99, 0.99

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2023, Jelsoft Enterprises Ltd.

This forum has received and complied with 0 (zero) government requests for information.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.
A copy of the license is included in the FAQ.

≠ ± ∓ ÷ × · − √ ‰ ⊗ ⊕ ⊖ ⊘ ⊙ ≤ ≥ ≦ ≧ ≨ ≩ ≺ ≻ ≼ ≽ ⊏ ⊐ ⊑ ⊒ ² ³ °
∠ ∟ ° ≅ ~ ‖ ⟂ ⫛
≡ ≜ ≈ ∝ ∞ ≪ ≫ ⌊⌋ ⌈⌉ ∘ ∏ ∐ ∑ ∧ ∨ ∩ ∪ ⨀ ⊕ ⊗ 𝖕 𝖖 𝖗 ⊲ ⊳
∅ ∖ ∁ ↦ ↣ ∩ ∪ ⊆ ⊂ ⊄ ⊊ ⊇ ⊃ ⊅ ⊋ ⊖ ∈ ∉ ∋ ∌ ℕ ℤ ℚ ℝ ℂ ℵ ℶ ℷ ℸ 𝓟
¬ ∨ ∧ ⊕ → ← ⇒ ⇐ ⇔ ∀ ∃ ∄ ∴ ∵ ⊤ ⊥ ⊢ ⊨ ⫤ ⊣ … ⋯ ⋮ ⋰ ⋱
∫ ∬ ∭ ∮ ∯ ∰ ∇ ∆ δ ∂ ℱ ℒ ℓ
𝛢𝛼 𝛣𝛽 𝛤𝛾 𝛥𝛿 𝛦𝜀𝜖 𝛧𝜁 𝛨𝜂 𝛩𝜃𝜗 𝛪𝜄 𝛫𝜅 𝛬𝜆 𝛭𝜇 𝛮𝜈 𝛯𝜉 𝛰𝜊 𝛱𝜋 𝛲𝜌 𝛴𝜎𝜍 𝛵𝜏 𝛶𝜐 𝛷𝜙𝜑 𝛸𝜒 𝛹𝜓 𝛺𝜔