I was able to reproduce this using a sample cfg:
``` #!KAMAILIO
sample_group.a = 0
sample_group.b = 0
sample_group.c = 0
sample_group.d = 0
sample_group.e = 0
sample_group.f = 0
sample_group.g = 0
sample_group.h = 0
sample_group.i = 0
sample_group.j = 0
sample_group.k = 0
sample_group.l = 0
sample_group.m = 0
sample_group.n = 0
sample_group.o = ""
sample_group.p = 0
sample_group.q = 0
sample_group.r = 4000
sample_group.s = "null"
sample_group.t = "null"
sample_group.u = "null"
sample_group.v = "null"
sample_group.w = 0
sample_group.x = 0
sample_group.y = 0
sample_group.z = 0
sample_group.a1 = 0 ```
The memory mapping is as follows:
``` START block address: 0x7f43ed1484d8 vars address: 0x7f43ed1484dc Total allocated size: 1352 Group number: 1 Group location from start 20 Group size: 248 Group number: 2 Group location from start 284 Group size: 56 Group number: 3 Group location from start 356 Group size: 4 Group number: 4 Group location from start 380 Group size: 4 Group number: 5 Group location from start 404 Group size: 4 Group number: 6 Group location from start 428 Group size: 176 Group number: 7 Group location from start 620 Group size: 104 Group number: 8 Group location from start 740 Group size: 200 Group number: 9 Group location from start 956 Group size: 16 Group number: 10 Group location from start 988 Group size: 172 Group number: 11 Group location from start 1180 Group size: 172 ```
As you can see that group 10 and 11(created using cfg above) have the same size.
Now, if you try to get the value of sample_group.a and put a breakpoint here:
https://github.com/kamailio/kamailio/blob/master/src/core/cfg/cfg_ctx.c#L131...
i.e. run the following command
`sudo kamctl kamcmd cfg.get sample_group a`
The offsets in gdb are as follows:
``` (gdb) print var->offset $1 = 172 (gdb) print group->var_offset $2 = 1176 ```
Also the value is getting corrupted:
``` sudo kamctl kamcmd cfg.get sample_group a 694019999 ```