Anonymous | Login | 2021-02-25 21:31 UTC | ![]() |
My View | View Issues | Change Log | Roadmap |
View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0000193 | OMNeT++ | simulation kernel | public | 2010-07-29 11:39 | 2010-07-29 11:48 | ||||
Reporter | andras | ||||||||
Assigned To | andras | ||||||||
Priority | normal | Severity | minor | Reproducibility | always | ||||
Status | resolved | Resolution | fixed | ||||||
Platform | OS | OS Version | |||||||
Product Version | 4.1 | ||||||||
Target Version | 4.2 | Fixed in Version | 4.2 | ||||||
Summary | 0000193: Parallel simulation issues | ||||||||
Description | There are several issues with parallel simulation: 1. inout gates are not supported on partition boundaries: for the input half, the system should create a proxy gate, but a normal gate is created instead. Workaround: use separate input and output gates. 2. scalar modules are not handled correctly in the partitioning description (they are erroneously handled as element [0] in a module vector). Workaround: use module vectors 3. scalar gates are not handled correctly partition boundaries. Workaround: use gate vectors Reported by Philip C. Roth | ||||||||
Tags | No tags attached. | ||||||||
Attached Files | ![]() ![]() ![]() | ||||||||
![]() |
|
(0000331) andras (administrator) 2010-07-29 11:43 |
Causes of the bugs: 1. cModule::addGate() and cModule::setGateSize() called createGateObject() with type==cGate::INOUT. Only INPUT and OUTPUT are allowed values for this function. 2. cEnvir::isModuleLocal() expects index==-1 for scalar modules, and cModuleType::create() invokes it with 0. 3. The code in cParsimPartition::connectRemoteGates() in cparsimpartition.cc is the problem. For a scalar gate, the marshalling side sends a zero for gateIndex because cGate::getIndex() returns zero for a scalar gate. The unmarshalling side sees the zero and passes it into cModule::gate( name, index ) which throws the exception because the gate is not a vector. Since that function expects -1 for the gateIndex of a scalar gate, a proposed fix is to check on the sending side whether a gate is scalar or vector, and send -1 for gateIndex if it is a scalar gate |
(0000332) andras (administrator) 2010-07-29 11:48 |
see attached patches. |
![]() |
|||
Date Modified | Username | Field | Change |
2010-07-29 11:39 | andras | New Issue | |
2010-07-29 11:39 | andras | Description Updated | |
2010-07-29 11:43 | andras | Note Added: 0000331 | |
2010-07-29 11:47 | andras | File Added: issue1.patch | |
2010-07-29 11:47 | andras | File Added: issue2.patch | |
2010-07-29 11:48 | andras | File Added: issue3.patch | |
2010-07-29 11:48 | andras | Note Added: 0000332 | |
2010-07-29 11:48 | andras | Status | new => resolved |
2010-07-29 11:48 | andras | Fixed in Version | => 4.2 |
2010-07-29 11:48 | andras | Resolution | open => fixed |
2010-07-29 11:48 | andras | Assigned To | => andras |
Copyright © 2000 - 2021 MantisBT Team |