Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Behavior of .m files and parsing in the presence of setnode #131

Open
phillipstanleymarbell opened this issue Nov 30, 2019 · 0 comments
Open

Comments

@phillipstanleymarbell
Copy link
Member

If you load a Sunflower command file like the following, the behavior will not be as you expect (e.g., Sunflower will complain about an invalid command and you will not see the output of version):

newnode riscv
setnode 1
version
dumphist 0
q

There are several things happening here. First, the entire load.m is parsed by the parser for the current node's type. The first node created at startup is a superH, so the entire run.m will get parsed with the variant of the parser for superH. See related issues #125, #127, #129. Second thing happening here is that Sunflower prints output for the current "node" only, so that when you are running a simulation with multiple processors each printing out output, you only see the output of the processor to which the interface is currently "connected". You change the current connected processor / node by using setnode. But again, because the interface only displays output from the current node, but the parser instance that runs is tied to the processor that was alive at the time the load sunflower command was issued, the output of version (which is for node 1) does not get printed to the console.

If you run the GUI version of Sunflower, the outputs are stored in separate buffers (by mprint) and you can switch between panels showing their output.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant