History log of /openbmc/phosphor-debug-collector/elog_watch.cpp (Results 1 – 24 of 24)
Revision Date Author Comments
# 1615b824 31-May-2023 Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>

Remove internal dump create interface

The createDump method was revised to support key-value parameters,
allowing flexible dump type specification. This change negates the need
for the internal crea

Remove internal dump create interface

The createDump method was revised to support key-value parameters,
allowing flexible dump type specification. This change negates the need
for the internal create interface, exclusive to the
phosphor-debug-collector repository.

This commit removes all instances of the internal create method,
replacing them with the updated createDump method. The modified
createDump approach ensures a consistent dump initiation procedure
and enables all applications to request various dump types.

Manual Tests:
- Validate the creation of a user-requested BMC dump.
- Validate the creation of a dump due to an InternalFailure.
- Generate a core dump to validate the corresponding BMC dump creation.
- Ensure that system-generated dumps are allowed when user-requested
dump is in progress.
- Ensure simultaneous user requested dumps are prevented

Checkstop dump
busctl call xyz.openbmc_project.Logging /xyz/openbmc_project/logging \
xyz.openbmc_project.Logging.Create Create ssa{ss} \
org.open_power.Host.Boot.Error.Checkstop \
xyz.openbmc_project.Logging.Entry.Level.Error 0

Logs:
Initiating new BMC dump with type: checkstop path: /xyz/openbmc_\
project/logging/entry/78
performing dump compression /tmp/BMCDUMP.XX.0000003.20230724015349
Report is available in /var/lib/phosphor-debug-collector/dumps/3

Automated tests:
Create_And_Delete_User_Initiated_BMC_Dump_Multiple_Times
Create_Two_User_Initiated_BMC_Dumps
Create_Two_User_Initiated_BMC_Dumps_And_Delete_One
Delete_All_User_Initiated_BMC_Dumps_And_Verify
Delete_User_Initiated_BMC_Dump_And_Verify
Verify_BMC_Core_Dump_When_Host_Powered_Off
Verify_BMC_Dump_Create_Errors_While_Another_BMC_Dump_In_Progress
Verify_BMC_Dump_Default_Location_In_BMC
Verify_Core_Dump_Size
Verify_Core_Watchdog_Initiated_BMC_Dump
Verify_Dump_Persistency_On_BMC_Reset
Verify_Dump_Persistency_On_Dump_Service_Restart
Verify_Error_Log_And_Dump_For_Internal_Failure
Verify_Error_Response_For_Already_Deleted_Dump_Id
Verify_Error_While_Initiating_BMC_Dump_During_Dumping_State
Verify_Internal_Failure_Initiated_BMC_Dump_Size
Verify_Multiple_BMC_Dump_Creation
Verify_User_Initiated_BMC_Dump_At_Host_Booting
Verify_User_Initiated_BMC_Dump_Size
Verify_User_Initiated_BMC_Dump_When_Host_Booted
Verify_User_Initiated_BMC_Dump_When_Host_Powered_Off

Built with master and p10bmc

Change-Id: I9f91375788201e2badf51d87f8117154a8e1ed8a
Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>

show more ...


# e4350f93 29-Jun-2023 Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>

Add elog dump type to common create

This commit modifies the Elog BMC dump creation process to utilize the
common BMC dump creation interface. Elog BMC dumps are a special type
of dumps triggered up

Add elog dump type to common create

This commit modifies the Elog BMC dump creation process to utilize the
common BMC dump creation interface. Elog BMC dumps are a special type
of dumps triggered upon the logging of certain predefined set of error
logs. These dumps incorporate data based on the type of the error log.
In the existing process, upon occurrence of a predefined error log, the
error log watch function would inform the dump manager via an internal
DBus interface. Now, with this change, the error log watch function will
request the dump manager to create an Elog BMC dump that includes the
relevant error data, error type, and the object path of the error log
entry via the common create DBus interface.

Test:
Create an InternalFailure and make sure dump is created
>busctl call xyz.openbmc_project.Logging \
/xyz/openbmc_project/logging \
xyz.openbmc_project.Logging.Create Create ssa{ss} \
xyz.openbmc_project.Common.Error.InternalFailure \
xyz.openbmc_project.Logging.Entry.Level.Error 0

Trace:
phosphor-dump-manager[542]: Initiating new BMC dump \
with type: elog path: /xyz/openbmc_project/logging/entry/12

phosphor-dump-manager[2918]: Report is available in \
/var/lib/phosphor-debug-collector/dumps/6

Tested checkstop dump

Built with master and p10bmc

Change-Id: I734b052fc24e7893a61755790be49e8a1e594be5
Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>

show more ...


# aa0937f9 22-Jul-2023 Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>

Generate error map as part of dump types

An error type is a specific type of BMC dump that is generated
when a particular error is logged in the BMC. Previously,
dump types and error types were mana

Generate error map as part of dump types

An error type is a specific type of BMC dump that is generated
when a particular error is logged in the BMC. Previously,
dump types and error types were managed independently, with
error types being defined in separate files, namely 'error_map.hpp'
and its associated mako template 'error_map.mako.cpp'. However, this
practice led to inconsistencies, as the dreport script, which is used
for handling dump collection and packaging, was interpreting error
type as another dump type rather than as additional parameters.

The separate error_map.hpp file and its associated mako template
(error_map.mako.cpp) have been removed. Instead, error types are now
incorporated directly into the dump types along with an error type map
for validating the error names. This integration aligns the code with
the existing behaviour of the dreport script, allowing for more
consistent processing of dump types

As a result of this integration, the error map generation is now part
of the dump_types_mako.cpp file. To support these changes, a second
input YAML file has been added to the map_gen.py script to generate
the dump types and error types together.

Tests:
Create InternalFailure
> busctl call xyz.openbmc_project.Logging /xyz/openbmc_project/logging \
xyz.openbmc_project.Logging.Create Create ssa{ss} \
xyz.openbmc_project.Common.Error.InternalFailure \
xyz.openbmc_project.Logging.Entry.Level.Error 0
> dump created
/var/lib/phosphor-debug-collector/dumps/1/\
BMCDUMP.XXXXXXXX.0000001.20230723084043

Create Checkstop
> busctl call xyz.openbmc_project.Logging /xyz/openbmc_project/logging \
xyz.openbmc_project.Logging.Create Create ssa{ss} \
org.open_power.Host.Boot.Error.Checkstop \
xyz.openbmc_project.Logging.Entry.Level.Error 0
> /var/lib/phosphor-debug-collector/dumps/4/\
BMCDUMP.XXXXXXXX.0000004.20230723094150

Change-Id: Iac483f4993b59cf0fc063ed9584785f1a1fa04a8
Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>

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


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


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


# 9b18bf2d 22-Jul-2022 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

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I7ae6214461bdf45c1a21fb702cc8bf5578d827c6

show more ...


# 9d2d7226 06-Oct-2021 Patrick Williams <patrick@stwcx.xyz>

catch exceptions as const

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: Id4f88568c2897ab1117dcad647783a9127c0600d


# 52ac69c1 02-Sep-2021 Patrick Williams <patrick@stwcx.xyz>

exception: switch to public sdbus exception

SdBusError was intended to be a private error type inside sdbusplus.
Switch all catch locations to use the general sdbusplus::exception type.

exception: switch to public sdbus exception

SdBusError was intended to be a private error type inside sdbusplus.
Switch all catch locations to use the general sdbusplus::exception type.

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I33245a48eb2c55667cc8d57e8a3aba8af070f880

show more ...


# 858fbb2e 30-Jun-2021 George Liu <liuxiwei@inspur.com>

Add fmtlib for phosphor-debug-collector

Call fmtlib to get additional information from journal.

Tested: built phosphor-debug-collector successfully
and Unit Test passes.

Add fmtlib for phosphor-debug-collector

Call fmtlib to get additional information from journal.

Tested: built phosphor-debug-collector successfully
and Unit Test passes.

Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: Ibe65637a0b29b76269fb4bc3f498438901c9306a

show more ...


# 0af74a5e 08-Apr-2021 Jayanth Othayoth <ojayanth@in.ibm.com>

Update clang-format

Update to the latest OpenBMC clang-format.

Signed-off-by: Jayanth Othayoth <ojayanth@in.ibm.com>
Change-Id: I54010d3c756af4c85786285644038d449730612b


# 3fc6df48 08-Apr-2021 Jayanth Othayoth <ojayanth@in.ibm.com>

c++17: drop experimental::filesystem

