Liquidating some tokens on EtherDelta.
Some of the transactions are not successful - they have higher fees than transactions that are successful.
What is the reason for that?
Failed transactions send all of the gas available for that transaction (the gas limit) to the miner. It’s kind of a penalty for failed transactions.
Typically transactions will estimate a gas limit based on the operations of that transaction. In Ethereum, gas usage is based on computations executed (opcodes).
Transactions using up all of the gas are most likely caused by a failure in the code, an error thrown. So there was a condition not met, an error in input, etc. Another possibility is that the gas limit is set too low, and all the gas made available (gas limit) is used up before the entire operation has completed.
The message there bad jump destination looks like there’s a problem with the code, this explains Bad jumps: http://martin.swende.se/blog/Devcon1-and-contract-security.html#call_stack_attack