Hi All,
We are observing a random crash in code that we have added in VPP. The
stack trace indicates an invalid memory access in _*hash_get*(). From the
hash table code we see that the hash table can auto resize and sink based
on the utilization.
So the question is whether we need to take a barrier lock before calling
*hash_set_mem*(). We have two workers used in our product. The hash table
is created with 0 size, 32 byte key and 64 bit value.
hash_create_mem(0, 32, sizeof(uword));
VPP Version:* 21.10*
Thread 2 (Thread 0x7f2db2c2e700 (LWP 395)):
#0 0x00007f2dffd64492 in __GI___waitpid (pid=21256,
stat_loc=stat_loc@entry=0x7f2db342f918, options=options@entry=0)
at ../sysdeps/unix/sysv/linux/waitpid.c:30
#1 0x00007f2dffccf177 in do_system (line=line@entry=0x7f2db342faa0
"/usr/local/bin/rtb-dump-core.sh '212' 'fibd'")
at ../sysdeps/posix/system.c:149
#2 0x00007f2dffccf55a in __libc_system
(line=line@entry=0x7f2db342faa0 "/usr/local/bin/rtb-dump-core.sh '212'
'fibd'")
at ../sysdeps/posix/system.c:185
#3 0x00007f2e0029b05d in bd_signal_handler_cb (signo=11) at
/development/rtbrick-infrastructure/code/bd/src/bdinfra/bd.c:753
#4 0x00007f2df10edb67 in rtb_bd_signal_handler (signo=11) at
/development/libvpp/src/vlib/unix/main.c:101
#5 0x00007f2df10edf59 in unix_signal_handler (signum=11,
si=0x7f2db342ff30, uc=0x7f2db342fe00)
at /development/libvpp/src/vlib/unix/main.c:202
#6 <signal handler called>
#7 __memcmp_sse4_1 () at ../sysdeps/x86_64/multiarch/memcmp-sse4.S:1528
#8 0x00007f2df08c06ce in mem_key_equal (h=0x7f2dcaf30bd0,
key1=21474836480, key2=139834257770336)
at /development/libvpp/src/vppinfra/hash.c:940
#9 0x00007f2df08c8da0 in key_equal1 (h=0x7f2dcaf30bd0,
key1=21474836480, key2=139834257770336, e=0)
at /development/libvpp/src/vppinfra/hash.c:375
#10 0x00007f2df08c809a in key_equal (h=0x7f2dcaf30bd0,
key1=21474836480, key2=139834257770336) at
/development/libvpp/src/vppinfra/hash.c:389
#11 0x00007f2df08c8714 in get_indirect (v=0x7f2dcaf30c18,
pi=0x7f2dcaf30fb8, key=139834257770336)
at /development/libvpp/src/vppinfra/hash.c:407
#12 0x00007f2df08bebf5 in lookup (v=0x7f2dcaf30c18,
key=139834257770336, op=GET, new_value=0x0, old_value=0x0)
at /development/libvpp/src/vppinfra/hash.c:598
---Type <return> to continue, or q <return> to quit---
#13 0x00007f2df08be991 in _hash_get (v=0x7f2dcaf30c18,
key=139834257770336) at /development/libvpp/src/vppinfra/hash.c:641
Thanks,
Rajith
--
NOTICE TO
RECIPIENT This e-mail message and any attachments are
confidential and may be
privileged. If you received this e-mail in error,
any review, use,
dissemination, distribution, or copying of this e-mail is
strictly
prohibited. Please notify us immediately of the error by return
e-mail and
please delete this message from your system. For more
information about Rtbrick, please visit us at www.rtbrick.com
<http://www.rtbrick.com>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#20939): https://lists.fd.io/g/vpp-dev/message/20939
Mute This Topic: https://lists.fd.io/mt/89496144/21656
Group Owner: [email protected]
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-