Use the real filesystem library, and drop support for building with
experimental under c++14.

Signed-off-by: Jayanth Othayoth <ojayanth@in.i

c++17: drop experimental::filesystem

Use the real filesystem library, and drop support for building with
experimental under c++14.

Signed-off-by: Jayanth Othayoth <ojayanth@in.ibm.com>
Change-Id: I730c0d6dce53b5e0aa0867cddb7f325cdb9b45fc

show more ...


# fef66a95 06-Sep-2020 Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>

Create dump manager for each dump type.

Currently all types of dumps exist in the same path
and under the single dump manager. When there are
multiple dumps to be created separate pa

Create dump manager for each dump type.

Currently all types of dumps exist in the same path
and under the single dump manager. When there are
multiple dumps to be created separate path is needed
for creating and managing the dump. this commit
is splitting the dump manager into multiple objects
without adding any new functionality. There will be
only one dump manager process but it will contain
seperate dump manager objects for system and BMC
dumps as per current scope.

Tested the existing dump functions with the build
- created bmc dump
- created system dump using notify
- deleted dump entry
- offloaded bmc dump

Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>
Change-Id: Id4806660be1f1ba0b3cb6f840ae185a967f05a83

show more ...


# bb410df7 03-Aug-2020 Ramesh Iyyar <rameshi1@in.ibm.com>

build: Enabled meson build infrastructure

In this commit enabled meson build infrastructure which is taking less
time than autotools to build.

Changes:
- Same default valu

build: Enabled meson build infrastructure

In this commit enabled meson build infrastructure which is taking less
time than autotools to build.

Changes:
- Same default value used for all build time configure option.
- All external library checks are added into meson as well.
- In meson, no need to mention list of files which are not required
to install because, by default nothing will be installed.
- Auto generated files are added into custom target and that will
trigger when some target dependent with that.
- In meson, enabled to treat warning as error so, modified few sources
which are producing un-used variables.
- Fixes made by removing those function parameters identifier alone.

By using meson, can able to see below built improvement time between meson
and autotools.

meson:
- time sh -c 'meson builddir -Dhost-dump-offload-transport=pldm
-Dubifs-workaround=enabled; ninja -C builddir/'
real 0m12.244s
user 0m57.575s
sys 0m7.793s

autotools:
- time sh -c 'autoreconf -i;
./configure ${CONFIGURE_FLAGS} --enable-ubifs-workaround
--with-host-dump-offload-transport=pldm; make'
real 1m16.539s
user 1m2.738s
sys 0m9.645s

TestedBy:
- meson builddir
ninja -C builddir

- meson builddir -Dubifs-workaround=enabled
ninja -C builddir

- meson builddir -Dubifs-workaround=disabled
ninja -C builddir

- meson builddir -Dhost-dump-offload-transport=pldm
ninja -C builddir

- meson builddir -Dhost-dump-offload-transport=pldm \
-Dubifs-workaround=enabled
ninja -C builddir

Note: Need to update openbmc phosphor-debug-collector recipe to use meson
instead autotools, this will be updated once this patch got merged
and also autotools build infrastructure will be removed as well.

Change-Id: Iadf2d3542dc2556377e7b2f91f01b04d5f8d7218
Signed-off-by: Ramesh Iyyar <rameshi1@in.ibm.com>

show more ...


# 984a98f7 13-May-2020 Patrick Williams <patrick@stwcx.xyz>

sdbusplus: replace message::variant with std::variant

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I927996a9ce14cfb6251c6d7a1d8be081d9369174


# 07f0f465 13-May-2020 Patrick Williams <patrick@stwcx.xyz>

sdbusplus: remove deprecated variant_ns

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I9e4cfb1c3632a3b26f197a0af2e417e9824f7e72


# 638b43f5 16-Apr-2020 Andrew Geissler <geissonator@yahoo.com>

ensure deleted object is entry

Some code is coming that puts a new D-Bus object on the
/xyz/openbmc_project/logging/ path. The addCallback() interface
correctly verified the path was

ensure deleted object is entry

Some code is coming that puts a new D-Bus object on the
/xyz/openbmc_project/logging/ path. The addCallback() interface
correctly verified the path was an entry but the delCallBack() path did
not.

Tested:
Verified with this change that phosphor-dump-manager no longer core
dumps when one of these new objects is deleted.

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: Ie702e52b97bc484a44543719e10eab573f8ecb73

show more ...


# 0deb287c 12-Nov-2018 Marri Devender Rao <devenrao@in.ibm.com>

Refactor to pass errors to watch through config YAML

Add errors to watch for through error YAML file
Add support for checkstop error type

Tested:
Generating dumps for elog,

Refactor to pass errors to watch through config YAML

Add errors to watch for through error YAML file
Add support for checkstop error type

Tested:
Generating dumps for elog, core, checkstop type errors.

Change-Id: Idd00ace2e3d0c472a74ec142e6d150e55e843a6f
Signed-off-by: Marri Devender Rao <devenrao@in.ibm.com>

show more ...


# cb65ffce 16-Oct-2018 Jayanth Othayoth <ojayanth@in.ibm.com>

Enable clang code format

Change-Id: Ib640ef7cea99ff505965182ec9900a2d53a8986e
Signed-off-by: Jayanth Othayoth <ojayanth@in.ibm.com>
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirre

Enable clang code format

Change-Id: Ib640ef7cea99ff505965182ec9900a2d53a8986e
Signed-off-by: Jayanth Othayoth <ojayanth@in.ibm.com>
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>

show more ...


# 90d147a1 12-Jun-2018 William A. Kennington III <wak@google.com>

elog_watch: Fix parsing of elog add requests

Requests come in the form "oa{sa{sv}}". However, the way sdbusplus was
interpreting the type of our message "a{oa{sa{sv}}}" since tuples are

elog_watch: Fix parsing of elog add requests

Requests come in the form "oa{sa{sv}}". However, the way sdbusplus was
interpreting the type of our message "a{oa{sa{sv}}}" since tuples are
not allowed to consume multiple arguments during the read call as that
would be ambiguous. This fixes the type issues.

Prior to the change to sdbusplus that introduces error handling for the
read calls, the sd_bus_message_{enter,exit}_container were failing
during the read on the pair. Luckily this produces the expected result
for the read and our old code was "working".

This also cleans up an unnecessary string move.

Tested:
Builds and no longer produces errors on zaius when elogs are added.

Change-Id: Ifc5394f3f361e8932c939376bd0bf5b4e3ca589c
Signed-off-by: William A. Kennington III <wak@google.com>

show more ...


# 15cd3ce7 15-May-2018 William A. Kennington III <william@wkennington.com>

Add error handling for message parsing

Some of the signals we try and parse for error logs are not structured
in the format we expect when parsing. When error logging is enabled in
s

Add error handling for message parsing

Some of the signals we try and parse for error logs are not structured
in the format we expect when parsing. When error logging is enabled in
sdbusplus this causes the phosphor-dump-manager to crash. Fix this
crashing by logging errors and ignoring the bad signals.

Change-Id: Ieadcb7e95f622005382f3c4957bf1535e3bb1ef9
Signed-off-by: William A. Kennington III <wak@google.com>

show more ...


# 31085974 05-Oct-2017 Vishwanatha Subbanna <vishwa@linux.vnet.ibm.com>

Enable Cereal class versioning

Change-Id: Ib6d212e730d25eb14ceed5b5f3f222ee3b47b35c
Signed-off-by: Vishwanatha Subbanna <vishwa@linux.vnet.ibm.com>


# 2496482a 04-Sep-2017 Jayanth Othayoth <ojayanth@in.ibm.com>

Enable support to handle InternalFailure type dump, during elog restore

Resolves openbmc/openbmc#2078

Change-Id: Iea47b9b7c0cd6cae21642057b21c4e99d85be1e8
Signed-off-by: Jayanth

Enable support to handle InternalFailure type dump, during elog restore

Resolves openbmc/openbmc#2078

Change-Id: Iea47b9b7c0cd6cae21642057b21c4e99d85be1e8
Signed-off-by: Jayanth Othayoth <ojayanth@in.ibm.com>

show more ...


# d0f0064e 04-Sep-2017 Jayanth Othayoth <ojayanth@in.ibm.com>

Capture dump when an error with the name InternalFailure is logged

Change-Id: I2a362b674022dbe1ea8bfe16876d0416f87d0af1
Signed-off-by: Jayanth Othayoth <ojayanth@in.ibm.com>