This seems similar to Issue #2570 even though that is closed. Interestingly, it still happens in the bitcoin-qt 0.8.3 client, v0.8.3.0-g40809ae-beta version.
This was a clean compile from source, running on Gentoo Linux (64-bit). I compiled this independently of the Gentoo system, so no unusual compiler options or anything like that should have been used.
I believe it also happens during a block reorganization. Here is the debug log:
sending: addr (31 bytes)
sending: inv (37 bytes)
received: inv (37 bytes)
got inventory: tx 0a740a5544620f9b89bb14abf077f8624835bbb5ee65e45f319f9c3e5f8ee6c8 have
received: addr (31 bytes)
sending: inv (37 bytes)
received: inv (37 bytes)
got inventory: tx 0a740a5544620f9b89bb14abf077f8624835bbb5ee65e45f319f9c3e5f8ee6c8 have
received: inv (37 bytes)
got inventory: tx 0a740a5544620f9b89bb14abf077f8624835bbb5ee65e45f319f9c3e5f8ee6c8 have
sending: inv (73 bytes)
received: inv (37 bytes)
got inventory: block 000000000000001aa6707204b2d1887089a860eceaf8a893a7c2d08dfe6ac525 have
sending: getblocks (965 bytes)
received: inv (73 bytes)
got inventory: tx 53b325cd548867df032b8879a18abd9c1b97638b3a3c380c38cd8546626d36c5 have
got inventory: tx 0a740a5544620f9b89bb14abf077f8624835bbb5ee65e45f319f9c3e5f8ee6c8 have
received: inv (37 bytes)
got inventory: tx 53b325cd548867df032b8879a18abd9c1b97638b3a3c380c38cd8546626d36c5 have
sending: addr (31 bytes)
sending: inv (73 bytes)
received: inv (37 bytes)
got inventory: block 000000000000000dd0d039cf7c7e006d79a915b0ee76180bb300dc74ed3308a2 new
askfor block 000000000000000dd0d039cf7c7e006d79a915b0ee76180bb300dc74ed3308a2 1373479424000000 (18:03:44)
received: inv (37 bytes)
got inventory: block 000000000000001aa6707204b2d1887089a860eceaf8a893a7c2d08dfe6ac525 have
sending: getblocks (965 bytes)
received: getblocks (965 bytes)
getblocks 194158 to 0000000000000000000000000000000000000000000000000000000000000000 limit 500
getblocks stopping at limit 194657 00000000000000a13f6a1b564b6ef5bc06067da0374e181f4acf7f3c4d9caf37
sending: inv (18003 bytes)
received: inv (73 bytes)
got inventory: block 000000000000001aa6707204b2d1887089a860eceaf8a893a7c2d08dfe6ac525 have
sending: getblocks (965 bytes)
got inventory: tx 0a740a5544620f9b89bb14abf077f8624835bbb5ee65e45f319f9c3e5f8ee6c8 have
received: inv (37 bytes)
got inventory: block 000000000000001aa6707204b2d1887089a860eceaf8a893a7c2d08dfe6ac525 have
sending: getblocks (965 bytes)
received: block (101786 bytes)
received block 000000000000000dd0d039cf7c7e006d79a915b0ee76180bb300dc74ed3308a2
REORGANIZE: Disconnect 1 blocks; 000000000000009fd60babdec39b4e49feb4ec17497c0b341e05beb7e692304a..
REORGANIZE: Connect 2 blocks; ..000000000000001aa6707204b2d1887089a860eceaf8a893a7c2d08dfe6ac525
Committing 2146 changed transactions to coin database...
ERROR: Non-canonical signature: R value negative
ERROR: CScriptCheck() : ac0bed4e30581eecf567e9a96ca7b97e5721532b097250c2eb2a5df2c625ad15 VerifySignature failed
ERROR: CTxMemPool::accept() : ConnectInputs failed ac0bed4e30581eecf567e9a96ca7b97e5721532b097250c2eb2a5df2c625ad15
ERROR: CTxMemPool::accept() : nonstandard transaction type
ERROR: Non-canonical signature: R value negative
ERROR: CScriptCheck() : 8a25c7ea809620294d5562026133e3a94f1a3ca429579f9280485e50853b5546 VerifySignature failed
ERROR: CTxMemPool::accept() : ConnectInputs failed 8a25c7ea809620294d5562026133e3a94f1a3ca429579f9280485e50853b5546
ERROR: Non-canonical signature: R value negative
ERROR: CScriptCheck() : 5d8bbdfa6f215f7b33bfcb9608e5e6dd739cc563daf0fc0c591edfd73a8d17ae VerifySignature failed
ERROR: CTxMemPool::accept() : ConnectInputs failed 5d8bbdfa6f215f7b33bfcb9608e5e6dd739cc563daf0fc0c591edfd73a8d17ae
ERROR: CTxMemPool::accept() : nonstandard transaction type
ERROR: CTxMemPool::accept() : nonstandard transaction type
ERROR: CTxMemPool::accept() : nonstandard transaction type
ERROR: CTxMemPool::accept() : inputs already spent
ERROR: CTxMemPool::accept() : inputs already spent
ERROR: CTxMemPool::accept() : inputs already spent
ERROR: CTxMemPool::accept() : inputs already spent
ERROR: CTxMemPool::accept() : nonstandard transaction type
ERROR: CTxMemPool::accept() : inputs already spent
ERROR: CTxMemPool::accept() : inputs already spent
ERROR: CTxMemPool::accept() : inputs already spent
ERROR: CTxMemPool::accept() : inputs already spent
ERROR: Non-canonical signature: S value negative
ERROR: CScriptCheck() : 3b33366cf854d9046678fffadde8dac3435431a33c217ee1a25826502a3ef569 VerifySignature failed
ERROR: CTxMemPool::accept() : ConnectInputs failed 3b33366cf854d9046678fffadde8dac3435431a33c217ee1a25826502a3ef569
CTxMemPool::accept() : accepted cc4668b4f417e12492b384d22e081843da52875ecb072f2c39efc982a9fa9a4e (poolsz 1304)
SetBestChain: new best=000000000000001aa6707204b2d1887089a860eceaf8a893a7c2d08dfe6ac525 height=245886 log2_work=70.667529 tx=20513801 date=2013-07-10 17:47:29 progress=0.999999
ProcessBlock: ACCEPTED
sending: inv (37 bytes)
sending: inv (37 bytes)
sending: inv (37 bytes)
received: inv (37 bytes)
got inventory: tx 0a740a5544620f9b89bb14abf077f8624835bbb5ee65e45f319f9c3e5f8ee6c8 have
received: inv (37 bytes)
got inventory: block 000000000000000dd0d039cf7c7e006d79a915b0ee76180bb300dc74ed3308a2 have
sending: getblocks (965 bytes)
force request: block 000000000000000dd0d039cf7c7e006d79a915b0ee76180bb300dc74ed3308a2
sending: inv (37 bytes)
sending: inv (73 bytes)
sending: inv (37 bytes)
sending: inv (37 bytes)
received: inv (37 bytes)
got inventory: tx 0a740a5544620f9b89bb14abf077f8624835bbb5ee65e45f319f9c3e5f8ee6c8 have
sending getdata: tx 86a417868917ef04aa7762df4e9d8e8e2d289000e269ebd60787a92f1ab50b25
sending: getdata (37 bytes)
sending: inv (37 bytes)
sending: block (248889 bytes)
sending: block (98904 bytes)
sending: block (113210 bytes)
sending: block (77749 bytes)
sending: block (63716 bytes)
sending: inv (37 bytes)
sending: inv (37 bytes)
sending: inv (37 bytes)
sending: inv (37 bytes)
sending: inv (37 bytes)
sending: inv (37 bytes)
sending: inv (37 bytes)
received: inv (37 bytes)
got inventory: tx 0a740a5544620f9b89bb14abf077f8624835bbb5ee65e45f319f9c3e5f8ee6c8 have
sending: inv (37 bytes)
received: inv (37 bytes)
got inventory: block 000000000000000dd0d039cf7c7e006d79a915b0ee76180bb300dc74ed3308a2 have
sending: getblocks (965 bytes)
force request: block 000000000000000dd0d039cf7c7e006d79a915b0ee76180bb300dc74ed3308a2
ERROR: mempool transaction missing input
bitcoin-qt: src/main.cpp:4251: CBlockTemplate* CreateNewBlock(CReserveKey&): Assertion `"mempool transaction missing input" == 0' failed.
After this, I restarted the client again, and it came right back up and running without incident.
Josh