- Oct 14, 2021
-
-
Timur Safin authored
Introduce a new builtin Tarantool module `datetime.lua` for timestamp and interval types support. New third_party module - c-dt ----------------------------- * Integrated chansen/c-dt parser as 3rd party module to the Tarantool cmake build process; * We use tarantool/c-dt instead of original chansen/c-dt to have an easier cmake build integration, as we have added some changes, which provide cmake support, and allow to rename symbols if necessary (this symbol renaming is similar to that we see with xxhash or icu). New built-in module `datetime` ------------------------------ * created a new Tarantool built-in module `datetime`, which uses `struct datetime` data structure for keeping timestamp values; * Lua module uses a number of `dt_*` functions from `c-dt` library, but they were renamed to `tnt_dt_*` at the moment of exporting from executable - to avoid possible name clashes with external libraries. * At the moment we libc `strftime` for formatting of datetime values according to flags passed, i.e. `date:format('%FT%T%z')` will return something like '1970-01-01T00:00:00+0000', but `date:format('%A %d, %B %Y')` will return 'Thursday 01, January 1970' * if there is no format provided then we use default `tnt_datetime_to_string()` function, which converts datetime to their default ISO-8601 output format, i.e. `tostring(date)` will return string like "1970-01-01T00:00:00Z" * There are a number of simplified interfaces - totable() for exporting table with attributes names as provided by `os.date('*t')` - set() method provides unified interface to set values using the set of attributes as defined above in totable() Example, ``` local dt = datetime.new { nsec = 123456789, sec = 19, min = 29, hour = 18, day = 20, month = 8, year = 2021, tzoffset = 180 } local t = dt:totable() --[[ { sec = 19, min = 29, wday = 6, day = 20, nsec = 123456789, isdst = false, yday = 232, tzoffset = 180, month = 8, year = 2021, hour = 18 } --]] dt:format() -- 2021-08-21T14:53:34.032Z dt:format('%Y-%m-%dT%H:%M:%S') -- 2021-08-21T14:53:34 dt:set { usec = 123456, sec = 19, min = 29, hour = 18, day = 20, month = 8, year = 2021, tzoffset = 180, } dt:set { timestamp = 1629476485.124, tzoffset = 180, } ``` Coverage is File Hits Missed Coverage ----------------------------------------- builtin/datetime.lua 299 23 92.86% ----------------------------------------- Total 299 23 92.86% Part of #5941 @TarantoolBot document Title: Introduced a new `datetime` module for timestamp and interval support Create `datetime` module for timestamp and interval types support. It allows to create date and timestamp values using either object interface, or via parsing of string values conforming to iso-8601 standard. One may manipulate (modify, subtract or add) timestamp and interval values. Please refer to https://hackmd.io/@Mons/S1Vfc_axK#Datetime-in-Tarantool for a more detailed description of module API.
-
- Oct 05, 2021
-
-
EvgenyMekhanik authored
Closes #4909
-
EvgenyMekhanik authored
Fixed error in implementation of `ev_io_closing`: this function is called to do same work as `fd_kill` and should call it after checking fd (in `coio_close` we pass invalid event value, that leads to assertion in new libev version).
-
- Sep 17, 2021
-
-
Vladimir Davydov authored
Whether errors are encoded as a msgpack extension or not is determined by the serializer_opts::error_marshaling_enabled flag. Although an instance of serizlier_opts is passed to luamp_encode(), it doesn't propagate it to luamp_encode_extension_box(). The latter encodes an error as a msgpack extension if the error_marshaling_enabled flag is set in serializer_opts of the current session. This leads to a bug when luamp_encode() is called with error_marshaling_enabled unset while the current session has the flag set: 1. luaL_tofield() sets field->type to MP_EXT and field->ext_type to MP_UNKNOWN_EXTENSION, because the error_marshaling_enabled flag is unset: https://github.com/tarantool/tarantool/blob/b0431cf8f47e9d081f6a402bc18edb1d6ad49847/src/lua/serializer.c#L548 2. Basing on the ext_type, luamp_encode_r() skips the MP_ERROR swtich-case branch for the default branch and calls the luamp_encode_extension callback: https://github.com/tarantool/tarantool/blob/b0431cf8f47e9d081f6a402bc18edb1d6ad49847/src/lua/msgpack.c#L203 3. The callback implementation (luamp_encode_extension_box()) encodes the error, because the error_marshaling_enabled flag is set in the current session settings, and returns MP_EXT: https://github.com/tarantool/tarantool/blob/b0431cf8f47e9d081f6a402bc18edb1d6ad49847/src/box/lua/init.c#L420 4. luamp_encode_r() assumes that the callback didn't encode the extension, because it returned MP_EXT, and encodes it again as a string: https://github.com/tarantool/tarantool/blob/b0431cf8f47e9d081f6a402bc18edb1d6ad49847/src/lua/msgpack.c#L209 This results in a broken msgpack content. To fix this bug, let's do the following: - luaL_tofield() now sets ext_type to MP_ERROR unconditionally, irrespective of serializer_opts::error_marshaling_enabled. - luamp_encode_r() invokes the luamp_encode_extension callback for a MP_ERROR field only if error_marshaling_enabled is set. If the flag is unset, it proceeds with converting the field to string. - luamp_encode_extension_box() doesn't check serializer_opts anymore. It doesn't need to, because it's called iff error_marshaling_enabled is set. - YAML and JSON encoders are patched to handle the MP_ERROR field type by appending error::errmsg to the output (they use luaL_tofield() internally to determine the field type so they have to handle MP_ERROR). This basically disables error encoding as msgpack extension everywhere except returning an error from a Lua CALL/EVAL, in particular: - when creating a tuple with box.tuple.new(), - when inserting an error into a space, - when encoding an error with the msgpack module. This is okay, because the functionality has always been broken anyway. We will introduce a separate msgpack encoder option to enable encoding errors as MP_ERROR msgpack extension. Looking at the code links above, one is likely to wonder why error encoding was implemented via the encode extension callback in the first place. The lua/msgpack module knows about the MP_ERROR extension and even partially handles it so it'd be only natural to call the error encoder function directly, as we do with decimals and uuids. Unfortunately, we can't do it, because the error encoder is (surprise!) a part of the box library. I filed a ticket to move it to the core lib, see #6432. Closes #6431
-
- Aug 19, 2021
-
-
Igor Munkin authored
* ARM64: Fix exit stub patching. * arm64: fix cur_L restoration on error throw Closes #6098 Closes #6189 Part of #5629 Relates to #6323 Follows up #1516
-
- Aug 17, 2021
-
-
Igor Munkin authored
* Fix bytecode register allocation for comparisons. * gdb: support LJ_DUALNUM mode Closes #6224 Closes #6227 Part of #5629
-
- Aug 11, 2021
-
-
Igor Munkin authored
* ARM64: Fix write barrier in BC_USETS. * Linux/ARM64: Make mremap() non-moving due to VA space woes. * Add support for full-range 64 bit lightuserdata. Closes #2712 Needed for #6154 Part of #5629
-
- Aug 04, 2021
-
-
Igor Munkin authored
* Detect inconsistent renames even in the presence of sunk values. Closes #5118 Follows up #4252
-
- Aug 02, 2021
-
-
Vladislav Shpilevoy authored
To be consistent with tt_uuid_str() and tt_uuid_to_string(). _str() returns a string. _to_string() copies it into an externally passed buffer. Part of #6259
-
- Jul 30, 2021
-
-
Igor Munkin authored
* test: disable interactive mode assertions on BSD * test: update lua-Harness to c4451fe * test: support tarantool cli in lua-Harness * test: backport lua-Harness directory detection * test: support Tarantool in lua-Harness * test: refactor with _dofile * test: refactor with _retrieve_progname * test: use CI friendly variables in lua-Harness * test: rename lua-Harness tap to test_assertion * test: port lua-Harness to Test.Assertion Closes #5970 Part of #4473
-
- Jul 22, 2021
-
-
Igor Munkin authored
* gdb: fix dump stack without function frame * gdb: fix misalignment in lj-stack for LJ_GC64 Closes #5876
-
- Jul 21, 2021
-
-
Igor Munkin authored
* Fix IR_BUFPUT assembly.
-
- Jul 12, 2021
-
-
Sergey Bronnikov authored
Updated third_party/zstd submodule from v1.4.8 to 1.5.0 version. Changelog includes many changes including improved (de)compression speed and decompression ratio, see [1]. However, performance evaluation of reading Tarantool snapshot on start haven't shown improvements [2] . 1. https://github.com/facebook/zstd/releases/tag/v1.5.0 2. https://github.com/tarantool/tarantool/pull/6090
-
- Jul 07, 2021
-
-
Alexander Turenko authored
It is easier to glance on tightly coupled structures and functions, when they're not mixed with others. Just move without actual changes. Part of #3228
-
- Jun 18, 2021
-
-
Oleg Babin authored
This patch is the first step for fixing regression introduced in f998ea39 (digest: introduce FFI bindings for xxHash32/64). We used xxhash library that is shipped with zstd. However it's possible that user doesn't use bundled zstd. In such cases we couldn't export xxhash symbols and build failed with following error: ``` [ 59%] Linking CXX executable tarantool /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: CMakeFiles/tarantool.dir/exports.c.o:(.data.rel+0xd80): undefined reference to `XXH32' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: CMakeFiles/tarantool.dir/exports.c.o:(.data.rel+0xd88): undefined reference to `XXH32_copyState' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: CMakeFiles/tarantool.dir/exports.c.o:(.data.rel+0xd90): undefined reference to `XXH32_digest' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: CMakeFiles/tarantool.dir/exports.c.o:(.data.rel+0xd98): undefined reference to `XXH32_reset' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: CMakeFiles/tarantool.dir/exports.c.o:(.data.rel+0xda0): undefined reference to `XXH32_update' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: CMakeFiles/tarantool.dir/exports.c.o:(.data.rel+0xda8): undefined reference to `XXH64' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: CMakeFiles/tarantool.dir/exports.c.o:(.data.rel+0xdb0): undefined reference to `XXH64_copyState' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: CMakeFiles/tarantool.dir/exports.c.o:(.data.rel+0xdb8): undefined reference to `XXH64_digest' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: CMakeFiles/tarantool.dir/exports.c.o:(.data.rel+0xdc0): undefined reference to `XXH64_reset' /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: CMakeFiles/tarantool.dir/exports.c.o:(.data.rel+0xdc8): undefined reference to `XXH64_update' collect2: error: ld returned 1 exit status ``` To avoid a problem this patch introduces standalone xxhash library that will be bundled anyway. It's worth to mention that our approach is still related to zstd. We use Cyan4973/xxHash that is used in zstd and passes the same compile flags to it. Single difference is usage of XXH_NAMESPACE to avoid symbols clashing with zstd. Need for #6135
-
- Jun 16, 2021
-
-
mechanik20051988 authored
`VERSION` files in small subproject and in tarantool are treated as C++ standard library on a filesystem with case-insensitive names. So we have to delete the root of tarantool project from `include_directories` in tarantool CMake. Also we have to change `include_directories` in tarantool CMake from the root of `small` project to `include` subfolder in `small` project. Closes #6076
-
- Jun 12, 2021
-
-
Igor Munkin authored
* ARM64: Fix xpcall() error case (really). * ARM64: Fix xpcall() error case. * test: add arch-specific skipcond for memprof * ARM, ARM64, PPC: Fix TSETR fallback. Closes #6084 Closes #6093 Part of #5629
-
- May 25, 2021
-
-
Vladislav Shpilevoy authored
Lua json module used to have a global buffer for all encodings. It was reused by each next encode(). This was not correct, because during encode() might happen a GC step, which might call encode() again and spoil the global buffer. The same problem was already fixed for the global static buffer in scope of #5632. Similarly to that time, the patch makes Lua json module use cord_ibuf to prevent "concurrent" usage of the buffer data. The global buffer is deleted. According to a few microbenchmarks it didn't affect the perf anyhow. Core part of the patch is strbuf changes. Firstly, its destruction is now optional, cord_ibuf can free itself on a next yield. Secondly, its reallocation algorithm is kept intact - ibuf is used as an allocator, not as the buffer itself. This is done so as not to be too intrusive in the third party module which might need an upgrade to the upstream in the future. Closes #6050
-
- May 19, 2021
-
-
Igor Munkin authored
* FFI/ARM64/OSX: Fix vararg call handling. * OSX/iOS: Handle iOS simulator and ARM64 Macs. * build: pass sysroot to MacOS SDK Closes #6065 Closes #6066 Part of #5629 Relates to #5983
-
- May 17, 2021
-
-
Nikita Pettik authored
There are a few issues concerning build of coro on Mac M1. Firstly, Mach-O assembler does not support .type directive. So let's put it under ifndef __APPLE__ preprocessing guard. Secondly, according to OS X calling convention symbols (at least those which are not exported) are mangled with underscore ("_") prefix: Undefined symbols for architecture arm64: "_coro_startup", referenced from: _coro_create in libcoro.a(coro.c.o) The same concerns "abort" function call. So to call function from assembly inline we have to specify exact name (i.e. prefixed with _). Part of #5983
-
- Apr 19, 2021
-
-
Igor Munkin authored
LuaJIT submodule is bumped to introduce the following change: * test: fix directory detection in lua-Harness suite This changeset fixes the hidden bug in lua-Harness test suite that was revealed by applying 9610c741 ('hotfix: update libcurl submodule to 7.76.0'). This was 314-th patch in 2.8.0 release, so RPM-related tools confuse the testing machinery using the patch revision in the building tree names[1]. [1]: https://github.com/tarantool/tarantool/runs/2361010932#step:5:10032 Follows up #5844
-
- Apr 16, 2021
-
-
Nikita Pettik authored
It was accidentally reverted by 660686e3.
-
- Apr 15, 2021
-
-
Aleksandr Lyapunov authored
Follow-ip of #5628
-
Alexander Turenko authored
The reason of the update is to protect us against possible MITM attack from a malicious HTTPS proxy server with trusted certificate when TLS 1.3 is used (CVE-2021-22890, [1]). libcurl versions prior to 7.76.0 can skip a TLS handshake with a target host in this circumstances. Other vulnerabilities fixed in the (7.71.1; 7.76.0] version range do not look relevant to our built-in http client. See [2] for the full list. The CMake version requirement is updated from 3.1 to 3.2, because curl's CMakeLists.txt has the following clause at beginning: | cmake_minimum_required(VERSION 3.2...3.16 FATAL_ERROR) (It was there in vanilla curl 7.71.1 too and we had to remove it in order to support CMake 2. Now we don't support CMake 2, so it is good time to get rid of the extra patch upward vanilla curl repository.) According to the CMake versions table in 8a7702b1 ('github-ci: purge Debian Jessie from CI'), CMake 3.2+ is available on all supported OSes. [1]: https://curl.se/docs/CVE-2021-22890.html [2]: https://curl.se/docs/vulnerabilities.html @TarantoolBot document Title: Now we require CMake 3.2 to build tarantool In https://github.com/tarantool/doc/issues/1780 we requested to update the CMake minimum version to 3.1. Now it is time for 3.2. See details in the linked commit. Please, update the 'Building from source' manual.
-
- Apr 14, 2021
-
-
Sergey Kaplun authored
LuaJIT submodule is bumped to introduce the following changes: * test: disable too deep recursive PUC-Rio test * test: disable PUC-Rio hanging GC test * test: disable PUC-Rio test checking -h option * test: disable PUC-Rio test for checking arg layout * test: disable PUC-Rio tests for several -l options * test: disable PUC-Rio test for syntax level error * test: disable PUC-Rio test for non-ascii variable * test: disable PUC-Rio test for fast function name * test: disable PUC-Rio test for variables in error * test: disable PUC-Rio test for getfenv in tailcall * test: remove string.gfind assert in PUC-Rio test * test: use math.fmod in PUC-Rio tests * test: disable locale-dependent PUC-Rio tests * test: adapt PUC-Rio test for %q in string.format * test: disable PUC-Rio test for per-coroutine hooks * test: adapt PUC-Rio test with activeline check * test: disable PUC-Rio test for tailcall info * test: adapt PUC-Rio test with count hooks * test: adapt PUC-Rio test for debug in vararg func * test: adapt PUC-Rio tests with vararg functions * test: disable PUC-Rio suite tests for line hook * test: adapt PUC-Rio tests counting GC steps * test: disable PUC-Rio tests for bytecode header * test: disable PUC-Rio tests confused by -v output * test: adapt PUC-Rio test for arg presence * test: remove quotes in progname from PUC-Rio * test: adapt PUC-Rio suite for out-of-source build * test: build auxiliary C libs from PUC-Rio Lua 5.1 * test: add PUC-Rio Lua 5.1 test suite Within this changeset PUC-Rio Lua 5.1 suite[1] is added to Tarantool testing. Considering Tarantool specific changes in runtime the suite itself is adjusted in LuaJIT submodule. <test/luajit-test-init.lua> pretest runner is adjusted by setting custom `_loadstring()` and `_dofile()` global function to run tests correctly for out-of-source build. Also, this patch excludes PUC-Rio-Lua-5.1 test suite from ASAN checks. [1]: https://www.lua.org/tests/lua5.1-tests.tar.gz Closes #5845 Closes #5686 Closes #5694 Closes #5701 Closes #5708 Closes #5710 Closes #5711 Closes #5712 Part of #4473 Reviewed-by:
Igor Munkin <imun@tarantool.org> Signed-off-by:
Igor Munkin <imun@tarantool.org>
-
Sergey Kaplun authored
LuaJIT submodule is bumped to introduce the following changes: * tools: introduce --leak-only memprof parser option Within this changeset the new Lua module providing post-processing routines for parsed memory events is introduced: * memprof/process.lua: post-process the collected events The changes provide an option showing only heap difference. One can launch memory profile parser with the introduced option via the following command: $ tarantool -e 'require("memprof")(arg)' - --leak-only filename.bin Closes #5812 Reviewed-by:
Igor Munkin <imun@tarantool.org> Signed-off-by:
Igor Munkin <imun@tarantool.org>
-
- Apr 07, 2021
-
-
Igor Munkin authored
LuaJIT submodule is bumped to introduce the following changes: * test: fix dynamic modules loading on MacOS * test: make utils.selfrun usage easier * test: remove excess dependency for tests target Within this changeset SIP issues are worked around and dynamic modules loading on MacOS is fixed. As a result LuaJIT tests can be enabled for static build target on MacOS. Closes #5959 Follows up #4862 Reviewed-by:
Alexander V. Tikhonov <avtikhon@tarantool.org> Reviewed-by:
Sergey Kaplun <skaplun@tarantool.org> Signed-off-by:
Igor Munkin <imun@tarantool.org>
-
- Mar 29, 2021
-
-
Igor Munkin authored
* tools: make memprof parser output user-friendly Closes #5811 Part of #5657
-
Igor Munkin authored
* memprof: report stack resizing as internal event Closes #5842 Follows up #5442
-
- Mar 19, 2021
-
-
Sergey Nikiforov authored
Was caught by base64 test with enabled ASAN. It also caused data corruption - garbage instead of "extra bits" was saved into state->result if there was no space in output buffer. Decode state removed along with helper functions. Added test for "zero-sized output buffer" case. Fixes: #3069 (cherry picked from commit 7214add2c7f2a86265a5e08f2184029a19fc184d)
-
- Mar 17, 2021
-
-
Sergey Kaplun authored
LuaJIT submodule is bumped to introduce the following changes: * test: disable LuaJIT CLI tests in lua-Harness suite * test: set USERNAME env var for lua-Harness suite * test: adjust lua-Harness tests that use dofile * test: adjust lua-Harness suite to CMake machinery * test: add lua-Harness test suite Within this changeset lua-Harness suite[1] is added to Tarantool testing. Considering Tarantool specific changes in runtime the suite itself is adjusted in LuaJIT submodule. However, Tarantool provides and unconditionally loads TAP module conflicting with the one used in the new suite. Hence, the Tarantool built-in module is "unloaded" in test/luajit-test-init.lua. Furthermore, Tarantool provides UTF-8 support via another built-in module. Its interfaces differ from the ones implemented in Lua5.3 and moonjit. At the same time our LuaJIT fork provides no UTF-8 support, so lua-Harness UTF-8 detector is simply confused with non-nil utf8 global variable. As a result, utf8 is set to nil in test/luajit-test-init.lua. There are also some tests launching Lua interpreter, so strict need to be disabled for their child tests too. Hence `strict.off()` is added to `progname` (i.e. arg[-1] considering the way Tarantool parses its CLI arguments) command used in these tests. [1]: https://framagit.org/fperrad/lua-Harness/tree/a74be27/test_lua Closes #5844 Part of #4473 Reviewed-by:
Sergey Ostanevich <sergos@tarantool.org> Reviewed-by:
Igor Munkin <imun@tarantool.org> Signed-off-by:
Igor Munkin <imun@tarantool.org>
-
- Mar 10, 2021
-
-
Igor Munkin authored
LuaJIT submodule is bumped to introduce the following changes: * test: adjust LuaJIT test suite for Tarantool * test: change LuaJIT test suite to match b4e6bf0 * test: change LuaJIT test suite to match 5a61e1a * test: change LuaJIT test suite to match c198167 * test: change LuaJIT test suite to match de5568e * test: add LuaJIT-test-cleanup test suite * test: fix Lua command in utils.selfrun * test: fix luacheck invocation for non-real paths Within this changeset LuaJIT-test-cleanup suite[1] is added to Tarantool testing. Considering Tarantool specific changes in runtime the suite itself is adjusted in LuaJIT submodule. However, there is <strict> module enabled by default in Debug build, so the testing environment need to be tweaked via test/luajit-test-init.lua script to be run prior to every LuaJIT suite test is started. [1]: https://github.com/LuaJIT/LuaJIT-test-cleanup/tree/014708b/test Closes #4064 Part of #4473 Reviewed-by:
Sergey Kaplun <skaplun@tarantool.org> Reviewed-by:
Sergey Ostanevich <sergos@tarantool.org> Signed-off-by:
Igor Munkin <imun@tarantool.org>
-
- Mar 04, 2021
-
-
Igor Munkin authored
* core: fix cdata decrementing Closes #5820 Follows up #5187
-
- Feb 28, 2021
-
-
Igor Munkin authored
LuaJIT submodule is bumped to introduce the following changes: * test: run luacheck static analysis via CMake * test: fix warnings found with luacheck in misclib* * test: run LuaJIT tests via CMake * build: replace GNU Make with CMake * build: preserve the original build system Since LuaJIT build system is ported to CMake in scope of the changeset mentioned above, the module building the LuaJIT bundled in Tarantool is completely reworked. There is no option to build Tarantool against another prebuilt LuaJIT due to a91962c0 ('Until Bug#962848 is fixed, don't try to compile with external LuaJIT'), so all redundant options defining the libluajit to be used in Tarantool are dropped with the related auxiliary files. To run LuaJIT related tests or static analysis for Lua files within LuaJIT repository, <LuaJIT-test> and <LuaJIT-luacheck> targets are used respectively as a dependency of the corresponding Tarantool targets. As an additional dependency to run LuaJIT tests, prove[1] utility is required, so the necessary binary packages are added to the lists with build requirements. [1]: https://metacpan.org/pod/TAP::Harness#prove Closes #4862 Closes #5470 Closes #5631 Reviewed-by:
Sergey Kaplun <skaplun@tarantool.org> Reviewed-by:
Timur Safin <tsafin@tarantool.org> Signed-off-by:
Igor Munkin <imun@tarantool.org>
-
- Jan 25, 2021
-
-
Alexander V. Tikhonov authored
Updated third_party/zstd submodule from v1.3.3 to v1.4.8 version. Found issue building on Fedora 33: third_party/zstd/lib/decompress/zstd_decompress.c: In function ‘ZSTD_findFrameCompressedSize’: third_party/zstd/lib/decompress/zstd_decompress.c:1502:18: error: ‘zfh.headerSize’ may be used uninitialized in this function [-Werror=maybe-uninitialized] 1502 | ip += zfh.headerSize; | ^ Also found that later releases of third_party/zstd submodule already fixed it. Decided to bump third_party/zstd submodule from v1.3.3 to v1.4.8. Added to zstd cmake build rules new files appeared on bumping. Found that some checking in static-build test exporting symbols like: ZSTD_free ZSTD_malloc never were public symbols and should not be tested for presence in the Tarantool executable, but also these symbols currently outdated and broke the testing. To avoid of it these symbols removed from test. Needed for #5502 Closes #5697
-
- Dec 30, 2020
-
-
Sergey Nikiforov authored
Not all invalid characters were ignored by base64 decoder causing data corruption and reads beyond decode table (faults under ASAN). Added corresponding check into base64 unit test. Fixes: #5627
-
Igor Munkin authored
* core: remove excess assertion inside memprof * core: fix resources leak in memory profiler * misc: fix build with disabled memory profiler Follows up #5442
-
- Dec 28, 2020
-
-
Igor Munkin authored
* tools: introduce a memory profile parser * misc: add Lua API for memory profiler * core: introduce memory profiler * vm: introduce VM states for Lua and fast functions * core: introduce write buffer module * utils: introduce leb128 reader and writer Relates to #5490 Closes #5442
-
- Dec 07, 2020
-
-
Kirill Yukhin authored
* x64: Fix __call metamethod return dispatch.
-
- Dec 01, 2020
-
-
Cyrill Gorcunov authored
Since the commit ae7e2103 we use internal serializer thus we no longer need serpent code. The patch removes the references from the source code and .gitmodules file, still one might need to run | git submodule deinit -f third_party/serpent manually to clean up the working tree depending on local git version. Closes #5517 Signed-off-by:
Cyrill Gorcunov <gorcunov@gmail.com>
-