History log of /openbmc/phosphor-debug-collector/ (Results 26 – 50 of 301)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
3604710d29-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 ...

94adf68531-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 ...

deed959e12-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 ...

ea632b8106-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 ...

7e4edab929-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 ...

3a25e5b222-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 ...

c04e0e0a19-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 ...

8098ca6a24-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 ...

a72daf5c21-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 ...

0cfe1a2e21-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 ...

d73a663c12-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 ...

1ddb006b06-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 ...

9e90537520-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 ...

64f8da9e08-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 ...

0b566d5414-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 ...

0007b70c01-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 ...

d1f670fe05-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 ...

b2665cdf08-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 ...

16eafec014-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 ...

27884e6b09-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 ...

78e8840210-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 ...

b855616827-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 ...

6c84a8c512-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 ...

3ed02c3228-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 ...

73953b8f15-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 ...

12345678910>>...13