History log of /openbmc/phosphor-debug-collector/ (Results 1 – 25 of 364)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
1482867003-Nov-2025 Amithash Prasad <amithash@meta.com>

dreport: Add mctp diagnostic dump capability

Add a plugin to handle dumping MCTP state information list routes,
addresses, neighbors and links along with the D-Bus tree of the
MCTP service.

Tested:

dreport: Add mctp diagnostic dump capability

Add a plugin to handle dumping MCTP state information list routes,
addresses, neighbors and links along with the D-Bus tree of the
MCTP service.

Tested: built into an Yosemite4 image (Its a Meta multi-host platform
with a lot of MCTP endpoints so a perfect place to test). Ran dreport
and confirmed that the tarball has the required information.

Change-Id: I7fa486b9d0a8bac043df407bd2c8ff7871de0a4d
Signed-off-by: Amithash Prasad <amithash@meta.com>

show more ...

4775095d04-Nov-2025 Patrick Williams <patrick@stwcx.xyz>

use sdbusplus unpack syntax

Rather than defining a variable and then reading it from a message,
sdbusplus also supports directly unpack-ing from the message. Use
this syntax instead as it is more e

use sdbusplus unpack syntax

Rather than defining a variable and then reading it from a message,
sdbusplus also supports directly unpack-ing from the message. Use
this syntax instead as it is more efficient and succinct.

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

show more ...

f28fcb4231-Oct-2025 Patrick Williams <patrick@stwcx.xyz>

meson.options: make dump-rotate-config kebab-case

Generally, feature options are kebab-case style and all of them
in phosphor-debug-collector are except this one. Adjust it to
match the style.

Sig

meson.options: make dump-rotate-config kebab-case

Generally, feature options are kebab-case style and all of them
in phosphor-debug-collector are except this one. Adjust it to
match the style.

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

show more ...

33c7ee0001-Nov-2025 Patrick Williams <patrick@stwcx.xyz>

beautysh: reformat

Somehow a script got in that doesn't pass the format tools used
in CI. Re-run them and check in the results.

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

beautysh: reformat

Somehow a script got in that doesn't pass the format tools used
in CI. Re-run them and check in the results.

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

show more ...

734c41e902-Oct-2025 Amithash Prasad <amithash@meta.com>

dreport: Add support for multi-chassis BMCs

Add support for BMCs which are capable of managing power to multiple
chassis. This is done by maintaining the same code path supported for
single chassis

dreport: Add support for multi-chassis BMCs

Add support for BMCs which are capable of managing power to multiple
chassis. This is done by maintaining the same code path supported for
single chassis systems and adding a run-time check to detect multiple
chassis.

Tested: built into a Yosemite4 BMC (8-host system) and ran dreport
to and ensured that the tarball contained `chassis0-state.log` to
`chassis8-state.log`.

Change-Id: Id5c2a85a7eae6ecd10dc9f2734c4b0c172f7c831
Signed-off-by: Amithash Prasad <amithash@meta.com>

show more ...

d5442fb402-Oct-2025 Amithash Prasad <amithash@meta.com>

dreport: Fix incorrect use of return in main script body

We can only return from a function and not from the main script. Change
from `return` to `exit`.

Change-Id: Id0226da0498ceccf2db8cf89259546b

dreport: Fix incorrect use of return in main script body

We can only return from a function and not from the main script. Change
from `return` to `exit`.

Change-Id: Id0226da0498ceccf2db8cf89259546b8cb5f9929
Signed-off-by: Amithash Prasad <amithash@meta.com>

show more ...

4456bbd902-Oct-2025 Amithash Prasad <amithash@meta.com>

dreport: Migrate from dbus-send to busctl

Recent versions of openbmc has removed dbus-send in favor of busctl.
This change migrates the shell command to move over to using busctl.

Tested: Tested on

dreport: Migrate from dbus-send to busctl

Recent versions of openbmc has removed dbus-send in favor of busctl.
This change migrates the shell command to move over to using busctl.

Tested: Tested on a yosemite4 host and ensured that the tarball
contained the correct info.

Change-Id: I81c68cd9f69b10c59f0fc30cbee3c36357b81639
Signed-off-by: Amithash Prasad <amithash@meta.com>

show more ...

9bc4e22d01-Oct-2025 Amithash Prasad <amithash@meta.com>

dreport: Add multi-host support for dumping console logs

Dump all files which match the given pattern used by obmc-console.

Tested: Built into a yosemite4 (Multi-host server) and ensured
that the r

dreport: Add multi-host support for dumping console logs

Dump all files which match the given pattern used by obmc-console.

Tested: Built into a yosemite4 (Multi-host server) and ensured
that the resulting tarball contained `obmc-console-host1.log` to
`obmc-console-host8.log` along with the other console dumps.

Change-Id: I3197c052f10c458a72595987eac3acdb713cb27f
Signed-off-by: Amithash Prasad <amithash@meta.com>

show more ...

7f3c97f701-Oct-2025 Amithash Prasad <amithash@meta.com>

dreport: Add support for multi-host BMCs

Extend the current script to dump the current state of as many hosts as
supported on the current BMC. This is done by checking the number of
host-state servi

dreport: Add support for multi-host BMCs

Extend the current script to dump the current state of as many hosts as
supported on the current BMC. This is done by checking the number of
host-state services.

Tested: Run on Yosemite4 a 8-host platform and ensure the dreport
tarball contains host1-state.log to host8-state.log

Change-Id: Ibf8968923043ded237efda74a120d7e41e584f5a
Signed-off-by: Amithash Prasad <amithash@meta.com>

show more ...

ede670e022-Sep-2025 George Liu <liuxiwei@ieisystem.com>

json: format output with 4-space indentation

Use `dump(4)` instead of `dump()` to generate JSON with
4-space indentation, improving readability of written files.

Change-Id: Ida39298a0110d815abc99a1

json: format output with 4-space indentation

Use `dump(4)` instead of `dump()` to generate JSON with
4-space indentation, improving readability of written files.

Change-Id: Ida39298a0110d815abc99a1fbc779f5c9378d139
Signed-off-by: George Liu <liuxiwei@ieisystem.com>

show more ...

1019e7a716-Jul-2025 Amithash Prasad <amithash@meta.com>

Fix typo for log_warning

Fix typo `log_warnig` instead of `log_warning`

Change-Id: I3a3fd8e426b5fcdd4faf2785d6e94240cd7ce9d9
Signed-off-by: Amithash Prasad <amithash@meta.com>

6db7a85917-Jul-2025 William de Abreu Pinho <williamdapinho@gmail.com>

move service files from Yocto layer

This change relocates phosphor-debug-collector service files from
the Yocto layer to the phosphor-debug-collector repository.
It also ensures that non-user execut

move service files from Yocto layer

This change relocates phosphor-debug-collector service files from
the Yocto layer to the phosphor-debug-collector repository.
It also ensures that non-user executables are installed in the libexec.

[1]: https://github.com/openbmc/docs/blob/master/anti-patterns.md#incorrect-placement-of-executables-in-sbin-usrsbin-or-bin-usrbin

Tested:
```
$ find /tmp/phosphor-debug-collector | grep libexec
/tmp/phosphor-debug-collector/usr/local/libexec
/tmp/phosphor-debug-collector/usr/local/libexec/phosphor-debug-collector
/tmp/phosphor-debug-collector/usr/local/libexec/phosphor-debug-collector/phosphor-dump-manager
/tmp/phosphor-debug-collector/usr/local/libexec/phosphor-debug-collector/phosphor-dump-monitor
/tmp/phosphor-debug-collector/usr/local/libexec/phosphor-debug-collector/phosphor-ramoops-monitor
$ find /tmp/phosphor-debug-collector | grep service
/tmp/phosphor-debug-collector/usr/lib/systemd/system/obmc-dump-monitor.service
/tmp/phosphor-debug-collector/usr/lib/systemd/system/ramoops-monitor.service
/tmp/phosphor-debug-collector/usr/lib/systemd/system/xyz.openbmc_project.Dump.Manager.service
```
Booted image in qemu:
```
root@bmc:~# ls -l /usr/libexec/phosphor-debug-collector/
-rwxr-xr-x 1 root root 367700 Mar 9 2018 phosphor-dump-manager
-rwxr-xr-x 1 root root 34452 Mar 9 2018 phosphor-dump-monitor
-rwxr-xr-x 1 root root 26200 Mar 9 2018 phosphor-ramoops-monitor
root@bmc:~# systemctl status xyz.openbmc_project.Dump.Manager.service
* xyz.openbmc_project.Dump.Manager.service - Phosphor Dump Manager
Loaded: loaded (/usr/lib/systemd/system/xyz.openbmc_project.Dump.Manager.service; enabled; preset: enabled)
Active: active (running) since Thu 2024-12-19 13:27:21 PST; 7 months 15 days ago
Invocation: 8ff137acc50f4d8299b5d999b886896d
Process: 374 ExecStartPre=/bin/sh -c mkdir -p /var/lib/phosphor-debug-collector/dumps (code=exited, status=0/SUCCESS)
Main PID: 479 (phosphor-dump-m)
Tasks: 1 (limit: 4102)
Memory: 1.5M (peak: 16.2M)
CPU: 1min 58.037s
CGroup: /system.slice/xyz.openbmc_project.Dump.Manager.service
`-479 /usr/libexec/phosphor-debug-collector/phosphor-dump-manager

Aug 05 04:33:35 bmc phosphor-dump-manager[479]: Initiating new BMC dump with type: core path: /var/lib/systemd/coredump/core.devmem.0.0b7096e8ddc54ce9a7...3000000.zst
Aug 05 04:33:40 bmc phosphor-dump-manager[2926]: cp: can't stat '/var/lib/systemd/coredump/core.devmem.0.0b7096e8ddc54ce9a7799c4d23eea94a.2881.175439361...r directory
Aug 05 04:33:58 bmc phosphor-dump-manager[2887]: Tue Aug 5 11:33:58 UTC 2025 Report is available in /var/lib/phosphor-debug-collector/dumps/6
Aug 05 04:33:59 bmc phosphor-dump-manager[2887]: Tue Aug 5 11:33:59 UTC 2025 Successfully completed
Aug 05 04:35:41 bmc phosphor-dump-manager[479]: OriginatorId is not provided
Aug 05 04:35:41 bmc phosphor-dump-manager[479]: OriginatorType is not provided. Replacing the string with the default value
Aug 05 04:35:41 bmc phosphor-dump-manager[479]: Initiating new BMC dump with type: core path: /var/lib/systemd/coredump/core.devmem.0.0b7096e8ddc54ce9a7...9000000.zst
Aug 05 04:35:46 bmc phosphor-dump-manager[3322]: cp: can't stat '/var/lib/systemd/coredump/core.devmem.0.0b7096e8ddc54ce9a7799c4d23eea94a.3278.175439373...r directory
Aug 05 04:36:10 bmc phosphor-dump-manager[3284]: Tue Aug 5 11:36:10 UTC 2025 Report is available in /var/lib/phosphor-debug-collector/dumps/7
Aug 05 04:36:11 bmc phosphor-dump-manager[3284]: Tue Aug 5 11:36:11 UTC 2025 Successfully completed
Hint: Some lines were ellipsized, use -l to show in full.
root@bmc:~# systemctl status obmc-dump-monitor.service
* obmc-dump-monitor.service - Phosphor Dump core monitor.
Loaded: loaded (/usr/lib/systemd/system/obmc-dump-monitor.service; enabled; preset: enabled)
Active: active (running) since Thu 2024-12-19 13:26:44 PST; 7 months 15 days ago
Invocation: eeeb2b3224f54287995e8bd9a022d255
Main PID: 350 (phosphor-dump-m)
Tasks: 1 (limit: 4102)
Memory: 276K (peak: 800K)
CPU: 650ms
CGroup: /system.slice/obmc-dump-monitor.service
`-350 /usr/libexec/phosphor-debug-collector/phosphor-dump-monitor

Dec 19 13:26:44 bmc systemd[1]: Started Phosphor Dump core monitor..
root@bmc:~# systemctl status ramoops-monitor.service
* ramoops-monitor.service - Ramoops monitor.
Loaded: loaded (/usr/lib/systemd/system/ramoops-monitor.service; enabled; preset: enabled)
Active: inactive (dead)
Condition: start condition unmet at Thu 2024-12-19 13:27:39 PST; 7 months 15 days ago
`- ConditionPathExistsGlob=/var/lib/systemd/pstore/dmesg-ramoops-* was not met

Dec 19 13:27:39 bmc systemd[1]: Ramoops monitor. was skipped because of an unmet condition check (ConditionPathExistsGlob=/var/lib/systemd/pstore/dmesg-ramoops-*).
```

Change-Id: I23b67ac5651569cc2cefaa29f421bc42c3965741
Signed-off-by: William de Abreu Pinho <williamdapinho@gmail.com>

show more ...

cdfa055909-Jul-2025 George Liu <liuxiwei@ieisystem.com>

meson: fix meson warning

Resolve the following:

```
WARNING: You should add the boolean check kwarg to the run_command call.
It currently defaults to false,
but it will default to

meson: fix meson warning

Resolve the following:

```
WARNING: You should add the boolean check kwarg to the run_command call.
It currently defaults to false,
but it will default to true in meson 2.0.
```

This commit does as meson recommends, and adds check: true to all
run_command calls, which will be the default.

Change-Id: I9a4852518130d07745ef29bca86cac28efc34ee0
Signed-off-by: George Liu <liuxiwei@ieisystem.com>

show more ...

2a98d0d918-Jun-2025 Lei YU <yulei.sh@bytedance.com>

Fix clang-tidy linter and format issues

openbmc-build-scripts introduces clang-tidy-config linter.
Also fix the issues found by clang-tidy.

Change-Id: Ia37f740b110d0aca53e7608db03f12065468e3fb
Sign

Fix clang-tidy linter and format issues

openbmc-build-scripts introduces clang-tidy-config linter.
Also fix the issues found by clang-tidy.

Change-Id: Ia37f740b110d0aca53e7608db03f12065468e3fb
Signed-off-by: Lei YU <yulei.sh@bytedance.com>

show more ...

3fdc431525-Mar-2025 Deepak Kamat <dkamat@nvidia.com>

Dreport: Add D-Bus Information Collection

Add functionality to collect D-Bus service
information as part of the debug data
collection process. The new file will gather:

dbuslist: A comprehensive li

Dreport: Add D-Bus Information Collection

Add functionality to collect D-Bus service
information as part of the debug data
collection process. The new file will gather:

dbuslist: A comprehensive list of D-Bus services,
objects, and interfaces currently active on the
system

Including this information in debug reports will
enhance troubleshooting capabilities for D-Bus
related issues in OpenBMC based systems. It
provides a snapshot of the system's D-Bus config
and usage at the time of report generation.

These additions will help identify potential
D-Bus communication bottlenecks, unexpected
service behaviors, and assist in diagnosing
issues related to sensor data retrieval,
system management interfaces, and inter-process
communication on the BMC.

Tested on qemuarm.

'''
Dump size: 17K
Untar Dump Size: 220K
Added File Size: 12k
Time for the Dump Completion: 24 sec
Time for the command to run: 0.254s

root@qemuarm:~# time busctl -l
[1] xyz.openbmc_project.User.Manager 228 phosphor-user-m root :1.24 xyz.openbmc_project.User.Manager.service - -
[2] xyz.openbmc_project.bmcweb 168 bmcwebd root :1.5 bmcweb.service - -

real 0m0.254s
user 0m0.069s
sys 0m0.128s

Tested a negative case by making the health monitor stuck by making the service in sleep
by adding this in the service

[Service]
ExecStartPost=/bin/sleep infinity

Initial prints service was active

root@qemuarm:~# systemctl status phosphor-health-monitor.service
* phosphor-health-monitor.service - BMC health monitoring
[3] Loaded: loaded (/usr/lib/systemd/system/phosphor-health-monitor.service; enabled; preset: enabled)
[4] Active: active (running) since Wed 2025-04-02 02:53:33 UTC; 4min 4s ago
Invocation: e1970ecf1dc84167aa5489ef7ba09c56
Main PID: 177 (health-monitor)
Tasks: 2 (limit: 553)
Memory: 828K (peak: 1M)
CPU: 2.097s
CGroup: /system.slice/phosphor-health-monitor.service
`-177 /usr/bin/health-monitor

Make the service sleep and created hung like service scenario.

root@qemuarm:~# systemctl status phosphor-health-monitor.service
* phosphor-health-monitor.service - BMC health monitoring
[5] Loaded: loaded (/usr/lib/systemd/system/phosphor-health-monitor.service; enabled; preset: enabled)
[6] Active: activating (start-post) since Wed 2025-04-02 03:04:21 UTC; 13s ago
Job: 548
Invocation: 132ed98c6ba24f519e20f1feb2e03ecf
Main PID: 369 (health-monitor); Control PID: 370 (sleep)
Tasks: 3 (limit: 553)
Memory: 576K (peak: 1.2M)
CPU: 367ms
CGroup: /system.slice/phosphor-health-monitor.service
|-369 /usr/bin/health-monitor
`-370 /bin/sleep infinity

Took the dump while service is hung.

[7] root@qemuarm:~# busctl call xyz.openbmc_project.Dump.Manager /xyz/openbmc_project/dump/bmc xyz.openbmc_project.Dump.Create CreateDump a{sv} 1 "i" i 1234
root@qemuarm:~# journalctl -u xyz.openbmc_project.Dump.Manager
...
[8] Apr 02 03:05:08 qemuarm phosphor-dump-manager[212]: OriginatorId is not provided
...
[9] Apr 02 03:05:32 qemuarm phosphor-dump-manager[375]: Wed Apr 2 03:05:32 UTC 2025 Successfully completed
[10] Apr 02 03:05:32 qemuarm phosphor-dump-manager[212]: User initiated dump completed, resetting flag

Dump was successful, downloaded the dump and checked for the dbus-list file.

ls -lrth obmcdump_4_1743563108/
total 220K
-rw-r--r-- 1 dkamat domain-users 219 Apr 2 08:35 summary.log
-rw-r--r-- 1 dkamat domain-users 950 Apr 2 08:35 disk-usage.log

ls -lrth obmcdump_4_1743563108/dbus-list.log
12K Apr 2 08:35 obmcdump_4_1743563108/dbus-list.log

cat obmcdump_4_1743563108/dbus-list.log | grep -i health
[11] :1.47 369 health-monitor root :1.47 phosphor-health-monitor.service - -
[12] xyz.openbmc_project.HealthMon 369 health-monitor root :1.47 phosphor-health-monitor.service - -
'''

Change-Id: I1fd2f1970a79903a800e454ff9592c3d1a6b1eff
Signed-off-by: Deepak Kamat <dkamat@nvidia.com>

show more ...

9a5fac9a25-Mar-2025 Deepak Kamat <dkamat@nvidia.com>

Dreport: Add SoftIRQ Information Collection

Add functionality to collect softIRQ statistics as part of the debug
data collection process. The new file will contain:

- softIRQs: Software interrupt s

Dreport: Add SoftIRQ Information Collection

Add functionality to collect softIRQ statistics as part of the debug
data collection process. The new file will contain:

- softIRQs: Software interrupt statistics including counts and
processing details

Including this information in debug reports will enhance
troubleshooting capabilities for system performance and resource
utilization in OpenBMC based systems. It provides a snapshot of
software interrupt processing activity at the time of report generation.

This addition will help identify potential bottlenecks and excessive
softIRQ activity that may impact system performance or stability,
particularly for network stack processing, timers, and tasklet
execution analysis.

Tested on the qemuarm platform.

'''
Dump size: 82k
Untar Dump Size: 936K
Added File Size: 282 bytes
Time for the Dump Completion: 15sec
Time for the command to run: 0.038s

Data can be used like
Network Analysis (NET_RX/NET_TX)
NET_RX: 170 suggests:
170 packets received via network interfaces during collection
Potential issues if:
Counts increase without traffic
Asymmetry between NET_RX and actual received packets (ifconfig/ethtool)

root@qemuarm:~# busctl call xyz.openbmc_project.Dump.Manager /xyz/openbmc_project/dump/bmc xyz.openbmc_project.Dump.Create CreateDump a{sv} 1 "i" i 1234

root@qemuarm:~# journalctl -f -u xyz.openbmc_project.Dump.Manager
...
Mar 26 04:09:34 qemuarm phosphor-dump-manager[220]: OriginatorId is not provided
Mar 26 04:09:34 qemuarm phosphor-dump-manager[220]: OriginatorType is not provided. Replacing the string with the default value
Mar 26 04:09:34 qemuarm phosphor-dump-manager[220]: Initiating new BMC dump with type: user path:
...
Mar 26 04:09:49 qemuarm phosphor-dump-manager[304]: Wed Mar 26 04:09:49 UTC 2025 Report is available in /var/lib/phosphor-debug-collector/dumps/1
Mar 26 04:09:49 qemuarm phosphor-dump-manager[304]: Wed Mar 26 04:09:49 UTC 2025 Successfully completed
Mar 26 04:09:49 qemuarm phosphor-dump-manager[220]: User initiated dump completed, resetting flag

root@qemuarm:~# time cat /proc/softirqs
...
real 0m0.038s
user 0m0.021s
sys 0m0.002s
root@qemuarm:~#

ls -lrth obmcdump_1_1742962174.tar.xz
-rw-r--r-- 1 dkamat domain-users 82K Mar 26 10:16 obmcdump_1_1742962174.tar.xz

ls -lrth obmcdump_1_1742962174/
total 936K
-rw-r--r-- 1 dkamat domain-users 223 Mar 26 09:39 summary.log
...
-rw-r--r-- 1 dkamat domain-users 282 Mar 26 09:39 softIRQs.log

cat obmcdump_1_1742962174/softIRQs.log | head
CPU0
HI: 0
TIMER: 4457
NET_TX: 3
NET_RX: 170
BLOCK: 0
IRQ_POLL: 0
TASKLET: 1
SCHED: 0
HRTIMER: 0
'''

Change-Id: I154e9a4ddfad4099ea57d31fb689ac9eefdda8e7
Signed-off-by: Deepak Kamat <dkamat@nvidia.com>

show more ...

73cec52d26-Mar-2025 Deepak Kamat <dkamat@nvidia.com>

Dreport: Add D-Bus Statistics Collection

Add functionality to collect statistical information about
D-Bus usage as part of the debug data collection process.

Including this information in debug rep

Dreport: Add D-Bus Statistics Collection

Add functionality to collect statistical information about
D-Bus usage as part of the debug data collection process.

Including this information in debug reports will enhance
troubleshooting capabilities for D-Bus related issues in
OpenBMC-based systems. It provides a snapshot of D-Bus
activity and performance at the time of report generation.

This addition will help identify potential communication
bottlenecks, unexpected service behaviors, and performance
issues related to inter-process communication, system
management interfaces, and sensor data retrieval.

Tested on qemuarm.

'''
Dump size: 76k
Untar Dump Size: 916K
Added File Size: 79K
Time for the Dump Completion: 15 sec
Time for the command to run: 0.260s

[1] root@qemuarm:~# time dbus-send --system --dest=org.freedesktop.DBus --type=method_call --print-reply /org/freedesktop/DBus org.freedesktop.DBus.Debug.Stats.GetStats
real 0m0.260s
user 0m0.049s
sys 0m0.204s

High OutgoingBytes:
While all connections show 0 in the given data, a connection
with consistently high OutgoingBytes might suggest a blocked
receiver or network issues.

Rapidly Increasing NameObjects:
If a connection's NameObjects count grows quickly over time,
it may indicate a resource leak.

Mismatched IncomingBytes and OutgoingBytes:
Large discrepancies between these values across multiple
connections could suggest communication issues.

High Number of Connections:
An unusually high number of active connections
(the log shows 33) might indicate connection leaks
or denial-of-service attempts.

[2] root@qemuarm:~# busctl call xyz.openbmc_project.Dump.Manager /xyz/openbmc_project/dump/bmc xyz.openbmc_project.Dump.Create CreateDump a{sv} 1 "i" i 1234

...
[3] Mar 26 11:14:45 qemuarm phosphor-dump-manager[223]: Initiating new BMC dump with type: user path:
...
[4] Mar 26 11:15:00 qemuarm phosphor-dump-manager[305]: Wed Mar 26 11:15:00 UTC 2025 Successfully completed
[5] Mar 26 11:15:00 qemuarm phosphor-dump-manager[223]: User initiated dump completed, resetting flag

ls -lrth obmcdump_1_1742987685
total 916K
...
-rw-r--r-- 1 dkamat domain-users 79K Mar 26 16:44 dbusstats.log
...

ls -lrth obmcdump_1_1742987685/dbusstats.log
domain-users 79K Mar 26 16:44 obmcdump_1_1742987685/dbusstats.log
cat obmcdump_1_1742987685/dbusstats.log | -n 10
...
array [
dict entry(
string "NameObjects"
uint32 0
)
dict entry(
string "MatchBytes"
uint32 6150
)
dict entry(
string "Matches"
uint32 8
)
dict entry(
string "ReplyObjects"
uint32 0
)
dict entry(
string "IncomingBytes"
uint32 16
)
dict entry(
string "IncomingFds"
uint32 0
)
dict entry(
string "OutgoingBytes"
uint32 0
)
dict entry(
string "OutgoingFds"
uint32 0
)
dict entry(
string "ActivationRequestBytes"
uint32
)
dict entry(
string "ActivationRequestFds"
uint32 0
)
]
}
'''

Change-Id: I37d93f1a6a55c306cd3a05e7319c99413353aa98
Signed-off-by: Deepak Kamat <dkamat@nvidia.com>

show more ...

218bf91127-Mar-2025 Matt Spinler <spinler@us.ibm.com>

Fix typo in dreport README

BMC dump type 3 is an elog dump.

Change-Id: I06de1df944e0bc899eb03c33da3a09454a71c572
Signed-off-by: Matt Spinler <spinler@us.ibm.com>

94bc05fc11-Jun-2024 Gopichand Paturi <gopichandpaturi@gmail.com>

dreport: Remove IBM and OpenPower plugin dump scripts

IBM and OpenPower plugins are being moved to openpower-debug-collector
repository. So these scripts can be removed from here.

Recipe changes to

dreport: Remove IBM and OpenPower plugin dump scripts

IBM and OpenPower plugins are being moved to openpower-debug-collector
repository. So these scripts can be removed from here.

Recipe changes to remove installation of these scripts from this
repository.https://gerrit.openbmc.org/c/openbmc/openbmc/+/71687/

Tested:
Verified that scripts are getting installed correctly from
openpower-debug-collector instead of this repo.

Change-Id: Ie9b2bbfc6ec94aa27f49d635be40ec41ecf95763
Signed-off-by: Gopichand Paturi <gopichandpaturi@gmail.com>

show more ...


4e0251d114-Oct-2022 Zami Seck <zimzam17@gmail.com>

dreport: Add audit.log Data to Dump

Add all /var/log/audit/audit.log files to BMC dumps. This
file contains a log of the events that occurred and who initiated
them.

Tested:
```
BMCDUMP$ ls -la aud

dreport: Add audit.log Data to Dump

Add all /var/log/audit/audit.log files to BMC dumps. This
file contains a log of the events that occurred and who initiated
them.

Tested:
```
BMCDUMP$ ls -la audit-log.log
-rw-r--r-- 1 xxxx xxxx 3993 Sep 19 10:59 audit-log.log

$ tar -tvf $DUMPFILE | grep audit

drwx------ root/root 0 2023-03-22 14:07 BMCDUMP.SIMP10R.00000000.20230322190714/audit/

-rw------- root/root 1729455 2023-03-22 14:07 BMCDUMP.SIMP10R.00000000.20230322190714/audit/audit.log

-r-------- root/root 2097279 2023-03-22 14:07 BMCDUMP.SIMP10R.00000000.20230322190714/audit/audit.log.3

-r-------- root/root 2097160 2023-03-22 14:07 BMCDUMP.SIMP10R.00000000.20230322190714/audit/audit.log.2

-r-------- root/root 2097227 2023-03-22 14:07 BMCDUMP.SIMP10R.00000000.20230322190714/audit/audit.log.1
```

Change-Id: I8e36edeca9ad40f8ddc02becf3a9246e0989d72a
Signed-off-by: Janet Adkins <janeta@us.ibm.com>
Signed-off-by: Gopichand Paturi <gopichandpaturi@gmail.com>

show more ...

07aa6b6c25-Mar-2025 Deepak Kamat <dkamat@nvidia.com>

Dreport: Add Kernel Command Line Info

Add functionality to collect kernel command line
information as part of the debug data collection
process. The new plugin retrieves data from
/proc/cmdline, whi

Dreport: Add Kernel Command Line Info

Add functionality to collect kernel command line
information as part of the debug data collection
process. The new plugin retrieves data from
/proc/cmdline, which contains the kernel parameters
passed during boot.

Including this information in debug reports will
enhance troubleshooting capabilities for system
boot and configuration issues in OpenBMC-based
systems. It provides a snapshot of the kernel's
runtime parameters, which can help identify
misconfigurations or diagnose boot-related
problems.

Tested on qemuarm platform.

'''
Kernel cmdline: console=ttyAMA0 root=/dev/vda rw
Enables serial console debugging
Specifies root filesystem location
Mounts root in read-write mode

[1] busctl call xyz.openbmc_project.Dump.Manager /xyz/openbmc_project/dump/bmc xyz.openbmc_project.Dump.Create CreateDump a{sv} 1 "i" i 1234

tar -xvf obmcdump_1_1742903558.tar.xz
obmcdump_1_1742903558/
obmcdump_1_1742903558/summary.log
...
obmcdump_1_1742903558/kernalcmdline.log
...

cat obmcdump_1_1742903558/kernalcmdline.log | head
console=ttyAMA0 root=/dev/vda rw
'''

Change-Id: I71177a2d3ff7b9b80ce11eb22ef01434c6ecd686
Signed-off-by: Deepak Kamat <dkamat@nvidia.com>

show more ...

a3e6a48c19-Mar-2025 Deepak Kamat <dkamat@nvidia.com>

Dreport: Add Mount Information File Collection

Add functionality to collect system mount information as part of the
debug data collection process. The mount info file contains details
about all moun

Dreport: Add Mount Information File Collection

Add functionality to collect system mount information as part of the
debug data collection process. The mount info file contains details
about all mounted filesystems including mount points, filesystem
types, and mount options.

Including mount information in debug reports will help with
troubleshooting filesystem and storage related issues in OpenBMC
based systems by providing a snapshot of the system's mount
configuration at the time of report generation.

Tested on the qemuarm platform.

'''
busctl call xyz.openbmc_project.Dump.Manager /xyz/openbmc_project/dump/bmc xyz.openbmc_project.Dump.Create CreateDump a{sv} 1 "i" i 1234

root@qemuarm:~# journalctl -f -u xyz.openbmc_project.Dump.Manager.service
...
Mar 20 07:22:10 qemuarm phosphor-dump-manager[367]: Thu Mar 20 07:22:10 UTC 2025 Report is available in /var/lib/phosphor-debug-collector/dumps/1
Mar 20 07:22:10 qemuarm phosphor-dump-manager[367]: Thu Mar 20 07:22:10 UTC 2025 Successfully completed
Mar 20 07:22:10 qemuarm phosphor-dump-manager[223]: User initiated dump completed, resetting flag

root@qemuarm:~# ls /var/lib/phosphor-debug-collector/dumps/1/obmcdump_1_1742479997.tar.xz
/var/lib/phosphor-debug-collector/dumps/1/obmcdump_1_1742479997.tar.xz

tar -xvf obmcdump_1_1742479997.tar.xz
obmcdump_1_1742479997/
obmcdump_1_1742479997/summary.log
...
obmcdump_1_1742479997/mountinfo.log
...

cat obmcdump_1_1742479997/mountinfo.log
/dev/vda on / type ext4 (rw,relatime)
devtmpfs on /dev type devtmpfs (rw,relatime,size=118004k,nr_inodes=29501,mode=755)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,relatime,gid=5,mode=620,ptmxmode=666)
tmpfs on /run type tmpfs (rw,nosuid,nodev,size=47612k,nr_inodes=819200,mode=755)
cgroup2 on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot)
bpf on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,relatime,mode=700)
mqueue on /dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,nosuid,nodev,noexec,relatime)
tracefs on /sys/kernel/tracing type tracefs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,size=119032k,nr_inodes=1048576)
tmpfs on /run/credentials/systemd-journald.service type tmpfs (ro,nosuid,nodev,noexec,relatime,nosymfollow,size=1024k,nr_inodes=1024,mode=700,noswap)
tmpfs on /run/credentials/systemd-resolved.service type tmpfs (ro,nosuid,nodev,noexec,relatime,nosymfollow,size=1024k,nr_inodes=1024,mode=700,noswap)
tmpfs on /var/volatile type tmpfs (rw,relatime)
tmpfs on /run/credentials/systemd-networkd.service type tmpfs (ro,nosuid,nodev,noexec,relatime,nosymfollow,size=1024k,nr_inodes=1024,mode=700,noswap)
tracefs on /sys/kernel/debug/tracing type tracefs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /run/credentials/getty@tty1.service type tmpfs (ro,nosuid,nodev,noexec,relatime,nosymfollow,size=1024k,nr_inodes=1024,mode=700,noswap)
'''

Change-Id: I4e8fc3c8ba5a8ec40ec91256e0a2e7390e915be9
Signed-off-by: Deepak Kamat <dkamat@nvidia.com>

show more ...

fa6a47bf25-Mar-2024 Jian Zhang <zhangjian.3032@bytedance.com>

watch: fix memory leak in Watch class

See systemd manunal[0],
```
If the second parameter of sd_event_add_io() is NULL no reference to
the event source object is returned. In this case the event sou

