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

Some Pools Return "Code: 2 - Msg: Misuse of shell builtins" #8

Open
sempervictus opened this issue Jan 2, 2021 · 5 comments
Open
Assignees
Labels

Comments

@sempervictus
Copy link

sempervictus commented Jan 2, 2021

I'm seeing a host with 4 pools - single vdev rpool, raidz1 pool, another raidz1, and a 5-wide span of 2-disk mirrors with a SLOG mirror and a 2-diskL2ARC span, only return data for two of the pools (rpool and a raidz1). The other two pools show up as having a warning of Code: 2 - Msg: Misuse of shell builtins and no pool state whatsoever. The "stateless" pools VDEVs are not accounted for, nor are their comprising storage devices.
The host systems are Arch Linux (so tip bash), its sudoless as root (isolated env), and the ZFS revision is 2.0.0.

@sempervictus
Copy link
Author

According to RedHat, a command or keyword is missing from a shell call.

@daviswr daviswr self-assigned this Jan 2, 2021
@daviswr
Copy link
Owner

daviswr commented Jan 2, 2021

Hm, sounds a little complex. Any chance I could get the output of zenmodeler run -v10 --device=YourServerHere --collect=daviswr.cmd.ZPool? If you'd rather not have that log living out here, we'll figure out a way to get you my email address.

Sounds like something in the performance template is probably going wrong, too, but almost all of the commands are shared between the pool modeler and templates:

  • zpool get -pH all (modeler & template)
  • zpool status -v (modeler & template)
  • zdb -L (modeler)
  • zpool iostat -y -v 1 1 (template)

Now I'm wondering if there's a TALES evaluation that's failing. If you manually model the server in question in the web UI, are there any lines about that? I'm going off the assumption that zZFSExecPrefix is an empty string in this instance but the *BinaryPath zProperties are default or otherwise non-empty?

@sempervictus
Copy link
Author

So in the UI modeler, it just says

2021-01-02 15:01:47,968 INFO zen.ZenModeler: Modeler daviswr.cmd.ZPool processing data for device <IP>
2021-01-02 15:01:48,034 INFO zen.ZenModeler: Modeler daviswr.cmd.ZFS processing data for device <IP>
2021-01-02 15:01:59,141 INFO zen.ZenModeler: zZFSDatasetIgnoreTypes set to ['snapshot'] 

the manual run does contain serial #s of drives, so kind of a PITA to clean up, but contains no errors, only tons of missing attribute complaints a la WARNING zen.ApplyDataMap: The attribute com.delphix:vdev_zap_top was not found on object

@daviswr
Copy link
Owner

daviswr commented Jan 2, 2021

I'm thinking the com.delphix:vdev_zap_top things are just lines from zdb that the ObjectMaps returned by the modeler have, but the ZPool class itself doesn't have as attributes. Not too worried about those.

Without seeing what command output's making its way to the modeler/template, it's going to be difficult to troubleshoot.

Could you send a screenshot of the event details from the Code: 2 - Msg: Misuse of shell builtins stuff? Would be helpful to see it in context and maybe the details will give a clue as to what it was trying to do when it angered bash.

@daviswr
Copy link
Owner

daviswr commented Mar 29, 2021

I've updated the command templates a bit, mind trying the latest commit and seeing if it helps this issue?

Do the pools throwing Misuse of shell builtins have any non-alphanumeric characters in their names?

@daviswr daviswr added the bug label Mar 29, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants