TMPL_TYPE_LITERAL has non-zero bytes in its data union

Geaaru geaaru at gmail.com
Wed Jul 31 20:37:53 CEST 2019


(gdb) p *map$1 = {  lhs = 0x555555adfe00,   rhs = 0x555555adffd0,   op
= T_OP_SET,   ci = 0x5555557f2230,   next = 0x555555ae01a0}
I'm sure that is a regression because the same code now is in
production with 3.0.17.
# Cache for store authentication datacache cache_auth {  # driver =
"rlm_cache_rbtree"  driver = "rlm_cache_memcached"
  memcached {    options = "--SERVER=localhost"    pool {      start =
${thread[pool].start_servers}      min =
${thread[pool].min_spare_servers}      max =
${thread[pool].max_servers}      spare =
${thread[pool].max_spare_servers}      uses = 0      lifetime =
0      idle_timeout = 60    }  }
  key = "%{Calling-Station-Id}-%{NAS-Identifier}-auth"
  #  The TTL of cache entries, in seconds.  #  This value should be
between 10 and 86400.  ttl = 120
  add_stats = no
  update {    &control:My-Auth := &control:My-Auth    &control:My-User
:= &control:My-User    &control:Cleartext-Password :=
&Control:Cleartext-Password    &control:Framed-IP-Netmask :=
&control:Framed-IP-Network    &control:Framed-Protocol :=
&control:Framed-Protocol    &control:Pool-Name := &control:Pool-Name  }
}

AVP available are these:
Wed Jul 31 19:27:54 2019 : Debug: (0) sql: Conditional check items
matched, merging assignment check itemsWed Jul 31 19:27:54 2019 :
Debug: (0) sql:   My-Auth := "Reject"Wed Jul 31 19:27:54 2019 : Debug:
(0) sql:   My-Sim := "0"Wed Jul 31 19:27:54 2019 : Debug: (0)
sql:   Cache-TTL := 30
And accounting section is this:
  accounting {
    update control {      &Cache-Status-Only := 'yes'      &Cache-Merge 
:= 'no'    }
    cache_auth {      notfound = 1    }
    if (notfound) {      # POST: no entry on cache.
      sql.authorize
      update control {        &Cache-Status-Only := 'no'        &Cache-
Merge := 'yes'      }
      cache_auth
    } else {      # POST: entry found on cache
      update control {        &Cache-Status-Only := 'no'        &Cache-
Merge := 'yes'      }
      # Retrieve data from cache      cache_auth
    }
  }  # end accounting
Could be related to setting of control:My-User when is not present?
I will try to do a bisect.
thanks for support.
On Wed, 2019-07-31 at 09:04 -0400, Alan DeKok wrote:
> On Jul 31, 2019, at 5:09 AM, Geaaru <geaaru at gmail.com> wrote:
> > Done:https://pastebin.com/qrvviLTV id="-x-evo-selection-start-
> > marker">
> 
>   Hmm...  What is the configuration for the "cache" section?
>   The assertion is that the "map" being applied by the cache section
> isn't in the right format.  That "map" is taken from the
> configuration, in order to do right-side to left-side cache
> assignments.  So something in the configuration looks to be
> unexpected.
>   Also, if you could break at src/main/map.c:967, and do:
> (gdb) print *map
>   That would let us know exactly what is in the "map"
> structure.  Which then lets us fix it.
>   Alan DeKok.


More information about the Freeradius-Devel mailing list