Comments (5)
@pboyd04 any thoughts on this?
from libredfish.
I was able to get further info on this, its rare but still happens. I'm not sure how we get to a refCount = 0 before the listener is killed. This is still using 1.3.4
#0 queuePush (q=0xa3f01df0, value=value@entry=0xa491f118) at ../../../../../../../../../externalsrc/libredfish/src/queue.c:81
node = 0x0
#1 0xa6c5bca0 in addWorkItemToQueue (service=0xa3f00a58, wi=0xa491f118)
at ../../../../../../../../../externalsrc/libredfish/src/asyncEvent.c:796
No locals.
#2 addEventToQueue (service=0xa3f00a58, event=0xa491d588, copy=true) at ../../../../../../../../../externalsrc/libredfish/src/asyncEvent.c:796
ret =
wi = 0xa491f118
#3 0xa6c5c098 in listenTCP (data=, data=)
at ../../../../../../../../../externalsrc/libredfish/src/asyncEvent.c:667
tmpSock = 30
buffer = "POST /events/IOM/C1 HTTP/1.1\r\nHost: localhost\r\ncontent-type: application/json\r\nAUTHNZ_USER: (null)\r\nUSER_PRIV: (null)\r\nX-Forwarded-For: fde1:53ba:e9a0:de13:d294:66ff:fe7e:345c\r\nX-Forwarded-Host: fe80\r"...
eventCount = 1
i = 0
events = 0xa491d588
ufds = {{fd = 33, events = 33, revents = 1}}
rv =
readCount =
func = "listenTCP"
#4 0xa6c5c1ec in tcpThread (args=0x227ad50) at ../../../../../../../../../externalsrc/libredfish/src/asyncEvent.c:682
data = 0x227ad50
func = "tcpThread"
#5 0xa6a54144 in start_thread (arg=0xa14f9f20) at pthread_create.c:477
ret =
pd = 0xa14f9f20
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {-1244860341, -1306122125, -1588617440, -1555049552, -1588617440, 338, -1555049554, 0,
-1555049552, -1588618660, 0 <repeats 54 times>}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0,
cleanup = 0x0, canceltype = 0}}}
not_first_call =
robust =
#6 0xa6bde878 in clone () at ../sysdeps/unix/sysv/linux/arm/clone.S:41
No locals.
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
#4 0xa6c5c1ec in tcpThread (args=0x227ad50) at ../../../../../../../../../externalsrc/libredfish/src/asyncEvent.c:682
(gdb) print *data->service
$2 = {host = 0x0, queue = 0x0, asyncThread = 2739920672, curl = 0x0, versions = 0x0, flags = 1, sessionToken = 0x0, bearerToken = 0x0,
otherAuth = 0x0, pthread_mutex_t = {__data = {__lock = 0, __count = 0, __owner = 0, __kind = 0, __nusers = 0, {__spins = 0, __list = {
__next = 0x0}}}, __size = '\000' <repeats 23 times>, __align = 0}, refCount = 0, selfTerm = false, eventThreadQueue = 0xa3f01df0,
eventThread = 2723135264, sseThread = 0, tcpThread = 2706349856, tcpSocket = -1, eventTerm = true,
eventRegistrationUri = 0x22a6068 "p\026 \002", zeroMQListener = 0x0, sessionUri = 0x0, freeing = 232}
from libredfish.
Things that look important to me in that service
refCount = 0
eventTerm = true // if we are terminating why are we queueing this?
sessionToken = 0x0 // we got pretty far in the kill of the
I'd question if this service is even valid anymore. This might be a race?
from libredfish.
Yeah I'm pretty sure this is a race condition in the caller. not sure how to fix it in the library.
from libredfish.
Related Issues (20)
- Unable to parse json! unable to decode byte HOT 1
- Are URI fragments supported? HOT 7
- Support int64 in GetPayloadIntValue() HOT 2
- ETag support HOT 2
- Queue occasionally hangs
- getRedfishServiceRoot stops working forever if the connection drops
- TLS/Certificate-based authentication support HOT 1
- SSE stream creates Events HOT 1
- libredfish doesn't install entities/chassis.h or entitites/resource.h HOT 3
- Absolute paths not supported in `Location` header HOT 2
- serviceDecRefAndWait is hanging while serviceDecRef() works, why? HOT 2
- RedPaths referencing properties are returned as objects HOT 2
- Inconsistency of implementation in Redpath HOT 6
- Broken Redpath HOT 4
- What is correct Expression for Bios Attribute? HOT 2
- Is the callback in charge of freeing the payload when using getPayloadByPathAsync()? HOT 1
- Unable to terminate program correctly HOT 5
- redfishtest failed with timeout (CURL returned 28) when CURLOPT_FORBID_REUSE=0 HOT 4
- Implement timeout for each redfishService HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from libredfish.