Bitcoin Forum

Alternate cryptocurrencies => Altcoin Discussion => Topic started by: PSL on June 02, 2013, 06:56:55 AM



Title: TRC: 32-bit Linux client cannot synchronize with TerraCoin network
Post by: PSL on June 02, 2013, 06:56:55 AM
Gentlemen,

I try to synchronize my client with TerraCoin network but I cannot get the latest blocks those I see at http://www.cryptocoinexplorer.com:3750/chain/Terracoin

I run the latest version of TRC SW from GIT at 32-bit Linux box; https://github.com/terracoin/terracoin
I tried several times to synchronize my client that was offline for few days and I finish in blind allay. Like this:

TRCoin$ ./terracoind getinfo
{  
    "version" : 80000,
    "protocolversion" : 70001,
    "walletversion" : 60000,
    "balance" : 0.00000000,
    "blocks" : 137429,
    "timeoffset" : -2,
    "connections" : 4,
    "proxy" : "",
    "difficulty" : 5254.96236407,
    "testnet" : false,
    "keypoololdest" : 1370150464,
    "keypoolsize" : 101,
    "paytxfee" : 0.00000000,
    "errors" : ""
}

Sometimes I get to different state but I cannot synchronize with the network. I hope you can replicate this problem, just start fresh TerrcoinClient and try to synchronize. I tried several times...

Troubles start at block 137162. I see in .terracoin/debug.log that there are many clients on network those are in bad state.

This is one version of block chain I received:

TRCoin$ for I in {137160..137170}; do echo "$I: $(./terracoind getblockhash $I)"; done
137160: 0000000000027bb9e06f2811ef8cdac16ab0fa9a50f60556652fc9b8741692a6
137161: 000000000002fd58866ebe4bf20cc4f125d0f73a8f3062af33cf2a51b28e3101
137162: 000000000004448227cc755bb5b24c3c09d14d960f490227579cd9685fb33e7d !!!
137163: 0000000000048491747e46c82406ebc819677e1dd98f4bf9b60ecbb741bb9466
137164: 000000000005ff203bec45e1be7434ea3e160563f72339e91c8036d65c97e80b
137165: 000000000004cb33d4d7bfbfde9a789b0a1399152e15c9990c14193dad35ba5d
137166: 000000000001e0d9aec3e887e9eb7b38440eb8bc70cad26194b7111b0682b270
137167: 0000000000050e06cf00e11342e00e1476632ed0aa257d06e65ac291042c26b6
137168: 000000000001711ef7abe0bb0e909c619e0addac20ef30dc354268fa56e0e0d2
137169: 000000000002206c363c8ce4aae47b66f36991250a5369321846bd8cc1ebd0a7
137170: 000000000002d28a32b8e7f068c3ed13f97832731cd50e7991f766cdc6ae5f66

Notice that my block 137162 is different from
http://www.cryptocoinexplorer.com:3750/block/00000000000342fd6e38765cc6f8f56d60c49e3e9522a54d99f561d35800a293

So, I touched source code and added checkpoint:

terracoin$ git diff
diff --git a/src/checkpoints.cpp b/src/checkpoints.cpp
index 78449ec..9205ff4 100644
--- a/src/checkpoints.cpp
+++ b/src/checkpoints.cpp
@@ -91,6 +91,7 @@ namespace Checkpoints
        (107368, uint256("0x000000000009062fe1b4c0654b3d152282545aa8beba3c0e4981d9dfa71b1eaa"))
        (108106, uint256("0x00000000000282bf4e2bd0571c42165a67ffede3b81f2387e301369162107020"))
        (110197, uint256("0x0000000000002d863064910c8964f5d8e2883aca9760c19368fe043263e2bfdd"))
+       (137162, uint256("0x00000000000342fd6e38765cc6f8f56d60c49e3e9522a54d99f561d35800a293"))
         ;
     static const CCheckpointData data = {
         &mapCheckpoints,

I recompiled terracoind, deleted downloaded blocks chain and started TRC client to download fresh blocks.

This is a surprise I see in .terracoin/debug.log:


received block 00000000000342fd6e38765cc6f8f56d60c49e3e9522a54d99f561d35800a293 from 198.199.109.12:13333
ERROR: AcceptBlock() : incorrect proof of work
ERROR: ProcessBlock() : AcceptBlock FAILED


This message explains why I cannot download the latest blocks!
Could you explain me this mystery? Do I miss something?? From my point of view, TRC network is not healthy for several days. On the other side, I see that pool, like Coinotron, creates fresh blocks and there are several clients on network those have the latest blocks...

I am sorry, this post was too technical.
Thank you for your help!


Title: Re: TRC: client cannot synchronize with TerraCoin network
Post by: PSL on June 02, 2013, 07:13:21 AM
An update that explains why I think that something is wrong with TRC network:

$ awk '/ blocks=/{print $6;}' .terracoin/debug.log | sort -n -k1.8 | uniq -c
      2 blocks=0,
      1 blocks=2000,
      1 blocks=33358,
      1 blocks=54517,
      1 blocks=60500,
      1 blocks=62000,
      1 blocks=62500,
      1 blocks=81000,
      1 blocks=85657,
      1 blocks=91036,
      1 blocks=100554,
      1 blocks=101000,
      2 blocks=101632,
      1 blocks=107000,
      2 blocks=108657,
      3 blocks=111210,
      1 blocks=113500,
      1 blocks=129000,
      1 blocks=132246,
     41 blocks=137161,
      2 blocks=137413,
      1 blocks=137428,
      2 blocks=137429,
      1 blocks=138754,
      4 blocks=138770,
      7 blocks=138771,
      1 blocks=138774,
      2 blocks=138775,
      1 blocks=138776,
      3 blocks=138781,
      4 blocks=138784,
      3 blocks=138785,
      3 blocks=138787,
      4 blocks=138789,
      3 blocks=138791,

EDIT: fresh update, about 24 hours latter (3 Jun):

      1 blocks=0,
      1 blocks=62,
      1 blocks=39491,
      3 blocks=101632,
      1 blocks=104291,
      1 blocks=108626,
      4 blocks=108657,
      1 blocks=111079,
      1 blocks=111190,
      4 blocks=111210,
      1 blocks=130910,
      2 blocks=132246,
    548 blocks=137161,
      1 blocks=137305,
     11 blocks=137413,
      1 blocks=137428,
      7 blocks=137429,
      5 blocks=138834,
      6 blocks=138837,
      7 blocks=138839,
      5 blocks=138840,
...
      5 blocks=139230,
      1 blocks=139231,
      1 blocks=139235,
      4 blocks=139236,
      3 blocks=139239,
      3 blocks=139241,
      3 blocks=139244,
      5 blocks=139248,
      2 blocks=139249,

You can clearly see that many clients cannot synchronize and stop at block 137161!! Data were collected at 64-bit box (that is synchronized).


Title: Re: TRC: client cannot synchronize with TerraCoin network
Post by: PSL on June 02, 2013, 07:37:02 AM
So far, I was running TRC clients at 32-bit Linux, Ubuntu 11.04 and 12.10. I was unable to synchronize.

A few minutes ago, I installed TRC at Ubuntu 12.04, 64-bit and client downloaded the blocks chain, I have the latest block; http://www.cryptocoinexplorer.com:3750/block/000000000000e53d6150f45965445abf1121d704e8a48e488af5ae2fe3a6bef6

TRC$ ./terracoind getinfo
{
    "version" : 80000,
    "protocolversion" : 70001,
    "walletversion" : 60000,
    "balance" : 0.00000000,
    "blocks" : 138797,
    "timeoffset" : -1,
    "connections" : 9,
    "proxy" : "",
    "difficulty" : 20755.83791229,
    "testnet" : false,
    "keypoololdest" : 1370154117,
    "keypoolsize" : 101,
    "paytxfee" : 0.00000000,
    "errors" : ""
}
TRC$ ./terracoind getblockhash 138797
000000000000e53d6150f45965445abf1121d704e8a48e488af5ae2fe3a6bef6

After this test, I think there is a bug in the 32-bit version of the client; as described in the first post:

32-bit system:

received block 00000000000342fd6e38765cc6f8f56d60c49e3e9522a54d99f561d35800a293 from 198.199.109.12:13333
ERROR: AcceptBlock() : incorrect proof of work
ERROR: ProcessBlock() : AcceptBlock FAILED

64-bit system:

received block 00000000000342fd6e38765cc6f8f56d60c49e3e9522a54d99f561d35800a293 from 5.39.79.140:13333
SetBestChain: new best=00000000000342fd6e38765cc6f8f56d60c49e3e9522a54d99f561d35800a293  height=137162  work=4137787908838877763  tx=272549  date=2013-05-30 11:54:41
ProcessBlock: ACCEPTED


Title: Re: TRC: client cannot synchronize with TerraCoin network
Post by: PSL on June 02, 2013, 10:54:31 AM
I can replicate the problem, it proves that a bug is at 32-bit client.

1) Synchronize TRC client at 64-bit box, IP address of this box is 54.226.35.73 in my case.

2) Try to synchronize fresh TRC client at 32-bit box; you can add -connect=54.226.35.73 switch to be sure that client talks to the right node.

3) x32 client will synchronize only first 137161 blocks, block 137162 is rejected with error "ERROR: AcceptBlock() : incorrect proof of work". You can check this in .terracoin/debug.log.

I tried another test. I moved .teracoin directory with complete block chain from x64 box to x32 box. I tried to synchronize x32 box and x64 box against this "modified" x32 box (-connect=xxx). Client at x64 box successfully downloaded complete block chain. Client at x32 box failed to download complete block chain...

Both tests were run at boxes with Ubuntu 12.04.2.

This is strange bug, isn't it?


UPDATE:

I state that bug is in 32-bit client. Well, it is still possible that bug is not in 32-bit client but in 64-bit client (I assume that block 137162 was created by 64-bit client). 32-bit client is in trouble because it cannot get fresh blocks. It is clear that 32-bit and 64-bit clients are not compatible...

UPDATE2:
There is an easier way to replicate the problem at 32-bit Ubuntu box. Copy a fresh copy of block chain file from Windows or from 64-bit Linux to your 32-bit box; file at 64-bit box is .terracoin/blocks/blk00000.dat, copy file to your home directory at your 32-bit box. Start terracoin client with command
terracoind -loadblocks=blk00000.dat
Only part of the file will be loaded, after a while you can find REJECT message in debug.log; no network connection is needed in this test.

UPDATE3:
TRC client compiled at Smartbook Toshiba AC100, NVidia Tegra2 ARM CPU, runs without this bug. Ubuntu 12.10 (armhf) runs on this smartbook.


Title: Re: TRC: client cannot synchronize with TerraCoin network
Post by: super3 on June 02, 2013, 08:11:04 PM
Ok let me try to replicate it on my end.


Title: Re: TRC: 32-bit client cannot synchronize with TerraCoin network
Post by: calonew on June 03, 2013, 10:10:28 AM
The same problem on my Linux Ubuntu 10.04 (32 bit): terracoin client is not syncronized and stucked at block 137161 for several days.



Title: Re: TRC: 32-bit client cannot synchronize with TerraCoin network
Post by: PSL on June 03, 2013, 12:08:17 PM
I tried to run terracoin-0.1.3-40-win32.zip under WINE at Ubuntu 12.10 i386. Windows terracoin-qt.exe client works "OK" and was able to download complete block chain.

Well, there was one crash

wine: Unhandled page fault on read access to 0x00000000 at address 0x7e62c790 (thread 0009), starting debugger...

but this is out of scope of my test.


Title: Re: TRC: 32-bit Linux client cannot synchronize with TerraCoin network
Post by: super3 on June 03, 2013, 07:51:10 PM
Can you not use the 64 bit client?


Title: Re: TRC: 32-bit Linux client cannot synchronize with TerraCoin network
Post by: PSL on June 03, 2013, 09:53:51 PM
Can you not use the 64 bit client?

I can run client at 64-bit box or I can run Windows client, or I can do something else. This problem is serious from my point of view and I decided to ignore TRC until this is fixed...


Title: Re: TRC: 32-bit Linux client cannot synchronize with TerraCoin network
Post by: PSL on June 04, 2013, 05:49:32 AM
TRC cryptocoinexplorer is in trouble, the last listed block is 138975 but TRC network created block 139719...

http://www.cryptocoinexplorer.com:3750/block/0000000000013d4654ae1f5a15d2d6620d798a010d85124fa6836a4cb5c5f986


Title: Re: TRC: 32-bit Linux client cannot synchronize with TerraCoin network
Post by: super3 on June 04, 2013, 11:35:54 PM
TRC cryptocoinexplorer is in trouble, the last listed block is 138975 but TRC network created block 139719...

http://www.cryptocoinexplorer.com:3750/block/0000000000013d4654ae1f5a15d2d6620d798a010d85124fa6836a4cb5c5f986

Sent mail to the block explorer admin.


Title: Re: TRC: 32-bit Linux client cannot synchronize with TerraCoin network
Post by: rav3n_pl on June 05, 2013, 01:15:20 PM
Issue reported on github
https://github.com/terracoin/terracoin/issues/10


Title: Re: TRC: 32-bit Linux client cannot synchronize with TerraCoin network
Post by: calonew on June 07, 2013, 05:27:09 AM
still stucked at block 137161...

does anyone knows if it's possible to transfer updated chain files from Windows to Linux?
if yes... what files should be copied?


Title: Re: TRC: 32-bit Linux client cannot synchronize with TerraCoin network
Post by: pawlak2 on June 07, 2013, 06:11:45 AM
I've tested it and it didn't work :(


Title: Re: TRC: 32-bit Linux client cannot synchronize with TerraCoin network
Post by: PSL on June 09, 2013, 02:10:14 PM
still stucked at block 137161...

does anyone knows if it's possible to transfer updated chain files from Windows to Linux?
if yes... what files should be copied?

It is possible...
You want to copy everything except wallet.dat and terracoin.conf. Please, create a backup first!


Title: Re: TRC: 32-bit Linux client cannot synchronize with TerraCoin network
Post by: calonew on June 09, 2013, 04:57:30 PM
still stucked at block 137161...

does anyone knows if it's possible to transfer updated chain files from Windows to Linux?
if yes... what files should be copied?

It is possible...
You want to copy everything except wallet.dat and terracoin.conf. Please, create a backup first!


Thank you for your help! I tried your suggested method, copying everything from Terracoin folder under Windows into Linux .terracoin folder. But, when I try to start terracoind (the daemon) on Linux, I get this error:

"Error: Error initializing wallet database environment /root/.terracoin!"

It seems there is a database incompatibility error... maybe the Windows binaries were compiled with a different database version than my Linux terracoind (compiled from sources, on a machine running ubuntu 10.04 32 bit). So... I am still stucked with an incomplete block database, unable to use the blocks chain from Windows.

Any help or suggestion to solve this problem would be greatly appreciated... Thanks again


Title: Re: TRC: 32-bit Linux client cannot synchronize with TerraCoin network
Post by: PSL on June 10, 2013, 05:28:26 AM

Thank you for your help! I tried your suggested method, copying everything from Terracoin folder under Windows into Linux .terracoin folder. But, when I try to start terracoind (the daemon) on Linux, I get this error:

"Error: Error initializing wallet database environment /root/.terracoin!"

It seems there is a database incompatibility error... maybe the Windows binaries were compiled with a different database version than my Linux terracoind (compiled from sources, on a machine running ubuntu 10.04 32 bit). So... I am still stucked with an incomplete block database, unable to use the blocks chain from Windows.

Any help or suggestion to solve this problem would be greatly appreciated... Thanks again

I think that your Windows client and Linux client have different version of libdb. I guess that Window client have libdb4.8. I heard that there is a way to upgrade DB file from older to newer version  but I never tried that.

Well, do you really want to use Terracoins? There are so many other coins on the market those work better...


Title: Re: TRC: 32-bit Linux client cannot synchronize with TerraCoin network
Post by: pawlak2 on June 10, 2013, 06:59:28 PM
As I've said before. I've imported block chain from windows client through terracoind -loadblock=blk.dat command. It imported block chain until the fatal block and then stopped with:
Code:
ERROR: AcceptBlock() : incorrect proof of work
ERROR: ProcessBlock() : AcceptBlock FAILED


Title: Re: TRC: 32-bit Linux client cannot synchronize with TerraCoin network
Post by: calonew on June 10, 2013, 07:13:18 PM
I've finally managed to copy the block chain from Windows to Linux!
Here is how:

1. Copy the ENTIRE Terracoin folder from Windows (which was synchronized) - without wallet.dat and terracoin.conf
2. Paste to .terracoin folder in Linux
3. IMPORTANT! Delete .terracoin/database/log.00000000  files! (all log.xxx files from .terracoin/database/ folder!)
4. copy your saved wallet.dat and terracoin.conf files to .terracoin folder on Linux
5. start the daemon (terracoind -daemon)

Done! Linux daemon is now synchronized!



Title: Re: TRC: 32-bit Linux client cannot synchronize with TerraCoin network
Post by: rav3n_pl on June 10, 2013, 09:36:21 PM
I've finally managed to copy the block chain from Windows to Linux!
Now use -rescan


Title: Re: TRC: 32-bit Linux client cannot synchronize with TerraCoin network
Post by: rav3n_pl on June 13, 2013, 08:05:30 PM
Tried also compiling w/o -O option, same thing.
Any news?


Title: Re: TRC: 32-bit Linux client cannot synchronize with TerraCoin network
Post by: aa on June 22, 2013, 07:10:06 PM
It's still broken.


Title: Re: TRC: 32-bit Linux client cannot synchronize with TerraCoin network
Post by: rav3n_pl on June 23, 2013, 11:00:36 AM
Yea, over 3 weeks, no response from devs. For me TRC is dead.


Title: Re: TRC: 32-bit Linux client cannot synchronize with TerraCoin network
Post by: rav3n_pl on June 27, 2013, 06:31:22 AM
Posted on SF: https://sourceforge.net/p/terracoin/discussion/general/thread/51f8836e/?limit=25#d3ef
Maybe devs are lookin there...


Title: Re: TRC: 32-bit Linux client cannot synchronize with TerraCoin network
Post by: K0T0 on June 27, 2013, 03:56:02 PM
Same problem on my side. I recently post on github my situation: I have an Ubuntu1204 box 32-bit with a headless terracoind compiled from sources (git). Block loading is getting stuck on #137429.

I try the usual: restart daemon, restart OS, compile an older and newer terracoin clients and test it, start the daemon with "-rescan" option but nothing seems to overcome the problem. Still get it stuck on same block.

cat@ubuntu1204S:~/coins/terracoin-master/src$ ./terracoind getinfo
{
"version" : 80000,
"protocolversion" : 70001,
"walletversion" : 60000,
"balance" : 2.86100020,
"blocks" : 137429,
"timeoffset" : -1,
"connections" : 8,
"proxy" : "",
"difficulty" : 5254.96236407,
"testnet" : false,
"keypoololdest" : 1367619363,
"keypoolsize" : 101,
"paytxfee" : 0.00000000,
"errors" : ""
}

in debug.log shows things similiar that some people already commented:

received block 00000000000342fd6e38765cc6f8f56d60c49e3e9522a54d99f561d35800a293 from xxxxxx:13333
ERROR: AcceptBlock() : incorrect proof of work
ERROR: ProcessBlock() : AcceptBlock FAILED

mmm... seems to be the same "problematic" block described earlier: 137162...


I really don't want to format my linux box for installing 64bit version or Windoze.

Any suggestions will be very wellcome.

Thanks for your help,
K0T0


Title: Re: TRC: 32-bit Linux client cannot synchronize with TerraCoin network
Post by: calonew on June 27, 2013, 04:50:40 PM
Same problem on my side.
...
I really don't want to format my linux box for installing 64bit version or Windoze.
Any suggestions will be very wellcome.

@K0T0: You may copy the chain database from a synchronized Windows machine.
Don't forget to save (backup) your terracoin.conf and wallet.dat files (from your linux machine), then copy the rest from Windows.
That's what I did, and it worked! See below post:

I've finally managed to copy the block chain from Windows to Linux!
Here is how:

1. Copy the ENTIRE Terracoin folder from Windows (which was synchronized) - without wallet.dat and terracoin.conf
2. Paste to .terracoin folder in Linux
3. IMPORTANT! Delete .terracoin/database/log.00000000  files! (all log.xxx files from .terracoin/database/ folder!)
4. copy your saved wallet.dat and terracoin.conf files to .terracoin folder on Linux
5. start the daemon (terracoind -daemon)

Done! Linux daemon is now synchronized!



Title: Re: TRC: 32-bit Linux client cannot synchronize with TerraCoin network
Post by: rav3n_pl on June 27, 2013, 08:33:22 PM
It is "working" only because not all blocks are checked on daemon start, use -rescan and you are in same point!


Title: Re: TRC: 32-bit Linux client cannot synchronize with TerraCoin network
Post by: pawlak2 on June 27, 2013, 08:39:28 PM
Does not for me.
After copying files terracoind wont start beacouse:
Code:
: Error opening block database.
with -rescan, same thing

When I start terracoind -reindex, it's going fine until the fatal block

Code:
2013-06-27 20:27:06 SetBestChain: new best=000000000002fd58866ebe4bf20cc4f125d0f73a8f3062af33cf2a51b28e3101  height=137161  work=4137702564537257511  tx=272545  date=2013-05-30 12:04:04
2013-06-27 20:27:06 ProcessBlock: ACCEPTED
2013-06-27 20:27:06 ERROR: AcceptBlock() : incorrect proof of work
2013-06-27 20:27:06 ERROR: ProcessBlock() : AcceptBlock FAILED
2013-06-27 20:27:06 ProcessBlock: ORPHAN BLOCK, prev=00000000000342fd6e38765cc6f8f56d60c49e3e9522a54d99f561d35800a293
2013-06-27 20:27:06 ProcessBlock: ORPHAN BLOCK, prev=0000000000006dea252906e11034b87986b5fdbc5b274f7dd20d458c2896d18b
2013-06-27 20:27:06 ProcessBlock: ORPHAN BLOCK, prev=00000000000144bbd7811379826a285a0793ca9759fc2ecae51681d18c84bfef
2013-06-27 20:27:06 ProcessBlock: ORPHAN BLOCK, prev=000000000004070c47c85fa6a0b78ce8c49a07af81d6a063db1026a48f781261
2013-06-27 20:27:06 ProcessBlock: ORPHAN BLOCK, prev=000000000003b5c07dde8034be5196c265e6799244409bb6f0ef3d5c4d6599df

Are You sure your trying this on 32bit linux version ?
My version:
Code:
Terracoin version v0.1.3rc4-11-gee218b9 (2013-04-19 12:05:41 +0200)


Title: Re: TRC: 32-bit Linux client cannot synchronize with TerraCoin network
Post by: K0T0 on June 28, 2013, 02:29:19 PM
@calonew & @rav3n_pl & @pawlak2   Many thanks for your quick answers!.   :)

I was read all the post before putting my question.. and yes I saw the "block-copy solution", thanks for remember me, but honestly I didn't convince me too much... mainly because in some point the daemon will get stuck again, sooner or later.... and  .... my afraid was confirmed with the pawlak2 comments... Thanks for testing it.

I spend Yesterday installing another new box with windoze and downloaded all the block chains. The daemon for windows works fine (I was tested the binary version on windows 7).

The problem seems to be NOT in the block chain (data) itself, is somewhere into the code... but where??? and why only Linux 32 is affected. Is a sort of compiler trick that with the same source code do it good in 64bits and Win and simultaneously does bad in Linux 32 bits... very strange.

may be some forget compiler flag for 64/32bits fooling around?

Thanks to all for the help.

K0T0


Title: Re: TRC: 32-bit Linux client cannot synchronize with TerraCoin network
Post by: calonew on June 28, 2013, 05:30:37 PM
It is "working" only because not all blocks are checked on daemon start, use -rescan and you are in same point!
The -rescan option is NOT redownloading the chain blocks. It only checks and update the WALLET for missing transactions, using the already downloaded chain block database. However, it does not affect the downloaded chain in any way.
(more information about -rescan here: http://bitcoin.stackexchange.com/questions/1249/how-exactly-does-rescan-work

Does not for me.
After copying files terracoind wont start beacouse:
Code:
: Error opening block database.
with -rescan, same thing
That happened to me too, until I deleted all log.xxx files from .terracoin/database/ folder.
So, after copying the database files from Windows machine, do not forget to delete log.xxx files (from STEP 3)
Otherwise it gives that database error message.

However, following these steps (https://bitcointalk.org/index.php?topic=223364.msg2432929#msg2432929) was the only solution for me.


Title: Re: TRC: 32-bit Linux client cannot synchronize with TerraCoin network
Post by: K0T0 on June 28, 2013, 09:33:44 PM
Hi calonew,

I tried your suggestions (copying block procedure, deleting database/log.*), but the daemon quit afters a few seconds started, giving a core dump:

Code:
Line 1: 986 segmentation fault (core dumped)

using gdb with the core dumpshows at end:

Code:
[debug libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
Program finish with signal 11, Segmentation fault.
#0  0x080b7c66 in GetBlockTime (this=<optimized out>) at main.h:1731


In debug.log, everything seems normal, but final lines shows when the daemon try to recover last generated blocks the program fails:

Code:
Terracoin version v0.1.3rc4-11-gee218b9 (2013-04-19 12:05:41 +0200)
Using OpenSSL version OpenSSL 1.0.1 14 Mar 2012
Startup time: 2013-06-28 21:29:02
[ ... cut ...]
trying connection xxx:13333 lastseen=1.3hrs
connected xxx:13333
send version message: version 70001, blocks=150826, us=yyyyyy:13333, them=xxx:13333, peer=xxx:13333
trying connection zzzzz:13333 lastseen=283.0hrs
Added time data, samples 2, offset -7 (+0 minutes)
receive version message: version 70001, blocks=150835, us=yyyyyyy:59541, them=xxxx:13333, peer=xxxx:13333
received block 0000000000003b30adb25cd4feda8827f94e8aecf4202b716e46768d30757283 from xxxx:13333
[end log]


The Daemon never gets the 150835 block. Now i'm stuck on 150826, that was previusly downloaded by a Windoze machine.

db.log is clean (no records on it).

the "Copy Block" procedure doesn't work for me either.  :(

Any ideas?

K0T0


Title: Re: TRC: 32-bit Linux client cannot synchronize with TerraCoin network
Post by: rav3n_pl on June 29, 2013, 10:15:12 AM
I made change in code that allows to sync linux 32 bit client, but this is VERY dangerous for network, so use it only as temporary "fix" that is NOT fixing issue, only skipping check that is failing on block.
https://github.com/terracoin/terracoin/issues/10#issuecomment-20153594
I hope TRC devs will found some real solution.


Title: Re: TRC: 32-bit Linux client cannot synchronize with TerraCoin network
Post by: xhabit on September 20, 2013, 01:33:46 PM
i'think it's work very fine. i was clone today from github ... and is run perfect. no problems ... 


Title: Re: TRC: 32-bit Linux client cannot synchronize with TerraCoin network
Post by: PSL on September 21, 2013, 01:51:00 PM
i'think it's work very fine. i was clone today from github ... and is run perfect. no problems ... 

I updated source code from github to the latest version and after retest I am sure this bug WAS NOT FIXED...

Code:
$ ./terracoind getinfo
{
    "version" : 80000,
    "protocolversion" : 70001,
    "walletversion" : 60000,
    "balance" : 0.00000000,
    "blocks" : 137161,
    "timeoffset" : 0,
    "connections" : 10,
    "proxy" : "",
    "difficulty" : 19373.63213164,
    "testnet" : false,
    "keypoololdest" : 1370166643,
    "keypoolsize" : 101,
    "paytxfee" : 0.00000000,
    "errors" : ""
}

This is in debug.log:

received block 00000000000342fd6e38765cc6f8f56d60c49e3e9522a54d99f561d35800a293 from 46.59.225.84:41156
ERROR: AcceptBlock() : incorrect proof of work
ERROR: ProcessBlock() : AcceptBlock FAILED
Misbehaving: 46.59.225.84:41156 (0 -> 100) DISCONNECTING


Title: Re: TRC: 32-bit Linux client cannot synchronize with TerraCoin network
Post by: xhabit on September 21, 2013, 01:54:40 PM
hm ... here my output.


{
    "version" : 80000,
    "protocolversion" : 70001,
    "walletversion" : 60000,
    "balance" : 0.00000000,
    "blocks" : 190777,
    "timeoffset" : -19,
    "connections" : 20,
    "proxy" : "",
    "difficulty" : 174945.08187373,
    "testnet" : false,
    "keypoololdest" : 1379669693,
    "keypoolsize" : 101,
    "paytxfee" : 0.00000000,
    "errors" : ""
}


root@bitcoin:~/.terracoin# grep 00000000000342fd6e38765cc6f8f56d60c49e3e9522a54d99f561d35800a293 *
debug.log:received block 00000000000342fd6e38765cc6f8f56d60c49e3e9522a54d99f561d35800a293 from 5.39.79.140:13333
debug.log:SetBestChain: new best=00000000000342fd6e38765cc6f8f56d60c49e3e9522a54d99f561d35800a293  height=137162  work=4137787908838877763  tx=272549  date=2013-05-30 11:54:41
root@bitcoin:~/.terracoin#


Title: Re: TRC: 32-bit Linux client cannot synchronize with TerraCoin network
Post by: xhabit on September 21, 2013, 02:48:35 PM
yes you are right ... i geht this error also.

Quote
root@bitcoin:~/.terracoin# grep ERROR *
debug.log:ERROR: CAddrman::Read() : open failed
debug.log:ERROR: GetMyExternalIP() : connection to 91.198.22.70:80 failed
debug.log:ERROR: GetMyExternalIP() : connection to 74.208.43.192:80 failed
debug.log:ERROR: CTxMemPool::accept() : inputs already spent
debug.log:ERROR: CTxMemPool::accept() : nonstandard transaction type
debug.log:ERROR: CTxMemPool::accept() : inputs already spent
debug.log:ERROR: CTransaction::CheckTransaction() : vin empty
debug.log:ERROR: CTxMemPool::accept() : CheckTransaction failed
debug.log:ERROR: CTxMemPool::accept() : nonstandard transaction type
debug.log:ERROR: CTransaction::CheckTransaction() : vin empty
debug.log:ERROR: CTxMemPool::accept() : CheckTransaction failed
debug.log:ERROR: CTransaction::CheckTransaction() : vin empty
debug.log:ERROR: CTxMemPool::accept() : CheckTransaction failed
debug.log:ERROR: CTransaction::CheckTransaction() : vin empty
debug.log:ERROR: CTxMemPool::accept() : CheckTransaction failed
debug.log:ERROR: CTransaction::CheckTransaction() : vin empty
debug.log:ERROR: CTxMemPool::accept() : CheckTransaction failed
debug.log:ERROR: CTransaction::CheckTransaction() : vin empty
debug.log:ERROR: CTxMemPool::accept() : CheckTransaction failed
root@bitcoin:~/.terracoin# grep Misbehaving
^C
root@bitcoin:~/.terracoin# grep Misbehaving *
debug.log:Misbehaving: 46.105.103.55:13333 (0 -> 0)
debug.log:Misbehaving: 85.10.234.182:13333 (0 -> 0)
debug.log:Misbehaving: 5.39.79.140:13333 (0 -> 10)
debug.log:Misbehaving: 86.24.151.91:39923 (0 -> 10)
debug.log:Misbehaving: 124.170.9.80:54193 (0 -> 10)
debug.log:Misbehaving: 2.206.184.168:55760 (0 -> 10)
debug.log:Misbehaving: 2.206.184.168:53250 (0 -> 10)
debug.log:Misbehaving: 2.206.184.168:55375 (0 -> 10)
root@bitcoin:~/.terracoin#


Title: Re: TRC: 32-bit Linux client cannot synchronize with TerraCoin network
Post by: PSL on September 21, 2013, 04:44:58 PM
hm ... here my output.

root@bitcoin:~/.terracoin# grep 00000000000342fd6e38765cc6f8f56d60c49e3e9522a54d99f561d35800a293 *
debug.log:received block 00000000000342fd6e38765cc6f8f56d60c49e3e9522a54d99f561d35800a293 from 5.39.79.140:13333
debug.log:SetBestChain: new best=00000000000342fd6e38765cc6f8f56d60c49e3e9522a54d99f561d35800a293  height=137162  work=4137787908838877763  tx=272549  date=2013-05-30 11:54:41
root@bitcoin:~/.terracoin#

You don't have the problem described in this thread, your client accepted block 137162.
Is your report from 32-bit Linux? What distribution is that?


Title: Re: TRC: 32-bit Linux client cannot synchronize with TerraCoin network
Post by: PSL on September 21, 2013, 05:47:04 PM
I tried to compile TRC client for smartbook Toshiba AC100 that is based around Nvidia Tegra2 (32-bit ARM processor). I run Ubuntu 12.10 (armhf) at AC100.
TRC client passed the test, whole blockchain was downloaded, no issue at all.

I observe the problem at several x86 computers running different 32-bit versions of Ubuntu.


Title: Re: TRC: 32-bit Linux client cannot synchronize with TerraCoin network
Post by: xhabit on September 22, 2013, 04:24:27 PM
i'use ubuntu 64bit ... 12.04

you see my output, i'was look ... i get also errors ... or not ... i'dont kow i'ts correct ... to get this errors or not.
but if it's help to found bugs ... of course ... i'give this information ... if my the daemon found errors. 


Title: Re: TRC: 32-bit Linux client cannot synchronize with TerraCoin network
Post by: rav3n_pl on September 22, 2013, 06:16:42 PM
Bug still present and cause is unknown, but it is "fixed" by https://github.com/terracoin/terracoin/commit/856387e


Title: Re: TRC: 32-bit Linux client cannot synchronize with TerraCoin network
Post by: PSL on September 23, 2013, 10:11:36 AM
Bug still present and cause is unknown, but it is "fixed" by https://github.com/terracoin/terracoin/commit/856387e


Was this fix tested? When I check the code, I don't understand it... Is the function GetEmaNextWorkRequired right place for the fix??


Title: Re: TRC: 32-bit Linux client cannot synchronize with TerraCoin network
Post by: PSL on September 23, 2013, 11:14:48 AM
Well, it is not a fix but workaround. It is working, blockchain was synchronized till block 190965.


Title: Re: TRC: 32-bit Linux client cannot synchronize with TerraCoin network
Post by: rav3n_pl on September 23, 2013, 01:39:47 PM
Bug still present and cause is unknown, but it is "fixed" by https://github.com/terracoin/terracoin/commit/856387e


Was this fix tested? When I check the code, I don't understand it... Is the function GetEmaNextWorkRequired right place for the fix??

Well, it is not a fix but workaround. It is working, blockchain was synchronized till block 190965.
Exactly. This commit allowing affected machines to synchronize w/o any trouble, it also adds additional checkpoint right after "messy" block 137161 to make sure that you are in proper chain.
This is only workaround, not real fix and it is valid only for this block.
If this unknown bug hit again code need be changed again, and again...


Title: Re: TRC: 32-bit Linux client cannot synchronize with TerraCoin network
Post by: celkaris on September 23, 2013, 01:59:33 PM
Bug still present and cause is unknown, but it is "fixed" by https://github.com/terracoin/terracoin/commit/856387e


Was this fix tested? When I check the code, I don't understand it... Is the function GetEmaNextWorkRequired right place for the fix??

Well, it is not a fix but workaround. It is working, blockchain was synchronized till block 190965.
Exactly. This commit allowing affected machines to synchronize w/o any trouble, it also adds additional checkpoint right after "messy" block 137161 to make sure that you are in proper chain.
This is only workaround, not real fix and it is valid only for this block.
If this unknown bug hit again code need be changed again, and again...


except that the EMA thing is not in use anymore, so there's (hopefully) no need to change it again.

i've no time to spend on that, but i'd like to see what previous block somehow borked the ema calculation in the ~2k (?) blocks prior to 137161, and how

I like the alert related changes bring by this release though. I guess alerts will be used to announce the (HOPEFULLY) next major change announced on github issue tracker (shorter retarget window with smaller caps), so the coin returns to a faster block rate.