Uploaded image for project: 'vpp'
  1. vpp
  2. VPP-2086

VCL and VPP(V2306) will crash when reloading nginx using jemter test

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Open
    • Icon: Medium Medium
    • None
    • None
    • Session, VCL
    • None

      Jemter uses 100 threads to access the nginx homepage and executes reload nginx every two seconds(nginx worker auto = 8). soon nginx or vpp will crash. I found vcl and vls share 
      var __vcl_worker_index, when old nginx exit and new nginx fork,  the index of vcl and vls wokers in pool is not match, so i solve it (add lock bettwen vcom&vcl exit and child_fork ). now testting continue..., but vpp will infinite loop in session_wrk_handle_evts_main_rpc, so i solve it again (using "_lprev(he, evt_list) != _lnext(he, evt_list)" instead of "!clib_llist_is_empty (wrk->event_elts, evt_list, he)" in function session_mq_connect_handler), be continue! Oops, nginx crash again in vcl_send_session_accepted_reply (because session->vpp_evt_q = 0) called by vppcom_session_unbind..., sometimes vpp carshed in app_worker_get, now i giveup and report the bug. 
       
      the patch to fix bug:
      v2306.patch
       
      session_wrk_handle_evts_main_rpc test code:

      clib_llist_test.c

      some backtrace:

            florin.coras Florin Coras
            richiemay 好名字都被狗取了
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: