Bitcoin Forum
May 07, 2024, 08:49:20 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 »  All
  Print  
Author Topic: Why the hell this shit was not tested on testnet?  (Read 3286 times)
speeder (OP)
Hero Member
*****
Offline Offline

Activity: 966
Merit: 501


Leading Crypto Sports Betting & Casino Platform


View Profile
March 12, 2013, 02:15:02 AM
 #1

Seriously, you made TWO major changes at once (block size and database type) at once... And deployed in production and partially only (because not all people upgraded).

What the hell are the devs thinking? What is the testnet for? Testnet is not only to test userland code, but it is a fine place to test mining code too damnit!

Now know that from now on, you should ALWAYS test stuff like this on Testnet first.

..Stake.com..   ▄████████████████████████████████████▄
   ██ ▄▄▄▄▄▄▄▄▄▄            ▄▄▄▄▄▄▄▄▄▄ ██  ▄████▄
   ██ ▀▀▀▀▀▀▀▀▀▀ ██████████ ▀▀▀▀▀▀▀▀▀▀ ██  ██████
   ██ ██████████ ██      ██ ██████████ ██   ▀██▀
   ██ ██      ██ ██████  ██ ██      ██ ██    ██
   ██ ██████  ██ █████  ███ ██████  ██ ████▄ ██
   ██ █████  ███ ████  ████ █████  ███ ████████
   ██ ████  ████ ██████████ ████  ████ ████▀
   ██ ██████████ ▄▄▄▄▄▄▄▄▄▄ ██████████ ██
   ██            ▀▀▀▀▀▀▀▀▀▀            ██ 
   ▀█████████▀ ▄████████████▄ ▀█████████▀
  ▄▄▄▄▄▄▄▄▄▄▄▄███  ██  ██  ███▄▄▄▄▄▄▄▄▄▄▄▄
 ██████████████████████████████████████████
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█  ▄▀▄             █▀▀█▀▄▄
█  █▀█             █  ▐  ▐▌
█       ▄██▄       █  ▌  █
█     ▄██████▄     █  ▌ ▐▌
█    ██████████    █ ▐  █
█   ▐██████████▌   █ ▐ ▐▌
█    ▀▀██████▀▀    █ ▌ █
█     ▄▄▄██▄▄▄     █ ▌▐▌
█                  █▐ █
█                  █▐▐▌
█                  █▐█
▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀█
▄▄█████████▄▄
▄██▀▀▀▀█████▀▀▀▀██▄
▄█▀       ▐█▌       ▀█▄
██         ▐█▌         ██
████▄     ▄█████▄     ▄████
████████▄███████████▄████████
███▀    █████████████    ▀███
██       ███████████       ██
▀█▄       █████████       ▄█▀
▀█▄    ▄██▀▀▀▀▀▀▀██▄  ▄▄▄█▀
▀███████         ███████▀
▀█████▄       ▄█████▀
▀▀▀███▄▄▄███▀▀▀
..PLAY NOW..
1715114960
Hero Member
*
Offline Offline

Posts: 1715114960

View Profile Personal Message (Offline)

Ignore
1715114960
Reply with quote  #2

1715114960
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715114960
Hero Member
*
Offline Offline

Posts: 1715114960

View Profile Personal Message (Offline)

Ignore
1715114960
Reply with quote  #2

1715114960
Report to moderator
kokojie
Legendary
*
Offline Offline

Activity: 1806
Merit: 1003



View Profile
March 12, 2013, 02:22:48 AM
 #2

Seriously, you made TWO major changes at once (block size and database type) at once... And deployed in production and partially only (because not all people upgraded).

What the hell are the devs thinking? What is the testnet for? Testnet is not only to test userland code, but it is a fine place to test mining code too damnit!

Now know that from now on, you should ALWAYS test stuff like this on Testnet first.

I assume this has something to do with the kind of worrying "Critical: Current Bitcoin network fork. Action needed by mining pools. Merchants should hold transactions.".

Are my bitcoins worthless now?

Some people are reporting missing coins from very recent transactions, you better check your wallet to make sure.

btc: 15sFnThw58hiGHYXyUAasgfauifTEB1ZF6
justusranvier
Legendary
*
Offline Offline

Activity: 1400
Merit: 1009



View Profile
March 12, 2013, 02:23:56 AM
 #3

Seriously, you made TWO major changes at once (block size and database type) at once... And deployed in production and partially only (because not all people upgraded).
The problem is older than you think. 0.8 is fine (at least with regards to the current problem). 0.7 had a bug in it and consequently is not capable of handling what it's supposed to be able to handle.
dree12
Legendary
*
Offline Offline

Activity: 1246
Merit: 1077



View Profile
March 12, 2013, 02:25:55 AM
 #4

Ironically, more testing on testnet would not have helped this issue. Significantly less may have, as the network would have more time to upgrade.

I think the blame rests upon miners and merchants here. Miners should always upgrade and merchants should run FAN nodes.
solex
Legendary
*
Offline Offline

Activity: 1078
Merit: 1002


100 satoshis -> ISO code


View Profile
March 12, 2013, 02:27:54 AM
Last edit: March 12, 2013, 02:52:29 AM by solex
 #5

Seriously, you made TWO major changes at once (block size and database type) at once... And deployed in production and partially only (because not all people upgraded).

What the hell are the devs thinking? What is the testnet for? Testnet is not only to test userland code, but it is a fine place to test mining code too damnit!

Now know that from now on, you should ALWAYS test stuff like this on Testnet first.

Core Dev are always having to maintain the engines on a jet aeroplane flying at 35,000 feet. I don't notice any oil on your hands!

justusranvier
Legendary
*
Offline Offline

Activity: 1400
Merit: 1009



View Profile
March 12, 2013, 02:28:50 AM
 #6

Ironically, more testing on testnet would not have helped this issue. Significantly less may have, as the network would have more time to upgrade.
This might have helped:

https://bitcointalk.org/index.php?topic=56323.0
JoelKatz
Legendary
*
Offline Offline

Activity: 1596
Merit: 1012


Democracy is vulnerable to a 51% attack.


View Profile WWW
March 12, 2013, 02:33:19 AM
 #7

Are my bitcoins worthless now?
If you've had bitcoins sitting in a wallet since before this happened, they are safe. Just don't do anything with them until the problem is resolved.

I am an employee of Ripple. Follow me on Twitter @JoelKatz
1Joe1Katzci1rFcsr9HH7SLuHVnDy2aihZ BM-NBM3FRExVJSJJamV9ccgyWvQfratUHgN
Nemesis
Sr. Member
****
Offline Offline

Activity: 462
Merit: 250


View Profile
March 12, 2013, 02:59:21 AM
 #8

I wonder where Gavin is?

Did he make any statement? I dont see him posting comments in the sticky thread.
justusranvier
Legendary
*
Offline Offline

Activity: 1400
Merit: 1009



View Profile
March 12, 2013, 03:00:19 AM
 #9

I wonder where Gavin is?

Did he make any statement? I dont see him posting comments in the sticky thread.

Probably has more important coding-related things to do right now.
pera
Sr. Member
****
Offline Offline

Activity: 532
Merit: 261


­バカ


View Profile
March 12, 2013, 03:15:46 AM
 #10

Seriously, you made TWO major changes at once (block size and database type) at once... And deployed in production and partially only (because not all people upgraded).
The problem is older than you think. 0.8 is fine (at least with regards to the current problem). 0.7 had a bug in it and consequently is not capable of handling what it's supposed to be able to handle.
incompatibility between versions should be called (at least) an issue imho...

キタ━━━━(゚∀゚)━━━━ッ!!
justusranvier
Legendary
*
Offline Offline

Activity: 1400
Merit: 1009



View Profile
March 12, 2013, 03:25:45 AM
 #11

incompatibility between versions should be called (at least) an issue imho...
My point was that exhaustive testing of 0.8 would never have revealed the bug in 0.7 that nobody knew about.

Unit testing to make sure the code was actually capable of operating at the protocol limits would have caught the problem had it been performed on 0.7
gst
Newbie
*
Offline Offline

Activity: 38
Merit: 0


View Profile
March 12, 2013, 03:27:32 AM
 #12

What the hell are the devs thinking? What is the testnet for? Testnet is not only to test userland code, but it is a fine place to test mining code too damnit!

So are you paying the devs for developing the Bitcoin software? And why didn't YOU test the code in testnet before it was released as 0.8?
dree12
Legendary
*
Offline Offline

Activity: 1246
Merit: 1077



View Profile
March 12, 2013, 03:28:08 AM
 #13

incompatibility between versions should be called (at least) an issue imho...
My point was that exhaustive testing of 0.8 would never have revealed the bug in 0.7 that nobody knew about.

Unit testing to make sure the code was actually capable of operating at the protocol limits would have caught the problem had it been performed on 0.7

Indeed, the testing should have been conducted in the three years since Bitcoin was released. It's appalling how the edge conditions were never tested.
pyra-proxy
Hero Member
*****
Offline Offline

Activity: 490
Merit: 500



View Profile
March 12, 2013, 03:34:12 AM
 #14

incompatibility between versions should be called (at least) an issue imho...
My point was that exhaustive testing of 0.8 would never have revealed the bug in 0.7 that nobody knew about.

Unit testing to make sure the code was actually capable of operating at the protocol limits would have caught the problem had it been performed on 0.7

Indeed, the testing should have been conducted in the three years since Bitcoin was released. It's appalling how the edge conditions were never tested.

Not sure backward compatibility is an edge case.... generally its a big deal you plan a transition for.  What happened here was a rushed satoshi dice bailout with much discussion on filtering out their transactions while a real solution could be worked on.... which now leaves everyone feeling the pain instead of a single entertainment site.

n8rwJeTt8TrrLKPa55eU
Hero Member
*****
Offline Offline

Activity: 588
Merit: 500



View Profile
March 12, 2013, 03:35:21 AM
 #15

Core Dev are always having to maintain the engines on a jet aeroplane flying at 35,000 feet. I don't notice any oil on your hands!

