| 14828670 | 03-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 ...
|
| 4775095d | 04-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 ...
|
| f28fcb42 | 31-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 ...
|
| 33c7ee00 | 01-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 ...
|
| 734c41e9 | 02-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 ...
|
| d5442fb4 | 02-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 ...
|
| 4456bbd9 | 02-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 ...
|
| 9bc4e22d | 01-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 ...
|
| 7f3c97f7 | 01-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 ...
|
| ede670e0 | 22-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 ...
|
| 1019e7a7 | 16-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> |
| 6db7a859 | 17-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 ...
|
| cdfa0559 | 09-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 ...
|
| 2a98d0d9 | 18-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 ...
|
| 3fdc4315 | 25-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 ...
|
| 9a5fac9a | 25-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 ...
|
| 73cec52d | 26-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 ...
|
| 218bf911 | 27-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> |
| 94bc05fc | 11-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 ...
|
| 4e0251d1 | 14-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 ...
|
| 07aa6b6c | 25-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 ...
|
| a3e6a48c | 19-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 ...
|
| fa6a47bf | 25-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 ...
|
| 41167a2a | 10-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 ...
|
| d56bab55 | 08-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 ...
|