Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HTTP 500 errors for submissions #30

Closed
holiman opened this issue May 8, 2017 · 7 comments · Fixed by #32
Closed

HTTP 500 errors for submissions #30

holiman opened this issue May 8, 2017 · 7 comments · Fixed by #32

Comments

@holiman
Copy link
Contributor

holiman commented May 8, 2017

I uploaded a big batch of signatures, but got quite a lot of http 500. These were the ones causing errors:

addDataPoint(uint256,bool,string)
addDSource(string,byte,uint256)
addOptionChain(uint256,string,uint256,uint256,bytes32,address,int[])
buildCity(string,uint[2],uint[2])
changeVotingRules(uint256,uint256,int)
CharlyLifeLog(string,int)
Congress(uint256,uint256,int,address)
demintTokens(address,uint8)
directionCount(int,int,int,int)
Etheropt(uint256,string,uint256,uint256,bytes32,address,int[])
get_address(string)
getBlockHeader(int)
getConfigUint(bytes32)
getDataPoint(uint256,uint256)
getFeeAmount(int)
getMaxLossAfterTrade(address,uint256,int,int)
getMaxLossAfterTrade(address,uint256,uint256,int,int)
getMoneyness(int,uint256,uint256)
getPrevHash(int)
getUint(bytes32,string)
hint(bytes32,string,bytes20)
hintURL(bytes32,string)
id(Token)
mint(address,string)
mint(address,uint256)
mintBadge(address,uint256)
mint(bytes32)
mintGreen(address,uint256)
mintGrey(address,uint256)
mintToken(address,uint256)
mint(uint256)
mint(uint256,string)
moneySumAtSettlement(address,uint256,int,uint256)
moneySumAtSettlement(address,uint256,uint256,int,uint256,uint256)
oraclize_setProof(byte)
orderMatchTest(uint256,uint256,int,uint256,uint256,address,address,uint256,int)
orderMatchTest(uint256,uint256,uint256,int,uint256,uint256,address,address,int)
orderMatch(uint256,uint256,int,uint256,uint256,address,uint8,bytes32,bytes32,int)
orderMatch(uint256,uint256,uint256,int,uint256,uint256,address,uint8,bytes32,bytes32,int)
personAdd(string,int,int,string)
personUpdateDOB(uint256,int)
personUpdateDOD(uint256,int)
setConfigUint(bytes32,uint256)
setNextID(uint256,int)
setPreviousID(uint256,int)
setProofType(byte)
setRowcol(uint256,uint[2])
setUint(bytes32,string,uint256)
_stringGas(string)
stringToBytes32(string)
unhint(bytes32)
mint(address,uint256)
mint(uint256)
hintURL(bytes32,string)
mintToken(address,uint256)
@holiman
Copy link
Contributor Author

holiman commented May 9, 2017

Added a few

@holiman
Copy link
Contributor Author

holiman commented May 9, 2017

With the additions above and already submitted, these are the results for all method calls over 10K blocks:

Original

Coverage stats: 
Total calls: 41872
Identified : 27384 (65.399312) %
Missed     : 14488 (34.600688) %

After addition
Coverage stats:

Total calls: 41872
Identified : 37011 (88.390810) %
Missed     : 4861 (11.609190) %

@holiman
Copy link
Contributor Author

holiman commented May 9, 2017

Actually, I think these are the only problematic ones left:

mint(address,uint256)
mint(uint256)
hintURL(bytes32,string)
mintToken(address,uint256)

My guess is an overactive regexp which sees mint(address, uint256) and does some replace into mint128...

@pipermerriam
Copy link
Owner

Seems likely that the regex may be part of the problem. Given my utter over-extended-ness and that this is generally still functional I'm going to leave this be for now. Thanks for submitting all those signatures.

@veox
Copy link

veox commented Apr 27, 2018

Can't submit viable_print(uint256,uint256,uint64) - also gives a HTTP 500 error.

It's added a similar signature viable_print(int256,uint256,uint256,uint64) (first arg is int256 instead of uint256) the first time I tried to do it, with ID 31599, and now makes an ID gap every time I try to submit the "correct" one.


EDIT:

The similarity to @holiman's signatures is that the function has an int in the name also, not just in the args.


OT: That's not an "actual" signature, BTW - in that I don't have code for it; I'm just "mining" for one with a 0x00000000 selector; reasoning mentioned in the very last paragraph of this article.

@pipermerriam
Copy link
Owner

@veox it looks like it's a db error trying to create a duplicate entry in one of the tables with a uniqueness constraint. Maybe a race condition with the same signature being submitted twice in quick succession?

@holiman
Copy link
Contributor Author

holiman commented Jun 13, 2018

There are at least 257 signatures that looks like they have been mangled by this, signatures like uintMax(uint256). I'm submitting them now. Looks like it's working

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants