Skip to content
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

SEGV_MAPERR at random time #9991

Open
Xenywest opened this issue May 5, 2024 · 1 comment
Open

SEGV_MAPERR at random time #9991

Xenywest opened this issue May 5, 2024 · 1 comment
Assignees
Labels
bug Something isn't working crash needs feedback Something is unclear with the issue

Comments

@Xenywest
Copy link

Xenywest commented May 5, 2024

Bug description

A clear and concise description of what the bug is.

  • OS: Linux
  • OS Version: Ubuntu 22.04.4 LTS
  • Architecture: amd64

Place tarantool --version output here.

Tarantool 3.1.0-0-g96f6d88597
Target: Linux-x86_64-RelWithDebInfo
Build options: cmake . -DCMAKE_INSTALL_PREFIX=/tarantool/static-build/tarantool-prefix -DENABLE_BACKTRACE=TRUE
Compiler: GNU-8.3.1
C_FLAGS: -fexceptions -funwind-tables -fasynchronous-unwind-tables -static-libstdc++ -fno-common -msse2  -fmacro-prefix-map=/tarantool=. -std=c11 -Wall -Wextra -Wno-gnu-alignof-expression -fno-gnu89-inline -Wno-cast-function-type -O2 -g -DNDEBUG -ggdb -O2 
CXX_FLAGS: -fexceptions -funwind-tables -fasynchronous-unwind-tables -static-libstdc++ -fno-common -msse2  -fmacro-prefix-map=/tarantool=. -std=c++11 -Wall -Wextra -Wno-invalid-offsetof -Wno-gnu-alignof-expression -Wno-cast-function-type -O2 -g -DNDEBUG -ggdb -O2 

Steps to reproduce

Unknown time and unknown reason randomly

function createMasterSpace(timestamp)
    local masters_space = box.schema.space.create("masters_space" .. "_" .. timestamp, {if_not_exists = true})
    if masters_space ~= nil then
        masters_space:format(
            {
                {name = "master_uuid", type = "string", unique = true, nullable = false},
                {name = "coordinates", type = "array", nullable = false},
                {name = "is_workspace", type = "boolean"}, 
                {name = "is_hidden", type = "boolean"}
            }
        )
    end
    local master_primary_index =
        masters_space:create_index("primary", {type = "tree", parts = {"master_uuid"}, if_not_exists = true})
    local master_rtree_index =
        masters_space:create_index(
        "spatial",
        {
            type = "RTREE",
            unique = false,
            parts = {"coordinates"},
            if_not_exists = true
        }
    )

    return masters_space
end

....
local created_space = createMasterSpace(ts)
                        local created_service_space = createServicesSpace(ts)
                        log.info("Looping timestamp.. %s", ts)
                        s3 = fiber.clock64()
                        for key, master in pairs(document["data"]["masters"]) do
                            created_space:insert {
                                master["uuid"],
                                {master["lat"], master["long"]},
                                master["is_workspace"],
                                master["is_hidden"],
                            }
                            for s_key, service in pairs(master["services"]) do
                                created_service_space:insert{master["uuid"], service["uuid"], service["price"]}
                            end

                            if key % 1000 == 0 then
                                fiber.yield()
                            end
                        end
                        s4 = fiber.clock64()
                        log.info("Looping finished: %s with %s elements", s4 - s3, created_space:count())

Actual behavior

2024-05-05 12:09:09.851 [8386] main/114/lua/instances.enabled.geo_service.app I> Looping timestamp.. 1714900149
Segmentation fault
  code: SEGV_MAPERR
  addr: 0x2f00180004
  context: 0x4a29b40
  siginfo: 0x4a29c70
  rax      0x2f00180004       201865035780
  rbx      0x704261c408e0     123430410389728
  rcx      0x2f00180004       201865035780
  rdx      0x4a69350          78025552
  rsi      0x0                0
  rdi      0x704261c40930     123430410389808
  rsp      0x704241980ad8     123429870635736
  rbp      0x704241980b00     123429870635776
  r8       0x0                0
  r9       0x0                0
  r10      0x1                1
  r11      0x2                2
  r12      0x0                0
  r13      0x704262b20de0     123430425988576
  r14      0x70421298ad50     123429082148176
  r15      0x73c8             29640
  rip      0x9a15e3           10098147
  eflags   0x10202            66050
  cs       0x33               51
  gs       0x0                0
  fs       0x0                0
  cr2      0x2f00180004       201865035780
  err      0x4                4
  oldmask  0x4                4
  trapno   0xe                14
Current time: 1714900149
Please file a bug at https://github.com/tarantool/tarantool/issues
Attempting backtrace... Note: since the server has already crashed, 
this may fail as well
#1  0x60c301 in crash_signal_cb+129
#2  0x704262842520 in __sigaction+80
#3  0x9a15e3 in rtree_iterator_destroy+19
#4  0x45ca8d in index_rtree_iterator_free(iterator*)+13
#5  0x6514df in lj_vm_ffi_call+132
#6  0x69e8b8 in lj_ccall_func+856
#7  0x66de43 in lj_cf_ffi_meta___call+179
#8  0x64e621 in lj_BC_FUNCC+86
#9  0x658774 in gc_call_finalizer.isra.3+148
#10 0x65895b in gc_finalize+283
#11 0x659365 in gc_onestep+229
#12 0x659abd in lj_gc_step+109
#13 0x64d689 in lj_BC_TNEW+116
#14 0x653c2f in lua_pcall+207
#15 0x5f22ab in luaT_call+11
#16 0x5eadfe in lua_fiber_run_f+94
#17 0x43075c in fiber_cxx_invoke(int (*)(__va_list_tag*), __va_list_tag*)+12
#18 0x613477 in fiber_loop+55
#19 0xccb494 in coro_init+68

Expected behavior

Works fine

@Xenywest Xenywest added the bug Something isn't working label May 5, 2024
@drewdzzz
Copy link
Contributor

It seems that your repro is stripped: function createServicesSpace and variable document are not defined.
Please provide the full version.

@drewdzzz drewdzzz added the needs feedback Something is unclear with the issue label May 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working crash needs feedback Something is unclear with the issue
Projects
None yet
Development

No branches or pull requests

3 participants