-
Notifications
You must be signed in to change notification settings - Fork 403
Open
Labels
Description
Originally discovered by @olegrok
Tarantool 2.8.2
tarantool> box.space.storage_InfoCard
---
- engine: memtx
before_replace: 'function: 0x010afd4000'
field_count: 0
is_sync: false
ck_constraint: []
on_replace: 'function: 0x010afd3ec0'
temporary: false
index:
0: &0
unique: true
parts:
- type: string
is_nullable: false
fieldno: 1
hint: true
id: 0
type: TREE
space_id: 542
name: name
1: &1
unique: false
parts:
- type: string
is_nullable: true
path: '[*]'
fieldno: 5
- type: string
is_nullable: false
fieldno: 1
hint: true
id: 1
type: TREE
space_id: 542
name: metainfo
2: &2
unique: false
parts:
- type: unsigned
is_nullable: false
fieldno: 3
hint: true
id: 2
type: TREE
space_id: 542
name: bucket_id
bucket_id: *2
metainfo: *1
name: *0
is_local: false
enabled: true
name: storage_InfoCard
id: 542
...
tarantool> box.space.storage_InfoCard:replace({'abc', 123, 123, {true, true}, {'abc', 'abc'}})
Segmentation fault
code: SEGV_MAPERR
addr: 0x20f003f0e
context: 0x108dff9d8
siginfo: 0x108dff970
Current time: 1629827331
Please file a bug at http://github.com/tarantool/tarantool/issues
Attempting backtrace... Note: since the server has already crashed,
this may fail as well
#0 0x10629ddb2 in crash_signal_cb+92
#1 0x7fff2055ed7d in _sigtramp+1d
#2 0x1069cccb1 in tuple_hash_field+21
#3 0x1069cbe1a in _Z19tuple_hash_slowpathILb1ELb1EEjP5tupleP7key_def+9a
#4 0x10615e43a in check_hole+4a
#5 0x10615974e in memtx_tx_history_add_insert_stmt+2fe
#6 0x106164fb7 in memtx_space_execute_replace+a7
#7 0x1061b9376 in space_execute_dml+86
#8 0x1061e17d0 in box_process_rw+a0
#9 0x1061e7868 in box_replace+48
#10 0x106270182 in lbox_replace+62
#11 0x1062cf823 in lj_BC_FUNCC+44
#12 0x1062d7388 in lua_pcall+a8
#13 0x106289b73 in luaT_call+13
#14 0x106284f69 in run_script_f+589
#15 0x10612a3bc in _ZL16fiber_cxx_invokePFiP13__va_list_tagES0_+c
#16 0x1062a3893 in fiber_loop+43
#17 0x106ade45b in coro_init+4b
Reproducer (look at example tarantool/doc#769)
box.cfg{memtx_use_mvcc_engine = true}
s = box.schema.space.create('clients')
s:format({{name='name', type='string'}, {name='phone', type='array'}})
name_idx = s:create_index('name_idx', {parts = {{'name', 'string'}}})
phone_idx = s:create_index('phone_idx', {parts = {{'phone[*]',
'string'}}})
s:insert({"Jorge", {"911", "89457609234"}})
s:insert({"Bob", {"81239876543"}})tarantool> s = box.schema.space.create('clients')
---
...
tarantool> s:format({{name='name', type='string'}, {name='phone', type='array'}})
---
...
tarantool> name_idx = s:create_index('name_idx', {parts = {{'name', 'string'}}})
---
...
tarantool> phone_idx = s:create_index('phone_idx', {parts = {{'phone[*]',
> 'string'}}})
---
...
tarantool> s:insert({"Jorge", {"911", "89457609234"}})
Segmentation fault
code: SEGV_MAPERR
addr: 0x216003f0e
context: 0x1079ffa08
siginfo: 0x1079ff9a0
Current time: 1629827388
Please file a bug at http://github.com/tarantool/tarantool/issues
Attempting backtrace... Note: since the server has already crashed,
this may fail as well
#0 0x104b1fdb2 in crash_signal_cb+92
#1 0x7fff2055ed7d in _sigtramp+1d
#2 0x10524ecb1 in tuple_hash_field+21
#3 0x10524e5be in _Z19tuple_hash_slowpathILb0ELb1EEjP5tupleP7key_def+7e
#4 0x1049e043a in check_hole+4a
#5 0x1049db74e in memtx_tx_history_add_insert_stmt+2fe
#6 0x1049e6fb7 in memtx_space_execute_replace+a7
#7 0x104a3b376 in space_execute_dml+86
#8 0x104a637d0 in box_process_rw+a0
#9 0x104a69808 in box_insert+48
#10 0x104af20d2 in lbox_insert+62
#11 0x104b51823 in lj_BC_FUNCC+44
#12 0x104b59388 in lua_pcall+a8
#13 0x104b0bb73 in luaT_call+13
#14 0x104b06f69 in run_script_f+589
#15 0x1049ac3bc in _ZL16fiber_cxx_invokePFiP13__va_list_tagES0_+c
#16 0x104b25893 in fiber_loop+43
#17 0x10536045b in coro_init+4b
Multikey indexes are not supported by memtx MVCC transaction manager, attempt to use them together currently results in crashes.
Technically, with memtx MVCC transaction manager enabled, multikey indexes are supposed to be disabled or should bypass the transaction manager, so this ticket is rather a feature ticket than a bug ticket.
Reactions are currently unavailable