Just updated a node to current master (+https://github.com/bitcoin/bitcoin/pull/7685), the node ran successfully for a couple of weeks, shortly after updating to current master, I ran in a deadlock assertion:
I think the possible deadlock is not related to the PR which I'm running on top.

```
2016-08-26 07:50:29 POTENTIAL DEADLOCK DETECTED
2016-08-26 07:50:29 Previous lock order was:
2016-08-26 07:50:29  pnode->cs_vRecvMsg  net.cpp:1885 (TRY)
2016-08-26 07:50:29  cs_main  main.cpp:4726
2016-08-26 07:50:29  (1) pfrom->cs_filter  main.cpp:4784
2016-08-26 07:50:29  (2) cs_vSend  net.cpp:2683
2016-08-26 07:50:29 Current lock order is:
2016-08-26 07:50:29  (2) pnode->cs_vSend  net.cpp:1904 (TRY)
2016-08-26 07:50:29  cs_main  main.cpp:6343 (TRY)
2016-08-26 07:50:29  pto->cs_inventory  main.cpp:6563
2016-08-26 07:50:29  (1) pto->cs_filter  main.cpp:6586
```

{
            SyncWithWallets(tx, pindexNewTip);
        }
        
        for(unsigned int i = 0; i < txChanged.size(); i++)
            SyncWithWallets(std::get<0>(txChanged[i]), std::get<1>(txChanged[i]), std::get<2>(txChanged[i]));
        
        if (pindexFork != pindexNewTip) {
            uiInterface.NotifyBlockTip(fInitialDownload, pindexNewTip);
            if (!fInitialDownload) {
                
                std::vector<uint256> vHashes;
                CBlockIndex *pindexToAnnounce = pindexNewTip;
                while (pindexToAnnounce != pindexFork) {
                    vHashes.push_back(pindexToAnnounce->GetBlockHash());
                    pindexToAnnounce = pindexToAnnounce->pprev;
                    if (vHashes.size() == MAX_BLOCKS_TO_ANNOUNCE) {
                        
                        
                        break;
                    }
                }
                
                int nBlockEstimate = 0;
                if (fCheckpointsEnabled)
                    nBlockEstimate = Checkpoints::GetTotalBlocksEstimate(chainparams.Checkpoints());
                {
                    LOCK(cs_vNodes);
                    BOOST_FOREACH(CNode* pnode, vNodes) {