Pages:
Author

Topic: The bug could be found!!! run them both in same test envrionment (Read 4013 times)

legendary
Activity: 1498
Merit: 1000
I have worked in software, and let me tell you, if you lose the company money cause a bug like this which is clearly an edge test, you do get docked some pay.
I work in software, but I'd never work at *that* place.
Guessing you don't work on highly critical software.
I had a job dealing with securities transactions where I found a couple of $20mn mistakes, but before the cost was actually incurred.  No one was fired, nor did I get a bonus for finding the problems before they became real problems.  (That being said, if I hadn't taken it upon myself to rewrite that process from a unwieldy batch of copy/pasted SQL statements, into a Java process with a businessperson-readable XML-based decision tree configuration file, the checks would have gone out with that mistake in 'em.)

Under no circumstances would I allow that company (or any other) to somehow shift the risk of a mistake onto me, if I were working straight salary.  The business is insured for that risk, not me.  If my mistake makes it out of the dev process into production and actually costs the company money, that's the company's process failure, not specifically mine.  That being said, I'm very good at what I do, so that might give me more options as to what terms I must accept to take a job.

Does Bitcoin have enough process and QA to ensure there will never be any noticeable failure in the flagship Bitcoin software?  No.  And "diminishing returns on caution" means that if we required that, we'd still be waiting on the very first release of Bitcoin.

How much money have you personally contributed to ensuring the software you use is bug-free, or at least QA'ed to your exacting standards?  FYI: Your right to complain is limited to approximately that amount.  Well, the max of that amount, and the amount of Bitcoin you directly lost because of the brief split.

Writing distributed systems with many nodes, high concurrency, and paranoid-level encryption systems, is Hard.  And Monday morning quarterbacks don't really contribute anything.


Not a monday morning quarterback if I know how things work. It is a failure of testing that led to this point so yes someone needs to be responsible, Gavin is lead, so his head should be on the chopping block, but since most people give him this God like quality nothing will ever happen. Also how do you know what I contribute? I could contribute 0 coins or 150 coins you don't know, cause maybe what I contribute is no one's business and I don't brag about it. In the early days, I did donate some coins to the project, but as the views of the software took on the views of the foundation I stopped cause I don't believe that. Now I donate mostly to Armory cause there views are in line with my views, and allow me to still use a full node. See your talking about things that happened in testing with your $20 million, I am talking about production. most software companies do have harsh punishments for people who doesn't use the build process and skip testing. Why shouldn't the same be applied to bitcoin? This was an edge test that people felt that was not tested, that is a failure of the build process, as a lead developer, if I was Gavin I would decline my payment. But he is greedy just like everyone else in the bitcoin world. They want to make gold out of air. Quite sad, I am moving on from this thread cause this was really the only thought out posted in responsive to me, so I would like end it on a high note.
legendary
Activity: 1498
Merit: 1000
I am not looking to convince anyone

Good for you, you won't be disappointed that way.

cause you all hold Gavin in this upper level, and you really shouldn't, but I don't care. Read my first post

Oh, your first post? Did no one take the time to explain to you that what you suggested is already the way they tested the 0.8 version. No? My mistake then.

But as you didn't bother to study the corner cases where the bug in 0.7 manifest itself like the devs did you couldn't imagine that, could you?

I even admitted that I am not trying to convince anyone. So thanks for saying on top of this thread and not just writing anything of use for anyone.

This whole thread is of no use for anyone as the subject is a joke. It's just pure trolling and you are at the center of it. Maybe it's time you realize that and cut your losses?

LMAO your so far out of everything, did you read MY first post in this thread, not the THE first post in the thread, I give you a second to come back and learn to read.
legendary
Activity: 1498
Merit: 1000
I have worked in software, and let me tell you, if you lose the company money cause a bug like this which is clearly an edge test, you do get docked some pay.
I work in software, but I'd never work at *that* place.

Yeah me either.  My first development job was a glorified code monkey and it still sounds lightyears better than that place.  Never even seen a professional salary contract which involves docking ones pay.  Screw up bad enough and you might get terminated but even then I have never seen "take backs" on salary.

It was a highly critical software engineering job, with government contracts and banking software.
legendary
Activity: 1498
Merit: 1000
I guess your not open to the freedom of speech.

On the contrary. Speak and write all you want.

Don't expect to be convincing though...

