user62305: I got the above error when submitting this transaction: 
010000000001013894a4bdcfa20ef5a6cbfe1d22c5fe5041eab586a5ea2b044f969a02dab6b3d200000000171600141a982a7d2712fc33d47c990cd8cde15c87ca2e07ffffffff015e3f01000000000017a914fb2dc3b4dd0731c8f2559506c7d0cb876b0e71298702483045022100c68dac735a3529d84fdbfc3a8a11d313d59a9791b046fc39bbfc55db71d6d2010220028f2bbfba78c393858e3cb7ad51e24e8dfd2260d4a3cbbf8feb4d4c6005967701210371b63ebaa78a70420bc36159bed610b8f788e9a7b953558f06bb40622d9cbfe400000000

A previous transaction from the same P2SH-P2WPKH address was successfully spent but I got this error whenever I try to spend this transaction: 
d2b3b6da029a964f042beaa586b5ea4150fec5221dfecba6f50ea2cfbda49438

I already attempted to sign the transaction again a few time but still got the same error.

user29432: When I try to submit that transaction I don't get that error message. To me it looks like you are only sending 1 satoshi as transaction fee in total. Try to send it with a higher fee.

user62305: I found out it was because of a precision error in our code. The amount that used to build the input segwit transaction is incorrect leading to this error.

user99904: I have gotten this error not only when specifying an incorrect input amount, as mentioned elsewhere in this thread, but also when sorting signatures incorrectly on a multisig transaction.

user26873: You will receive this error if the value you are signing is not the exact amount of the entire unspent output value. 
For example, if your unspent output value is 35,000, and you only want to send 30,000, your output value would be 30,000, and your signing amount would be 35,000. If you sign for only 30,000 (not the full amount of the unspent output) you will receive this error. 
Visual Example Using BitcoinJS:    
//add input
txb.addInput(txid, outn, null, scriptPubkey);

//add output
txb.addOutput(receivingAddress, 30000); //amount less the mining fee

//signing
txb.sign(0, keypair, null, null, 35000); //NOTE the amount is the FULL amount of the unspent output, NOT the amount being sent


62305: <p>I got the above error when submitting this transaction: </p>

<pre><code>010000000001013894a4bdcfa20ef5a6cbfe1d22c5fe5041eab586a5ea2b044f969a02dab6b3d200000000171600141a982a7d2712fc33d47c990cd8cde15c87ca2e07ffffffff015e3f01000000000017a914fb2dc3b4dd0731c8f2559506c7d0cb876b0e71298702483045022100c68dac735a3529d84fdbfc3a8a11d313d59a9791b046fc39bbfc55db71d6d2010220028f2bbfba78c393858e3cb7ad51e24e8dfd2260d4a3cbbf8feb4d4c6005967701210371b63ebaa78a70420bc36159bed610b8f788e9a7b953558f06bb40622d9cbfe400000000
</code></pre>

<p>A previous transaction from the same P2SH-P2WPKH address was successfully spent but I got this error whenever I try to spend this transaction: </p>

<pre><code>d2b3b6da029a964f042beaa586b5ea4150fec5221dfecba6f50ea2cfbda49438
</code></pre>

<p>I already attempted to sign the transaction again a few time but still got the same error.</p>
 29432: <p>When I try to submit that transaction I don't get that error message. To me it looks like you are only sending 1 satoshi as transaction fee in total. Try to send it with a higher fee.</p>
 62305: <p>I found out it was because of a precision error in our code. The amount that used to build the input segwit transaction is incorrect leading to this error.</p>
 99904: <p>I have gotten this error not only when specifying an incorrect input amount, as mentioned elsewhere in this thread, but also when sorting signatures incorrectly on a multisig transaction.</p>
 26873: <p>You will receive this error if the value you are signing is not the exact amount of the entire unspent output value. </p>

<p>For example, if your unspent output value is 35,000, and you only want to send 30,000, your output value would be 30,000, and your signing amount would be 35,000. If you sign for only 30,000 (not the full amount of the unspent output) you will receive this error. </p>

<p>Visual Example Using BitcoinJS:    </p>

<pre><code>//add input
txb.addInput(txid, outn, null, scriptPubkey);

//add output
txb.addOutput(receivingAddress, 30000); //amount less the mining fee

//signing
txb.sign(0, keypair, null, null, 35000); //NOTE the amount is the FULL amount of the unspent output, NOT the amount being sent
</code></pre>
