Libelektra: cmerge: рд╕реЗрдЧрдлреЙрд▓реНрдЯ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 15 рдирд╡ре░ 2019  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: ElektraInitiative/libelektra

рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрджрдо

рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ рдФрд░ libelektra рдмрдирд╛рдПрдВред

make run all

рдЕрдкреЗрдХреНрд╖рд┐рдд рдкрд░рд┐рдгрд╛рдо

рд╕рднреА рдкрд░реАрдХреНрд╖рдг рд╕рдлрд▓ред

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рдгрд╛рдо

The following tests FAILED:
    210 - testshell_markdown_cmerge (Failed)
    225 - test_cmerge (SEGFAULT)
 valgrind ./bin/test_cmerge
==200629== Memcheck, a memory error detector
==200629== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==200629== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info
==200629== Command: ./bin/test_cmerge
==200629== 
CMERGE       TESTS
==================

Executing testValuesWithGivenLength with size 59
==200629== Jump to the invalid address stated on the next line
==200629==    at 0x0: ???
==200629==    by 0xF: ???
==200629==  Address 0x0 is not stack'd, malloc'd or (recently) free'd
==200629== 
==200629== 
==200629== Process terminating with default action of signal 11 (SIGSEGV): dumping core
==200629==  Bad permissions for mapped region at address 0x0
==200629==    at 0x0: ???
==200629==    by 0xF: ???
==200629== 
==200629== HEAP SUMMARY:
==200629==     in use at exit: 4,388 bytes in 64 blocks
==200629==   total heap usage: 169 allocs, 105 frees, 81,447 bytes allocated
==200629== 
==200629== LEAK SUMMARY:
==200629==    definitely lost: 0 bytes in 0 blocks
==200629==    indirectly lost: 0 bytes in 0 blocks
==200629==      possibly lost: 0 bytes in 0 blocks
==200629==    still reachable: 4,388 bytes in 64 blocks
==200629==         suppressed: 0 bytes in 0 blocks
==200629== Rerun with --leak-check=full to see details of leaked memory
==200629== 
==200629== For lists of detected and suppressed errors, rerun with: -s
==200629== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
[1]    200629 segmentation fault (core dumped)  valgrind ./bin/test_cmerge

рдкреНрд░рдгрд╛рд▓реА рдХреА рдЬрд╛рдирдХрд╛рд░реА

  • Elektra рд╕рдВрд╕реНрдХрд░рдг: рдорд╛рд╕реНрдЯрд░
  • рдлреЗрдбреЛрд░рд╛ рейрез

рдЖрдЧреЗ рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓реЗрдВ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ

cmerge.txt

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

@ Chemin1 рдЗрд╕реЗ рдЗрддрдиреА рдЬрд▓реНрджреА рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдЕрдм рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рд╕рднреА 7 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореЗрд░реЗ рдкрд╛рд╕ linux рдкрд░ libgit2 0.28.3 рд╣реИ рдФрд░ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдХреЛрдб рдореЗрдВ CMERGE_ON_LINUX рдЪреЗрдХ рдХреЛ рд╣рдЯрд╛рдХрд░ segfault рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИред
https://github.com/ElektraInitiative/libelektra/blob/4ee9617186fe053107530624b27ff2825478f257/src/libs/merb/kdbmerge.c#L991

рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

рд╣рдореЗрдВ 0.9.1 рд╕реЗ рдкрд╣рд▓реЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕реЗ рдареАрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╢рд╛рдпрдж рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ libgit2 рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдХреЗред

@mpranj рдЖрдк gdb рдЖрдЙрдЯрдкреБрдЯ рдкреЛрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ,

рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдпрд╣ LibGit рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рдЙрдирдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬ рдХреЗ рдЕрдиреБрд╕рд╛рд░ git_libgit2_init () рдХреЗ рд╕рд╛рде рдЖрд░рдВрднреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдмрд┐рд▓реНрдб рд╕рд░реНрд╡рд░ рдкрд░ рд╕рднреА рд▓рд┐рдирдХреНрд╕ рдкрд░ LibGit рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдирд╣реАрдВ рдХрд░рдиреЗ рдкрд░ рд╣рдореЗрдВ рдХреЛрдИ рдореЗрдореЛрд░реА рд▓реАрдХреНрд╕ рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИред рдпрджрд┐ рд╣рдо рдЖрд░рдВрдн рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдХрд░рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЕрдЧрд░ рд╣рдо FreeBSD рдмрд┐рд▓реНрдб рдХреЗ рд▓рд┐рдП рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ segfaults рдорд┐рд▓рддреЗ рд╣реИрдВред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЙрди рдЕрдЬреАрдм ifdefs рдореМрдЬреВрдж рд╣реИрдВред рдореИрдВрдиреЗ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдкрдирд╛ рдкрд╣рд▓рд╛ Stackoverflow рдкреЛрд╕реНрдЯ рднреА рдХрд┐рдпрд╛ред

рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ # 3221 рдЗрд╕реЗ рдареАрдХ рдХрд░рддрд╛ рд╣реИред

рдЬреАрдбреАрдмреА рдЖрдЙрдЯрдкреБрдЯ рднреА рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпреЛрдВ, рдореЗрд░реЗ рдкрд╛рд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдбрд┐рдмрдЧ рдкреНрд░рддреАрдХ рд╣реИрдВ рдФрд░ рдпрд╣ рдЗрд▓реЗрдХреНрдЯреНрд░рд╛ рдХрд╛ рдПрдХ рдбрд┐рдмрдЧ рдмрд┐рд▓реНрдб рд╣реИред

GNU gdb (GDB) Fedora 8.3.50.20190824-24.fc31
Copyright (C) 2019 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./bin/test_cmerge...
(gdb) r
Starting program: /home/mpranj/workspace/libelektra/build/bin/test_cmerge 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
CMERGE       TESTS
==================

Executing testValuesWithGivenLength with size 59

Program received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
(gdb) q

рдореИрдВрдиреЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ #ifndef CMERGE_ON_LINUX рдореЗрд░реЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдореВрд▓ рдХрд╛рд░рдг рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдкреЛрд░реНрдЯреЗрдмрд▓ рдкреИрдЪ рдмрдирд╛рдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рдерд╛ред

@ Chemin1 рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

@ Chemin1 рдЗрд╕реЗ рдЗрддрдиреА рдЬрд▓реНрджреА рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдЕрдм рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдЗрд╕рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, @mpranj !

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

mpranj picture mpranj  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

mpranj picture mpranj  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

e1528532 picture e1528532  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

sanssecours picture sanssecours  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

markus2330 picture markus2330  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