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

Witherspoon: phosphor-hwmon-readd: terminate called after throwing an instance of 'std::filesystem::__cxx11::filesystem_error' #3499

Closed
gkeishin opened this issue Mar 15, 2019 · 9 comments
Assignees
Labels

Comments

@gkeishin
Copy link
Member

Build: https://openpower.xyz/job/openbmc-build/2015/

Version: "2.7.0-dev-90-gae29d00"

Mar 15 09:47:51 witherspoon phosphor-hwmon-readd[1378]: terminate called after throwing an instance of 'std::filesystem::__cxx11::filesystem_error'
Mar 15 09:47:51 witherspoon phosphor-hwmon-readd[1378]:   what():  filesystem error: recursive directory iterator cannot open directory: No such file or directory [/ahb/apb/i2c@1e78a000/i2c-bus@380/tmp275@4a]
Mar 15 10:27:04 witherspoon phosphor-hwmon-readd[2522]: Unable to find hwmon directory from the dev path
Mar 15 10:27:04 witherspoon phosphor-hwmon-readd[2522]: Usage: phosphor-hwmon-readd [options]
Mar 15 10:27:04 witherspoon phosphor-hwmon-readd[2522]: Options:
Mar 15 10:27:04 witherspoon phosphor-hwmon-readd[2522]:     --help               print this menu
Mar 15 10:27:04 witherspoon phosphor-hwmon-readd[2522]:     --path=<path>        sysfs location to monitor
Mar 15 10:27:04 witherspoon phosphor-hwmon-readd[2522]:     --dev-path=<path>    device path to monitor
Mar 15 10:27:04 witherspoon phosphor-hwmon-readd[2522]: ERROR: Path not specified or invalid.

@gkeishin gkeishin changed the title Witherspoon: phosphor-hwmon-readd[1378]: terminate called after throwing an instance of 'std::filesystem::__cxx11::filesystem_error' Witherspoon: phosphor-hwmon-readd: terminate called after throwing an instance of 'std::filesystem::__cxx11::filesystem_error' Mar 15, 2019
@gkeishin gkeishin added the bug label Mar 15, 2019
@gkeishin
Copy link
Member Author

I see this on other systems too.. this is pervassive

@spinler
Copy link
Contributor

spinler commented Mar 15, 2019

The only hwmon change lately was openbmc/phosphor-hwmon@9e997b4 - "use filesystem instead of experimental". I wonder if std::filesystem behaves different than the experimental::filesystem.
FYI @pstrinkle

@pstrinkle
Copy link
Member

pstrinkle commented Mar 15, 2019 via email

@spinler
Copy link
Contributor

spinler commented Mar 15, 2019

though that directory it's looking at clearly doesn't exist: /ahb/apb/i2c@1e78a000/i2c-bus@380/tmp275@4a

@spinler
Copy link
Contributor

spinler commented Mar 15, 2019

Turns out the difference is in the /= operator.

From cpppreference.com, only for std::filesystem:

path& operator/=(const path& p);
1) If p.is_absolute() || (p.has_root_name() && p.root_name() != root_name()), then replaces the current path with p as if by operator=(p) and finishes.

It doesn't say that for experimental::filesystem.

that breaks this line: https://github.com/openbmc/phosphor-hwmon/blob/master/sysfs.cpp#L170

@pstrinkle
Copy link
Member

pstrinkle commented Mar 15, 2019 via email

@spinler
Copy link
Contributor

spinler commented Mar 15, 2019

i can put up a fix in a bit

@pstrinkle
Copy link
Member

pstrinkle commented Mar 15, 2019 via email

@spinler
Copy link
Contributor

spinler commented Mar 15, 2019

Resolved by https://gerrit.openbmc-project.xyz/#/c/openbmc/phosphor-hwmon/+/19288/

@spinler spinler closed this as completed Apr 19, 2019
stefanberger pushed a commit to stefanberger/openbmc that referenced this issue Aug 1, 2023
Faisal Awada (1):
  psu-ng: Dynamically assign the device driver name

B. J. Wyman (1):
  psu-ng: Remove downstream Rainier JSON config

Brandon Wyman (2):
  Add Rainier 2S2U PSU configuration JSON file
  psu-ng: Disable CML fault

whitesource-ets[bot] (1):
  Add .whitesource configuration file

Shawn McCarney (21):
  ibm-ups: Initial version of UPS application (openbmc#1)
  ibm-ups: Add --no-poll command line option
  ibm-ups: Poll UPS device for current status
  ibm-ups: Add ObjectManager interface
  ibm-ups: Add error logging
  ibm-ups: Fix race condition with state manager
  ibm-ups: Block SIGHUP and SIGCONT
  ibm-ups: Use object_t constructor with enum arg
  Reset Everest voltage regulators during BMC boot
  Update script that resets Everest regulators
  regulators: Create config_files_private directory
  regulators: Increase Rainier VDD VOUT_MAX
  regulators: Increase Everest VDD VOUT_MAX
  regulators: Disable VDD force_fixed_ovp setting
  regulators: Everest: Fix for VCS phase OV fault (openbmc#66)
  regulators: Everest: Second fix VCS phase OV fault
  regulators: Everest: VCS - AVS TRANSTION RATE
  regulators: Bonnell: Initial private config file
  regulators: Bonnell: Add devices and rails
  regulators: Bonnell: Add sensor monitoring
  regulators: Bonnell: Add configuration

Reed Frandsen (2):
  Merge branch '1050' into master-b66ae50
  Merge branch '1050-ghe' into 1050-ef9842f

Andrew Geissler (1):
  psu-monitor: adapt do chassis state instance change

Jay Meyer (1):
  Update psu poll rate for phosphor-power-supply.

Matt Spinler (2):
  psu-ng: Change paths of SN/PN/FN files
  psu-ng: Remove power rating prop if PS not present

Change-Id: I68342a4f74edee054f3c770869819a9b13fc433c
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

3 participants