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:
0sending: addr (31 bytes)
1sending: inv (37 bytes)
2received: inv (37 bytes)
3 got inventory: tx 0a740a5544620f9b89bb14abf077f8624835bbb5ee65e45f319f9c3e5f8ee6c8 have
4received: addr (31 bytes)
5sending: inv (37 bytes)
6received: inv (37 bytes)
7 got inventory: tx 0a740a5544620f9b89bb14abf077f8624835bbb5ee65e45f319f9c3e5f8ee6c8 have
8received: inv (37 bytes)
9 got inventory: tx 0a740a5544620f9b89bb14abf077f8624835bbb5ee65e45f319f9c3e5f8ee6c8 have
10sending: inv (73 bytes)
11received: inv (37 bytes)
12 got inventory: block 000000000000001aa6707204b2d1887089a860eceaf8a893a7c2d08dfe6ac525 have
13sending: getblocks (965 bytes)
14received: inv (73 bytes)
15 got inventory: tx 53b325cd548867df032b8879a18abd9c1b97638b3a3c380c38cd8546626d36c5 have
16 got inventory: tx 0a740a5544620f9b89bb14abf077f8624835bbb5ee65e45f319f9c3e5f8ee6c8 have
17received: inv (37 bytes)
18 got inventory: tx 53b325cd548867df032b8879a18abd9c1b97638b3a3c380c38cd8546626d36c5 have
19sending: addr (31 bytes)
20sending: inv (73 bytes)
21received: inv (37 bytes)
22 got inventory: block 000000000000000dd0d039cf7c7e006d79a915b0ee76180bb300dc74ed3308a2 new
23askfor block 000000000000000dd0d039cf7c7e006d79a915b0ee76180bb300dc74ed3308a2 1373479424000000 (18:03:44)
24received: inv (37 bytes)
25 got inventory: block 000000000000001aa6707204b2d1887089a860eceaf8a893a7c2d08dfe6ac525 have
26sending: getblocks (965 bytes)
27received: getblocks (965 bytes)
28getblocks 194158 to 0000000000000000000000000000000000000000000000000000000000000000 limit 500
29 getblocks stopping at limit 194657 00000000000000a13f6a1b564b6ef5bc06067da0374e181f4acf7f3c4d9caf37
30sending: inv (18003 bytes)
31received: inv (73 bytes)
32 got inventory: block 000000000000001aa6707204b2d1887089a860eceaf8a893a7c2d08dfe6ac525 have
33sending: getblocks (965 bytes)
34 got inventory: tx 0a740a5544620f9b89bb14abf077f8624835bbb5ee65e45f319f9c3e5f8ee6c8 have
35received: inv (37 bytes)
36 got inventory: block 000000000000001aa6707204b2d1887089a860eceaf8a893a7c2d08dfe6ac525 have
37sending: getblocks (965 bytes)
38received: block (101786 bytes)
39received block 000000000000000dd0d039cf7c7e006d79a915b0ee76180bb300dc74ed3308a2
40REORGANIZE: Disconnect 1 blocks; 000000000000009fd60babdec39b4e49feb4ec17497c0b341e05beb7e692304a..
41REORGANIZE: Connect 2 blocks; ..000000000000001aa6707204b2d1887089a860eceaf8a893a7c2d08dfe6ac525
42Committing 2146 changed transactions to coin database...
43ERROR: Non-canonical signature: R value negative
44ERROR: CScriptCheck() : ac0bed4e30581eecf567e9a96ca7b97e5721532b097250c2eb2a5df2c625ad15 VerifySignature failed
45ERROR: CTxMemPool::accept() : ConnectInputs failed ac0bed4e30581eecf567e9a96ca7b97e5721532b097250c2eb2a5df2c625ad15
46ERROR: CTxMemPool::accept() : nonstandard transaction type
47ERROR: Non-canonical signature: R value negative
48ERROR: CScriptCheck() : 8a25c7ea809620294d5562026133e3a94f1a3ca429579f9280485e50853b5546 VerifySignature failed
49ERROR: CTxMemPool::accept() : ConnectInputs failed 8a25c7ea809620294d5562026133e3a94f1a3ca429579f9280485e50853b5546
50ERROR: Non-canonical signature: R value negative
51ERROR: CScriptCheck() : 5d8bbdfa6f215f7b33bfcb9608e5e6dd739cc563daf0fc0c591edfd73a8d17ae VerifySignature failed
52ERROR: CTxMemPool::accept() : ConnectInputs failed 5d8bbdfa6f215f7b33bfcb9608e5e6dd739cc563daf0fc0c591edfd73a8d17ae
53ERROR: CTxMemPool::accept() : nonstandard transaction type
54ERROR: CTxMemPool::accept() : nonstandard transaction type
55ERROR: CTxMemPool::accept() : nonstandard transaction type
56ERROR: CTxMemPool::accept() : inputs already spent
57ERROR: CTxMemPool::accept() : inputs already spent
58ERROR: CTxMemPool::accept() : inputs already spent
59ERROR: CTxMemPool::accept() : inputs already spent
60ERROR: CTxMemPool::accept() : nonstandard transaction type
61ERROR: CTxMemPool::accept() : inputs already spent
62ERROR: CTxMemPool::accept() : inputs already spent
63ERROR: CTxMemPool::accept() : inputs already spent
64ERROR: CTxMemPool::accept() : inputs already spent
65ERROR: Non-canonical signature: S value negative
66ERROR: CScriptCheck() : 3b33366cf854d9046678fffadde8dac3435431a33c217ee1a25826502a3ef569 VerifySignature failed
67ERROR: CTxMemPool::accept() : ConnectInputs failed 3b33366cf854d9046678fffadde8dac3435431a33c217ee1a25826502a3ef569
68CTxMemPool::accept() : accepted cc4668b4f417e12492b384d22e081843da52875ecb072f2c39efc982a9fa9a4e (poolsz 1304)
69SetBestChain: new best=000000000000001aa6707204b2d1887089a860eceaf8a893a7c2d08dfe6ac525 height=245886 log2_work=70.667529 tx=20513801 date=2013-07-10 17:47:29 progress=0.999999
70ProcessBlock: ACCEPTED
71sending: inv (37 bytes)
72sending: inv (37 bytes)
73sending: inv (37 bytes)
74received: inv (37 bytes)
75 got inventory: tx 0a740a5544620f9b89bb14abf077f8624835bbb5ee65e45f319f9c3e5f8ee6c8 have
76received: inv (37 bytes)
77 got inventory: block 000000000000000dd0d039cf7c7e006d79a915b0ee76180bb300dc74ed3308a2 have
78sending: getblocks (965 bytes)
79force request: block 000000000000000dd0d039cf7c7e006d79a915b0ee76180bb300dc74ed3308a2
80sending: inv (37 bytes)
81sending: inv (73 bytes)
82sending: inv (37 bytes)
83sending: inv (37 bytes)
84received: inv (37 bytes)
85 got inventory: tx 0a740a5544620f9b89bb14abf077f8624835bbb5ee65e45f319f9c3e5f8ee6c8 have
86sending getdata: tx 86a417868917ef04aa7762df4e9d8e8e2d289000e269ebd60787a92f1ab50b25
87sending: getdata (37 bytes)
88sending: inv (37 bytes)
89sending: block (248889 bytes)
90sending: block (98904 bytes)
91sending: block (113210 bytes)
92sending: block (77749 bytes)
93sending: block (63716 bytes)
94sending: inv (37 bytes)
95sending: inv (37 bytes)
96sending: inv (37 bytes)
97sending: inv (37 bytes)
98sending: inv (37 bytes)
99sending: inv (37 bytes)
100sending: inv (37 bytes)
101received: inv (37 bytes)
102 got inventory: tx 0a740a5544620f9b89bb14abf077f8624835bbb5ee65e45f319f9c3e5f8ee6c8 have
103sending: inv (37 bytes)
104received: inv (37 bytes)
105 got inventory: block 000000000000000dd0d039cf7c7e006d79a915b0ee76180bb300dc74ed3308a2 have
106sending: getblocks (965 bytes)
107force request: block 000000000000000dd0d039cf7c7e006d79a915b0ee76180bb300dc74ed3308a2
108ERROR: mempool transaction missing input
109bitcoin-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