New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
sysprof and memprof parsers lack error handling #9217
Comments
Looks like part of #5994. |
mkokryashkin
added a commit
to tarantool/luajit
that referenced
this issue
Nov 23, 2023
Prior to this patch, there was no error-checking in profilers, which resulted in raw Lua errors being reported in cases of non-existing paths or corrupt file structures. This patch adds error handling, so all parsing errors are now reported in a user-friendly manner. Event parsing is now moved into a separate profiler-agnostic module. Tool CLI flag tests are adapted correspondingly to error message changes. Resolves tarantool/tarantool#9217 Part of tarantool/tarantool#5994
mkokryashkin
added a commit
to tarantool/luajit
that referenced
this issue
Dec 3, 2023
Prior to this patch, there was no error-checking in profilers, which resulted in raw Lua errors being reported in cases of non-existing paths or corrupt file structures. This patch adds error handling, so all parsing errors are now reported in a user-friendly manner. Event parsing is now moved into a separate profiler-agnostic module. Tool CLI flag tests are adapted correspondingly to error message changes. Resolves tarantool/tarantool#9217 Part of tarantool/tarantool#5994
mkokryashkin
added a commit
to mkokryashkin/tarantool
that referenced
this issue
Dec 3, 2023
sysprof: purge `collapse.lua` profilers: print user-friendly errors memprof: introduce the `--human-readable` option memprof: refactor `heap_chunk` data structure cmake: properly handle the memprof/process.lua Closes tarantool#9217 Part of tarantool#5994 Part of tarantool#8700 NO_DOC=LJ NO_TEST=LJ
mkokryashkin
added a commit
to mkokryashkin/tarantool
that referenced
this issue
Dec 3, 2023
profilers: print user-friendly errors memprof: introduce the `--human-readable` option memprof: refactor `heap_chunk` data structure cmake: properly handle the memprof/process.lua Closes tarantool#9217 Part of tarantool#5994 Part of tarantool#8700 NO_DOC=LJ NO_TEST=LJ
mkokryashkin
added a commit
to mkokryashkin/tarantool
that referenced
this issue
Dec 3, 2023
profilers: print user-friendly errors memprof: introduce the `--human-readable` option memprof: refactor `heap_chunk` data structure cmake: properly handle the memprof/process.lua Closes tarantool#9217 Part of tarantool#5994 Part of tarantool#8700 NO_DOC=LJ NO_TEST=LJ
mkokryashkin
added a commit
to tarantool/luajit
that referenced
this issue
Dec 3, 2023
Prior to this patch, there was no error-checking in profilers, which resulted in raw Lua errors being reported in cases of non-existing paths or corrupt file structures. This patch adds error handling, so all parsing errors are now reported in a user-friendly manner. Event parsing is now moved into a separate profiler-agnostic module. Tool CLI flag tests are adapted correspondingly to error message changes. Resolves tarantool/tarantool#9217 Part of tarantool/tarantool#5994
mkokryashkin
added a commit
to mkokryashkin/tarantool
that referenced
this issue
Dec 3, 2023
profilers: print user-friendly errors memprof: introduce the `--human-readable` option memprof: refactor `heap_chunk` data structure cmake: properly handle the memprof/process.lua Closes tarantool#9217 Part of tarantool#5994 Part of tarantool#8700 NO_DOC=LJ NO_TEST=LJ
mkokryashkin
added a commit
to tarantool/luajit
that referenced
this issue
Dec 4, 2023
Prior to this patch, there was no error-checking in profilers, which resulted in raw Lua errors being reported in cases of non-existing paths or corrupt file structures. This patch adds error handling, so all parsing errors are now reported in a user-friendly manner. Event parsing is now moved into a separate profiler-agnostic module. Tool CLI flag tests are adapted correspondingly to error message changes. Resolves tarantool/tarantool#9217 Part of tarantool/tarantool#5994
mkokryashkin
added a commit
to mkokryashkin/tarantool
that referenced
this issue
Dec 4, 2023
profilers: print user-friendly errors memprof: introduce the `--human-readable` option memprof: refactor `heap_chunk` data structure cmake: properly handle the memprof/process.lua Closes tarantool#9217 Part of tarantool#5994 Part of tarantool#8700 NO_DOC=LJ NO_TEST=LJ
mkokryashkin
added a commit
to tarantool/luajit
that referenced
this issue
Dec 6, 2023
Prior to this patch, there was no error-checking in profilers, which resulted in raw Lua errors being reported in cases of non-existing paths or corrupt file structures. This patch adds error handling, so all parsing errors are now reported in a user-friendly manner. Event parsing is now moved into a separate profiler-agnostic module. Tool CLI flag tests are adapted correspondingly to error message changes. Resolves tarantool/tarantool#9217 Part of tarantool/tarantool#5994
mkokryashkin
added a commit
to mkokryashkin/tarantool
that referenced
this issue
Dec 6, 2023
profilers: print user-friendly errors memprof: introduce the `--human-readable` option memprof: refactor `heap_chunk` data structure cmake: properly handle the memprof/process.lua Closes tarantool#9217 Part of tarantool#5994 Part of tarantool#8700 NO_DOC=LJ NO_TEST=LJ
mkokryashkin
added a commit
to mkokryashkin/tarantool
that referenced
this issue
Dec 6, 2023
profilers: print user-friendly errors memprof: introduce the `--human-readable` option memprof: remove unused arguments memprof: refactor `heap_chunk` data structure build: fix tool components handling build: purge sysprof.collapse module Closes tarantool#9217 Part of tarantool#5994 Part of tarantool#8700 NO_DOC=LJ NO_TEST=LJ
mkokryashkin
added a commit
to tarantool/luajit
that referenced
this issue
Dec 12, 2023
Prior to this patch, there was no error-checking in profilers, which resulted in raw Lua errors being reported in cases of non-existing paths or corrupt file structures. This patch adds error handling, so all parsing errors are now reported in a user-friendly manner. Event parsing is now moved into a separate profiler-agnostic module. Tool CLI flag tests are adapted correspondingly to error message changes. Resolves tarantool/tarantool#9217 Part of tarantool/tarantool#5994
mkokryashkin
added a commit
to mkokryashkin/tarantool
that referenced
this issue
Dec 12, 2023
profilers: print user-friendly errors memprof: introduce the `--human-readable` option memprof: remove unused arguments memprof: refactor `heap_chunk` data structure build: fix tool components handling build: purge sysprof.collapse module Closes tarantool#9217 Part of tarantool#5994 Part of tarantool#8700 NO_DOC=LJ NO_TEST=LJ
mkokryashkin
added a commit
to tarantool/luajit
that referenced
this issue
Jan 9, 2024
Prior to this patch, there was no error-checking in profilers, which resulted in raw Lua errors being reported in cases of non-existing paths or corrupt file structures. This patch adds error handling, so all parsing errors are now reported in a user-friendly manner. Event parsing is now moved into a separate profiler-agnostic module. Tool CLI flag tests are adapted correspondingly to error message changes. Resolves tarantool/tarantool#9217 Part of tarantool/tarantool#5994
mkokryashkin
added a commit
to tarantool/luajit
that referenced
this issue
Jan 9, 2024
Prior to this patch, there was no error-checking in profilers, which resulted in raw Lua errors being reported in cases of non-existing paths or corrupt file structures. This patch adds error handling, so all parsing errors are now reported in a user-friendly manner. Event parsing is now moved into a separate profiler-agnostic module. Tool CLI flag tests are adapted correspondingly to error message changes. Resolves tarantool/tarantool#9217 Part of tarantool/tarantool#5994
mkokryashkin
added a commit
to mkokryashkin/tarantool
that referenced
this issue
Jan 9, 2024
profilers: print user-friendly errors memprof: introduce the `--human-readable` option memprof: remove unused arguments memprof: refactor `heap_chunk` data structure build: fix tool components handling build: purge sysprof.collapse module Closes tarantool#9217 Part of tarantool#5994 Part of tarantool#8700 NO_DOC=LJ NO_TEST=LJ
mkokryashkin
added a commit
to mkokryashkin/tarantool
that referenced
this issue
Jan 9, 2024
profilers: print user-friendly errors memprof: introduce the `--human-readable` option memprof: remove unused arguments memprof: refactor `heap_chunk` data structure build: fix tool components handling build: purge sysprof.collapse module Closes tarantool#9217 Part of tarantool#5994 Part of tarantool#8700 NO_DOC=LJ NO_TEST=LJ
igormunkin
pushed a commit
to tarantool/luajit
that referenced
this issue
Feb 19, 2024
Prior to this patch, there was no error-checking in profilers, which resulted in raw Lua errors being reported in cases of non-existing paths or corrupt file structures. This patch adds error handling, so all parsing errors are now reported in a user-friendly manner. Event parsing is now moved into a separate profiler-agnostic module. Tool CLI flag tests are adapted correspondingly to error message changes. Resolves tarantool/tarantool#9217 Part of tarantool/tarantool#5994
mkokryashkin
added a commit
to tarantool/luajit
that referenced
this issue
Mar 13, 2024
There is no error-checking in profilers which results in raw Lua errors being reported in cases of non-existing paths or corrupt file structures. This patch adds a profiler-agnostic module for event parsing, which is going to be used to introduce user-friendly errors. It is impossible to enable it right now because it should be included in Tarantool's build procedure first. Part of tarantool/tarantool#9217 Part of tarantool/tarantool#5994
mkokryashkin
added a commit
to mkokryashkin/tarantool
that referenced
this issue
Mar 13, 2024
profilers: introduce event reader module memprof: introduce the `--human-readable` option memprof: remove unused arguments memprof: refactor `heap_chunk` data structure build: fix tool components handling build: purge sysprof.collapse module Part of tarantool#9217 Part of tarantool#5994 Part of tarantool#8700 NO_DOC=LJ NO_TEST=LJ
Buristan
pushed a commit
to tarantool/luajit
that referenced
this issue
Mar 14, 2024
There is no error-checking in profilers which results in raw Lua errors being reported in cases of non-existing paths or corrupt file structures. This patch adds a profiler-agnostic module for event parsing, which is going to be used to introduce user-friendly errors. It is impossible to enable it right now because it should be included in Tarantool's build procedure first. Part of tarantool/tarantool#9217 Part of tarantool/tarantool#5994
Buristan
pushed a commit
to tarantool/luajit
that referenced
this issue
Mar 15, 2024
There is no error-checking in profilers which results in raw Lua errors being reported in cases of non-existing paths or corrupt file structures. This patch adds a profiler-agnostic module for event parsing, which is going to be used to introduce user-friendly errors. It is impossible to enable it right now because it should be included in Tarantool's build procedure first. Part of tarantool/tarantool#9217 Part of tarantool/tarantool#5994 Reviewed-by: Sergey Bronnikov <sergeyb@tarantool.org> Reviewed-by: Sergey Kaplun <skaplun@tarantool.org> Signed-off-by: Sergey Kaplun <skaplun@tarantool.org>
Buristan
pushed a commit
to tarantool/luajit
that referenced
this issue
Mar 15, 2024
There is no error-checking in profilers which results in raw Lua errors being reported in cases of non-existing paths or corrupt file structures. This patch adds a profiler-agnostic module for event parsing, which is going to be used to introduce user-friendly errors. It is impossible to enable it right now because it should be included in Tarantool's build procedure first. Part of tarantool/tarantool#9217 Part of tarantool/tarantool#5994 Reviewed-by: Sergey Bronnikov <sergeyb@tarantool.org> Reviewed-by: Sergey Kaplun <skaplun@tarantool.org> Signed-off-by: Sergey Kaplun <skaplun@tarantool.org> (cherry picked from commit df5a072)
Buristan
pushed a commit
to tarantool/luajit
that referenced
this issue
Mar 15, 2024
There is no error-checking in profilers which results in raw Lua errors being reported in cases of non-existing paths or corrupt file structures. This patch adds a profiler-agnostic module for event parsing, which is going to be used to introduce user-friendly errors. It is impossible to enable it right now because it should be included in Tarantool's build procedure first. Part of tarantool/tarantool#9217 Part of tarantool/tarantool#5994 Reviewed-by: Sergey Bronnikov <sergeyb@tarantool.org> Reviewed-by: Sergey Kaplun <skaplun@tarantool.org> Signed-off-by: Sergey Kaplun <skaplun@tarantool.org> (cherry picked from commit df5a072)
mkokryashkin
added a commit
to mkokryashkin/tarantool
that referenced
this issue
Mar 25, 2024
This patch adds necessary cmake configurations for the <evread.lua> module, so it can be used later to implement human-readable error reporting in profile parsers. Part of tarantool#9217 NO_DOC=LJ NO_TEST=LJ NO_CHANGELOG=build
mkokryashkin
added a commit
to mkokryashkin/tarantool
that referenced
this issue
Mar 25, 2024
This patch adds necessary cmake configurations for the <evread.lua> module, so it can be used later to implement human-readable error reporting in profile parsers. Part of tarantool#9217 NO_DOC=LJ NO_TEST=LJ NO_CHANGELOG=build
mkokryashkin
added a commit
to mkokryashkin/tarantool
that referenced
this issue
Mar 26, 2024
This patch adds necessary cmake configurations for the <evread.lua> module, so it can be used later to implement human-readable error reporting in profile parsers. Part of tarantool#9217 NO_DOC=LuaJIT submodule NO_TEST=covered by the LuaJIT tests NO_CHANGELOG=build
ylobankov
pushed a commit
that referenced
this issue
Mar 26, 2024
This patch adds necessary cmake configurations for the <evread.lua> module, so it can be used later to implement human-readable error reporting in profile parsers. Part of #9217 NO_DOC=LuaJIT submodule NO_TEST=covered by the LuaJIT tests NO_CHANGELOG=build
mkokryashkin
added a commit
to mkokryashkin/tarantool
that referenced
this issue
Mar 26, 2024
This patch adds necessary cmake configurations for the <evread.lua> module, so it can be used later to implement human-readable error reporting in profile parsers. Part of tarantool#9217 NO_DOC=LuaJIT submodule NO_TEST=covered by the LuaJIT tests NO_CHANGELOG=build (cherry picked from commit e01fe8f)
mkokryashkin
added a commit
to mkokryashkin/tarantool
that referenced
this issue
Mar 26, 2024
This patch adds necessary cmake configurations for the <evread.lua> module, so it can be used later to implement human-readable error reporting in profile parsers. Part of tarantool#9217 NO_DOC=LuaJIT submodule NO_TEST=covered by the LuaJIT tests NO_CHANGELOG=build (cherry picked from commit e01fe8f)
mkokryashkin
added a commit
to tarantool/luajit
that referenced
this issue
Mar 26, 2024
Prior to this patch, there was no error-checking in profilers, which resulted in raw Lua errors being reported in cases of non-existing paths or corrupt file structures. This patch makes use of the event reader module introduced in commit df5a072 ("profilers: introduce event reader module") to add error handling, so all parsing errors are now reported in a user-friendly manner. Tool CLI flag tests are adapted correspondingly to error message changes. Resolves tarantool/tarantool#9217 Part of tarantool/tarantool#5994
mkokryashkin
added a commit
to tarantool/luajit
that referenced
this issue
Apr 8, 2024
Prior to this patch, there was no error-checking in profilers, which resulted in raw Lua errors being reported in cases of non-existing paths or corrupt file structures. This patch makes use of the event reader module introduced in commit df5a072 ("profilers: introduce event reader module") to add error handling, so all parsing errors are now reported in a user-friendly manner. Tool CLI flag tests are adapted correspondingly to error message changes. Resolves tarantool/tarantool#9217 Part of tarantool/tarantool#5994
Buristan
pushed a commit
to tarantool/luajit
that referenced
this issue
Apr 8, 2024
Prior to this patch, there was no error-checking in profilers, which resulted in raw Lua errors being reported in cases of non-existing paths or corrupt file structures. This patch makes use of the event reader module introduced in commit df5a072 ("profilers: introduce event reader module") to add error handling, so all parsing errors are now reported in a user-friendly manner. Tool CLI flag tests are adapted correspondingly to error message changes. Resolves tarantool/tarantool#9217 Part of tarantool/tarantool#5994 Reviewed-by: Sergey Kaplun <skaplun@tarantool.org> Reviewed-by: Sergey Bronnikov <sergeyb@tarantool.org> Signed-off-by: Sergey Kaplun <skaplun@tarantool.org> (cherry picked from commit ecc4535)
Buristan
pushed a commit
to tarantool/luajit
that referenced
this issue
Apr 8, 2024
Prior to this patch, there was no error-checking in profilers, which resulted in raw Lua errors being reported in cases of non-existing paths or corrupt file structures. This patch makes use of the event reader module introduced in commit df5a072 ("profilers: introduce event reader module") to add error handling, so all parsing errors are now reported in a user-friendly manner. Tool CLI flag tests are adapted correspondingly to error message changes. Resolves tarantool/tarantool#9217 Part of tarantool/tarantool#5994 Reviewed-by: Sergey Kaplun <skaplun@tarantool.org> Reviewed-by: Sergey Bronnikov <sergeyb@tarantool.org> Signed-off-by: Sergey Kaplun <skaplun@tarantool.org> (cherry picked from commit ecc4535)
Buristan
added a commit
to Buristan/tarantool
that referenced
this issue
Apr 11, 2024
* ci: bump version of actions/checkout * test: fix typo in the link to the issue * test: refactor CMake macro LibRealPath * test: move LibRealPath to the separate module * test: more cautious usage of LD_PRELOAD for ASan * test: fix lj-802-panic-at-mcode-protfail GCC+ASan * ci: execute LuaJIT tests with GCC 10 and ASAN * cmake: replace prove with CTest * Prevent down-recursion for side traces. * Handle stack reallocation in debug.setmetatable() and lua_setmetatable(). * profilers: print user-friendly errors Closes tarantool#5994 Closes tarantool#9595 Closes tarantool#9217 Closes tarantool#9656 NO_DOC=LuaJIT submodule bump NO_TEST=LuaJIT submodule bump
Buristan
added a commit
to Buristan/tarantool
that referenced
this issue
Apr 11, 2024
* ci: bump version of actions/checkout * test: fix typo in the link to the issue * test: refactor CMake macro LibRealPath * test: move LibRealPath to the separate module * test: more cautious usage of LD_PRELOAD for ASan * test: fix lj-802-panic-at-mcode-protfail GCC+ASan * ci: execute LuaJIT tests with GCC 10 and ASAN * cmake: replace prove with CTest * Prevent down-recursion for side traces. * Handle stack reallocation in debug.setmetatable() and lua_setmetatable(). * profilers: print user-friendly errors Closes tarantool#5994 Closes tarantool#9595 Closes tarantool#9217 Closes tarantool#9656 NO_DOC=LuaJIT submodule bump NO_TEST=LuaJIT submodule bump
Buristan
added a commit
to Buristan/tarantool
that referenced
this issue
Apr 11, 2024
* ci: bump version of actions/checkout * test: fix typo in the link to the issue * test: refactor CMake macro LibRealPath * test: move LibRealPath to the separate module * test: more cautious usage of LD_PRELOAD for ASan * test: fix lj-802-panic-at-mcode-protfail GCC+ASan * ci: execute LuaJIT tests with GCC 10 and ASAN * cmake: replace prove with CTest * Prevent down-recursion for side traces. * Handle stack reallocation in debug.setmetatable() and lua_setmetatable(). * profilers: print user-friendly errors Closes tarantool#5994 Closes tarantool#9595 Closes tarantool#9217 Closes tarantool#9656 NO_DOC=LuaJIT submodule bump NO_TEST=LuaJIT submodule bump
This was referenced Apr 11, 2024
Buristan
added a commit
to Buristan/tarantool
that referenced
this issue
Apr 11, 2024
* ci: bump version of actions/checkout * test: fix typo in the link to the issue * test: refactor CMake macro LibRealPath * test: move LibRealPath to the separate module * test: more cautious usage of LD_PRELOAD for ASan * test: fix lj-802-panic-at-mcode-protfail GCC+ASan * ci: execute LuaJIT tests with GCC 10 and ASAN * cmake: replace prove with CTest * Prevent down-recursion for side traces. * Handle stack reallocation in debug.setmetatable() and lua_setmetatable(). * profilers: print user-friendly errors Closes tarantool#5994 Closes tarantool#9595 Closes tarantool#9217 Closes tarantool#9656 NO_DOC=LuaJIT submodule bump NO_TEST=LuaJIT submodule bump
Buristan
added a commit
to Buristan/tarantool
that referenced
this issue
Apr 11, 2024
* ci: bump version of actions/checkout * test: fix typo in the link to the issue * test: refactor CMake macro LibRealPath * test: move LibRealPath to the separate module * test: more cautious usage of LD_PRELOAD for ASan * test: fix lj-802-panic-at-mcode-protfail GCC+ASan * ci: execute LuaJIT tests with GCC 10 and ASAN * cmake: replace prove with CTest * Prevent down-recursion for side traces. * Handle stack reallocation in debug.setmetatable() and lua_setmetatable(). * profilers: print user-friendly errors Closes tarantool#5994 Closes tarantool#9595 Closes tarantool#9217 Closes tarantool#9656 NO_DOC=LuaJIT submodule bump NO_TEST=LuaJIT submodule bump
Buristan
added a commit
to Buristan/tarantool
that referenced
this issue
Apr 11, 2024
* ci: bump version of actions/checkout * test: fix typo in the link to the issue * test: refactor CMake macro LibRealPath * test: move LibRealPath to the separate module * test: more cautious usage of LD_PRELOAD for ASan * test: fix lj-802-panic-at-mcode-protfail GCC+ASan * ci: execute LuaJIT tests with GCC 10 and ASAN * cmake: replace prove with CTest * Prevent down-recursion for side traces. * Handle stack reallocation in debug.setmetatable() and lua_setmetatable(). * profilers: print user-friendly errors Closes tarantool#5994 Closes tarantool#9595 Closes tarantool#9217 Closes tarantool#9656 NO_DOC=LuaJIT submodule bump NO_TEST=LuaJIT submodule bump
Buristan
added a commit
that referenced
this issue
Apr 11, 2024
* ci: bump version of actions/checkout * test: fix typo in the link to the issue * test: refactor CMake macro LibRealPath * test: move LibRealPath to the separate module * test: more cautious usage of LD_PRELOAD for ASan * test: fix lj-802-panic-at-mcode-protfail GCC+ASan * ci: execute LuaJIT tests with GCC 10 and ASAN * cmake: replace prove with CTest * Prevent down-recursion for side traces. * Handle stack reallocation in debug.setmetatable() and lua_setmetatable(). * profilers: print user-friendly errors Closes #5994 Closes #9595 Closes #9217 Closes #9656 NO_DOC=LuaJIT submodule bump NO_TEST=LuaJIT submodule bump
Buristan
added a commit
that referenced
this issue
Apr 11, 2024
* ci: bump version of actions/checkout * test: fix typo in the link to the issue * test: refactor CMake macro LibRealPath * test: move LibRealPath to the separate module * test: more cautious usage of LD_PRELOAD for ASan * test: fix lj-802-panic-at-mcode-protfail GCC+ASan * ci: execute LuaJIT tests with GCC 10 and ASAN * cmake: replace prove with CTest * Prevent down-recursion for side traces. * Handle stack reallocation in debug.setmetatable() and lua_setmetatable(). * profilers: print user-friendly errors Closes #5994 Closes #9595 Closes #9217 Closes #9656 NO_DOC=LuaJIT submodule bump NO_TEST=LuaJIT submodule bump
Buristan
added a commit
that referenced
this issue
Apr 11, 2024
* ci: bump version of actions/checkout * test: fix typo in the link to the issue * test: refactor CMake macro LibRealPath * test: move LibRealPath to the separate module * test: more cautious usage of LD_PRELOAD for ASan * test: fix lj-802-panic-at-mcode-protfail GCC+ASan * ci: execute LuaJIT tests with GCC 10 and ASAN * cmake: replace prove with CTest * Prevent down-recursion for side traces. * Handle stack reallocation in debug.setmetatable() and lua_setmetatable(). * profilers: print user-friendly errors Closes #5994 Closes #9595 Closes #9217 Closes #9656 NO_DOC=LuaJIT submodule bump NO_TEST=LuaJIT submodule bump
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Bug description
Both the sysprof and memprof parsers lack thorough error handling. It results in raw lua errors for all kinds of situations: incorrect file passed, file being corrupted, empty, etc. Below are some examples of the errors mentioned:
Expected behavior
Parsers should be refactored so all possible errors are reported in a concise and user-friendly way. Maybe it would be nice to provide some possible solutions along with errors. No raw Lua errors must be thrown.
The text was updated successfully, but these errors were encountered: