intel / intel/rohd

It's possible for two modules to be submodules of each other

Open
#292 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Dart
Stars
489
Forks
88
Avg merge
3d 23h
Merged PRs (30d)
10

Description

### Describe the bug

It is possible to set up port connectivity between two `Module`s such that after `build` each of the modules have the other listed as a sub-module (in `subModules`). This should be caught at build time. When the synthesizer starts parsing the module hierarchy, it falls into an infinite loop with no helpful error message.

### To Reproduce

Need to build a good example, but this was observed first in some code which had perhaps misconnected input and output ports to what was intended to be a submodule.

### Expected behavior

This should be flagged at build time as an error with as much explanation as possible so the user can correct the connectivity.

### Actual behavior

Silent incorrect behavior at `build` and infinite loop at `generateSynth`.

### Additional: Dart SDK info

_No response_

### Additional: pubspec.yaml

_No response_

### Additional: Context

Present in v0.4.2

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.