3604710d | 29-Jun-2023 |
Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com> |
BMCDump: dump subtype input parameter support
The BMC dump is not accepting any parameters to specify the type of dump or level of data to be collected. It was always creating a default user-request
BMCDump: dump subtype input parameter support
The BMC dump is not accepting any parameters to specify the type of dump or level of data to be collected. It was always creating a default user-requested dump.
This commit allows for the specification of the dump type during the dump creation process. A new table has been added in a new header file which stores the valid dump types. When a new dump is requested, the specified dump type is verified against this table. If no dump type is mentioned, a user-requested BMC dump is created for backward compatibility. If an invalid dump type is mentioned, an Invalid Argument exception is thrown.
Tested: - Create BMC dump with no arguments - Create BMC dump with type as user - Create a error log dump and make sure other types of dumps which is using internal interface is not impacted. - Built with master and p10bmc
Change-Id: I79f68be6ac6892ac7754b7221db64c22330b1822 Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>
show more ...
|
94adf685 | 31-May-2023 |
Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com> |
Move generated error map to cpp file
This commit changes the generation location of error map from a header file (.hpp) to a source file (.cpp). This change enhances code organization, separates dec
Move generated error map to cpp file
This commit changes the generation location of error map from a header file (.hpp) to a source file (.cpp). This change enhances code organization, separates declaration from implementation. In an upcoming change, retaining the map in the header file results in a duplicate definition error. Therefore, to avoid these errors and ensure smooth future updates, the error map needs to be generated in the .cpp file.
Tests: Created error log dumps by commiting InternalFailure
Change-Id: I01e4503e24ebf9045793014060107cca4ff440ad Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>
show more ...
|
deed959e | 12-Jul-2023 |
Patrick Williams <patrick@stwcx.xyz> |
build: upgrade to C++23
Meson 1.1.1 and GCC-13 both support C++23 and a sufficient portion of the standard has been implemented. Upgrade the build to leverage it.
Change-Id: Id96cf564638651b6686b5
build: upgrade to C++23
Meson 1.1.1 and GCC-13 both support C++23 and a sufficient portion of the standard has been implemented. Upgrade the build to leverage it.
Change-Id: Id96cf564638651b6686b55940166dae9b8e5dd1e Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
ea632b81 | 06-May-2022 |
Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com> |
OpenPOWER: Allow system dump in TransitioningToOff state
There are cases the host can be stuck in the TransitioningToOff state, a system dump from that state is needed for further debug on host side
OpenPOWER: Allow system dump in TransitioningToOff state
There are cases the host can be stuck in the TransitioningToOff state, a system dump from that state is needed for further debug on host side.
Tests: Initiate dump when system is in TransitioningToOff state
Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com> Change-Id: I59b4e5710453fd87bec5de17af35f5d5064ebdf1
show more ...
|
7e4edab9 | 29-Mar-2022 |
Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com> |
OpenPOWER: Return Unavailable Instead of NotAllowed for Delete
This commit changes the exception thrown from 'NotAllowed' to 'Unavailable' when attempting to delete a system dump that is currently b
OpenPOWER: Return Unavailable Instead of NotAllowed for Delete
This commit changes the exception thrown from 'NotAllowed' to 'Unavailable' when attempting to delete a system dump that is currently being offloaded. This modification aligns with the objective to return an HTTP 'Unavailable' status via Redfish interface in this scenario.
The 'Unavailable' response more accurately reflects the system state, as the dump is not disallowed from deletion under normal circumstances, but temporarily unavailable due to the ongoing offload process.
Tests: - Attempt to delete resource dump while offloading it - Attempt to delete system dump while offloading it
Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com> Change-Id: I6c5d9aba16380d86e68c06537417ad9d725826e5
show more ...
|
3a25e5b2 | 22-Mar-2022 |
Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com> |
OpenPOWER: Allow initiating mp reboot dump in quiesced state
When system dumps are disabled, a system dump collection request will end up in quiesced state. A memory preserving reboot from that sta
OpenPOWER: Allow initiating mp reboot dump in quiesced state
When system dumps are disabled, a system dump collection request will end up in quiesced state. A memory preserving reboot from that state can get the failed data from the host. So enabling the mp reboot dump collection from quiesced state.
Test: Disable dump Inject error in host to move to quiesced state Start mp reboot Dump should be generated
Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com> Change-Id: I9f444752b321f1ab47b99e5b8ac32c79182d6453
show more ...
|
c04e0e0a | 19-Jun-2023 |
Eddie James <eajames@linux.ibm.com> |
Add linux trace events
Add the output of the linux trace buffer to user dumps, with lowest priority since the file can be large (~10MB).
Change-Id: I186b123154098400245f24db438e2a79a8da8b10 Signed-
Add linux trace events
Add the output of the linux trace buffer to user dumps, with lowest priority since the file can be large (~10MB).
Change-Id: I186b123154098400245f24db438e2a79a8da8b10 Signed-off-by: Eddie James <eajames@linux.ibm.com>
show more ...
|
8098ca6a | 24-Jun-2023 |
Patrick Williams <patrick@stwcx.xyz> |
sdbusplus: use shorter type aliases
The sdbusplus headers provide shortened aliases for many types. Switch to using them to provide better code clarity and shorter lines. Possible replacements are
sdbusplus: use shorter type aliases
The sdbusplus headers provide shortened aliases for many types. Switch to using them to provide better code clarity and shorter lines. Possible replacements are for: * bus_t * exception_t * manager_t * match_t * message_t * object_t * slot_t
Change-Id: I02e8e49b245f1f42d10983fee65f05efc5326fc7 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
a72daf5c | 21-Jun-2023 |
Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com> |
OpenPOWER: Fix compile error in p10bmc
There is fix in a line missed after testing in downstream with lastest review comment which caused the compile failure in p10bmc
Test: Created a system dump b
OpenPOWER: Fix compile error in p10bmc
There is fix in a line missed after testing in downstream with lastest review comment which caused the compile failure in p10bmc
Test: Created a system dump busctl --verbose call xyz.openbmc_project.Dump.Manager\ /xyz/openbmc_project/dump/system \ xyz.openbmc_project.Dump.Create CreateDump a{sv} 0
MESSAGE "o" { OBJECT_PATH "/xyz/openbmc_project/dump/system/\ entry/1"; };
Once the dump is completed check the value of pvm_sys_dump_active busctl call xyz.openbmc_project.BIOSConfigManager \ /xyz/openbmc_project/bios_config/manager \ xyz.openbmc_project.BIOSConfig.Manager \ GetAttribute s pvm_sys_dump_active svv "xyz.openbmc_project.BIOSConfig.Manager.AttributeType.\ Enumeration" s "Enabled" s ""
Try another system dump busctl --verbose call xyz.openbmc_project.Dump.Manager \ /xyz/openbmc_project/dump/system \ xyz.openbmc_project.Dump.Create CreateDump a{sv} 0 Call failed: The service is temporarily unavailable.
System dump is not allowed when another dump is in progress
Change-Id: I367c4f5e58888348c33abbf813f16f2708f27ff8 Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>
show more ...
|
0cfe1a2e | 21-Jun-2023 |
Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com> |
Fix markdownlint and shellcheck errors
This commit addresses issues with markdownlint complaining about unspecified languages for the fenced code blocks in the README.md files of the main repo and t
Fix markdownlint and shellcheck errors
This commit addresses issues with markdownlint complaining about unspecified languages for the fenced code blocks in the README.md files of the main repo and the dreport tool.
Resolved this by specifying 'bash' as the language for these code blocks in both README.md files.
Additionally added tools/dreport.d/ibm.d/plugins.d/badpel to .shellcheck-ignore to suppress SC1091 and SC2086 errors
Change-Id: I3432dc87999f518949a9459d2ab07e21a73595b1 Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>
show more ...
|
d73a663c | 12-Oct-2022 |
Matt Spinler <spinler@us.ibm.com> |
openpower:dreport: Save badPEL file in dump
The last invalid/corrupt PEL the host sent down to the BMC is saved in /var/lib/phosphor-logging/extensions/pels/badPEL. Save it in a dump if it exists s
openpower:dreport: Save badPEL file in dump
The last invalid/corrupt PEL the host sent down to the BMC is saved in /var/lib/phosphor-logging/extensions/pels/badPEL. Save it in a dump if it exists so we can get the contents when it happens in the field.
Tested: ~/BMCDUMP.SIMP10R.00000000.20221012205429_out/archive$ ls -l badPEL -rw-r--r--. 1 spinler spinler 5599 Oct 12 15:54 badPEL
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Id6052d5c4c052860e978314e541d4a1b978ee615
show more ...
|
1ddb006b | 06-May-2022 |
Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com> |
OpenPOWER: Limit User-Requested System Dumps
System dumps can be several gigabytes in size. To conserve space, only one dump is stored at a time. When a new dump is requested, the existing dump will
OpenPOWER: Limit User-Requested System Dumps
System dumps can be several gigabytes in size. To conserve space, only one dump is stored at a time. When a new dump is requested, the existing dump will be discarded while creating a new one. In the case of system-generated dumps, which are triggered by critical errors, it is permissible to initiate a new dump even if an existing dump is already present in the host memory This commit adds a restriction on initiating new user-requested system dumps while a system dump is in progress or if one is already stored in host memory.
New user-requested system dumps will be allowed once the existing dump is deleted or offloaded.
This change applies only to user-requested dumps and does not impact system generated dumps.
Test: - Initiate system dump when another dump in progress and verified a Unavailable was returned - Force a system generated system dump when one dump is present a Unavailable was returned
Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com> Change-Id: I4598912b0761669859f84a43ab4c60f47664b1e6
show more ...
|
9e905375 | 20-Aug-2021 |
Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com> |
OpenPOWER: Add support for OpenPOWER dump policy
This commit introduces support for the system dump policy, wherein 'system dump' refers to all OpenPOWER dumps. This term encompasses all dumps from
OpenPOWER: Add support for OpenPOWER dump policy
This commit introduces support for the system dump policy, wherein 'system dump' refers to all OpenPOWER dumps. This term encompasses all dumps from host subsystems on OpenPOWER systems, which are collectively referred to as system dumps. The currently supported policy is 'dump enable'. A dump will be created only if this policy is enabled. If the policy is not enabled, a 'dump disabled' error message will be returned.
In scenarios where the settings service is unavailable, the system will default to considering the dump as enabled.
Tests: - Create a dump with policy enabled busctl --verbose call xyz.openbmc_project.Settings \ /xyz/openbmc_project/dump/system_dump_policy \ org.freedesktop.DBus.Properties \ Get ss "xyz.openbmc_project.Object.Enable" "Enabled" MESSAGE "v" { VARIANT "b" { BOOLEAN true; }; };
busctl --verbose call xyz.openbmc_project.Dump.Manager \ /xyz/openbmc_project/dump/resource \ xyz.openbmc_project.Dump.Create CreateDump a{sv} 2 \ "com.ibm.Dump.Create.CreateParameters.VSPString" s \ "vsp" "com.ibm.Dump.Create.CreateParameters.Password" \ s "password" MESSAGE "o" { OBJECT_PATH "/xyz/openbmc_project/dump/resource/entry/1"; };
Result: Dump created
- Create a dump with policy disabled busctl --verbose call xyz.openbmc_project.Settings \ /xyz/openbmc_project/dump/system_dump_policy \ org.freedesktop.DBus.Properties Get ss \ "xyz.openbmc_project.Object.Enable" "Enabled" MESSAGE "v" { VARIANT "b" { BOOLEAN false; }; };
busctl --verbose call xyz.openbmc_project.Dump.Manager \ /xyz/openbmc_project/dump/resource \ xyz.openbmc_project.Dump.Create CreateDump a{sv} 2 \ "com.ibm.Dump.Create.CreateParameters.VSPString" s "vsp" \ "com.ibm.Dump.Create.CreateParameters.Password" s "password" Call failed: Dump is disabled on this system.
Result: Dump is not allowed
Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com> Change-Id: I5dc609b1f4fd0f36df8520f8a75c18a4cd3d7c4c
show more ...
|
64f8da9e | 08-Dec-2021 |
Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com> |
Implement GetFileHandle in dump entry interface
Certain applications need to offload the dump in various ways, for example, performing DMA transfer of the dump to the host memory. These applications
Implement GetFileHandle in dump entry interface
Certain applications need to offload the dump in various ways, for example, performing DMA transfer of the dump to the host memory. These applications require direct access to the file to read from the BMC storage.
This commit introduces the GetFileHandle method in the dump entry interface. This method provides direct access to the Unix file handle of the dump entry, facilitating more direct read operations on the dump file. The returned file descriptor is read-only, which ensures the integrity of the dump file.
The definition of the file handle is moved from the specific 'bmc_dump_entry' class to the parent 'dump_entry' class. This allows all dump types inheriting from 'dump_entry' to use this new method, thus increasing its utility across various dump types.
The introduction of this method primarily benefits PLDM for offloading the dump to the host, and bmcweb for offloading the dump to Redfish clients. By providing a file handle instead of exposing the file path, it resolves potential access issues for applications running in non-root contexts.
Test: Created a dump and made sure it reached host successfully Executed with additional traces Jun 21 10:56:09 pldmd[1856]: Requesting file handle Jun 21 10:56:09 pldmd[1856]: File handle received fd=9 Jun 21 10:56:09 pldmd[1856]: Transfer data rc= 0 Jun 21 10:56:09 phosphor-dump-manager[480]: File handle \ request Jun 21 10:56:09 phosphor-dump-manager[480]: returning fd=11 Jun 21 10:56:09 pldmd[1856]: File handle received fd=9 Jun 21 10:56:09 pldmd[1856]: File read rc=15
In th host: Service Processor Dump: Maximum file size: 0 (0x00000000) bytes (0 MBs) Dumps this PHYP IPL: 1 Pending Dump: Dump ID: 00000009 File size: 3749662 \ (0x000000000039371E) bytes (3 MBs) SP dump sub type: 0x000000000000000F BMC File name: \ BMCDUMP.1392A20.00000009.20230621105510 Dump create time: 06/21/2023 10:55:10.00 PHYP notify time: 06/21/2023 10:56:00.5918570000 LP recipient: 1 LP notify time: 06/21/2023 10:56:00.5918580000
Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com> Change-Id: If398940b655b4d90688273f0c76a20d4ead61992
show more ...
|
0b566d54 | 14-Jun-2023 |
Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com> |
Minor cleanup: Remove unused header file and namespace
This commit performs minor by removing an unnecessary header file: phosphor-logging/log.hpp and namespace: using namespace phosphor::logging
T
Minor cleanup: Remove unused header file and namespace
This commit performs minor by removing an unnecessary header file: phosphor-logging/log.hpp and namespace: using namespace phosphor::logging
These cleanup changes have no impact on the functionality. They enhance code cleanliness, reduce potential confusion, and promote better code maintenance and readability.
Test: Created a full build to make sure no errors
Change-Id: I68f2d81c538d3f632e6edd24702efc6ae7b07086 Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>
show more ...
|
0007b70c | 01-Feb-2022 |
Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com> |
OpenPOWER: Ignore duplicate system dump entry
This commit introduces changes to handle scenarios where the host might report the same system dump entry more than once. The changes have been made to
OpenPOWER: Ignore duplicate system dump entry
This commit introduces changes to handle scenarios where the host might report the same system dump entry more than once. The changes have been made to address two main scenarios:
When the host generates a system dump having the same dump id and size as an existing entry, the new notification is ignored if the existing entry is marked as 'completed'. A trace is added if the existing entry is incomplete.
In cases where the dump id matches an existing entry, but the size is different, the old entry is considered stale and gets deleted. A new entry will be created subsequently.
This issue arises particularly during internal failure recovery in the host, where it notifies all the pending dumps again. In cases where entries are already available for such dumps on the BMC, duplicate entries may be created, potentially leading to confusion for users. This change prevents the creation of new entries if an entry already exists for the same dump.
Tests: Create a disruptive system dump and offload Create a non-disruptive system dump and offload
Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com> Change-Id: I31d92df43476a19880d084a68e5db17c5207bd81
show more ...
|
d1f670fe | 05-Jun-2023 |
Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com> |
Implementing Phosphor-Logging/LG2 logging
This commit introduces changes in the phosphor-debug-collector repository to implement structured logging using the LG2 framework. The existing log calls in
Implementing Phosphor-Logging/LG2 logging
This commit introduces changes in the phosphor-debug-collector repository to implement structured logging using the LG2 framework. The existing log calls in the repository, have been replaced with LG2 logging, facilitates better log tracking and troubleshooting by offering improved detail in JSON object values.
Test: - Created BMC dump - Created system dump
Here is a example { "_EXE" : "/tmp/phosphor-dump-manager", "_MACHINE_ID" : "f9ca96d99c7b4ba688556f632ffeff5d", "_CAP_EFFECTIVE" : "1ffffffffff", "LOG2_FMTMSG" : "Invalid Dump file name, FILENAME: {FILENAME}", "__CURSOR" : "s=721ae7a5b6ed43ec904f2bb03e3c0403;i=2a8d0;\ b=b372b9a5989e46bb8e62b33310e181ea;m=2c05fda2b;t=5fdf0684c1e70;x=1592f60584d6486c", "CODE_FUNC" : "void phosphor::dump::bmc::Manager::\ createEntry(const std::filesystem::__cxx11::path&)", "_SYSTEMD_SLICE" : "system-dropbear.slice", "CODE_LINE" : "174", "__REALTIME_TIMESTAMP" : "1686583867350640", "PRIORITY" : "3", "_SYSTEMD_UNIT" : "dropbear@1-9.3.29.238:22-9.3.84.138:45432.service", "_PID" : "16209", "_BOOT_ID" : "b372b9a5989e46bb8e62b33310e181ea", "_SOURCE_REALTIME_TIMESTAMP" : "1686583867350580", "_TRANSPORT" : "journal", "_HOSTNAME" : "openbmc", "SYSLOG_IDENTIFIER" : "phosphor-dump-manager", "MESSAGE" : "Invalid Dump file name, \ FILENAME: BMCDUMP.XXXXXXX.0000006.20230612153010", "CODE_FILE" : \ "/usr/src/debug/phosphor-debug-collector/1.0+gitAUTOINC+a17f1c92ce-r1\ /dump_manager_bmc.cpp", "_UID" : "0", "_CMDLINE" : "/tmp/phosphor-dump-manager", "_RUNTIME_SCOPE" : "system", "FILENAME" : "BMCDUMP.XXXXXXXX.0000006.20230612153010", "_SYSTEMD_INVOCATION_ID" : "64a11629aade4c96ab62154cbc4be8b7", "__MONOTONIC_TIMESTAMP" : "11817441835", "_SYSTEMD_CGROUP" : "/system.slice/system-dropbear.slice/\ dropbear@1-9.3.29.238:22-9.3.84.138:45432.service", "_COMM" : "phosphor-dump-m", "_GID" : "0" }
Change-Id: I3a52b812b059b64d945493de2e2cc68a43f6d72a Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>
show more ...
|
b2665cdf | 08-Jun-2023 |
ojayanth <ojayanth@in.ibm.com> |
gcc13 : fix argument format issues
gcc13 based build failed with below errors. error: static assertion failed: Cannot format an argument. To make type T formattable provide a formatter<T> speciali
gcc13 : fix argument format issues
gcc13 based build failed with below errors. error: static assertion failed: Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt
Problem reported during enum type input is similar to https://github.com/fmtlib/fmt/issues/391 Fix is to static_cast the "enum" type to "underlying_type" in fmt::format function.
Problem related file descriptor input is to static_cast enum to "underlying_type".
Change-Id: I587e4abfb4e188d40a0e4bfbdd57e6da6a77616d Signed-off-by: Jayanth Othayoth <ojayanth@in.ibm.com>
show more ...
|
16eafec0 | 14-Feb-2023 |
Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com> |
OpenPOWER: Remove duplicate OriginatedBy interface
The OriginatedBy interface is added to the base entry class but again added to resource and system dump entries which is causing issue while starti
OpenPOWER: Remove duplicate OriginatedBy interface
The OriginatedBy interface is added to the base entry class but again added to resource and system dump entries which is causing issue while starting the service.
Change-Id: I936dbccf9a7a2d26595cceea48daa4c67278c999 Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>
show more ...
|
27884e6b | 09-May-2023 |
Andrew Geissler <geissonator@yahoo.com> |
systemd: no installation in templated targets
Upstream yocto introduced a change via e510222 (systemd-systemctl: fix instance template WantedBy symlink construction).
This fixes a bug that we in Op
systemd: no installation in templated targets
Upstream yocto introduced a change via e510222 (systemd-systemctl: fix instance template WantedBy symlink construction).
This fixes a bug that we in OpenBMC had been taking advantage of in that we were able to document our templated target dependencies without it actually doing anything. The real installation of services within targets occurs in our bitbake recipes due to the complexity of chassis and host instances on a per machine basis.
Leave the dependency information in the service files but comment them out. It's useful to be able to look at a service and understand which targets it's going to be installed into by the bitbake recipes.
Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: I5d0390d6993e70a9c28ca21fe4d32fc7e703b766
show more ...
|
78e88402 | 10-May-2023 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: copy latest and re-format
clang-format-16 has some backwards incompatible changes that require additional settings for best compatibility and re-running the formatter. Copy the latest
clang-format: copy latest and re-format
clang-format-16 has some backwards incompatible changes that require additional settings for best compatibility and re-running the formatter. Copy the latest .clang-format from the docs repository and reformat the repository.
Change-Id: If4790d4928efc3e6690ca090aa79f0c7737c3683 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
b8556168 | 27-Apr-2023 |
Patrick Williams <patrick@stwcx.xyz> |
build: enable sdbus++ common.hpp output
This repository is [incorrectly] not using the sdbus++-gen-meson, but instead is hand-rolling the sdbus++ calls. The newest version of sdbus++ adds a depende
build: enable sdbus++ common.hpp output
This repository is [incorrectly] not using the sdbus++-gen-meson, but instead is hand-rolling the sdbus++ calls. The newest version of sdbus++ adds a dependency between `server.hpp` and `common.hpp`, so add the invocations as necessary.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I250cb0caa5ef6ab0e63f4e8cd66b8ae4f7c85500
show more ...
|
6c84a8c5 | 12-Apr-2023 |
Patrick Williams <patrick@stwcx.xyz> |
meson: remove deprecated get_pkgconfig_variable
Since meson 0.56, the `get_pkgconfig_variable` has been deprecated. In meson 0.58 the `get_variable` was enhanced to no longer require the `pkgconfig
meson: remove deprecated get_pkgconfig_variable
Since meson 0.56, the `get_pkgconfig_variable` has been deprecated. In meson 0.58 the `get_variable` was enhanced to no longer require the `pkgconfig` keyword argument. Ensure meson 0.58 is required and update the usage of all `get_pkgconfig_variable` and `get_variable` to be the modern variant.
Change-Id: I597f925bed69522d527ba88bc8f0c6d2f0e165c0 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
3ed02c32 | 28-Jun-2022 |
Marri Devender Rao <devenrao@in.ibm.com> |
sdevent:inode entry is not released after creating dump
For every dump generated an "anon_inode:[pidfd]" entry is created for the associated process and the same is not released.
When the number of
sdevent:inode entry is not released after creating dump
For every dump generated an "anon_inode:[pidfd]" entry is created for the associated process and the same is not released.
When the number of inode entries reach the maximum count dump request will fail and the dump service takes a reset with a core dump.
When a dump is requested a child process is spawned to perform dump collection, parent process waits on the child process completion using sd-event-add-child systemd call.
sd-event-add-child adds an inode entry which needs to be released during the callback method called after child process exit using unref but the same is not done.
Now switching to sdeventplus::source::Child wrapper class for sd-event-add-child which takes care of releasing the inode fd.
Tested: ''' Without the fix for the 3 dumps created noticed 3 anon_inode:[pidfd] are added but not cleared root@rain135bmc:/proc/2044/fd# ls -la dr-x------ 2 root root 0 Jun 27 08:38 . dr-xr-xr-x 8 root root 0 Jun 27 08:38 .. lr-x------ 1 root root 64 Jun 27 08:39 0 -> /dev/null lrwx------ 1 root root 64 Jun 27 08:39 1 -> socket:[21586] lrwx------ 1 root root 64 Jun 27 08:39 10 ->anon_inode:[timerfd] lrwx------ 1 root root 64 Jun 27 08:47 11 ->anon_inode:[pidfd] lrwx------ 1 root root 64 Jun 27 08:47 12 ->anon_inode:[pidfd] lrwx------ 1 root root 64 Jun 27 08:47 13 ->anon_inode:[pidfd]
After the fix noticed all the anon_inode:[pidfd] are cleared dr-x------ 2 root root 0 Jun 27 08:38 . dr-xr-xr-x 8 root root 0 Jun 27 08:38 .. lr-x------ 1 root root 64 Jun 27 08:39 0 -> /dev/null lrwx------ 1 root root 64 Jun 27 08:39 1 -> socket:[21586] lrwx------ 1 root root 64 Jun 27 08:39 10 ->anon_inode:[timerfd] '''
Signed-off-by: Marri Devender Rao <devenrao@in.ibm.com> Change-Id: I9a2fec0a2287bfe978b811671c1cfeb1356e59d2
show more ...
|
73953b8f | 15-Feb-2022 |
Marri Devender Rao <devenrao@in.ibm.com> |
bmcdump: ignore dump request when a dump is in progress
At present generating a user dump is an asynchronous call and does not block the user to generate another dump.
This can cause out-of-memory
bmcdump: ignore dump request when a dump is in progress
At present generating a user dump is an asynchronous call and does not block the user to generate another dump.
This can cause out-of-memory issues if dumps are generated in a loop.
Adding a check to see if the user-initiated dump is already in progress before starting another user dump request.
Return "Unavailable" error if generate user dump request is received while a user dump generation is in progress.
Tested: ''' root@p10bmc:~# busctl --verbose call xyz.openbmc_project.Dump.Manager /xyz/openbmc_project/dump/bmc xyz.openbmc_project.Dump.Create CreateDump a{sv} 0 MESSAGE "o" { OBJECT_PATH "/xyz/openbmc_project/dump/bmc/entry/3"; };
root@p10bmc:~# busctl --verbose call xyz.openbmc_project.Dump.Manager /xyz/openbmc_project/dump/bmc xyz.openbmc_project.Dump.Create CreateDump a{sv} 0 Call failed: The operation is not allowed root@p10bmc:~# busctl --verbose call xyz.openbmc_project.Dump.Manager /xyz/openbmc_project/dump/bmc xyz.openbmc_project.Dump.Create CreateDump a{sv} 0 Call failed: The operation is not allowed root@p10bmc:~# busctl --verbose call xyz.openbmc_project.Dump.Manager /xyz/openbmc_project/dump/bmc xyz.openbmc_project.Dump.Create CreateDump a{sv} 0 MESSAGE "o" { OBJECT_PATH "/xyz/openbmc_project/dump/bmc/entry/4"; };
'''
Signed-off-by: Marri Devender Rao <devenrao@in.ibm.com> Change-Id: Ic9434f34c040405f8664f7dc71109e7cb67a80c2
show more ...
|