codeconstruct / dbus-sensors Goto Github PK
View Code? Open in Web Editor NEWThis project forked from openbmc/dbus-sensors
D-Bus configurable sensor scanning applications
License: Apache License 2.0
This project forked from openbmc/dbus-sensors
D-Bus configurable sensor scanning applications
License: Apache License 2.0
I am officially enabling the unit test for presubmit.
https://gbmc-review.googlesource.com/c/dbus-sensors/+/12994/2
But the new interfaces introduced in the ns management failed the unit-test
Currently, the dbus-sensor enables project wise io_uring flag:
https://gerrit.openbmc.org/c/openbmc/dbus-sensors/+/64039.
However, the nvmed disabled the io_uring due to https://gerrit.openbmc.org/c/openbmc/dbus-sensors/+/62299
Consequentially, it failed the ubsan:
/usr/local/include/boost/asio/detail/deadline_timer_service.hpp:272:30: runtime error: member call on address 0x617000000080 which does not point to an object of type 'io_uring_service'
0x617000000080: note: object is of type 'boost::asio::detail::select_reactor'
00 00 00 00 e8 a7 39 5c 4e 56 00 00 00 00 00 00 00 00 00 00 52 70 95 5e 4e 56 00 00 a0 6d 95 5e
^~~~~~~~~~~~~~~~~~~~~~~
vptr for 'boost::asio::detail::select_reactor'
Hi @mkj,
Jinliang get an idea to improve the createNamespace() process:
https://gbmc-review.googlesource.com/c/dbus-sensors/+/13495.
Would you like to take a look?
A diff on nsid list is not trustworthy for scanning NS changes. https://github.com/CodeConstruct/dbus-sensors/blob/794103cd4d978d4f2a5209c3d45655a06dea804d/src/NVMeSubsys.cpp#L769C10-L769C10
Should turn to NAC(Namespace Attribute Changed) via health status poll.
From the comment: 0bd3368#r129278792
Currently NVMeSubsystem uses different techniques to exit on forbidden state transaction (exception, assertion, printing&return), we would better to unify them.
https://gbmc-review.googlesource.com/c/dbus-sensors/+/14999/comment/e209fab3_6376efef/
The modification of subsystem with init() makes it incompatible with the unit test. I have to make a temporary walk around to make the unit test work (https://gbmc-review.googlesource.com/c/dbus-sensors/+/12914/3/src/NVMeSubsys.hpp).
I think the requirement of the init() function is debatable since it is similar to the start() function.
The change c6a4016 created a crash on the google release.
2023-12-01 3:49:48 systemd,Started NVMe Sensor.
2023-12-01 3:49:48 nvmesensor,error getting SpecialMode status No route to host
2023-12-01 3:49:54 nvmesensor,"[bus: 6, addr: 48, eid: 17]fail to do nvme identify:"
2023-12-01 3:49:54 nvmesensor,adminIdentify:NVMe MI: Invalid Parameter (MI status 0x4)
2023-12-01 3:49:54 nvmesensor,fail to do nvme identify: NVMe MI: Invalid Parameter (MI status 0x4)
2023-12-01 3:49:54 nvmesensor,fail to identify secondary controller list
2023-12-01 3:49:54 nvmesensor,"Failed to identify secondary controller list. error NVMe MI: Invalid Parameter (MI status 0x4) data size 4096 expected size 4096. Fallback, using arbitrary controller as primary."
2023-12-01 3:49:54 systemd,Started Process Core Dump (PID 4452/UID 0).
2023-12-01 3:50:00 systemd-coredump,Process 4432 (nvmesensor) of user 0 dumped core.
2023-12-01 3:50:00 systemd,"xyz.openbmc_project.nvmesensor.service: Main process exited, code=dumped, status=11/SEGV"
2023-12-01 3:50:00 systemd,xyz.openbmc_project.nvmesensor.service: Failed with result 'core-dump'.
Reverted the change in : https://gbmc-review.googlesource.com/c/dbus-sensors/+/14474
Currently the association is created in NVMeSubsys. Such association would be better to bind with the volume.
The unit test here is to manually trigger a destruction of nvme instance and check the resource recollection status. Is it designed to prevent the resource is held by some async event and never get the chance to release.
The unit test is using ObjectMapper as a observer so it require Dbus and O-M to be enabled in the docker image. We could enforce the feature for presubmit.
Hello,
When the NVMe device is disconnected, the subsystem should transit into disable status with all substructure deleted. However the shared ptr of Pcontroller is held by the subsystem and thus cannot be release:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.