Change History (3)

comment:1 Changed 5 years ago by Артур Гулецкий (huletski)

Type: ожидается проверкаожидаются исправления

Собирается (+0.01), падает на примере из условия:

{lab_03}[2088]$ pwd && svn up && svn status
/home/hfx/dvl/cpp19/gabitov.daniil/lab_03
Updating '.':
At revision 1246.
{lab_03}[2089]$ make
mkdir obj
gcc -c -Wall -Wextra -Werror -std=c99 -fsanitize=address -g -o obj/clist.o src/clist.c -Iinclude
gcc -c -Wall -Wextra -Werror -std=c99 -fsanitize=address -g -o obj/main.o  src/main.c -Iinclude
gcc  -fsanitize=address obj/clist.o obj/main.o  -o lab_03
{lab_03}[2090]$ cat ~/dvl/private-labs/lab_03/check/tests/00-smoke.input 
add 1 2
add 3 6
add 4 6
len
add 1 2
print
sort
rm 1 2
print
rma
print
len
add 2 -4
print
exit
{lab_03}[2091]$ ./lab_03 < ~/dvl/private-labs/lab_03/check/tests/00-smoke.input  
3(1 2)
(4 6)
(3 6)
(1 2)
Unknown command
0(2 -4)

=================================================================
==5857==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 24 byte(s) in 1 object(s) allocated from:
    #0 0x7fbea19d0ff8 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x10bff8)
    #1 0x400fd4 in add_point src/main.c:13
    #2 0x401937 in main src/main.c:63
    #3 0x7fbea151b82f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)

Direct leak of 8 byte(s) in 1 object(s) allocated from:
    #0 0x7fbea19d0ff8 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x10bff8)
    #1 0x40153f in main src/main.c:49
    #2 0x7fbea151b82f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)

Indirect leak of 24 byte(s) in 1 object(s) allocated from:
    #0 0x7fbea19d0ff8 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x10bff8)
    #1 0x400fd4 in add_point src/main.c:13
    #2 0x401937 in main src/main.c:63
    #3 0x7fbea151b82f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)

SUMMARY: AddressSanitizer: 56 byte(s) leaked in 3 allocation(s).

Вывод программы должен совпадать с выводом в примере из условия.

comment:2 Changed 5 years ago by gabitov.daniil

Type: ожидаются исправленияожидается проверка
Version: 1.02.0

comment:3 Changed 5 years ago by Артур Гулецкий (huletski)

Resolution: задача сдана
Status: assignedclosed

Падает на примере из условия:

{lab_03}[2379]$ pwd && svn up && svn status
/home/hfx/dvl/cpp19/gabitov.daniil/lab_03
Updating '.':
At revision 1327.
{lab_03}[2380]$ make
mkdir obj
gcc -c -Wall -Wextra -Werror -std=c99 -fsanitize=address -g -o obj/clist.o src/clist.c -Iinclude
gcc -c -Wall -Wextra -Werror -std=c99 -fsanitize=address -g -o obj/main.o  src/main.c -Iinclude
gcc  -fsanitize=address obj/clist.o obj/main.o  -o lab_03
{lab_03}[2381]$ cat ~/dvl/private-labs/lab_03/check/tests/00-smoke.input 
add 1 2
add 3 6
add 4 6
len
add 1 2
print
sort
rm 1 2
print
rma
print
len
add 2 -4
print
exit
{lab_03}[2382]$ ./lab_03 < ~/dvl/private-labs/lab_03/check/tests/00-smoke.input 3(1 2) (4 6) (3 6) (1 2) Unknown command

=================================================================
==11093==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 8 byte(s) in 1 object(s) allocated from:
    #0 0x7fe066027ff8 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x10bff8)
    #1 0x4014d8 in main src/main.c:46
    #2 0x7fe065b7282f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)

SUMMARY: AddressSanitizer: 8 byte(s) leaked in 1 allocation(s).

Баллы посчитаю, исходя из числа и серьезности проблем с решением:

  • не освобождается память, выделенная под список (main.c:46) -> -1.5;
  • не печатается перевод строки после операции вывода информации, связанной с командой -> -1;
  • не соблюдается единый стиль отступов -> -0.5 (при следующих проверках будет больше);
  • имя функции для деинициалиации списка (delete1) ужасно (из-за "1" в основном, лучше либо clist_delete, либо clist_deinit), но вы ее реализовали, т.ч. без штрафов;
  • имена команд можно было в переменные не выносить (если очень хотелось, то в static переменные типа const char * const).

Итог: 9/12.

Note: See TracTickets for help on using tickets.