BitShares Forum

Main => Technical Support => Topic started by: monsterer on December 17, 2015, 05:43:23 pm

Title: Assert Exception my->_key != empty_pub: elliptic_secp256k1.cpp:118 serialize
Post by: monsterer on December 17, 2015, 05:43:23 pm
Got a bizarre error trying to send a transaction:

Code: [Select]
{code:1,message:10 assert_exception:Assert Exception
my->_key != empty_pub: 
    {}
    th_a  elliptic_secp256k1.cpp:118 serialize

    {"from":"metaexchangebtc","to":"usd-collateral-holder-453","amount":"12206.79294","asset_symbol":"BTS","memo":"mX: buy BTS_BTC","broadcast":true}
    th_a  wallet.cpp:2002 transfer,data:{code:10,name:assert_exception,message:Assert Exception,stack:[{context:{level:error,file:elliptic_secp256k1.cpp,line:118,method:serialize,hostname:,thread_name:th_a,timestamp:2015-12-17T00:38:13},format:my->_key != empty_pub: ,data:{}},{context:{level:warn,file:wallet.cpp,line:2002,method:transfer,hostname:,thread_name:th_a,timestamp:2015-12-17T00:38:13},format:,data:{from:metaexchangebtc,to:usd-collateral-holder-453,amount:12206.79294,asset_symbol:BTS,memo:mX: buy BTS_BTC,broadcast:true}}]}}

Any idea what's going on there?

This is making sending transactions impossible. @bytemaster  @theoretical
Title: Re: Assert Exception my->_key != empty_pub: elliptic_secp256k1.cpp:118 serialize
Post by: monsterer on December 18, 2015, 10:01:23 am
Really would appreciate some help here, metaexchange is unable to send BTS transactions because of this :(
Title: Re: Assert Exception my->_key != empty_pub: elliptic_secp256k1.cpp:118 serialize
Post by: Bhuz on December 18, 2015, 11:32:44 am
Really would appreciate some help here, metaexchange is unable to send BTS transactions because of this :(
Are you on the latest witness node?
Title: Re: Assert Exception my->_key != empty_pub: elliptic_secp256k1.cpp:118 serialize
Post by: monsterer on December 18, 2015, 11:39:17 am
Yes
Title: Re: Assert Exception my->_key != empty_pub: elliptic_secp256k1.cpp:118 serialize
Post by: xeroc on December 18, 2015, 12:40:05 pm
maybe your wallet has been corrupted due to some hdd errors or something similar.
Have you tried recover your wallet from a backup or reimport your active private key?
Title: Re: Assert Exception my->_key != empty_pub: elliptic_secp256k1.cpp:118 serialize
Post by: monsterer on December 18, 2015, 01:42:39 pm
maybe your wallet has been corrupted due to some hdd errors or something similar.
Have you tried recover your wallet from a backup or reimport your active private key?

Before I do that I'd like to know for sure what is going on here, because this only started happening after the latest release was deployed.

edit: this is the first Release build I've used (they've all been built in Debug before) - I'll switch over and see if that makes a difference. Doubt it, tho...
Title: Re: Assert Exception my->_key != empty_pub: elliptic_secp256k1.cpp:118 serialize
Post by: monsterer on December 18, 2015, 03:52:23 pm
It appears to be particular to this destination account:

Quote
transfer metaexchangebtc usd-collateral-holder-453 10 BTS "test" true
transfer metaexchangebtc usd-collateral-holder-453 10 BTS "test" true
10 assert_exception: Assert Exception
my->_key != empty_pub:
    {}
    th_a  elliptic_secp256k1.cpp:118 serialize

    {"from":"metaexchangebtc","to":"usd-collateral-holder-453","amount":"10","asset_symbol":"BTS","memo":"test","broadcast":true}
    th_a  wallet.cpp:2002 transfer

I can't send to it from another account either:

Code: [Select]
transfer monsterer usd-collateral-holder-453 10 BTS "test" true
transfer monsterer usd-collateral-holder-453 10 BTS "test" true
10 assert_exception: Assert Exception
my->_key != empty_pub:
    {}
    th_a  elliptic_secp256k1.cpp:118 serialize

    {"from":"monsterer","to":"usd-collateral-holder-453","amount":"10","asset_symbol":"BTS","memo":"test","broadcast":true}
    th_a  wallet.cpp:2002 transfer

I can transfer to other account without issue.

I'm guessing this is related to the object id reindexing and subsequent patching?
Title: Re: Assert Exception my->_key != empty_pub: elliptic_secp256k1.cpp:118 serialize
Post by: roadscape on December 19, 2015, 04:06:43 am
The memo key for that account is BTS1111111111111111111111111111111114T1Anm, and it appears to be the same for a few others I checked. I believe this means that it's impossible for anyone to read the memos.

Have you sent memos to collateral-holder accounts before?
Can you leave the memo blank as a workaround?
Title: Re: Assert Exception my->_key != empty_pub: elliptic_secp256k1.cpp:118 serialize
Post by: monsterer on December 19, 2015, 11:31:12 am
The memo key for that account is BTS1111111111111111111111111111111114T1Anm, and it appears to be the same for a few others I checked. I believe this means that it's impossible for anyone to read the memos.

Have you sent memos to collateral-holder accounts before?
Can you leave the memo blank as a workaround?

Oh, hmmmm, that's interesting. I had just assumed this was a completely normal account with a custom name. Why would it have an invalid memo key?
Title: Re: Assert Exception my->_key != empty_pub: elliptic_secp256k1.cpp:118 serialize
Post by: abit on December 19, 2015, 02:06:07 pm
The memo key for that account is BTS1111111111111111111111111111111114T1Anm, and it appears to be the same for a few others I checked. I believe this means that it's impossible for anyone to read the memos.

Have you sent memos to collateral-holder accounts before?
Can you leave the memo blank as a workaround?

Oh, hmmmm, that's interesting. I had just assumed this was a completely normal account with a custom name. Why would it have an invalid memo key?
Interesting. Maybe something wrong with the genesis file?
Title: Re: Assert Exception my->_key != empty_pub: elliptic_secp256k1.cpp:118 serialize
Post by: roadscape on January 05, 2016, 01:08:24 am
The memo key for that account is BTS1111111111111111111111111111111114T1Anm, and it appears to be the same for a few others I checked. I believe this means that it's impossible for anyone to read the memos.

Have you sent memos to collateral-holder accounts before?
Can you leave the memo blank as a workaround?

Oh, hmmmm, that's interesting. I had just assumed this was a completely normal account with a custom name. Why would it have an invalid memo key?
Interesting. Maybe something wrong with the genesis file?

This is like a public "burn" address.. I believe it's the base-58 representation of "0000000000000000000000000000000000000000000000000000000000000000" (plus a valid checksum). There are no 0's in base-58 hence all the 1's.