fixes various NPE related to selection while reloading database
This commit is contained in:
@@ -153,8 +153,11 @@ abstract class AbstractTxStream extends HierNode implements IWaveform {
|
||||
switch(evt.getKind()) {
|
||||
case END: //TODO: might throw NPE in concurrent execution
|
||||
Long txId = txEvt.getTransaction().getId();
|
||||
txEvt.setConcurrencyIndex(rowByTxId.get(txId));
|
||||
rowByTxId.remove(txId);
|
||||
Integer row = rowByTxId.get(txId);
|
||||
if(row!=null) {
|
||||
txEvt.setConcurrencyIndex(row);
|
||||
rowByTxId.remove(txId);
|
||||
}
|
||||
break;
|
||||
case SINGLE:
|
||||
for (; rowIdx < rowEndTime.size() && rowEndTime.get(rowIdx)>tx.getBeginTime(); rowIdx++);
|
||||
|
||||
@@ -238,6 +238,8 @@ public class FtrDbLoader implements IWaveformDbLoader {
|
||||
genId = cborDecoder.readInt();
|
||||
long startTime = cborDecoder.readInt()*time_scale_factor;
|
||||
long endTime = cborDecoder.readInt()*time_scale_factor;
|
||||
if(endTime<startTime) // fix buggy recording, end time needs to be later or equal start time
|
||||
endTime=startTime;
|
||||
TxGenerator gen = txGenerators.get(genId);
|
||||
TxStream stream = gen.stream;
|
||||
FtrTx scvTx = new FtrTx(txId, stream.getId(), genId, startTime, endTime, blockId, blockOffset);
|
||||
|
||||
Reference in New Issue
Block a user