Seriously, get a life and get out of this thread.
Go pretend you are god in your own thread, you are not welcome here and you have alrady been warned by a mod about posting this sort of shit here over and over again.
If anyone is interested ... how I helped find the curl bug:
(and debunk the douche's FUD)
I was helping someone with a double MiniRig and they had it exiting without any reason - so we switched versions and that solved it
(wasn't sure why it was exiting)
Earlier that night I created my 2.6.3a download and had been running that
That night cgminer crashed ONLY on my Icarus rig (at exactly 2012-08-05 14:51:31 UTC - or 6-Aug 00:51:31 my time)
I run 3 instances of cgminer: a) 1x6950 b) 1xBFL c) 2xIcarus
Why did it crash?
I had no idea, it just seg faulted after almost 5.5 hours running 2.6.3a (and I didn't have ulimit set so no core dump)
The other two were still OK
I then turned on ulimit and restarted it so as to get a core dump if it happened again
Got a seg fault again about 10 hours later, went into gdb and a total WTF - it had cashed in curl_easy_setopt()
but since I hadn't compiled it with -g I couldn't tell the code line
My timezone is UTC+10
11:22 <@kanoi> woot!
11:22 <@kanoi> yes! got a crash and a core dump on my ica
11:23 <@conman> oho
...
11:30 <@kanoi> #1 0x00000034ffa29b71 in curl_easy_setopt () from /lib64/libcurl.so.4
11:30 <@kanoi> #2 0x0000000000413285 in json_rpc_call ()
11:30 <@kanoi> nfi which
11:31 <@kanoi> OK -g always now
...
11:38 <@kanoi> OK running -g this time - give it another 12-24 hours :)
This next one I called 2.6.3c
11:59 <@kanoi> WOOT -g core dump :)
12:01 <@kanoi> it's actually curl_easy_reset(curl);
12:01 <@kanoi> (err_out:)
12:05 <@kanoi> conman http://pastebin.com/YRLBNaJh - I'll add debug code myself but realised I've eaten nothign yet today - so after that :)
much later:
23:22 <@kanoi> #2 0x00000000004111d6 in json_rpc_call (curl=0x4,
23:22 <@kanoi> that says it
23:22 <@kanoi> now to find out why
(the WOOT was coz it happened so soon afterwards)
I changed all the curl DEBUG to ERR so they would always show and added a 5s sleep before the crash line to ensure the logs would clear before it crashed
That night I also setup 3 LTC CPU miners to see if that would help track down the bug running 6 cgminers instead of only 3
... no point CPU mining BTC so I setup LTC so that it could possibly actually find something
I didn't spot the obvious straight away (until much later)
#1 0x0000000000418b13 in json_rpc_call (curl=0x0,
i.e. curl was NULL in that pastebin one and 0x4 (even worse
) in later crashes
Next morning after spending some time looking at the code, but about to be busy with work, I posted a pull request that I hadn't tested and had no idea if it was correct and was there just for ckolivas (conman) to see (he wasn't around IRC at the time) and consider if that might be the issue
https://github.com/ckolivas/cgminer/pull/28910:08 < conman> boo
10:08 <@kanoi> untested - been busy
10:09 <@kanoi> but I think that's it
10:09 < conman> hey kanoi any progress on crash dump?
10:09 <@kanoi> pull request
10:09 <@kanoi> all comments then were to you :)
10:09 <@kanoi> (working at the moment - but someone is on the phone so I had a sec :)
10:12 <@kanoi> bbl
10:16 < conman> uh
10:18 < conman> that's wrong =(
10:33 <@kanoi> ok delete it then - it was a guess
Anyway, with help from all the info and crash dumps I had found, and one later commit that didn't fix it and had to be rolled back, ckolivas found the bug and fixed it with a small change:
https://github.com/ckolivas/cgminer/commit/c7bcad653b79ee54429aec4964f4aa80e49db1d1The original cause of only my Icarus crashing was that Icarus gets work faster than any other device due to the fact that it requires work as soon as it finds a share, it doesn't complete the nonce range.
I had NFI originally why it happened and traced it to curl directly via core dumps - nothing to do with Jesus Troll at all.
----------------------
Now for the JSON change
I saw his post in his Abortion Miner thread that said he was going to have a fix in his next release, and realised of course that would be an issue for things like the pool passwords and the api description, so I went a wrote and tested a change and put up a pull request.
About 6 hours later, Jesus Troll posts a stupid comment on my pull request:
https://github.com/ckolivas/cgminer/pull/292If you are going to copy my bugfixes, I request that you properly attribute in the git log;
in most cases, you can even create pullrequests directly:
https://github.com/luke-jr/cgminer/pull/new/bugfix_cfgwrite_json
If you want to write the fixes before I get to them,
feel free to go over the issue list: https://github.com/luke-jr/bfgminer/issues
Reading that comment, I then went and looked as his code and made the comment I made there in my pull request.
My code is actually very different so as to ensure it's easy to pass ALL strings through the escape function, and thus in my case, since I am escaping every string, I didn't miss the one that also obviously matters: pool password
That config save function is not in any way time critical, so I wrote a function that was simple to use and used it on all strings.
But making it a simple code change as I did (rather than a mess of 2 extra lines of code each time that I later saw Jesus Troll did) means that I've applied it to all strings no matter what, and anyone who adds new strings in there in the future, can do it just as easily
i.e. that was the reasoning behind my reply in the pull request
... and looking at your pull - yes I can see you messed it up :P