History log of /openbmc/phosphor-debug-collector/dump_manager_main.cpp (Results 1 – 22 of 22)
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 ...


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


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


# 919f71c6 01-Mar-2022 Claire Weinan <cweinan@google.com>

faultlog: Initial framework for Fault Log

Fault Log is a new type of dump. For details please see
https://github.com/openbmc/docs/blob/master/designs/hw-fault-monitor.md

This commit enables creatio

faultlog: Initial framework for Fault Log

Fault Log is a new type of dump. For details please see
https://github.com/openbmc/docs/blob/master/designs/hw-fault-monitor.md

This commit enables creation and deletion of fault log entries.

Tested: Created and deleted fault log entries by calling the
corresponding D-Bus methods via bmcweb (added extra code in bmcweb for
testing this). Also forced a fault log directory creation error by
changing the code to specify a nonexistent directory path "/abc/def/"
instead of FAULTLOG_DUMP_PATH, and forced a fault log file open error
by creating a directory (manually using mkdir) with the same name as
the file that the fault log manager tried to open.

Signed-off-by: Claire Weinan <cweinan@google.com>
Change-Id: I03d4c19a4c131f7224ac895e404c46b1f566617b

show more ...


# 9e682c51 01-Apr-2022 Patrick Williams <patrick@stwcx.xyz>

main: move busname claiming later

We should not claim the bus name until the daemon is fully initialized,
especially because we create objects on the dbus that we don't send a
signal for (the manage

main: move busname claiming later

We should not claim the bus name until the daemon is fully initialized,
especially because we create objects on the dbus that we don't send a
signal for (the manager itself).

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

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


# 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


# 8b9b4690 24-Sep-2020 Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>

Make OpenPower specific dump an optional feature

Make all OpenPower dumps as optional feature and should be
enabled in the configuration. System dump is the currently
implemented exa

Make OpenPower specific dump an optional feature

Make all OpenPower dumps as optional feature and should be
enabled in the configuration. System dump is the currently
implemented example of OpenPower dump. BMC dump will be
enabled by default.

To enable
openpower-dumps-extension=enabled

Test:
Tested all existing dump operations using automated
testing.

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

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


# 19ad0e8a 26-Jun-2020 Alexander Filippov <a.filippov@yadro.com>

Fix blocking SIGCHLD

Unblocking the `SIGCHLD` signal before the child process completes
prevents the `callback()` from being ever called.

This commit makes the blocking `SIGCHLD

Fix blocking SIGCHLD

Unblocking the `SIGCHLD` signal before the child process completes
prevents the `callback()` from being ever called.

This commit makes the blocking `SIGCHLD` once for the whole main process
life by moving the corresponding code block to the main().

Tested: `callback()` now called when the child process completes.

Change-Id: I553c683e5dfcbc0b33c72aa2d7b394f689772966
Signed-off-by: Alexander Filippov <a.filippov@yadro.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 ...


# 11eaab7b 19-Oct-2017 Gunnar Mills <gmills@us.ibm.com>

Update Journal Variable Names

Journal entry variable names should be uppercase.
https://www.freedesktop.org/software/systemd/man/sd_journal_print.html

Change-Id: I074955883c6717

Update Journal Variable Names

Journal entry variable names should be uppercase.
https://www.freedesktop.org/software/systemd/man/sd_journal_print.html

Change-Id: I074955883c67173c9720f094d494addb85c85e7a
Signed-off-by: Gunnar Mills <gmills@us.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>


# 43096598 20-Jul-2017 Jayanth Othayoth <ojayanth@in.ibm.com>

Restore dump d-bus objects during daemon starts

Use the dump files in the persistant location to rebuild the
d-bus objects.

Change-Id: Ia7b478649274a4681c802e11be4b2049eeed8e13

Restore dump d-bus objects during daemon starts

Use the dump files in the persistant location to rebuild the
d-bus objects.

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

show more ...


# d3273ead 12-Jul-2017 Jayanth Othayoth <ojayanth@in.ibm.com>

Add support to enable dump collection for core dump

Implemented d-bus internal create function.

Change-Id: I34088d4c084a5a086189f4bc9e84e53a39193501
Signed-off-by: Jayanth Othay

Add support to enable dump collection for core dump

Implemented d-bus internal create function.

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

show more ...


# bcb174bd 02-Jul-2017 Jayanth Othayoth <ojayanth@in.ibm.com>

Add support for user initiated BMC Dump

Added support for creating new dump entry d-bus objects for
user request dump.

Change-Id: I31d2f478418e312e0aa6cc321a885498cf6ec6d6
S

Add support for user initiated BMC Dump

Added support for creating new dump entry d-bus objects for
user request dump.

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

show more ...


# 671fc7f3 14-Jun-2017 Jayanth Othayoth <ojayanth@in.ibm.com>

Add support for generic inotify based directory watch.

Watch a directory for the changes based on user configuration
and then report changes to the user.

Change-Id: I9f53d3135dd

Add support for generic inotify based directory watch.

Watch a directory for the changes based on user configuration
and then report changes to the user.

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

show more ...


# a320c7ca 14-Jun-2017 Jayanth Othayoth <ojayanth@in.ibm.com>

Implementation of create interface.

Both the external and internal Dump managers define "Create"
interfaces. This commit implements these.

Change-Id: If857ec6ea7267fd72e9b420e6b

Implementation of create interface.

Both the external and internal Dump managers define "Create"
interfaces. This commit implements these.

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

show more ...


# 224882b0 04-May-2017 Jayanth Othayoth <ojayanth@in.ibm.com>

Initial commit for Dump.

Added initial version of Dump infrastructre code.

Change-Id: Icd9bc779035d12d2dabd6f49d0d04e9aa060d6c1
Signed-off-by: Jayanth Othayoth <ojayanth@in.ibm.

Initial commit for Dump.

Added initial version of Dump infrastructre code.

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

show more ...