watch: fix memory leak in Watch class

See systemd manunal[0],
```
If the second parameter of sd_event_add_io() is NULL no reference to
the event source object is returned. In this case the event source is
considered "floating", and will be destroyed implicitly when the event
loop itself is destroyed.
```

The Watch class should release the event source object when destructing
the Watch object.

Tested:
1. Run CreateDump Stress Test
```
while true; do busctl call xyz.openbmc_project.Dump.Manager /xyz/openbmc_project/dump/bmc xyz.openbmc_project.Dump.Create CreateDump a{sv} 0; sleep 200; done

```
2. run the command to monitor the memory heap size of dump-manager,
and no memory leak found.
~# watch -n 10 "cat /proc/[PID]/smaps | grep heap -A 4 | grep ^Rss"

[0]: https://www.freedesktop.org/software/systemd/man/latest/sd_event_add_io.html

Change-Id: I530bda40a7a7307ee87f03a24c242dde4eae2b14
Signed-off-by: Jian Zhang <zhangjian.3032@bytedance.com>

show more ...

41167a2a10-Dec-2024 Jian Zhang <zhangjian.3032@bytedance.com>

dreport: collecting all namespace journal logs

For BMCs that support multiple namespaces to manage logs, add the
--namespace=* option to the journalctl command to collect all logs.

refer to systemd

dreport: collecting all namespace journal logs

For BMCs that support multiple namespaces to manage logs, add the
--namespace=* option to the journalctl command to collect all logs.

refer to systemd-journald.service.html[0].

Tested:
1. Prepare a namespace configuration, to isolate logs (in general for
the third-party code, like silicon vendor, etc), avoid too many
unexpected to noise the system.
```
~# cp /etc/systemd/journald.conf /etc/systemd/journald@intel.conf
~# mkdir -p /etc/systemd/system/com.intel.crashdump.service.d
~# echo "[Service]" > /etc/systemd/system/com.intel.crashdump.service.d/override.conf
~# echo "LogNamespace=intel" >> /etc/systemd/system/com.intel.crashdump.service.d/override.conf
~# reboot # or restart systemd-journald, and daemon-reload
````

2. using journalctl vs journalctl --namespace=*
```
~# journalctl -u com.intel.crashdump.service
Dec 10 16:56:49 xxx systemd[1]: Starting Intel BMC CPU Crashdump...
Dec 10 16:56:55 xxx systemd[1]: Started Intel BMC CPU Crashdump.
```

```
~# journalctl --namespace=*
Dec 10 16:56:49 xxx systemd[1]: Starting Intel BMC CPU Crashdump...
Dec 10 16:56:55 xxx systemd[1]: Started Intel BMC CPU Crashdump.
Dec 10 16:56:57 xxx crashdump[258]: Crashdump version: ....
Dec 10 16:56:57 xxx crashdump[258]: Initializing crashdump...
....
```

3. After this change, check the journal logs, and the journal logs
should be collect the logs from all namespaces.
```
cat journal-pretty.log| ag "Initializing crashdump"
"MESSAGE" : "Initializing crashdump...",
```

[0]: https://www.freedesktop.org/software/systemd/man/latest/systemd-journald.service.html#Journal%20Namespaces

Change-Id: I70f33eb6119cbe041bb0dc2aac527e02d8f5e757
Signed-off-by: Jian Zhang <zhangjian.3032@bytedance.com>

show more ...

d56bab5508-Aug-2024 Jian Zhang <zhangjian.3032@bytedance.com>

dreport: fix procfd missing

During the execution of 'ls -Al /proc/*/fd/ 2> /dev/null', some
processes may stop, like `while true; do echo "Hello" > /dev/null; done`

Causing the ls cmd to fail, and

dreport: fix procfd missing

During the execution of 'ls -Al /proc/*/fd/ 2> /dev/null', some
processes may stop, like `while true; do echo "Hello" > /dev/null; done`

Causing the ls cmd to fail, and as a result, the procfs.log will not be
collected in the dump log.

So ensure ls procfd returns success.

Tested:
1. Run `while true; do echo "Hello" > /dev/null; done` in the
background.

2. Run `set -e; while true; do ls -Al /proc/*/fd/ 2> /dev/null
|| true; done`, the command will not stop
(before the fix, the command will stop quickly).

Change-Id: I1f4e8fda000f303fd579825e0a94efdba5a097eb
Signed-off-by: Jian Zhang <zhangjian.3032@bytedance.com>

show more ...

12345678910>>...15