Yep.  Backseat driving is rampant on this forum.  We have geniuses coming out of the woodwork who demand Bitcoin developers be exempted from fundamental laws of mathematics and produce 100% perfect software.  

Hint: look up "Halting Problem".

There will be bugs.  Always.  Either contribute to the testing & development cycle with your time or money, or stop complaining.

markm
Legendary
*
Offline Offline

Activity: 2940
Merit: 1090



View Profile WWW
March 12, 2013, 03:36:17 AM
 #16

Running all versions that are not totally obsolete on testnet at same time as running new version on it might have caught this, maybe?

Sure only running the new version on testnet without any old versions there would not test their compatibility.

-MarkM-

Browser-launched Crossfire client now online (select CrossCiv server for Galactic  Milieu)
Free website hosting with PHP, MySQL etc: http://hosting.knotwork.com/
dree12
Legendary
*
Offline Offline

Activity: 1246
Merit: 1077



View Profile
March 12, 2013, 03:36:32 AM
 #17

incompatibility between versions should be called (at least) an issue imho...
My point was that exhaustive testing of 0.8 would never have revealed the bug in 0.7 that nobody knew about.

Unit testing to make sure the code was actually capable of operating at the protocol limits would have caught the problem had it been performed on 0.7

Indeed, the testing should have been conducted in the three years since Bitcoin was released. It's appalling how the edge conditions were never tested.

Not sure backward compatibility is an edge case.... generally its a big deal you plan a transition for.  What happened here was a rushed satoshi dice bailout with much discussion on filtering out their transactions while a real solution could be worked on.... which now leaves everyone feeling the pain instead of a single entertainment site.

The edge condition is referring to the blocks that were rejected even before 0.8 was released. A perfectly valid block could be rejected by every Bitcoin node. Isn't this something that should never happen?
solex
Legendary
*
Offline Offline

Activity: 1078
Merit: 1002


100 satoshis -> ISO code


View Profile
March 12, 2013, 03:39:07 AM
 #18

incompatibility between versions should be called (at least) an issue imho...
My point was that exhaustive testing of 0.8 would never have revealed the bug in 0.7 that nobody knew about.

Unit testing to make sure the code was actually capable of operating at the protocol limits would have caught the problem had it been performed on 0.7

Indeed, the testing should have been conducted in the three years since Bitcoin was released. It's appalling how the edge conditions were never tested.

Not sure backward compatibility is an edge case.... generally its a big deal you plan a transition for.  What happened here was a rushed satoshi dice bailout with much discussion on filtering out their transactions while a real solution could be worked on.... which now leaves everyone feeling the pain instead of a single entertainment site.

The edge condition is referring to the blocks that were rejected even before 0.8 was released. A perfectly valid block could be rejected by every Bitcoin node. Isn't this something that should never happen?

A block rejected by all nodes is by definition invalid. Someone will produce a new valid one, and the building will continue as normal.

dree12
Legendary
*
Offline Offline

Activity: 1246
Merit: 1077



View Profile
March 12, 2013, 03:40:43 AM
 #19

incompatibility between versions should be called (at least) an issue imho...
My point was that exhaustive testing of 0.8 would never have revealed the bug in 0.7 that nobody knew about.

Unit testing to make sure the code was actually capable of operating at the protocol limits would have caught the problem had it been performed on 0.7

Indeed, the testing should have been conducted in the three years since Bitcoin was released. It's appalling how the edge conditions were never tested.

Not sure backward compatibility is an edge case.... generally its a big deal you plan a transition for.  What happened here was a rushed satoshi dice bailout with much discussion on filtering out their transactions while a real solution could be worked on.... which now leaves everyone feeling the pain instead of a single entertainment site.

The edge condition is referring to the blocks that were rejected even before 0.8 was released. A perfectly valid block could be rejected by every Bitcoin node. Isn't this something that should never happen?

A block rejected by all nodes is by definition invalid. Someone wil produce a new valid one, and the building will continue as normal.


Is there any evidence that all nodes would reject it? It looks like, according to Pieter's preliminary statement, that certain configurations will (correctly) accept the blocks.

Quote
Immediate solution is upgrading to 0.8, or manually setting the number of
lock objects higher in your database. I'll follow up with more concrete
instructions.
markm
Legendary
*
Offline Offline

Activity: 2940
Merit: 1090



View Profile WWW
March 12, 2013, 03:40:53 AM
 #20

Different versions and distros of operating systems likely linked against different versions of Berkeley DataBase too so maybe it would have needed each old version of bitcoin, with each compatible version of the BDB linked to each one, to have found this just by running on testnet.

Edge case unit tests though should be looking for precisely the corner and limit cases of numbers of transaction, portions of transactions, number and type of script and sigs, size of blocks and so on.

Its just the unit tests are not really fleshed out fully yet.

Maybe they need to include trying linking to different versions of whatever database library is being used.

-MarkM-

Browser-launched Crossfire client now online (select CrossCiv server for Galactic  Milieu)
Free website hosting with PHP, MySQL etc: http://hosting.knotwork.com/
Pages: [1] 2 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!