https://bugs.linaro.org/show_bug.cgi?id=2505

            Bug ID: 2505
           Summary: ipc ring corruption on pktio close
           Product: OpenDataPlane - linux- generic reference
           Version: v1.11.0.0
          Hardware: Other
                OS: Linux
            Status: UNCONFIRMED
          Severity: enhancement
          Priority: ---
         Component: Packet IO
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected]
  Target Milestone: ---

when applying serries  [PATCH v2 0/6] scheduler rings
see that ipc ring is corrupted during application exit. That might be not
related to patch set or might be related.


(gdb) p r->prod
Cannot access memory at address 0x2b94796ac040
(gdb) l
376             uint32_t cons_head, prod_tail;
377             uint32_t cons_next, entries;
378             const unsigned max = n;
379             int success;
380             unsigned i;
381             uint32_t mask = r->prod.mask;
382     
383             /* move cons.head atomically */
384             do {
385                     /* Restore n as it may change every loop */
(gdb) bt
#0  ___ring_mc_do_dequeue (r=r@entry=0x2b94796ac000,
obj_table=obj_table@entry=0x7ffca334af50, n=n@entry=4096,
behavior=behavior@entry=_RING_QUEUE_VARIABLE) at pktio/ring.c:381
#1  0x0000000000410c4a in _ring_mc_dequeue_burst (r=r@entry=0x2b94796ac000,
obj_table=obj_table@entry=0x7ffca334af50, n=n@entry=4096) at pktio/ring.c:638
#2  0x000000000040a6c0 in _ipc_free_ring_packets (r=0x2b94796ac000) at
pktio/ipc.c:480
#3  0x000000000040a967 in ipc_stop
(pktio_entry=pktio_entry@entry=0x2b947b069b00) at pktio/ipc.c:734
#4  0x000000000040aaae in ipc_close (pktio_entry=0x2b947b069b00) at
pktio/ipc.c:756
#5  0x00000000004079d1 in _pktio_close (entry=entry@entry=0x2b947b069b00) at
odp_packet_io.c:286
#6  0x0000000000409bb5 in odp_pktio_close (hdl=hdl@entry=0x1) at
odp_packet_io.c:376
#7  0x0000000000402d98 in ipc_second_process () at pktio_ipc2.c:163
#8  main (argc=<optimized out>, argv=<optimized out>) at pktio_ipc2.c:199
(gdb) l
386                     n = max;
387     
388                     cons_head = r->cons.head;
389                     prod_tail = r->prod.tail;
390                     /* The subtraction is done between two unsigned 32bits
value
391                      * (the result is always modulo 32 bits even if we have
392                      * cons_head > prod_tail). So 'entries' is always
between 0
393                      * and size(ring)-1. */
394                     entries = (prod_tail - cons_head);
395     
(gdb) p  r->cons
Cannot access memory at address 0x2b94796ac080

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Reply via email to