I have observed that when the software fails the value of the cs field in the base object is larger by 1 compared with m and n values.
here the most interesting debugging info.
in function : FLASH_Part_create_2x2
bs=200 - OK
(gdb) p *A.base
$41 = {datatype = 101, elemtype = 150, m = 16, n = 16, rs = 1, cs = 16, m_inner = 3002, n_inner = 3002, id = 93824999846208, m_index = 0, n_index = 0, n_elem_alloc = 256, buffer = 0x555555c97200, buffer_info = 0, uplo = 0, n_read_blocks = 0, n_write_blocks = 0, n_read_tasks = 0, read_task_head = 0x0, read_task_tail = 0x0, write_task = 0x0}
bs=201 - FAILS
(gdb) p *A.base
$42 = {datatype = 101, elemtype = 150, m = 15, n = 15, rs = 1, cs = 16, m_inner = 3002, n_inner = 3002, id = 93824999846208, m_index = 0, n_index = 0, n_elem_alloc = 240, buffer = 0x555555c97200, buffer_info = 0, uplo = 0, n_read_blocks = 0, n_write_blocks = 0, n_read_tasks = 0, read_task_head = 0x0, read_task_tail = 0x0, write_task = 0x0}
.
.
.
bs=214 - FAILS
(gdb) p *A.base
$43 = {datatype = 101, elemtype = 150, m = 15, n = 15, rs = 1, cs = 16, m_inner = 3002, n_inner = 3002, id = 93824999846208, m_index = 0, n_index = 0, n_elem_alloc = 240, buffer = 0x555555c97200, buffer_info = 0, uplo = 0, n_read_blocks = 0, n_write_blocks = 0, n_read_tasks = 0, read_task_head = 0x0, read_task_tail = 0x0, write_task = 0x0}
bs=215 - OK
(gdb) p *A.base
$44 = {datatype = 101, elemtype = 150, m = 14, n = 14, rs = 1, cs = 14, m_inner = 3002, n_inner = 3002, id = 93824999846208, m_index = 0, n_index = 0, n_elem_alloc = 196, buffer = 0x555555c97200, buffer_info = 0, uplo = 0, n_read_blocks = 0, n_write_blocks = 0, n_read_tasks = 0, read_task_head = 0x0, read_task_tail = 0x0, write_task = 0x0}
bs=428 - OK
(gdb) p *A.base
$36 = {datatype = 101, elemtype = 150, m = 8, n = 8, rs = 1, cs = 8, m_inner = 3002, n_inner = 3002, id = 93824999846208, m_index = 0, n_index = 0, n_elem_alloc = 64, buffer = 0x555555c97200, buffer_info = 0, uplo = 0, n_read_blocks = 0, n_write_blocks = 0, n_read_tasks = 0, read_task_head = 0x0, read_task_tail = 0x0, write_task = 0x0}
bs=429 - FAILS
(gdb) p *A.base
$35 = {datatype = 101, elemtype = 150, m = 7, n = 7, rs = 1, cs = 8, m_inner = 3002, n_inner = 3002, id = 93824999846208, m_index = 0, n_index = 0, n_elem_alloc = 56, buffer = 0x555555c97200, buffer_info = 0, uplo = 0, n_read_blocks = 0, n_write_blocks = 0, n_read_tasks = 0, read_task_head = 0x0, read_task_tail = 0x0, write_task = 0x0}
.
.
.
bs=500 - FAILS
(gdb) p *A.base
$39 = {datatype = 101, elemtype = 150, m = 7, n = 7, rs = 1, cs = 8, m_inner = 3002, n_inner = 3002, id = 93824999846208, m_index = 0, n_index = 0, n_elem_alloc = 56, buffer = 0x555555c97200, buffer_info = 0, uplo = 0, n_read_blocks = 0, n_write_blocks = 0, n_read_tasks = 0, read_task_head = 0x0, read_task_tail = 0x0, write_task = 0x0}
bs=501 - OK
(gdb) p *A.base
$40 = {datatype = 101, elemtype = 150, m = 6, n = 6, rs = 1, cs = 6, m_inner = 3002, n_inner = 3002, id = 93824999846208, m_index = 0, n_index = 0, n_elem_alloc = 36, buffer = 0x555555c97200, buffer_info = 0, uplo = 0, n_read_blocks = 0, n_write_blocks = 0, n_read_tasks = 0, read_task_head = 0x0, read_task_tail = 0x0, write_task = 0x0}
Roberto