This is normally an error detected by the eth.estimateGas(...)
function call, where this call returns back a result that gasUsed==gas
as you have found in your answer to How to estimate gas for a function without any input parameter?.
You can see the Mist error message at mist.en.i18n.json#L193:
"estimatedGasError": "It seems this transaction will fail. If you submit it, it may consume all the gas you send.",
And this estimatedGasError
error message is displayed by the code at sendTransactionConfirmation.html#L56-L66:
{{#if transactionInvalid}}
<p class="info dapp-error"> {{{i18n "mist.popupWindows.sendTransactionConfirmation.estimatedGasError"}}} </p>
{{else}}
...
{{/if}}
The transactionInvalid
status is computed by the code at sendTransactionConfirmation.js#L259-L263:
'transactionInvalid': function() {
return TemplateVar.get('estimatedGas') == 'invalid'
|| TemplateVar.get('estimatedGas') == 0
|| typeof TemplateVar.get('estimatedGas') == 'undefined';
}
You may want to check your smart contract code to work out why the an error is being thrown.