can you create test case for us?

On Thu, 18 Oct 2018 at 14:55, gyanesh patra <pgyanesh.pa...@gmail.com>
wrote:

> 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
>>>> >
>>>> >
>>>> >
>>>>
>>>>
>>

Reply via email to