hiren added a comment. >>! In D1711#91, @rrs wrote: > Hiren: > > Thats helpful.. as I said this is strange. The callout you posted shows its > associated with CPU 0, (c_cpu == 0), and yet > the mtx on that (which is what we are spinning on) is free (its owned == 4). > So why would we have crashed > holding the spin lock too long? Unless just as we decided to panic the owner > released it. Hmm there is > code in there to check that though.. td = mtx_owner() if (td == NULL) > return... > > The c_flags = 22 which is PENDING/ACTIVE and Return unlocked. That means it > is *supposed* to be on the > callout wheel someplace. The linked list used is then the LLIST.. i.e. > {le_next = 0x0, le_prev = 0xfffffe0000804db8} > > Now if le_next is 0, its the end of the list. > > Can you look back a the previous.. i.e. walk it back > > print *(struct callout *)0xfffffe0000804db8 > > That should print a valid callout as well.. and we should be able to walk > back to > the top of the wheel.. by keeping on moving back.
Hrm, are there only 2 entries here? (kgdb) print *(struct callout *)0xfffffe0000804db8 $4 = {c_links = {le = {le_next = 0xfffff8000d81dc98, le_prev = 0x0}, sle = {sle_next = 0xfffff8000d81dc98}, tqe = {tqe_next = 0xfffff8000d81dc98, tqe_prev = 0x0}}, c_time = 0, c_precision = 0, c_arg = 0x0, c_func = 0, c_lock = 0x0, c_flags = 0, c_cpu = 0} le_next is back to 0xfffff8000d81dc98. Anything else I should look at? REVISION DETAIL https://reviews.freebsd.org/D1711 To: rrs, gnn, rwatson, lstewart, jhb, kostikbel, sbruno, imp, adrian, hselasky Cc: julian, hiren, jhb, kostikbel, emaste, delphij, neel, erj, freebsd-net _______________________________________________ freebsd-net@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"