I am not looking to convince anyone cause you all hold Gavin in this upper level, and you really shouldn't, but I don't care. Read my first post I even admitted that I am not trying to convince anyone. So thanks for saying on top of this thread and not just writing anything of use for anyone.
full member
Activity: 126
Merit: 100
And I still contest your "most software companies have harsh punishments" assertion.  I can't imagine any self-respecting programmer working in the conditions you previously described.
It depends ... if after the harshest punishment possible my salary is still better than the other safer code crunching job, I will Wink

To be honest I haven't heard too many companies dealing out harsh punishment for software bugs. Although I'd imagine for people out there working for large bonuses it could get impacted pretty badly.
To be sure.  But in the context of his original post (I'd felt like I had quoted quite enough already) he was saying that base pay is cut or altogether withheld (which is what he was suggesting should happen to Gavin.)  I've never heard of anything close to that draconian for a salaried developer, and I'm not new to the industry, so I'm strongly contesting the assertion that "most" companies would have this sort of policy.
legendary
Activity: 1205
Merit: 1010

And I still contest your "most software companies have harsh punishments" assertion.  I can't imagine any self-respecting programmer working in the conditions you previously described.


It depends ... if after the harshest punishment possible my salary is still better than the other safer code crunching job, I will Wink

To be honest I haven't heard too many companies dealing out harsh punishment for software bugs. Although I'd imagine for people out there working for large bonuses it could get impacted pretty badly.
full member
Activity: 126
Merit: 100
Not a monday morning quarterback if I know how things work.
"If."  Your experiences in software development and mine vary fundamentally, which forces me to ponder your credibility.
It is a failure of testing that led to this point so yes someone needs to be responsible, Gavin is lead, so his head should be on the chopping block, but since most people give him this God like quality nothing will ever happen.
Nominate a successor, then.  You?
Also how do you know what I contribute? I could contribute 0 coins or 150 coins you don't know, cause maybe what I contribute is no one's business and I don't brag about it.
I made no speculation as to how much you may or may not have donated (though there was an unspoken implication that seems to have hit close to home.) 
See your talking about things that happened in testing with your $20 million, I am talking about production. most software companies do have harsh punishments for people who doesn't use the build process and skip testing. Why shouldn't the same be applied to bitcoin? This was an edge test that people felt that was not tested, that is a failure of the build process, as a lead developer, if I was Gavin I would decline my payment
Who ever said there was no testing?  In addition to any automated unit tests, there are 250,000+ tests of blocks in all sorts of configurations run by anyone who's ever run a full Bitcoin client and synched the entire chain.  We ran into something on the very edge, and the configuration of the underlying database (not code Gavin wrote, but arguably code he selected) couldn't handle it without editing a value in a config file.  Incidentally, the latest version would have passed this test, because the problem was fixed (this fix, ironically, caused the chain split we're all talking about.)  Should we fire / shortpay anyone who didn't upgrade, as well?

And I still contest your "most software companies have harsh punishments" assertion.  I can't imagine any self-respecting programmer working in the conditions you previously described.
But he is greedy just like everyone else in the bitcoin world. They want to make gold out of air. Quite sad, I am moving on from this thread cause this was really the only thought out posted in responsive to me, so I would like end it on a high note.
Ummm....  You're entitled to your opinion, but you paint this part of your world with an awfully large brush.
hero member
Activity: 896
Merit: 1000
LMAO your so far out of everything, did you read MY first post in this thread, not the THE first post in the thread, I give you a second to come back and learn to read.
Sorry, I admit I didn't check the first post's author.

But if you think your first post asking for Gavin not being paid makes more sense, sorry I don't concur.

In fact on the very method this is stupid, you don't refuse to pay someone you hired: you fire him/her. Continuing to employ incompetent people is in itself a sign of incompetence and this is what you advocate. If a developer or architect doesn't perform up to your standards, you find another, you don't "punish" the existing one by refusing to pay him (which is probably illegal in most civilized countries, at least it is in mine).

Your attitude simply makes no sense.
hero member
Activity: 504
Merit: 500
WTF???
Now I understand, thanks for taking the time to explain. So we actually hit some arbitrary limit that existed all along because of the used BDB libraries, so developers will need to emulate it in future software versions until all network upgrades, then we can be sure no hard forks happen for this reason. Quite interesting to study but rather painful to experience when using it.

The BDB limit is the default set_lk_max_locks (max locks) setting of 10000. It is easily fixed by including a DB_CONFIG file in the 0.7 bitcoin application directory with a higher max locks setting.

That DB_CONFIG file should allow 0.7 clients to accept blocks up to the 1MB hard/protocol limit without choking, as the developers were expecting when they released 0.8 and asked pools to raise their target block sizes to the 1MB limit.

But we won't ask anyone running 0.7 to do that for 2 years. Ask Lukey Jr
legendary
Activity: 826
Merit: 1001
rippleFanatic
Now I understand, thanks for taking the time to explain. So we actually hit some arbitrary limit that existed all along because of the used BDB libraries, so developers will need to emulate it in future software versions until all network upgrades, then we can be sure no hard forks happen for this reason. Quite interesting to study but rather painful to experience when using it.

The BDB limit is the default set_lk_max_locks (max locks) setting of 10000. It is easily fixed by including a DB_CONFIG file in the 0.7 bitcoin application directory with a higher max locks setting.

That DB_CONFIG file should allow 0.7 clients to accept blocks up to the 1MB hard/protocol limit without choking, as the developers were expecting when they released 0.8 and asked pools to raise their target block sizes to the 1MB limit.
full member
Activity: 126
Merit: 100
I have worked in software, and let me tell you, if you lose the company money cause a bug like this which is clearly an edge test, you do get docked some pay.
I work in software, but I'd never work at *that* place.
Guessing you don't work on highly critical software.
I had a job dealing with securities transactions where I found a couple of $20mn mistakes, but before the cost was actually incurred.  No one was fired, nor did I get a bonus for finding the problems before they became real problems.  (That being said, if I hadn't taken it upon myself to rewrite that process from a unwieldy batch of copy/pasted SQL statements, into a Java process with a businessperson-readable XML-based decision tree configuration file, the checks would have gone out with that mistake in 'em.)

Under no circumstances would I allow that company (or any other) to somehow shift the risk of a mistake onto me, if I were working straight salary.  The business is insured for that risk, not me.  If my mistake makes it out of the dev process into production and actually costs the company money, that's the company's process failure, not specifically mine.  That being said, I'm very good at what I do, so that might give me more options as to what terms I must accept to take a job.

Does Bitcoin have enough process and QA to ensure there will never be any noticeable failure in the flagship Bitcoin software?  No.  And "diminishing returns on caution" means that if we required that, we'd still be waiting on the very first release of Bitcoin.

How much money have you personally contributed to ensuring the software you use is bug-free, or at least QA'ed to your exacting standards?  FYI: Your right to complain is limited to approximately that amount.  Well, the max of that amount, and the amount of Bitcoin you directly lost because of the brief split.

Writing distributed systems with many nodes, high concurrency, and paranoid-level encryption systems, is Hard.  And Monday morning quarterbacks don't really contribute anything.
legendary
Activity: 924
Merit: 1004
Firstbits: 1pirata
This is not accurate.

There was, indeed, testing on the testnet with a full (1 MB) block. This was accepted by both the 0.7 and 0.8 versions. There is no concern here.

Slush's block should have produced the same valid block. However, the block was structured carefully as to expose a problem in 0.7 that was never discovered. Not only was this an extremely difficult problem to catch, but its finding would in fact not have been accelerated with a mixed testnet. The introduction of 0.8 into the equation would actually delay finding the bug, as it would mean less time spent testing edge cases on 0.7.

Source?

@dree12: Do you mean it was done on purpose? Source?

From IRC, all said by gmaxwell:
Quote
I'd rather it go to the 250k level while we don't know. I'm not certian that it couldn't be triggered by a somewhat smaller block.
Seems to indicate that smaller blocks could trigger it.

Quote
or 0.7 had another dumb implicit limit + which we didn't discover because our tests were inadequate to discover + and miners were encouraged to crank their block targets up when other than a few testnet blocks only a few max size blocks had ever been created.
Testnet blocks were at max size, so that type of testing could not have caught the issue.

Quote
There are some with >2000 TXN and such, but they don't have large numbers of txins because I was spending 50 tnbtc blocks.
This seems to indicate that not even a large number of transactions specifically causes the issue, but rather a large number of txins.

Quote
we don't have it fully measured and determined yet, but its most likely the number of transaction outputs being spent plus the number of outputs being created.
This supports the idea that only specific blocks could cause this.

Quote
we have tests that make maximum sized blocks... but not one that makes large numbers of both inputs and outputs.

In conclusion, it seems that it was not in fact a "big block" that caused this. A small block could in theory cause it if the tx-ins or tx-outs were small, which is entirely possible thanks to compressed public keys.

I did not mean my statement "structured carefully" to mean that someone has intentionally done so, but rather that the block's structure was rare and unique.

Now I understand, thanks for taking the time to explain. So we actually hit some arbitrary limit that existed all along because of the used BDB libraries, so developers will need to emulate it in future software versions until all network upgrades, then we can be sure no hard forks happen for this reason. Quite interesting to study but rather painful to experience when using bitcoin on a daily basis.
donator
Activity: 1218
Merit: 1079
Gerald Davis
I have worked in software, and let me tell you, if you lose the company money cause a bug like this which is clearly an edge test, you do get docked some pay.
I work in software, but I'd never work at *that* place.

Yeah me either.  My first development job was a glorified code monkey and it still sounds lightyears better than that place.  Never even seen a professional salary contract which involves docking ones pay.  Screw up bad enough and you might get terminated but even then I have never seen "take backs" on salary.
hero member
Activity: 896
Merit: 1000
I am not looking to convince anyone

Good for you, you won't be disappointed that way.

cause you all hold Gavin in this upper level, and you really shouldn't, but I don't care. Read my first post

Oh, your first post? Did no one take the time to explain to you that what you suggested is already the way they tested the 0.8 version. No? My mistake then.

But as you didn't bother to study the corner cases where the bug in 0.7 manifest itself like the devs did you couldn't imagine that, could you?

I even admitted that I am not trying to convince anyone. So thanks for saying on top of this thread and not just writing anything of use for anyone.

This whole thread is of no use for anyone as the subject is a joke. It's just pure trolling and you are at the center of it. Maybe it's time you realize that and cut your losses?
hero member
Activity: 896
Merit: 1000
I guess your not open to the freedom of speech.

On the contrary. Speak and write all you want.

Don't expect to be convincing though...
hero member
Activity: 896
Merit: 1000
In fact you can call him/her stupid: publishing such a rant on a public forum isn't a smart move for a variety of reasons.

Well I don't know if his stupid as I don't think you can determine stupidity from a few forum posts. :p
Indeed, that said gweedo had plenty of time to cool down and the number of his posts on the subject is still growing. There will be a point were nobody would be able to claim any doubt about his jerkiness or ineptitude Wink
legendary
Activity: 1176
Merit: 1015
In fact you can call him/her stupid: publishing such a rant on a public forum isn't a smart move for a variety of reasons.

Well I don't know if he is stupid as I don't think you can determine stupidity from a few forum posts. :p

hero member
Activity: 896
Merit: 1000
[...]
Your a little angry man calling out the people that are doing the real work. And its your reasoning that is invalid.

(I want to call you stupid but I don't know you, all I can tell is that your a little man and an angry one at that!)

In fact you can call him/her stupid: publishing such a rant on a public forum isn't a smart move for a variety of reasons.

Usually I'm handsomely paid to evaluate engineers adequacy to technical positions. Consider my "inept jerk" comment as a free service to the community Wink
hero member
Activity: 938
Merit: 1002
Capable software developers, or mentally equipped people in general, can't be tamed by monetary threats. They are motivated as they are merely because they decide to do it. I'm sure Gavin isn't coding any better now that he's getting paid either. It's just a good gesture to ease his mind and concentrate on the project for the far future.

What Bitcoin needs is more paid developers and testers, coming from diverse backgrounds and working in diverse environments.

If I were to suggest something, it would be creating a new fund for an independent testing team, or even several competing teams if possible. That would be a case where monetary motivation could work.
legendary
Activity: 1176
Merit: 1015
And with out the internet bitcoin would be zero, and I wouldn't deal with stupid people like you, thanks for playing your reasoning is invalid.

Interesting, I wonder your reason for calling me stupid.

Sure without the internet there would be no Bitcoin. I'm not really sure what you mean by this. Without electricity we would have no internet. The value of your Bitcoin's comes from a client program that actually works. This is a very direct relationship, whereas the internet is already there and used for many different things. (standing on the shoulders of giants, yada yada...)

Bitcoins have value because people think this is next big thing and this is because of a working system. Sure you and me tell people and make Bitcoin spread to a larger amount of people, and they look at Bitcoin and see that it works and then the value goes up some more. But the code is central and integral to this value. From what I can tell Gavin's involvement in Bitcoin has most likely generated more value than your involvement and this is the crux of the issue.

Your a little angry man calling out the people that are doing the real work. And its your reasoning that is invalid.

(I want to call you stupid but I don't know you, all I can tell is that your a little man and an angry one at that!)
Pages:
Jump to: