Hi, We are curious if there is any solution in the pipeline for this issue of iplookuptable insert, i.e. crash at buffer_alloc_multi() ? Any pointer will be really helpful. If it will help, we can create an issue in github too. Thanks for the help.
Regards, P Gyanesh Kumar Patra On Tue, Sep 11, 2018 at 12:17 PM Maxim Uvarov <maxim.uva...@linaro.org> wrote: > odp prints happen on places where ODP_DBG("print something") is placed. > It's just additional debug information. > Also you can increase stack with ulimit -s unlimited and run valgrind to > that app. But I generated core on adding to table random values I saw > segfault and gdb pointed to that function. > > Maxim. > > > > > On 11 September 2018 at 18:03, Fabricio RodrÃguez <fabrytt...@gmail.com> > wrote: > >> Hi Maxim, >> >> I have tried the patch that you sent, but the issue continues. >> >> Also was trying enabling the debug flags at ODP but for some reason, I >> can not see any print, you have any suggestion of how to see the ODP debug >> prints when using an ODP library from an external application?. >> >> Regards, >> >> Fabricio >> >> >> El mar., 11 sept. 2018 a las 10:44, Maxim Uvarov (< >> maxim.uva...@linaro.org>) escribió: >> >>> Gyanesh, >>> >>> I tried to add some random data to ip lookup table and found that it >>> breaks it's own stack due to recursion. >>> >>> I have no idea if it's your case or not. Probably not because you have >>> buffer_alloc_multi in stack trace and I do not see that. >>> >>> You can test this patch: >>> https://github.com/Linaro/odp/pull/700 >>> >>> Maxim. >>> >>> On 10.09.2018 20:01, gyanesh patra wrote: >>> > We tried it as: >>> > #define ENTRY_NUM_SUBTREE(1 << 12) >>> > >>> > But it didn't work. We couldn't increase it anymore without adding >>> > more RAM to system. >>> > One point to consider is that, this same thing was working with ODP >>> > 1.16 code, but with ODP 1.19 version it is not working. >>> > >>> > P Gyanesh Kumar Patra >>> > >>> > >>> > On Mon, Sep 10, 2018 at 12:31 PM Maxim Uvarov <maxim.uva...@linaro.org >>> > <mailto:maxim.uva...@linaro.org>> wrote: >>> > >>> > did you try to increase? >>> > >>> > /* The size of one L2\L3 subtree */ >>> > #define ENTRY_NUM_SUBTREE(1 << 8) >>> > ./helper/iplookuptable.c >>> > >>> > On 10 September 2018 at 18:27, gyanesh patra >>> > <pgyanesh.pa...@gmail.com <mailto:pgyanesh.pa...@gmail.com>> >>> wrote: >>> > >>> > We are using ODP library from an external application. hence i >>> > dont have a simple test code to reproduce it. >>> > But to give a perspective: >>> > - the value size as 12 >>> > - the ip prefix is 32 >>> > The crash is happening around 159th entry. If the prefix is >>> > changed to 16, the crash happens at around 496th entry. >>> > Regards, >>> > P Gyanesh Kumar Patra >>> > >>> > >>> > On Mon, Sep 10, 2018 at 12:16 PM Maxim Uvarov >>> > <maxim.uva...@linaro.org <mailto:maxim.uva...@linaro.org>> >>> wrote: >>> > >>> > do you have some test code to reproduce it? >>> > >>> > On 10 September 2018 at 18:06, gyanesh patra >>> > <pgyanesh.pa...@gmail.com >>> > <mailto:pgyanesh.pa...@gmail.com>> wrote: >>> > >>> > Hi, >>> > ODP is crashing at buffer_alloc_multi() while >>> > inserting into iplookuptable. >>> > >>> > The backtrace is as below: (gdb) bt #0 >>> buffer_alloc_multi >>> > (pool=0x7fffd5420c00, >>> > buf_hdr=buf_hdr@entry=0x7fff55fa8bb0, >>> > max_num=max_num@entry=1) at odp_pool.c:700 #1 >>> > 0x0000000000433083 in >>> > odp_buffer_alloc (pool_hdl=pool_hdl@entry=0x9) at >>> > odp_pool.c:861 #2 >>> > 0x0000000000703732 in cache_alloc_new_pool >>> > (type=CACHE_TYPE_TRIE, >>> > tbl=<optimized out>) at iplookuptable.c:223 #3 >>> > cache_get_buffer >>> > (type=CACHE_TYPE_TRIE, tbl=<optimized out>) at >>> > iplookuptable.c:248 #4 >>> > trie_insert_node (nexthop=<optimized out>, >>> > cidr=<optimized out>, >>> > ip=<optimized out>, root=<optimized out>, >>> > tbl=<optimized out>) at >>> > iplookuptable.c:317 #5 odph_iplookup_table_put_value >>> > (tbl=<optimized out>, >>> > key=<optimized out>, value=<optimized out>) at >>> > iplookuptable.c:686 >>> > >>> > Am i looking at any limitation to iplookuptable >>> > implementaion here? If any >>> > other details are needed, please let us know. >>> > >>> > Regards, >>> > P Gyanesh Kumar Patra >>> > >>> > >>> > >>> >>> >