Activity log for bug #1931847

Date Who What changed Old value New value Message
2021-06-14 09:27:34 yannek bug added bug
2021-06-14 09:29:13 yannek description When using ras-mc-ctl the script from the current package 0.6.5-1ubuntu1.1 gives an SQL-Error. $ ras-mc-ctl --summary --snip-- No Memory errors. No PCIe AER errors. No Extlog errors. DBD::SQLite::db prepare failed: no such table: devlink_event at /usr/sbin/ras-mc-ctl line 1181. Can't call method "execute" on an undefined value at /usr/sbin/ras-mc-ctl line 1182. --snap-- Upstream has this error fixed, as documented in: https://github.com/mchehab/rasdaemon/pull/35 When using the script patched as indicated I get no ras-mc-ctl errors but proper reports. The system is an 20.04.2 install. When using ras-mc-ctl the script from the current package 0.6.5-1ubuntu1.1 gives an SQL-Error. $ ras-mc-ctl --summary --snip-- No Memory errors. No PCIe AER errors. No Extlog errors. DBD::SQLite::db prepare failed: no such table: devlink_event at /usr/sbin/ras-mc-ctl line 1181. Can't call method "execute" on an undefined value at /usr/sbin/ras-mc-ctl line 1182. --snap-- Upstream has this error fixed, as documented in: https://github.com/mchehab/rasdaemon/pull/35 When using the script patched as indicated I get no ras-mc-ctl errors but proper reports.
2021-06-14 09:29:32 yannek description The system is an 20.04.2 install. When using ras-mc-ctl the script from the current package 0.6.5-1ubuntu1.1 gives an SQL-Error. $ ras-mc-ctl --summary --snip-- No Memory errors. No PCIe AER errors. No Extlog errors. DBD::SQLite::db prepare failed: no such table: devlink_event at /usr/sbin/ras-mc-ctl line 1181. Can't call method "execute" on an undefined value at /usr/sbin/ras-mc-ctl line 1182. --snap-- Upstream has this error fixed, as documented in: https://github.com/mchehab/rasdaemon/pull/35 When using the script patched as indicated I get no ras-mc-ctl errors but proper reports. The system is a 20.04.2 install. When using ras-mc-ctl the script from the current package 0.6.5-1ubuntu1.1 gives an SQL-Error. $ ras-mc-ctl --summary --snip-- No Memory errors. No PCIe AER errors. No Extlog errors. DBD::SQLite::db prepare failed: no such table: devlink_event at /usr/sbin/ras-mc-ctl line 1181. Can't call method "execute" on an undefined value at /usr/sbin/ras-mc-ctl line 1182. --snap-- Upstream has this error fixed, as documented in: https://github.com/mchehab/rasdaemon/pull/35 When using the script patched as indicated I get no ras-mc-ctl errors but proper reports.
2021-06-14 09:29:54 yannek description The system is a 20.04.2 install. When using ras-mc-ctl the script from the current package 0.6.5-1ubuntu1.1 gives an SQL-Error. $ ras-mc-ctl --summary --snip-- No Memory errors. No PCIe AER errors. No Extlog errors. DBD::SQLite::db prepare failed: no such table: devlink_event at /usr/sbin/ras-mc-ctl line 1181. Can't call method "execute" on an undefined value at /usr/sbin/ras-mc-ctl line 1182. --snap-- Upstream has this error fixed, as documented in: https://github.com/mchehab/rasdaemon/pull/35 When using the script patched as indicated I get no ras-mc-ctl errors but proper reports. The system is a 20.04.2 install. When using ras-mc-ctl the script from the current package rasdaemon-0.6.5-1ubuntu1.1 gives an SQL-Error. $ ras-mc-ctl --summary --snip-- No Memory errors. No PCIe AER errors. No Extlog errors. DBD::SQLite::db prepare failed: no such table: devlink_event at /usr/sbin/ras-mc-ctl line 1181. Can't call method "execute" on an undefined value at /usr/sbin/ras-mc-ctl line 1182. --snap-- Upstream has this error fixed, as documented in: https://github.com/mchehab/rasdaemon/pull/35 When using the script patched as indicated I get no ras-mc-ctl errors but proper reports.
2021-06-15 04:23:39 Kai-Heng Feng affects linux (Ubuntu) ras (Ubuntu)
2021-06-15 04:25:17 Kai-Heng Feng affects ras (Ubuntu) rasdaemon (Ubuntu)
2021-09-15 07:17:46 Launchpad Janitor rasdaemon (Ubuntu): status New Confirmed
2021-09-15 07:18:41 Niklas Edmundsson bug added subscriber Niklas Edmundsson
2021-09-22 13:28:24 Patrik Lundquist bug watch added https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=973053
2021-09-22 13:28:24 Patrik Lundquist bug task added rasdaemon (Debian)
2021-09-22 13:31:19 Patrik Lundquist tags focal hirsute impish
2021-09-22 14:11:05 Bug Watch Updater rasdaemon (Debian): status Unknown New
2022-03-01 08:50:24 Bug Watch Updater rasdaemon (Debian): status New Fix Released
2022-09-01 12:21:02 Patrik Lundquist tags focal hirsute impish focal hirsute impish patch
2023-09-21 22:16:09 Matthew Ruffell nominated for series Ubuntu Focal
2023-09-21 22:16:09 Matthew Ruffell bug task added rasdaemon (Ubuntu Focal)
2023-09-21 22:16:09 Matthew Ruffell nominated for series Ubuntu Bionic
2023-09-21 22:16:09 Matthew Ruffell bug task added rasdaemon (Ubuntu Bionic)
2023-09-21 22:16:15 Matthew Ruffell rasdaemon (Ubuntu): status Confirmed Fix Released
2023-09-21 22:16:19 Matthew Ruffell rasdaemon (Ubuntu Bionic): status New In Progress
2023-09-21 22:16:21 Matthew Ruffell rasdaemon (Ubuntu Focal): status New In Progress
2023-09-21 22:16:24 Matthew Ruffell rasdaemon (Ubuntu Bionic): importance Undecided Medium
2023-09-21 22:16:25 Matthew Ruffell rasdaemon (Ubuntu Focal): importance Undecided Medium
2023-09-21 22:16:28 Matthew Ruffell rasdaemon (Ubuntu Bionic): assignee Matthew Ruffell (mruffell)
2023-09-21 22:16:30 Matthew Ruffell rasdaemon (Ubuntu Focal): assignee Matthew Ruffell (mruffell)
2023-09-22 00:46:09 Matthew Ruffell bug task deleted rasdaemon (Ubuntu Bionic)
2023-09-22 02:02:24 Matthew Ruffell description The system is a 20.04.2 install. When using ras-mc-ctl the script from the current package rasdaemon-0.6.5-1ubuntu1.1 gives an SQL-Error. $ ras-mc-ctl --summary --snip-- No Memory errors. No PCIe AER errors. No Extlog errors. DBD::SQLite::db prepare failed: no such table: devlink_event at /usr/sbin/ras-mc-ctl line 1181. Can't call method "execute" on an undefined value at /usr/sbin/ras-mc-ctl line 1182. --snap-- Upstream has this error fixed, as documented in: https://github.com/mchehab/rasdaemon/pull/35 When using the script patched as indicated I get no ras-mc-ctl errors but proper reports. [Impact] When running ras-mc-ctl to check for any logged machine errors, the following error is printed: DBD::SQLite::db prepare failed: no such table: devlink_event at /usr/sbin/ras-mc-ctl line 1181. Can't call method "execute" on an undefined value at /usr/sbin/ras-mc-ctl line 1182. This happens because ras-mc-ctl assumes for each error type a table will exist in the SQLite database the application maintains. However, these tables are only created if the specific error type feature is enabled at compile time. debian/rules: override_dh_auto_configure: dh_auto_configure -- \ --enable-mce --enable-aer --enable-sqlite3 --enable-extlog \ --enable-abrt-report --enable-arm Note, --enable-devlink is not enabled. Dumping the SQLite database shows the table does not exist: $ sqlite3 /var/lib/rasdaemon/ras-mc_event.db .dump PRAGMA foreign_keys=OFF; BEGIN TRANSACTION; CREATE TABLE mc_event (id INTEGER PRIMARY KEY, timestamp TEXT, err_count INTEGER, err_type TEXT, err_msg TEXT, label TEXT, mc INTEGER, top_layer INTEGER, middle_layer INTEGER, lower_layer INTEGER, address INTEGER, grain INTEGER, syndrome INTEGER, driver_detail TEXT); CREATE TABLE aer_event (id INTEGER PRIMARY KEY, timestamp TEXT, dev_name TEXT, err_type TEXT, err_msg TEXT); CREATE TABLE extlog_event (id INTEGER PRIMARY KEY, timestamp TEXT, etype INTEGER, error_count INTEGER, severity INTEGER, address INTEGER, fru_id BLOB, fru_text TEXT, cper_data BLOB); CREATE TABLE mce_record (id INTEGER PRIMARY KEY, timestamp TEXT, mcgcap INTEGER, mcgstatus INTEGER, status INTEGER, addr INTEGER, misc INTEGER, ip INTEGER, tsc INTEGER, walltime INTEGER, cpu INTEGER, cpuid INTEGER, apicid INTEGER, socketid INTEGER, cs INTEGER, bank INTEGER, cpuvendor INTEGER, bank_name TEXT, error_msg TEXT, mcgstatus_msg TEXT, mcistatus_msg TEXT, mcastatus_msg TEXT, user_action TEXT, mc_location TEXT); CREATE TABLE arm_event (id INTEGER PRIMARY KEY, timestamp TEXT, error_count INTEGER, affinity INTEGER, mpidr INTEGER, running_state INTEGER, psci_state INTEGER); COMMIT; ras-mc-ctl needs to be patched to only query tables for features that have been enabled at compile time, and not just all of them. [Testcase] Ideally deploy a bare metal server, with access to ECC memory and MCE information. $ sudo apt install rasdaemon $ ras-mc-ctl --summary No Memory errors. No PCIe AER errors. No Extlog errors. DBD::SQLite::db prepare failed: no such table: devlink_event at /usr/sbin/ras-mc-ctl line 1181. Can't call method "execute" on an undefined value at /usr/sbin/ras-mc-ctl line 1182. If you install the test package in the below ppa: https://launchpad.net/~mruffell/+archive/ubuntu/sf369475-test $ ras-mc-ctl --summary No Memory errors. No PCIe AER errors. No Extlog errors. No MCE errors. We can now see MCE errors, and the script returns with a clean exit code. [Where problems could occur] ras-mc-ctl is being fixed so it can run to completion, and doing so allows ras-mc-ctl to display MCE error information. If a server has suffered any MCE's, previously they would not be displayed, while they will be now, and may alarm some system administrators. I think this is ultimately a good thing, so they can investigate the source of MCE's and determine if they need to replace any hardware. If a regression occurs, system administrators may not be able to see compiled information on ECC errors, MCE's, PCIe AER errors etc. These errors will still be present in dmesg and syslog, until a new version of rasdaemon is released. Since the changes simply if statement guard blocks of code which queries each database table, the risk of regression is low. [Other info] Merge request: https://github.com/mchehab/rasdaemon/pull/35 Upstream issue: https://github.com/mchehab/rasdaemon/issues/30 This was fixed upstream in 0.6.7 with commit: commit 546cf713f667437fb6e283cc3dc090679eb47d08 Author: Subhendu Saha <subhends@akamai.com> Date: Tue, 12 Jan 2021 03:29:55 -0500 Subject: Fix ras-mc-ctl script. Link: https://github.com/mchehab/rasdaemon/commit/546cf713f667437fb6e283cc3dc090679eb47d08 The diff looks large, but it is not the case. The commit simply added if (has_feature) guards to blocks of code. The blocks themseleves did not change, the only code being added is setting the value of has_feature variables, and the if (has_feature) statements themselves. Note: I dropped the has_arm hunk due to 0.6.5 not having support yet in ras-mc-ctl for that feature.
2023-09-22 02:03:43 Matthew Ruffell attachment added Debdiff for rasdaemon on Focal https://bugs.launchpad.net/ubuntu/+source/rasdaemon/+bug/1931847/+attachment/5703407/+files/lp1931847_focal.debdiff
2023-09-27 21:27:56 Matthew Ruffell bug added subscriber Support Engineering Sponsors
2023-10-07 21:56:14 Mauricio Faria de Oliveira description [Impact] When running ras-mc-ctl to check for any logged machine errors, the following error is printed: DBD::SQLite::db prepare failed: no such table: devlink_event at /usr/sbin/ras-mc-ctl line 1181. Can't call method "execute" on an undefined value at /usr/sbin/ras-mc-ctl line 1182. This happens because ras-mc-ctl assumes for each error type a table will exist in the SQLite database the application maintains. However, these tables are only created if the specific error type feature is enabled at compile time. debian/rules: override_dh_auto_configure: dh_auto_configure -- \ --enable-mce --enable-aer --enable-sqlite3 --enable-extlog \ --enable-abrt-report --enable-arm Note, --enable-devlink is not enabled. Dumping the SQLite database shows the table does not exist: $ sqlite3 /var/lib/rasdaemon/ras-mc_event.db .dump PRAGMA foreign_keys=OFF; BEGIN TRANSACTION; CREATE TABLE mc_event (id INTEGER PRIMARY KEY, timestamp TEXT, err_count INTEGER, err_type TEXT, err_msg TEXT, label TEXT, mc INTEGER, top_layer INTEGER, middle_layer INTEGER, lower_layer INTEGER, address INTEGER, grain INTEGER, syndrome INTEGER, driver_detail TEXT); CREATE TABLE aer_event (id INTEGER PRIMARY KEY, timestamp TEXT, dev_name TEXT, err_type TEXT, err_msg TEXT); CREATE TABLE extlog_event (id INTEGER PRIMARY KEY, timestamp TEXT, etype INTEGER, error_count INTEGER, severity INTEGER, address INTEGER, fru_id BLOB, fru_text TEXT, cper_data BLOB); CREATE TABLE mce_record (id INTEGER PRIMARY KEY, timestamp TEXT, mcgcap INTEGER, mcgstatus INTEGER, status INTEGER, addr INTEGER, misc INTEGER, ip INTEGER, tsc INTEGER, walltime INTEGER, cpu INTEGER, cpuid INTEGER, apicid INTEGER, socketid INTEGER, cs INTEGER, bank INTEGER, cpuvendor INTEGER, bank_name TEXT, error_msg TEXT, mcgstatus_msg TEXT, mcistatus_msg TEXT, mcastatus_msg TEXT, user_action TEXT, mc_location TEXT); CREATE TABLE arm_event (id INTEGER PRIMARY KEY, timestamp TEXT, error_count INTEGER, affinity INTEGER, mpidr INTEGER, running_state INTEGER, psci_state INTEGER); COMMIT; ras-mc-ctl needs to be patched to only query tables for features that have been enabled at compile time, and not just all of them. [Testcase] Ideally deploy a bare metal server, with access to ECC memory and MCE information. $ sudo apt install rasdaemon $ ras-mc-ctl --summary No Memory errors. No PCIe AER errors. No Extlog errors. DBD::SQLite::db prepare failed: no such table: devlink_event at /usr/sbin/ras-mc-ctl line 1181. Can't call method "execute" on an undefined value at /usr/sbin/ras-mc-ctl line 1182. If you install the test package in the below ppa: https://launchpad.net/~mruffell/+archive/ubuntu/sf369475-test $ ras-mc-ctl --summary No Memory errors. No PCIe AER errors. No Extlog errors. No MCE errors. We can now see MCE errors, and the script returns with a clean exit code. [Where problems could occur] ras-mc-ctl is being fixed so it can run to completion, and doing so allows ras-mc-ctl to display MCE error information. If a server has suffered any MCE's, previously they would not be displayed, while they will be now, and may alarm some system administrators. I think this is ultimately a good thing, so they can investigate the source of MCE's and determine if they need to replace any hardware. If a regression occurs, system administrators may not be able to see compiled information on ECC errors, MCE's, PCIe AER errors etc. These errors will still be present in dmesg and syslog, until a new version of rasdaemon is released. Since the changes simply if statement guard blocks of code which queries each database table, the risk of regression is low. [Other info] Merge request: https://github.com/mchehab/rasdaemon/pull/35 Upstream issue: https://github.com/mchehab/rasdaemon/issues/30 This was fixed upstream in 0.6.7 with commit: commit 546cf713f667437fb6e283cc3dc090679eb47d08 Author: Subhendu Saha <subhends@akamai.com> Date: Tue, 12 Jan 2021 03:29:55 -0500 Subject: Fix ras-mc-ctl script. Link: https://github.com/mchehab/rasdaemon/commit/546cf713f667437fb6e283cc3dc090679eb47d08 The diff looks large, but it is not the case. The commit simply added if (has_feature) guards to blocks of code. The blocks themseleves did not change, the only code being added is setting the value of has_feature variables, and the if (has_feature) statements themselves. Note: I dropped the has_arm hunk due to 0.6.5 not having support yet in ras-mc-ctl for that feature. [Impact] When running ras-mc-ctl to check for any logged machine errors, the following error is printed: DBD::SQLite::db prepare failed: no such table: devlink_event at /usr/sbin/ras-mc-ctl line 1181. Can't call method "execute" on an undefined value at /usr/sbin/ras-mc-ctl line 1182. This happens because ras-mc-ctl assumes for each error type a table will exist in the SQLite database the application maintains. However, these tables are only created if the specific error type feature is enabled at compile time. debian/rules: override_dh_auto_configure:         dh_auto_configure -- \         --enable-mce --enable-aer --enable-sqlite3 --enable-extlog \         --enable-abrt-report --enable-arm Note, --enable-devlink is not enabled. Dumping the SQLite database shows the table does not exist: $ sqlite3 /var/lib/rasdaemon/ras-mc_event.db .dump PRAGMA foreign_keys=OFF; BEGIN TRANSACTION; CREATE TABLE mc_event (id INTEGER PRIMARY KEY, timestamp TEXT, err_count INTEGER, err_type TEXT, err_msg TEXT, label TEXT, mc INTEGER, top_layer INTEGER, middle_layer INTEGER, lower_layer INTEGER, address INTEGER, grain INTEGER, syndrome INTEGER, driver_detail TEXT); CREATE TABLE aer_event (id INTEGER PRIMARY KEY, timestamp TEXT, dev_name TEXT, err_type TEXT, err_msg TEXT); CREATE TABLE extlog_event (id INTEGER PRIMARY KEY, timestamp TEXT, etype INTEGER, error_count INTEGER, severity INTEGER, address INTEGER, fru_id BLOB, fru_text TEXT, cper_data BLOB); CREATE TABLE mce_record (id INTEGER PRIMARY KEY, timestamp TEXT, mcgcap INTEGER, mcgstatus INTEGER, status INTEGER, addr INTEGER, misc INTEGER, ip INTEGER, tsc INTEGER, walltime INTEGER, cpu INTEGER, cpuid INTEGER, apicid INTEGER, socketid INTEGER, cs INTEGER, bank INTEGER, cpuvendor INTEGER, bank_name TEXT, error_msg TEXT, mcgstatus_msg TEXT, mcistatus_msg TEXT, mcastatus_msg TEXT, user_action TEXT, mc_location TEXT); CREATE TABLE arm_event (id INTEGER PRIMARY KEY, timestamp TEXT, error_count INTEGER, affinity INTEGER, mpidr INTEGER, running_state INTEGER, psci_state INTEGER); COMMIT; ras-mc-ctl needs to be patched to only query tables for features that have been enabled at compile time, and not just all of them. [Testcase] Ideally deploy a bare metal server, with access to ECC memory and MCE information. $ sudo apt install rasdaemon $ ras-mc-ctl --summary No Memory errors. No PCIe AER errors. No Extlog errors. DBD::SQLite::db prepare failed: no such table: devlink_event at /usr/sbin/ras-mc-ctl line 1181. Can't call method "execute" on an undefined value at /usr/sbin/ras-mc-ctl line 1182. If you install the test package in the below ppa: https://launchpad.net/~mruffell/+archive/ubuntu/sf369475-test $ ras-mc-ctl --summary No Memory errors. No PCIe AER errors. No Extlog errors. No MCE errors. We can now see MCE errors, and the script returns with a clean exit code. [Where problems could occur] ras-mc-ctl is being fixed so it can run to completion, and doing so allows ras-mc-ctl to display MCE error information. If a server has suffered any MCE's, previously they would not be displayed, while they will be now, and may alarm some system administrators. I think this is ultimately a good thing, so they can investigate the source of MCE's and determine if they need to replace any hardware. If a regression occurs, system administrators may not be able to see compiled information on ECC errors, MCE's, PCIe AER errors etc. These errors will still be present in dmesg and syslog, until a new version of rasdaemon is released. Since the changes simply if statement guard blocks of code which queries each database table, the risk of regression is low. [Other info] Merge request: https://github.com/mchehab/rasdaemon/pull/35 Upstream issue: https://github.com/mchehab/rasdaemon/issues/30 This was fixed upstream in 0.6.7 with commit: commit 546cf713f667437fb6e283cc3dc090679eb47d08 Author: Subhendu Saha <subhends@akamai.com> Date: Tue, 12 Jan 2021 03:29:55 -0500 Subject: Fix ras-mc-ctl script. Link: https://github.com/mchehab/rasdaemon/commit/546cf713f667437fb6e283cc3dc090679eb47d08 The diff looks large, but it is not the case. The commit simply added if (has_feature) guards to blocks of code. The blocks themseleves did not change, the only code being added is setting the value of has_feature variables, and the if (has_feature) statements themselves. Note: I dropped the has_arm hunks due to 0.6.5 not having support yet in ras-mc-ctl for that feature.
2023-10-07 21:58:42 Mauricio Faria de Oliveira tags focal hirsute impish patch focal hirsute impish patch se-sponsor-mfo
2023-10-07 21:59:54 Mauricio Faria de Oliveira description [Impact] When running ras-mc-ctl to check for any logged machine errors, the following error is printed: DBD::SQLite::db prepare failed: no such table: devlink_event at /usr/sbin/ras-mc-ctl line 1181. Can't call method "execute" on an undefined value at /usr/sbin/ras-mc-ctl line 1182. This happens because ras-mc-ctl assumes for each error type a table will exist in the SQLite database the application maintains. However, these tables are only created if the specific error type feature is enabled at compile time. debian/rules: override_dh_auto_configure:         dh_auto_configure -- \         --enable-mce --enable-aer --enable-sqlite3 --enable-extlog \         --enable-abrt-report --enable-arm Note, --enable-devlink is not enabled. Dumping the SQLite database shows the table does not exist: $ sqlite3 /var/lib/rasdaemon/ras-mc_event.db .dump PRAGMA foreign_keys=OFF; BEGIN TRANSACTION; CREATE TABLE mc_event (id INTEGER PRIMARY KEY, timestamp TEXT, err_count INTEGER, err_type TEXT, err_msg TEXT, label TEXT, mc INTEGER, top_layer INTEGER, middle_layer INTEGER, lower_layer INTEGER, address INTEGER, grain INTEGER, syndrome INTEGER, driver_detail TEXT); CREATE TABLE aer_event (id INTEGER PRIMARY KEY, timestamp TEXT, dev_name TEXT, err_type TEXT, err_msg TEXT); CREATE TABLE extlog_event (id INTEGER PRIMARY KEY, timestamp TEXT, etype INTEGER, error_count INTEGER, severity INTEGER, address INTEGER, fru_id BLOB, fru_text TEXT, cper_data BLOB); CREATE TABLE mce_record (id INTEGER PRIMARY KEY, timestamp TEXT, mcgcap INTEGER, mcgstatus INTEGER, status INTEGER, addr INTEGER, misc INTEGER, ip INTEGER, tsc INTEGER, walltime INTEGER, cpu INTEGER, cpuid INTEGER, apicid INTEGER, socketid INTEGER, cs INTEGER, bank INTEGER, cpuvendor INTEGER, bank_name TEXT, error_msg TEXT, mcgstatus_msg TEXT, mcistatus_msg TEXT, mcastatus_msg TEXT, user_action TEXT, mc_location TEXT); CREATE TABLE arm_event (id INTEGER PRIMARY KEY, timestamp TEXT, error_count INTEGER, affinity INTEGER, mpidr INTEGER, running_state INTEGER, psci_state INTEGER); COMMIT; ras-mc-ctl needs to be patched to only query tables for features that have been enabled at compile time, and not just all of them. [Testcase] Ideally deploy a bare metal server, with access to ECC memory and MCE information. $ sudo apt install rasdaemon $ ras-mc-ctl --summary No Memory errors. No PCIe AER errors. No Extlog errors. DBD::SQLite::db prepare failed: no such table: devlink_event at /usr/sbin/ras-mc-ctl line 1181. Can't call method "execute" on an undefined value at /usr/sbin/ras-mc-ctl line 1182. If you install the test package in the below ppa: https://launchpad.net/~mruffell/+archive/ubuntu/sf369475-test $ ras-mc-ctl --summary No Memory errors. No PCIe AER errors. No Extlog errors. No MCE errors. We can now see MCE errors, and the script returns with a clean exit code. [Where problems could occur] ras-mc-ctl is being fixed so it can run to completion, and doing so allows ras-mc-ctl to display MCE error information. If a server has suffered any MCE's, previously they would not be displayed, while they will be now, and may alarm some system administrators. I think this is ultimately a good thing, so they can investigate the source of MCE's and determine if they need to replace any hardware. If a regression occurs, system administrators may not be able to see compiled information on ECC errors, MCE's, PCIe AER errors etc. These errors will still be present in dmesg and syslog, until a new version of rasdaemon is released. Since the changes simply if statement guard blocks of code which queries each database table, the risk of regression is low. [Other info] Merge request: https://github.com/mchehab/rasdaemon/pull/35 Upstream issue: https://github.com/mchehab/rasdaemon/issues/30 This was fixed upstream in 0.6.7 with commit: commit 546cf713f667437fb6e283cc3dc090679eb47d08 Author: Subhendu Saha <subhends@akamai.com> Date: Tue, 12 Jan 2021 03:29:55 -0500 Subject: Fix ras-mc-ctl script. Link: https://github.com/mchehab/rasdaemon/commit/546cf713f667437fb6e283cc3dc090679eb47d08 The diff looks large, but it is not the case. The commit simply added if (has_feature) guards to blocks of code. The blocks themseleves did not change, the only code being added is setting the value of has_feature variables, and the if (has_feature) statements themselves. Note: I dropped the has_arm hunks due to 0.6.5 not having support yet in ras-mc-ctl for that feature. [Impact] When running ras-mc-ctl to check for any logged machine errors, the following error is printed: DBD::SQLite::db prepare failed: no such table: devlink_event at /usr/sbin/ras-mc-ctl line 1181. Can't call method "execute" on an undefined value at /usr/sbin/ras-mc-ctl line 1182. This happens because ras-mc-ctl assumes for each error type a table will exist in the SQLite database the application maintains. However, these tables are only created if the specific error type feature is enabled at compile time. debian/rules: override_dh_auto_configure:         dh_auto_configure -- \         --enable-mce --enable-aer --enable-sqlite3 --enable-extlog \         --enable-abrt-report --enable-arm Note, --enable-devlink is not enabled. Dumping the SQLite database shows the table does not exist: $ sqlite3 /var/lib/rasdaemon/ras-mc_event.db .dump PRAGMA foreign_keys=OFF; BEGIN TRANSACTION; CREATE TABLE mc_event (id INTEGER PRIMARY KEY, timestamp TEXT, err_count INTEGER, err_type TEXT, err_msg TEXT, label TEXT, mc INTEGER, top_layer INTEGER, middle_layer INTEGER, lower_layer INTEGER, address INTEGER, grain INTEGER, syndrome INTEGER, driver_detail TEXT); CREATE TABLE aer_event (id INTEGER PRIMARY KEY, timestamp TEXT, dev_name TEXT, err_type TEXT, err_msg TEXT); CREATE TABLE extlog_event (id INTEGER PRIMARY KEY, timestamp TEXT, etype INTEGER, error_count INTEGER, severity INTEGER, address INTEGER, fru_id BLOB, fru_text TEXT, cper_data BLOB); CREATE TABLE mce_record (id INTEGER PRIMARY KEY, timestamp TEXT, mcgcap INTEGER, mcgstatus INTEGER, status INTEGER, addr INTEGER, misc INTEGER, ip INTEGER, tsc INTEGER, walltime INTEGER, cpu INTEGER, cpuid INTEGER, apicid INTEGER, socketid INTEGER, cs INTEGER, bank INTEGER, cpuvendor INTEGER, bank_name TEXT, error_msg TEXT, mcgstatus_msg TEXT, mcistatus_msg TEXT, mcastatus_msg TEXT, user_action TEXT, mc_location TEXT); CREATE TABLE arm_event (id INTEGER PRIMARY KEY, timestamp TEXT, error_count INTEGER, affinity INTEGER, mpidr INTEGER, running_state INTEGER, psci_state INTEGER); COMMIT; ras-mc-ctl needs to be patched to only query tables for features that have been enabled at compile time, and not just all of them. [Testcase] Ideally deploy a bare metal server, with access to ECC memory and MCE information. (The bug is also reproducible in a LXD VM; comment #5.) $ sudo apt install rasdaemon $ ras-mc-ctl --summary No Memory errors. No PCIe AER errors. No Extlog errors. DBD::SQLite::db prepare failed: no such table: devlink_event at /usr/sbin/ras-mc-ctl line 1181. Can't call method "execute" on an undefined value at /usr/sbin/ras-mc-ctl line 1182. If you install the test package in the below ppa: https://launchpad.net/~mruffell/+archive/ubuntu/sf369475-test $ ras-mc-ctl --summary No Memory errors. No PCIe AER errors. No Extlog errors. No MCE errors. We can now see MCE errors, and the script returns with a clean exit code. [Where problems could occur] ras-mc-ctl is being fixed so it can run to completion, and doing so allows ras-mc-ctl to display MCE error information. If a server has suffered any MCE's, previously they would not be displayed, while they will be now, and may alarm some system administrators. I think this is ultimately a good thing, so they can investigate the source of MCE's and determine if they need to replace any hardware. If a regression occurs, system administrators may not be able to see compiled information on ECC errors, MCE's, PCIe AER errors etc. These errors will still be present in dmesg and syslog, until a new version of rasdaemon is released. Since the changes simply if statement guard blocks of code which queries each database table, the risk of regression is low. [Other info] Merge request: https://github.com/mchehab/rasdaemon/pull/35 Upstream issue: https://github.com/mchehab/rasdaemon/issues/30 This was fixed upstream in 0.6.7 with commit: commit 546cf713f667437fb6e283cc3dc090679eb47d08 Author: Subhendu Saha <subhends@akamai.com> Date: Tue, 12 Jan 2021 03:29:55 -0500 Subject: Fix ras-mc-ctl script. Link: https://github.com/mchehab/rasdaemon/commit/546cf713f667437fb6e283cc3dc090679eb47d08 The diff looks large, but it is not the case. The commit simply added if (has_feature) guards to blocks of code. The blocks themseleves did not change, the only code being added is setting the value of has_feature variables, and the if (has_feature) statements themselves. Note: I dropped the has_arm hunks due to 0.6.5 not having support yet in ras-mc-ctl for that feature.
2023-10-07 22:20:41 Mauricio Faria de Oliveira description [Impact] When running ras-mc-ctl to check for any logged machine errors, the following error is printed: DBD::SQLite::db prepare failed: no such table: devlink_event at /usr/sbin/ras-mc-ctl line 1181. Can't call method "execute" on an undefined value at /usr/sbin/ras-mc-ctl line 1182. This happens because ras-mc-ctl assumes for each error type a table will exist in the SQLite database the application maintains. However, these tables are only created if the specific error type feature is enabled at compile time. debian/rules: override_dh_auto_configure:         dh_auto_configure -- \         --enable-mce --enable-aer --enable-sqlite3 --enable-extlog \         --enable-abrt-report --enable-arm Note, --enable-devlink is not enabled. Dumping the SQLite database shows the table does not exist: $ sqlite3 /var/lib/rasdaemon/ras-mc_event.db .dump PRAGMA foreign_keys=OFF; BEGIN TRANSACTION; CREATE TABLE mc_event (id INTEGER PRIMARY KEY, timestamp TEXT, err_count INTEGER, err_type TEXT, err_msg TEXT, label TEXT, mc INTEGER, top_layer INTEGER, middle_layer INTEGER, lower_layer INTEGER, address INTEGER, grain INTEGER, syndrome INTEGER, driver_detail TEXT); CREATE TABLE aer_event (id INTEGER PRIMARY KEY, timestamp TEXT, dev_name TEXT, err_type TEXT, err_msg TEXT); CREATE TABLE extlog_event (id INTEGER PRIMARY KEY, timestamp TEXT, etype INTEGER, error_count INTEGER, severity INTEGER, address INTEGER, fru_id BLOB, fru_text TEXT, cper_data BLOB); CREATE TABLE mce_record (id INTEGER PRIMARY KEY, timestamp TEXT, mcgcap INTEGER, mcgstatus INTEGER, status INTEGER, addr INTEGER, misc INTEGER, ip INTEGER, tsc INTEGER, walltime INTEGER, cpu INTEGER, cpuid INTEGER, apicid INTEGER, socketid INTEGER, cs INTEGER, bank INTEGER, cpuvendor INTEGER, bank_name TEXT, error_msg TEXT, mcgstatus_msg TEXT, mcistatus_msg TEXT, mcastatus_msg TEXT, user_action TEXT, mc_location TEXT); CREATE TABLE arm_event (id INTEGER PRIMARY KEY, timestamp TEXT, error_count INTEGER, affinity INTEGER, mpidr INTEGER, running_state INTEGER, psci_state INTEGER); COMMIT; ras-mc-ctl needs to be patched to only query tables for features that have been enabled at compile time, and not just all of them. [Testcase] Ideally deploy a bare metal server, with access to ECC memory and MCE information. (The bug is also reproducible in a LXD VM; comment #5.) $ sudo apt install rasdaemon $ ras-mc-ctl --summary No Memory errors. No PCIe AER errors. No Extlog errors. DBD::SQLite::db prepare failed: no such table: devlink_event at /usr/sbin/ras-mc-ctl line 1181. Can't call method "execute" on an undefined value at /usr/sbin/ras-mc-ctl line 1182. If you install the test package in the below ppa: https://launchpad.net/~mruffell/+archive/ubuntu/sf369475-test $ ras-mc-ctl --summary No Memory errors. No PCIe AER errors. No Extlog errors. No MCE errors. We can now see MCE errors, and the script returns with a clean exit code. [Where problems could occur] ras-mc-ctl is being fixed so it can run to completion, and doing so allows ras-mc-ctl to display MCE error information. If a server has suffered any MCE's, previously they would not be displayed, while they will be now, and may alarm some system administrators. I think this is ultimately a good thing, so they can investigate the source of MCE's and determine if they need to replace any hardware. If a regression occurs, system administrators may not be able to see compiled information on ECC errors, MCE's, PCIe AER errors etc. These errors will still be present in dmesg and syslog, until a new version of rasdaemon is released. Since the changes simply if statement guard blocks of code which queries each database table, the risk of regression is low. [Other info] Merge request: https://github.com/mchehab/rasdaemon/pull/35 Upstream issue: https://github.com/mchehab/rasdaemon/issues/30 This was fixed upstream in 0.6.7 with commit: commit 546cf713f667437fb6e283cc3dc090679eb47d08 Author: Subhendu Saha <subhends@akamai.com> Date: Tue, 12 Jan 2021 03:29:55 -0500 Subject: Fix ras-mc-ctl script. Link: https://github.com/mchehab/rasdaemon/commit/546cf713f667437fb6e283cc3dc090679eb47d08 The diff looks large, but it is not the case. The commit simply added if (has_feature) guards to blocks of code. The blocks themseleves did not change, the only code being added is setting the value of has_feature variables, and the if (has_feature) statements themselves. Note: I dropped the has_arm hunks due to 0.6.5 not having support yet in ras-mc-ctl for that feature. [Impact] When running ras-mc-ctl to check for any logged machine errors, the following error is printed: DBD::SQLite::db prepare failed: no such table: devlink_event at /usr/sbin/ras-mc-ctl line 1181. Can't call method "execute" on an undefined value at /usr/sbin/ras-mc-ctl line 1182. This happens because ras-mc-ctl assumes for each error type a table will exist in the SQLite database the application maintains. However, these tables are only created if the specific error type feature is enabled at compile time. debian/rules: override_dh_auto_configure:         dh_auto_configure -- \         --enable-mce --enable-aer --enable-sqlite3 --enable-extlog \         --enable-abrt-report --enable-arm Note, --enable-devlink is not enabled. Dumping the SQLite database shows the table does not exist: $ sqlite3 /var/lib/rasdaemon/ras-mc_event.db .dump PRAGMA foreign_keys=OFF; BEGIN TRANSACTION; CREATE TABLE mc_event (id INTEGER PRIMARY KEY, timestamp TEXT, err_count INTEGER, err_type TEXT, err_msg TEXT, label TEXT, mc INTEGER, top_layer INTEGER, middle_layer INTEGER, lower_layer INTEGER, address INTEGER, grain INTEGER, syndrome INTEGER, driver_detail TEXT); CREATE TABLE aer_event (id INTEGER PRIMARY KEY, timestamp TEXT, dev_name TEXT, err_type TEXT, err_msg TEXT); CREATE TABLE extlog_event (id INTEGER PRIMARY KEY, timestamp TEXT, etype INTEGER, error_count INTEGER, severity INTEGER, address INTEGER, fru_id BLOB, fru_text TEXT, cper_data BLOB); CREATE TABLE mce_record (id INTEGER PRIMARY KEY, timestamp TEXT, mcgcap INTEGER, mcgstatus INTEGER, status INTEGER, addr INTEGER, misc INTEGER, ip INTEGER, tsc INTEGER, walltime INTEGER, cpu INTEGER, cpuid INTEGER, apicid INTEGER, socketid INTEGER, cs INTEGER, bank INTEGER, cpuvendor INTEGER, bank_name TEXT, error_msg TEXT, mcgstatus_msg TEXT, mcistatus_msg TEXT, mcastatus_msg TEXT, user_action TEXT, mc_location TEXT); CREATE TABLE arm_event (id INTEGER PRIMARY KEY, timestamp TEXT, error_count INTEGER, affinity INTEGER, mpidr INTEGER, running_state INTEGER, psci_state INTEGER); COMMIT; ras-mc-ctl needs to be patched to only query tables for features that have been enabled at compile time, and not just all of them. [Testcase] Ideally deploy a bare metal server, with access to ECC memory and MCE information. (The bug is also reproducible in a LXD VM; comment #5.) $ sudo apt install rasdaemon $ ras-mc-ctl --summary No Memory errors. No PCIe AER errors. No Extlog errors. DBD::SQLite::db prepare failed: no such table: devlink_event at /usr/sbin/ras-mc-ctl line 1181. Can't call method "execute" on an undefined value at /usr/sbin/ras-mc-ctl line 1182. If you install the test package in the below ppa: https://launchpad.net/~mruffell/+archive/ubuntu/sf369475-test $ ras-mc-ctl --summary No Memory errors. No PCIe AER errors. No Extlog errors. No MCE errors. We can now see MCE errors, and the script returns with a clean exit code. [Where problems could occur] ras-mc-ctl is being fixed so it can run to completion, and doing so allows ras-mc-ctl to display MCE error information. If a server has suffered any MCE's, previously they would not be displayed, while they will be now, and may alarm some system administrators. I think this is ultimately a good thing, so they can investigate the source of MCE's and determine if they need to replace any hardware. If a regression occurs, system administrators may not be able to see compiled information on ECC errors, MCE's, PCIe AER errors etc. These errors will still be present in dmesg and syslog, until a new version of rasdaemon is released. Since the changes simply if statement guard blocks of code which queries each database table, the risk of regression is low. [Other info] Merge request: https://github.com/mchehab/rasdaemon/pull/35 Upstream issue: https://github.com/mchehab/rasdaemon/issues/30 This was fixed upstream in 0.6.7 with commit: commit 546cf713f667437fb6e283cc3dc090679eb47d08 Author: Subhendu Saha <subhends@akamai.com> Date: Tue, 12 Jan 2021 03:29:55 -0500 Subject: Fix ras-mc-ctl script. Link: https://github.com/mchehab/rasdaemon/commit/546cf713f667437fb6e283cc3dc090679eb47d08 The diff looks large, but it is not the case. The commit simply added if (has_feature) guards to blocks of code. The blocks themseleves did not change, the only code being added is setting the value of has_feature variables, and the if (has_feature) statements themselves. Note: I dropped the has_arm hunks due to 0.6.5 not having support yet in ras-mc-ctl for that feature. Only Focal needs the fix (included in Jammy and later).
2023-10-08 03:45:18 Ubuntu Archive Robot bug added subscriber Mauricio Faria de Oliveira