1. 08 Nov, 2022 2 commits
  2. 07 Nov, 2022 6 commits
  3. 31 Oct, 2022 3 commits
  4. 26 Oct, 2022 3 commits
  5. 25 Oct, 2022 5 commits
  6. 12 Oct, 2022 5 commits
  7. 10 Oct, 2022 7 commits
  8. 05 Oct, 2022 1 commit
  9. 03 Oct, 2022 8 commits
    • Nils Goroll's avatar
      Avoid double panic when a client thread does not own the bo any longer · 6bf7f3d4
      Nils Goroll authored
      The panic code would panic again because a backend object which it no
      longer owned was still referenced in thread local storage (don't we
      all love abiguous acronyms?).
      
      Example:
      
       #5  0x0000563d8c20d595 in VAS_Fail (func=0x563d8c23fd13 "vsl_sanity", file=0x563d8c23f9f5 "cache/cache_shmlog.c",
           line=110, cond=0x563d8c23fd1e "(vsl->wlp) != 0", kind=VAS_ASSERT) at vas.c:67
       #6  0x0000563d8c1603e9 in vsl_sanity (vsl=0x7fabd08001f0) at cache/cache_shmlog.c:110
       ...
       #7  0x0000563d8c160298 in VSL_Flush (vsl=0x7fabd08001f0, overflow=0) at cache/cache_shmlog.c:314
       #8  0x0000563d8c14dd44 in pan_ic (func=0x563d8c23c596 "child_signal_handler",
           file=0x563d8c23c1b4 "cache/cache_main.c", line=323,
           cond=0x7fabdf24a590 "Signal 6 (Aborted) received at 0x3e800015528 si_code -6", kind=VAS_WRONG)
           at cache/cache_panic.c:814
       ...
       #19 0x0000563d8c14bc07 in ObjBocDone (wrk=0x7fabdc9e54b8, oc=0x7fabd0024180, boc=0x7fabdc9e4778)
           at cache/cache_obj.c:368
       #20 0x0000563d8c13f25b in HSH_DerefBoc (wrk=0x7fabdc9e54b8, oc=0x7fabd0024180) at cache/cache_hash.c:1014
       #21 0x0000563d8c13158f in VBF_Fetch (wrk=0x7fabdc9e54b8, req=0x7fabd0008b20, oc=0x7fabd0024180, oldoc=0x0,
           mode=VBF_PASS) at cache/cache_fetch.c:1204
       #22 0x0000563d8c158f7d in cnt_pass (wrk=0x7fabdc9e54b8, req=0x7fabd0008b20) at cache/cache_req_fsm.c:742
       #23 0x0000563d8c156f53 in CNT_Request (req=0x7fabd0008b20) at cache/cache_req_fsm.c:1182
       #24 0x0000563d8c198f9a in HTTP1_Session (wrk=0x7fabdc9e54b8, req=0x7fabd0008b20) at http1/cache_http1_fsm.c:390
       #25 0x0000563d8c1984e0 in http1_req (wrk=0x7fabdc9e54b8, arg=0x7fabd0008b20) at http1/cache_http1_fsm.c:88
       #26 0x0000563d8c189592 in Pool_Work_Thread (pp=0x7fabdc400140, wrk=0x7fabdc9e54b8) at cache/cache_wrk.c:487
       #27 0x0000563d8c188ca7 in WRK_Thread (qp=0x7fabdc400140, stacksize=81920, thread_workspace=2048)
           at cache/cache_wrk.c:153
      6bf7f3d4
    • Nils Goroll's avatar
      Cleanup and sum up after bgthread termination · 7028d529
      Nils Goroll authored
      Strictly speaking, these calls were already missing before
      3a22f5f0, but now that bgthreads are
      officially allowed to terminate, we should really finalize & cleanup
      the wpriv and stats structs to provide a consistent interface.
      7028d529
    • Nils Goroll's avatar
      Use WS_TASK_ALLOC_OBJ · 9820b142
      Nils Goroll authored
      9820b142
    • Nils Goroll's avatar
      Add a utility macro to allocate mini-objects on the workspace · 6495bc17
      Nils Goroll authored
      isn't this something we would have wanted all along?
      
      This simplifies the common pattern to allocate/initialize a miniobj
      on the workspace to
      
      	WS_TASK_ALLOC_OBJ(ctx, myobj, MYOBJ_MAGIC);
      	if (myobj == NULL)
      		return (error);
      6495bc17
    • Nils Goroll's avatar
      Polish VRY_Finish() · dea05fa4
      Nils Goroll authored
      Assert on the return value of VRY_Validate() and call it only once.
      (I would like to think that we can trust memcpy())
      dea05fa4
    • Nils Goroll's avatar
      Polish VRY_Match() · c5e06d6c
      Nils Goroll authored
      Validate VRY_Validate()
      c5e06d6c
    • Nils Goroll's avatar
      Polish VRY_Validate() · 38881a6f
      Nils Goroll authored
      Call VRY_Len() only once where the compiler does not eliminate the
      second call anyway.
      38881a6f
    • Nils Goroll's avatar
      Define Z_PREFIX to prevent collisions with zlib · 58ea56b5
      Nils Goroll authored
      Trying to use zlib from a vmod would lead to conflicts because
      the varnish-defined zlib symbols were found first.
      58ea56b5