* [Tarantool-patches] [PATCH 0/2] Minor enhancements in luajit-gdb.py @ 2022-01-31 21:33 Igor Munkin via Tarantool-patches 2022-01-31 21:33 ` [Tarantool-patches] [PATCH 1/2] gdb: unwind Lua stack top part Igor Munkin via Tarantool-patches ` (3 more replies) 0 siblings, 4 replies; 13+ messages in thread From: Igor Munkin via Tarantool-patches @ 2022-01-31 21:33 UTC (permalink / raw) To: Sergey Kaplun, Maxim Kokryashkin; +Cc: tarantool-patches This series provides several minor but vital enhancements for <lj-gc> and <lj-stack> commands. For more info please proceed to the particular commit message. Branch: https://github.com/tarantool/luajit/tree/imun/luajit-gdb-minor-enhancements CI is red[1], but... em... I didn't dig the particular reasons for its failure, since all of them looks to be related to our infra. Since we have no CI for luajit-gdb.py, one can try the following test scenario: | $ ./tarantool -v | Tarantool 2.10.0-beta2-73-g10acda7b5 | Target: Linux-x86_64-Debug | Build options: cmake . -DCMAKE_INSTALL_PREFIX=/usr/local -DENABLE_BACKTRACE=ON | Compiler: /usr/bin/cc /usr/bin/c++ | C_FLAGS: -fexceptions -funwind-tables -fno-omit-frame-pointer -fno-stack-protector -fno-common -fopenmp -msse2 -std=c11 -Wall -Wextra -Wno-strict-aliasing -Wno-char-subscripts -Wno-format-truncation -Wno-gnu-alignof-expression -fno-gnu89-inline -Wno-cast-function-type -Werror | CXX_FLAGS: -fexceptions -funwind-tables -fno-omit-frame-pointer -fno-stack-protector -fno-common -fopenmp -msse2 -std=c++11 -Wall -Wextra -Wno-strict-aliasing -Wno-char-subscripts -Wno-format-truncation -Wno-invalid-offsetof -Wno-gnu-alignof-expression -Wno-cast-function-type -Werror | $ gdb ./tarantool | GNU gdb (Gentoo 11.1 vanilla) 11.1 | | <snipped> | | Reading symbols from ./tarantool... | (gdb) r | Starting program: /tarantool/src/tarantool | [Thread debugging using libthread_db enabled] | Using host libthread_db library "/lib64/libthread_db.so.1". | Tarantool 2.10.0-beta2-73-g10acda7b5 | type 'help' for interactive help | tarantool> ffi = require 'ffi' | --- | ... | | tarantool> ffi.cdef('struct x { int i; };') | --- | ... | | tarantool> a = ffi.gc(ffi.new('struct x', { i = 1 }), function(self) self.i = 0 end) | --- | ... | | tarantool> b = ffi.gc(ffi.new('struct x', { i = 2 }), function(self) self.i = 0 end) | --- | ... | | tarantool> a = nil | --- | ... | | tarantool> b = nil | --- | ... | | tarantool> | Program received signal SIGINT, Interrupt. | 0x00007ffff5684536 in epoll_wait () from /lib64/libc.so.6 | (gdb) b lj_cf_collectgarbage | Breakpoint 1 at 0x55555583468f: file /tarantool/third_party/luajit/src/lib_base.c, line 437. | (gdb) c | Continuing. | collectgarbage() | | Breakpoint 1, lj_cf_collectgarbage (L=0x400004a0) at /tarantool/third_party/luajit/src/lib_base.c:437 | 437 { | (gdb) s | 438 int opt = lj_lib_checkopt(L, 1, LUA_GCCOLLECT, /* ORDER LUA_GC* */ | (gdb) source ../third_party/luajit/src/luajit-gdb.py | lj-arch command initialized | lj-tv command initialized | lj-str command initialized | lj-tab command initialized | lj-stack command initialized | lj-state command initialized | lj-gc command initialized | luajit-gdb.py is successfully loaded | (gdb) lj-stack L | ----------- Red zone: 5 slots ----------- | 0x40047fc0 [ ] VALUE: nil | 0x40047fb8 [ ] VALUE: nil | 0x40047fb0 [ ] VALUE: nil | 0x40047fa8 [ ] VALUE: nil | 0x40047fa0 [ ] VALUE: nil | ----------- Stack: 168 slots ----------- | 0x40047f98 [ M] VALUE: nil | 0x40047ae0:0x40047f90 [ ] 151 slots: Free stack slots | 0x40047ad8 [ BT ] VALUE: number 2.3873090119523254e-313 | 0x40047ad0 [ ] FRAME: [PP] delta=1, fast function #27 | 0x40047ac8 [ ] FRAME: [L] delta=7, fast function #20 | 0x40047ac0 [ ] VALUE: Lua function @ 0x400c00b0, 2 upvalues, "@builtin/box/console.lua":243 | 0x40047ab8 [ ] VALUE: nil | 0x40047ab0 [ ] VALUE: Lua function @ 0x4013b010, 0 upvalues, "return collectgarbage()":0 | 0x40047aa8 [ ] VALUE: nil | 0x40047aa0 [ ] VALUE: string "collectgarbage()" @ 0x40149538 | 0x40047a98 [ ] VALUE: table @ 0x400c0f88 (asize: 0, hmask: 0x1) | 0x40047a90 [ ] FRAME: [LP] delta=3, Lua function @ 0x4014fe30, 3 upvalues, "@builtin/box/console.lua":379 | 0x40047a88 [ ] VALUE: string "collectgarbage()" @ 0x40149538 | 0x40047a80 [ ] VALUE: table @ 0x400c0f88 (asize: 0, hmask: 0x1) | 0x40047a78 [ ] FRAME: [L] delta=3, Lua function @ 0x40075aa8, 1 upvalues, "@builtin/box/console.lua":701 | 0x40047a70 [ ] VALUE: string "/home/imun" @ 0x400ff388 | 0x40047a68 [ ] VALUE: table @ 0x400c0f88 (asize: 0, hmask: 0x1) | 0x40047a60 [ ] FRAME: [CP] delta=1, Lua function @ 0x4014d0c8, 5 upvalues, "@builtin/box/console.lua":746 | 0x40047a58 [S ] FRAME: dummy L | (gdb) lj-gc | GC stats: PAUSE | total: 1211508 | threshold: 1977000 | debt: 0 | estimate: 988555 | stepmul: 200 | pause: 200 | sweepstr: 8192/8192 | root: 6774 objects | gray: 0 objects | grayagain: 21 objects | weak: 20 objects | mmudata: 0 objects | (gdb) b gc_finalize | Breakpoint 2 at 0x55555581d67b: file /tarantool/third_party/luajit/src/lj_gc.c, line 511. | (gdb) c | Continuing. | | Breakpoint 2, gc_finalize (L=0x4019a6b8) at /tarantool/third_party/luajit/src/lj_gc.c:511 | 511 { | (gdb) lj-gc | GC stats: FINALIZE | total: 1055138 | threshold: 1977000 | debt: 0 | estimate: 1055138 | stepmul: 200 | pause: 200 | sweepstr: 8192/8192 | root: 6468 objects | gray: 0 objects | grayagain: 1120 objects | weak: 20 objects | mmudata: 2 objects Igor Munkin (2): gdb: unwind Lua stack top part gdb: add mmudata value to lj-gc output src/luajit-gdb.py | 67 +++++++++++++++++++++++++++++++---------------- 1 file changed, 44 insertions(+), 23 deletions(-) [1]: https://github.com/tarantool/tarantool/tree/imun/luajit-gdb-minor-enhancements-full-ci -- 2.34.0 ^ permalink raw reply [flat|nested] 13+ messages in thread
* [Tarantool-patches] [PATCH 1/2] gdb: unwind Lua stack top part 2022-01-31 21:33 [Tarantool-patches] [PATCH 0/2] Minor enhancements in luajit-gdb.py Igor Munkin via Tarantool-patches @ 2022-01-31 21:33 ` Igor Munkin via Tarantool-patches 2022-02-09 10:14 ` Sergey Kaplun via Tarantool-patches 2022-01-31 21:33 ` [Tarantool-patches] [PATCH 2/2] gdb: add mmudata value to lj-gc output Igor Munkin via Tarantool-patches ` (2 subsequent siblings) 3 siblings, 1 reply; 13+ messages in thread From: Igor Munkin via Tarantool-patches @ 2022-01-31 21:33 UTC (permalink / raw) To: Sergey Kaplun, Maxim Kokryashkin; +Cc: tarantool-patches Prior to this patch the dump of Lua stack top (or bottom if we consider address growth direction) part was almost hardcoded except the number of its free slots. This leads to the following drawbacks of <lj-stack> command: * Red zone stack slots are collapsed like the way similar to free stack slots are except for the single difference: one needs to use <lj-tv> to inspect them regardless the fact they are used or not. * Top slot is hardcoded, that is confusing in case both base and top point to a single slot (e.g. function call with no arguments given). As a result of these changes red zone slots are dumped unconditionally on the top of the stack dump and top slot is unwound like the occupied slots are. The only artefact of the latter is the possible garbage printed as the top slot value. One can find the new example of <lj-stack> output below: | (gdb) lj-stack L | ----------- Red zone: 5 slots ----------- | 0x40047fc0 [ ] VALUE: nil | 0x40047fb8 [ ] VALUE: nil | 0x40047fb0 [ ] VALUE: nil | 0x40047fa8 [ ] VALUE: nil | 0x40047fa0 [ ] VALUE: nil | ----------- Stack: 168 slots ----------- | 0x40047f98 [ M] VALUE: nil | 0x40047ae0:0x40047f90 [ ] 151 slots: Free stack slots | 0x40047ad8 [ BT ] VALUE: number 2.3873123941281106e-313 | 0x40047ad0 [ ] FRAME: [PP] delta=1, fast function #27 | 0x40047ac8 [ ] FRAME: [L] delta=7, fast function #20 | 0x40047ac0 [ ] VALUE: Lua function @ 0x400c00b0, 2 upvalues, "@builtin/box/console.lua":243 | 0x40047ab8 [ ] VALUE: nil | 0x40047ab0 [ ] VALUE: Lua function @ 0x4014bb78, 0 upvalues, "return collectgarbage()":0 | 0x40047aa8 [ ] VALUE: nil | 0x40047aa0 [ ] VALUE: string "collectgarbage()" @ 0x40116660 | 0x40047a98 [ ] VALUE: table @ 0x400c0f88 (asize: 0, hmask: 0x1) | 0x40047a90 [ ] FRAME: [LP] delta=3, Lua function @ 0x4014fe30, 3 upvalues, "@builtin/box/console.lua":379 | 0x40047a88 [ ] VALUE: string "collectgarbage()" @ 0x40116660 | 0x40047a80 [ ] VALUE: table @ 0x400c0f88 (asize: 0, hmask: 0x1) | 0x40047a78 [ ] FRAME: [L] delta=3, Lua function @ 0x40075aa8, 1 upvalues, "@builtin/box/console.lua":701 | 0x40047a70 [ ] VALUE: string "/home/imun" @ 0x400ff388 | 0x40047a68 [ ] VALUE: table @ 0x400c0f88 (asize: 0, hmask: 0x1) | 0x40047a60 [ ] FRAME: [CP] delta=1, Lua function @ 0x4014d0c8, 5 upvalues, "@builtin/box/console.lua":746 | 0x40047a58 [S ] FRAME: dummy L Signed-off-by: Igor Munkin <imun@tarantool.org> --- src/luajit-gdb.py | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/src/luajit-gdb.py b/src/luajit-gdb.py index 4488775c..758ba10c 100644 --- a/src/luajit-gdb.py +++ b/src/luajit-gdb.py @@ -391,47 +391,49 @@ def dump_framelink(L, fr): f = dump_lj_tfunc(fr), ) -def dump_stack_slot(L, slot, base=None, top=None): +def dump_stack_slot(L, slot, base=None, top=None, eol='\n'): base = base or L['base'] top = top or L['top'] - return '{addr}{padding} [ {B}{T}{M}] VALUE: {value}\n'.format( + return '{addr}{padding} [ {B}{T}{M}] VALUE: {value}{eol}'.format( addr = strx64(slot), padding = PADDING, B = 'B' if slot == base else ' ', T = 'T' if slot == top else ' ', M = 'M' if slot == mref('TValue *', L['maxstack']) else ' ', value = dump_tvalue(slot), + eol = eol, ) def dump_stack(L, base=None, top=None): base = base or L['base'] top = top or L['top'] + stack = mref('TValue *', L['stack']) maxstack = mref('TValue *', L['maxstack']) red = 5 + 2 * LJ_FR2 dump = '\n'.join([ - '{start}:{end} [ ] {n} slots: Red zone'.format( - start = strx64(maxstack + 1), - end = strx64(maxstack + red), - n = red, + '{padding} Red zone: {nredslots: >2} slots {padding}'.format( + padding = '-' * len(PADDING), + nredslots = red, ), - '{maxstack}{padding} [ M]'.format( - maxstack = strx64(maxstack), - padding = PADDING, + *( + dump_stack_slot(L, maxstack + offset, base, top, '') + for offset in range(red, 0, -1) ), + '{padding} Stack: {nstackslots: >5} slots {padding}'.format( + padding = '-' * len(PADDING), + nstackslots = int((tou64(maxstack) - tou64(stack)) >> 3), + ), + dump_stack_slot(L, maxstack, base, top, ''), '{start}:{end} [ ] {nfreeslots} slots: Free stack slots'.format( start = strx64(top + 1), end = strx64(maxstack - 1), nfreeslots = int((tou64(maxstack) - tou64(top) - 8) >> 3), ), - '{top}{padding} [ T ]'.format( - top = strx64(top), - padding = PADDING, - ) ]) + '\n' - slot = top - 1 + slot = top framelink = base - (1 + LJ_FR2) # XXX: Lua stack unwinding algorithm consists of the following steps: @@ -447,7 +449,7 @@ def dump_stack(L, base=None, top=None): dump += dump_stack_slot(L, slot, base, top) slot -= 1 - while framelink > mref('TValue *', L['stack']): + while framelink > stack: assert slot == framelink + LJ_FR2, "Invalid slot during frame unwind" dump += dump_framelink(L, framelink) framelink = frame_prev(framelink + LJ_FR2) - LJ_FR2 -- 2.34.0 ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Tarantool-patches] [PATCH 1/2] gdb: unwind Lua stack top part 2022-01-31 21:33 ` [Tarantool-patches] [PATCH 1/2] gdb: unwind Lua stack top part Igor Munkin via Tarantool-patches @ 2022-02-09 10:14 ` Sergey Kaplun via Tarantool-patches 2022-02-09 18:02 ` Maxim Kokryashkin via Tarantool-patches 2022-02-11 19:11 ` Igor Munkin via Tarantool-patches 0 siblings, 2 replies; 13+ messages in thread From: Sergey Kaplun via Tarantool-patches @ 2022-02-09 10:14 UTC (permalink / raw) To: Igor Munkin; +Cc: tarantool-patches Hi, Igor! Thanks for the patch! LGTM. -- Best regards, Sergey Kaplun ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Tarantool-patches] [PATCH 1/2] gdb: unwind Lua stack top part 2022-02-09 10:14 ` Sergey Kaplun via Tarantool-patches @ 2022-02-09 18:02 ` Maxim Kokryashkin via Tarantool-patches 2022-02-11 19:11 ` Igor Munkin via Tarantool-patches 2022-02-11 19:11 ` Igor Munkin via Tarantool-patches 1 sibling, 1 reply; 13+ messages in thread From: Maxim Kokryashkin via Tarantool-patches @ 2022-02-09 18:02 UTC (permalink / raw) To: Sergey Kaplun; +Cc: tarantool-patches [-- Attachment #1: Type: text/plain, Size: 257 bytes --] Hi, Igor! Thanks for the patch! LGTM Best regards, Maxim Kokryashkin >Среда, 9 февраля 2022, 13:16 +03:00 от Sergey Kaplun <skaplun@tarantool.org>: > >Hi, Igor! > >Thanks for the patch! > >LGTM. > >-- >Best regards, >Sergey Kaplun [-- Attachment #2: Type: text/html, Size: 4450 bytes --] ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Tarantool-patches] [PATCH 1/2] gdb: unwind Lua stack top part 2022-02-09 18:02 ` Maxim Kokryashkin via Tarantool-patches @ 2022-02-11 19:11 ` Igor Munkin via Tarantool-patches 0 siblings, 0 replies; 13+ messages in thread From: Igor Munkin via Tarantool-patches @ 2022-02-11 19:11 UTC (permalink / raw) To: Maxim Kokryashkin; +Cc: tarantool-patches Max, Thanks for your review! On 09.02.22, Maxim Kokryashkin wrote: > > Hi, Igor! > Thanks for the patch! > LGTM Added your tag: | Reviewed-by: Maxim Kokryashkin <m.kokryashkin@tarantool.org> > > Best regards, > Maxim Kokryashkin > <snipped> > -- Best regards, IM ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Tarantool-patches] [PATCH 1/2] gdb: unwind Lua stack top part 2022-02-09 10:14 ` Sergey Kaplun via Tarantool-patches 2022-02-09 18:02 ` Maxim Kokryashkin via Tarantool-patches @ 2022-02-11 19:11 ` Igor Munkin via Tarantool-patches 1 sibling, 0 replies; 13+ messages in thread From: Igor Munkin via Tarantool-patches @ 2022-02-11 19:11 UTC (permalink / raw) To: Sergey Kaplun; +Cc: tarantool-patches Sergey, Thanks for your review! On 09.02.22, Sergey Kaplun wrote: > Hi, Igor! > > Thanks for the patch! > > LGTM. Added your tag: | Reviewed-by: Sergey Kaplun <skaplun@tarantool.org> > > -- > Best regards, > Sergey Kaplun -- Best regards, IM ^ permalink raw reply [flat|nested] 13+ messages in thread
* [Tarantool-patches] [PATCH 2/2] gdb: add mmudata value to lj-gc output 2022-01-31 21:33 [Tarantool-patches] [PATCH 0/2] Minor enhancements in luajit-gdb.py Igor Munkin via Tarantool-patches 2022-01-31 21:33 ` [Tarantool-patches] [PATCH 1/2] gdb: unwind Lua stack top part Igor Munkin via Tarantool-patches @ 2022-01-31 21:33 ` Igor Munkin via Tarantool-patches 2022-02-09 10:29 ` Sergey Kaplun via Tarantool-patches 2022-02-01 10:17 ` [Tarantool-patches] [PATCH 0/2] Minor enhancements in luajit-gdb.py Igor Munkin via Tarantool-patches 2022-02-11 20:42 ` Igor Munkin via Tarantool-patches 3 siblings, 1 reply; 13+ messages in thread From: Igor Munkin via Tarantool-patches @ 2022-01-31 21:33 UTC (permalink / raw) To: Sergey Kaplun, Maxim Kokryashkin; +Cc: tarantool-patches As a result of this patch <g->gc.mmudata> value representing the amount of GC object to be finalized is added to <lj-gc> output. All auxiliary routines are also adjusted a bit since these GC objects are grouped in a ring-list. Signed-off-by: Igor Munkin <imun@tarantool.org> --- src/luajit-gdb.py | 35 +++++++++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 8 deletions(-) diff --git a/src/luajit-gdb.py b/src/luajit-gdb.py index 758ba10c..baf66f66 100644 --- a/src/luajit-gdb.py +++ b/src/luajit-gdb.py @@ -179,6 +179,9 @@ def gcval(obj): return cast('GCobj *', obj['gcptr64'] & LJ_GCVMASK if LJ_GC64 else cast('uintptr_t', obj['gcptr32'])) +def gcnext(obj): + return gcref(obj)['gch']['nextgc'] + def L(L=None): # lookup a symbol for the main coroutine considering the host app # XXX Fragile: though the loop initialization looks like a crap but it @@ -272,13 +275,30 @@ def funcproto(func): return cast('GCproto *', mref('char *', func['pc']) - gdb.lookup_type('GCproto').sizeof) -def gclistlen(root): +def gclistlen(root, end=0x0): count = 0 - while(gcref(root)): + while(gcref(root) != end): count += 1 - root = gcref(root)['gch']['nextgc'] + root = gcnext(root) return count +def gcringlen(root): + if not gcref(root): + return 0 + elif gcref(root) == gcref(gcnext(root)): + return 1 + else: + return 1 + gclistlen(gcnext(root), gcref(root)) + +gclen = { + 'root': gclistlen, + 'gray': gclistlen, + 'grayagain': gclistlen, + 'weak': gclistlen, + # XXX: gc.mmudata is a ring-list. + 'mmudata': gcringlen, +} + # Dumpers {{{ def dump_lj_tnil(tv): @@ -482,11 +502,9 @@ def dump_gc(g): ) ] stats += [ '{key}: {number} objects'.format( - key = f, - number = gclistlen(gc[f]), - ) for f in ('root', 'gray', 'grayagain', 'weak') ] - - # TODO: mmudata + key = stat, + number = handler(gc[stat]) + ) for stat, handler in gclen.items() ] return '\n'.join(map(lambda s: '\t' + s, stats)) @@ -686,6 +704,7 @@ The command requires no args and dumps current GC stats: * gray: <number of gray objects> * grayagain: <number of objects for atomic traversal> * weak: <number of weak tables (to be cleared)> +* mmudata: <number of udata|cdata to be finalized> ''' def invoke(self, arg, from_tty): -- 2.34.0 ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Tarantool-patches] [PATCH 2/2] gdb: add mmudata value to lj-gc output 2022-01-31 21:33 ` [Tarantool-patches] [PATCH 2/2] gdb: add mmudata value to lj-gc output Igor Munkin via Tarantool-patches @ 2022-02-09 10:29 ` Sergey Kaplun via Tarantool-patches 2022-02-09 18:11 ` Maxim Kokryashkin via Tarantool-patches 2022-02-11 19:12 ` Igor Munkin via Tarantool-patches 0 siblings, 2 replies; 13+ messages in thread From: Sergey Kaplun via Tarantool-patches @ 2022-02-09 10:29 UTC (permalink / raw) To: Igor Munkin; +Cc: tarantool-patches Hi, Igor! Thanks for the patch! LGTM, except a single nit regarding commit message below. On 01.02.22, Igor Munkin wrote: > As a result of this patch <g->gc.mmudata> value representing the amount > of GC object to be finalized is added to <lj-gc> output. All auxiliary Typo: s/to <lj-gc> output/to the <lj-gc> output/ > routines are also adjusted a bit since these GC objects are grouped in a > ring-list. > > Signed-off-by: Igor Munkin <imun@tarantool.org> > --- > src/luajit-gdb.py | 35 +++++++++++++++++++++++++++-------- > 1 file changed, 27 insertions(+), 8 deletions(-) > > diff --git a/src/luajit-gdb.py b/src/luajit-gdb.py > index 758ba10c..baf66f66 100644 > --- a/src/luajit-gdb.py > +++ b/src/luajit-gdb.py <snipped> > -- > 2.34.0 > -- Best regards, Sergey Kaplun ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Tarantool-patches] [PATCH 2/2] gdb: add mmudata value to lj-gc output 2022-02-09 10:29 ` Sergey Kaplun via Tarantool-patches @ 2022-02-09 18:11 ` Maxim Kokryashkin via Tarantool-patches 2022-02-11 19:12 ` Igor Munkin via Tarantool-patches 2022-02-11 19:12 ` Igor Munkin via Tarantool-patches 1 sibling, 1 reply; 13+ messages in thread From: Maxim Kokryashkin via Tarantool-patches @ 2022-02-09 18:11 UTC (permalink / raw) To: Sergey Kaplun; +Cc: tarantool-patches [-- Attachment #1: Type: text/plain, Size: 997 bytes --] Hi, Igor! Thanks for the patch! LGTM -- Best regards, Maxim Kokryashkin >Среда, 9 февраля 2022, 13:31 +03:00 от Sergey Kaplun <skaplun@tarantool.org>: > >Hi, Igor! > >Thanks for the patch! > >LGTM, except a single nit regarding commit message below. > >On 01.02.22, Igor Munkin wrote: >> As a result of this patch <g->gc.mmudata> value representing the amount >> of GC object to be finalized is added to <lj-gc> output. All auxiliary > >Typo: s/to <lj-gc> output/to the <lj-gc> output/ > >> routines are also adjusted a bit since these GC objects are grouped in a >> ring-list. >> >> Signed-off-by: Igor Munkin < imun@tarantool.org > >> --- >> src/luajit-gdb.py | 35 +++++++++++++++++++++++++++-------- >> 1 file changed, 27 insertions(+), 8 deletions(-) >> >> diff --git a/src/luajit-gdb.py b/src/luajit-gdb.py >> index 758ba10c..baf66f66 100644 >> --- a/src/luajit-gdb.py >> +++ b/src/luajit-gdb.py > ><snipped> > >> -- >> 2.34.0 >> > >-- >Best regards, >Sergey Kaplun [-- Attachment #2: Type: text/html, Size: 1631 bytes --] ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Tarantool-patches] [PATCH 2/2] gdb: add mmudata value to lj-gc output 2022-02-09 18:11 ` Maxim Kokryashkin via Tarantool-patches @ 2022-02-11 19:12 ` Igor Munkin via Tarantool-patches 0 siblings, 0 replies; 13+ messages in thread From: Igor Munkin via Tarantool-patches @ 2022-02-11 19:12 UTC (permalink / raw) To: Maxim Kokryashkin; +Cc: tarantool-patches Max, Thanks for your review! On 09.02.22, Maxim Kokryashkin wrote: > > Hi, Igor! > Thanks for the patch! > LGTM Added your tag: | Reviewed-by: Maxim Kokryashkin <m.kokryashkin@tarantool.org> > -- > Best regards, > Maxim Kokryashkin > <snipped> > -- Best regards, IM ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Tarantool-patches] [PATCH 2/2] gdb: add mmudata value to lj-gc output 2022-02-09 10:29 ` Sergey Kaplun via Tarantool-patches 2022-02-09 18:11 ` Maxim Kokryashkin via Tarantool-patches @ 2022-02-11 19:12 ` Igor Munkin via Tarantool-patches 1 sibling, 0 replies; 13+ messages in thread From: Igor Munkin via Tarantool-patches @ 2022-02-11 19:12 UTC (permalink / raw) To: Sergey Kaplun; +Cc: tarantool-patches Sergey, Thanks for your review! On 09.02.22, Sergey Kaplun wrote: > Hi, Igor! > > Thanks for the patch! > > LGTM, except a single nit regarding commit message below. Added your tag: | Reviewed-by: Sergey Kaplun <skaplun@tarantool.org> > > On 01.02.22, Igor Munkin wrote: > > As a result of this patch <g->gc.mmudata> value representing the amount > > of GC object to be finalized is added to <lj-gc> output. All auxiliary > > Typo: s/to <lj-gc> output/to the <lj-gc> output/ Well, I almost sure there is no need for the definite article here. Ignoring. > > > routines are also adjusted a bit since these GC objects are grouped in a > > ring-list. > > <snipped> > > -- > Best regards, > Sergey Kaplun -- Best regards, IM ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Tarantool-patches] [PATCH 0/2] Minor enhancements in luajit-gdb.py 2022-01-31 21:33 [Tarantool-patches] [PATCH 0/2] Minor enhancements in luajit-gdb.py Igor Munkin via Tarantool-patches 2022-01-31 21:33 ` [Tarantool-patches] [PATCH 1/2] gdb: unwind Lua stack top part Igor Munkin via Tarantool-patches 2022-01-31 21:33 ` [Tarantool-patches] [PATCH 2/2] gdb: add mmudata value to lj-gc output Igor Munkin via Tarantool-patches @ 2022-02-01 10:17 ` Igor Munkin via Tarantool-patches 2022-02-11 20:42 ` Igor Munkin via Tarantool-patches 3 siblings, 0 replies; 13+ messages in thread From: Igor Munkin via Tarantool-patches @ 2022-02-01 10:17 UTC (permalink / raw) To: Sergey Kaplun, Maxim Kokryashkin; +Cc: tarantool-patches On 01.02.22, Igor Munkin wrote: > This series provides several minor but vital enhancements for <lj-gc> > and <lj-stack> commands. For more info please proceed to the particular > commit message. > > Branch: https://github.com/tarantool/luajit/tree/imun/luajit-gdb-minor-enhancements > CI is red[1], but... em... I didn't dig the particular reasons for its > failure, since all of them looks to be related to our infra. Hocus pocus, CI is green now! > <snipped> > > [1]: https://github.com/tarantool/tarantool/tree/imun/luajit-gdb-minor-enhancements-full-ci > > -- > 2.34.0 > -- Best regards, IM ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Tarantool-patches] [PATCH 0/2] Minor enhancements in luajit-gdb.py 2022-01-31 21:33 [Tarantool-patches] [PATCH 0/2] Minor enhancements in luajit-gdb.py Igor Munkin via Tarantool-patches ` (2 preceding siblings ...) 2022-02-01 10:17 ` [Tarantool-patches] [PATCH 0/2] Minor enhancements in luajit-gdb.py Igor Munkin via Tarantool-patches @ 2022-02-11 20:42 ` Igor Munkin via Tarantool-patches 3 siblings, 0 replies; 13+ messages in thread From: Igor Munkin via Tarantool-patches @ 2022-02-11 20:42 UTC (permalink / raw) To: Sergey Kaplun, Maxim Kokryashkin; +Cc: tarantool-patches I've checked the patch into all long-term branches in tarantool/luajit and bumped a new version in 1.10, 2.8 and master. On 01.02.22, Igor Munkin wrote: > This series provides several minor but vital enhancements for <lj-gc> > and <lj-stack> commands. For more info please proceed to the particular > commit message. > > Branch: https://github.com/tarantool/luajit/tree/imun/luajit-gdb-minor-enhancements > CI is red[1], but... em... I didn't dig the particular reasons for its > failure, since all of them looks to be related to our infra. > <snipped> > > Igor Munkin (2): > gdb: unwind Lua stack top part > gdb: add mmudata value to lj-gc output > > src/luajit-gdb.py | 67 +++++++++++++++++++++++++++++++---------------- > 1 file changed, 44 insertions(+), 23 deletions(-) > > [1]: https://github.com/tarantool/tarantool/tree/imun/luajit-gdb-minor-enhancements-full-ci > > -- > 2.34.0 > -- Best regards, IM ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2022-02-11 20:45 UTC | newest] Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2022-01-31 21:33 [Tarantool-patches] [PATCH 0/2] Minor enhancements in luajit-gdb.py Igor Munkin via Tarantool-patches 2022-01-31 21:33 ` [Tarantool-patches] [PATCH 1/2] gdb: unwind Lua stack top part Igor Munkin via Tarantool-patches 2022-02-09 10:14 ` Sergey Kaplun via Tarantool-patches 2022-02-09 18:02 ` Maxim Kokryashkin via Tarantool-patches 2022-02-11 19:11 ` Igor Munkin via Tarantool-patches 2022-02-11 19:11 ` Igor Munkin via Tarantool-patches 2022-01-31 21:33 ` [Tarantool-patches] [PATCH 2/2] gdb: add mmudata value to lj-gc output Igor Munkin via Tarantool-patches 2022-02-09 10:29 ` Sergey Kaplun via Tarantool-patches 2022-02-09 18:11 ` Maxim Kokryashkin via Tarantool-patches 2022-02-11 19:12 ` Igor Munkin via Tarantool-patches 2022-02-11 19:12 ` Igor Munkin via Tarantool-patches 2022-02-01 10:17 ` [Tarantool-patches] [PATCH 0/2] Minor enhancements in luajit-gdb.py Igor Munkin via Tarantool-patches 2022-02-11 20:42 ` Igor Munkin via Tarantool-patches
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox