-
41. Data: 2021-08-26 09:40:41
Temat: Re: rzadki bład w programie w C++
Od: Mateusz Viste <m...@x...invalid>
2021-08-25 o 13:31 -0700, Maciej Sobczak napisał:
> > Z tym jednak zgodzić się nie mogę... Lokalny VCS to oczywiście nie
> > backup, ale lokalny zestaw plików *.zip też nim nie jest.
>
> Lokalny nie jest. Ale nie napisałem, że lokalny.
Napisał kolega, że "potrafią zupełnie naturalnie zrobić backup". Na to
ja odpowiadam, że nie - nie potrafią.
> Nawet pendrive załatwi sprawę łatwiej, niż szarpanie się z VCS.
Wyczuwam traumatyczne doświadczenia z VCS (może z gitem? w tym wypadku
nie dziwię się nabytym uprzedzeniom). Praca z svnem nie jest żadnym
szarpaniem. Powiedziałbym nawet, że w porównaniu do moich doświadczeń
sprzed VCS (na dyskietkach, zipach, itp), jest przyjemnością.
A pendrive nie załatwi sprawy, z tego prostego powodu że nie jest
geograficznie odległy.
> Zdażyło mi się nawet wysłać zipa jako załącznik mailem.
Mi to się też zdarza (bez kropki). Ale nie jako ersatz backupu, a tym
bardziej VCSa.
> A jeśli nie chcę na "jakiś serwer"? Czemu wszyscy mają obsesję na
> punkcie wysyłania swojej pracy na "jakiś serwer"?
Bo to podstawa sensownego backupu. Po każdym 'svn commit' mam przyjemną
świadomość, że mój trud już nie zaginie, choćby mi komputer zaraz
wybuchł albo dom spłonął. Żadnych pendrajwów, żadnych dyskietek,
żadnych parametrów do zipa - tylko svn commit, i po mniej niż sekundzie
stan mojego projektu jest zarchiwizowany kilkaset km ode mnie (albo i
dalej).
> Kiedyś do komputera był podłączony magnetofon i był spokój. :-)
Moja mama opowiadała mi kiedyś, jak to pisała pracę magisterską z
magnetofonem. Było fajnie póki dziad taśmy nie wciągnął. Skończyło się
przepisywaniem wszystkiego na nowo, na podstawie ręcznych notatek.
> > Korzystanie z ZIP to również marnotrawstwo miejsca - ten sam plik
> > będzie w każdym zipie zajmował tyle samo miejsca, choć od wielu lat
> > nie uległ zmianie.
>
> Technicznie to prawda, ale użytkowo nigdy jeszcze nie doszedłem do
> tego, żeby martwić się o miejsce na skompresowane pliki źródłowe
> swojego autorstwa. Może za mało piszę. W każdym razie nie jest to
> showstopper.
Program to przecież nie tylko kod, może zawierać także pliki
multimedialne, czcionki, jakieś zewnętrzne biblioteki, stronę
www, itp. Zerknąłem na moją pierwszą z brzegu gierkę:
http://simplesok.sf.net/
Wielkość trunka 5 MiB. Po skompresowaniu zipem 3.8 MiB. Razy 109
rewizji, to już ponad 400 MiB... Ok, w dobie chmurowych gigabajtów to
nie jest "showstopper", ale niemniej dręczyłaby mnie zabawa z 400M
zipów dla jednej malutkiej gierki.
> To jest dobry argument. Ale mówimy o użytkowaniu jednoosobowym. W
> takim kontekście nie zaobserwowałem (u siebie) takich potrzeb.
A mi to się zdarzyło co najmniej kilka razy. Głównie w ramach szukania
jakiegoś błędu i zastanawiania się dlaczego w pliku bb.c zmieniłem x=1
na x+=1 i w jakich okolicznościach do tego doszło. Nie jest to potrzeba
codzienna, ale w stosownym kontekście bardzo się przydaje.
> Polecam narzędzi mniej, niż więcej.
Też wychodzę z takiego założenia i filozofię bardzo doceniam, niemniej
filtr oleju w aucie odkręcam nie (jakże uniwersalnym) młotkiem, tylko
wyspecjalizowanym do tego narzędziem.
Mateusz
-
42. Data: 2021-08-26 09:55:57
Temat: Re: rzadki bład w programie w C++
Od: heby <h...@p...onet.pl>
On 25/08/2021 22:31, Maciej Sobczak wrote:
> Nawet pendrive
A jak się popsuje?
> załatwi sprawę łatwiej, niż szarpanie się z VCS.
Nie.
Odpalanie działającego, nowego repozytorium w SVN na lokalnym dysku jest
jednym kliknięciem w TortoiseSVN. Reszta, to darmowy bonus. Szczególnie
dla progrmisty.
W porównaniu z szarpaniem się z plikami ZIP, to SVN urasta do zbawcy
ludzkości pod względem *łatwości* pracy. Dwa klinknięcia i masz backup z
historią, revertem, blame, opisem, sandboxem.
Proponowanie ZIPa zamiast jakiegoś VCS dla *programisty* urąga logice.
-
43. Data: 2021-08-26 16:40:00
Temat: Re: rzadki bład w programie w C++
Od: Robert Magdziarz <r...@r...e-kei.pl>
czwartek, 26 sierpnia 2021 o 08:59:13 UTC+2 Maciek Godek napisał(a):
> czwartek, 26 sierpnia 2021 o 06:57:57 UTC+2 Robert Magdziarz napisał(a):
>
> > > Jesteś w stanie określić wszystkie operacje, których dokonujesz na tej tablicy?
> > algorytm wstawiający stringi do vectora jest skomplikowany (liczy setki linii) i
prawdopodobnie zawiera błąd logiczny, ale nie wiem jak ten błąd znaleźć
> Jedną z metod jest pisanie przypadków testowych. Jeżeli jesteś w stanie wyodrębnić
ten algorytm do osobnego programu, i uruchamiać z różnymi danymi wejściowymi, to to
już jest duże ułatwienie.
>
> Wówczas jednym z pomysłów, oprócz ręcznego napisania przypadków testowych, byłoby
też napisanie generatora losowych danych wejściowych, które powinny spełniać
założenia algorytmu.
tego się praktycznie nie da zrobić, bo danymi wejściowymi do mojego programu są pliki
z kodem źródłowym w PHP (program przetwarza programy w PHP)
>
> Stąd kolejne pytanie: czy ten "algorytm" jest w miarę scentralizowany (tzn. jest
jedna funkcja/procedura, która zajmuje się wstawianiem danych do tablicy), czy może
rozproszony po całym programie?
algorytm składa się z wielu funkcji w różnych plikach kodu źródłowego
>
> W tym pierwszym przypadku byłoby oczywiście łatwiej, ale jeżeli tak nie jest, to
trzeba by zakasać rękawy i wyszukać wszystkie miejsca w programie, które modyfikują
tę tablicę.
>
> Inna alternatywa byłaby taka, żeby ten algorytm napisać od podstaw, w sposób
bardziej zdyscyplinowany.
-
44. Data: 2021-08-26 18:36:00
Temat: Re: rzadki bład w programie w C++
Od: Maciek Godek <g...@g...com>
> > Wówczas jednym z pomysłów, oprócz ręcznego napisania przypadków testowych, byłoby
też napisanie generatora losowych danych wejściowych, które powinny spełniać
założenia algorytmu.
> tego się praktycznie nie da zrobić, bo danymi wejściowymi do mojego programu są
pliki z kodem źródłowym w PHP (program przetwarza programy w PHP)
Dlaczego miałoby się nie dać tego zrobić?
Języki programowania mają regularne gramatyki, więc generowanie różnej maści
programów nawet na podstawie samego BNFa jest względnie łatwe w realizacji.
Tutaj jest jakiś zabawkowy przykład dla zdań języka Angielskiego:
https://github.com/norvig/paip-lisp/blob/master/docs
/chapter2.md
> > Stąd kolejne pytanie: czy ten "algorytm" jest w miarę scentralizowany (tzn. jest
jedna funkcja/procedura, która zajmuje się wstawianiem danych do tablicy), czy może
rozproszony po całym programie?
> algorytm składa się z wielu funkcji w różnych plikach kodu źródłowego
No tak zapewne jest. Ale chodzi o to, czy ma jeden "punkt wejścia" w Twoim programie?
-
45. Data: 2021-08-26 19:19:16
Temat: Re: rzadki bład w programie w C++
Od: Robert Magdziarz <r...@r...e-kei.pl>
czwartek, 26 sierpnia 2021 o 18:36:01 UTC+2 Maciek Godek napisał(a):
> > > Stąd kolejne pytanie: czy ten "algorytm" jest w miarę scentralizowany (tzn.
jest jedna funkcja/procedura, która zajmuje się wstawianiem danych do tablicy), czy
może rozproszony po całym programie?
> > algorytm składa się z wielu funkcji w różnych plikach kodu źródłowego
> No tak zapewne jest. Ale chodzi o to, czy ma jeden "punkt wejścia" w Twoim
programie?
tak
-
46. Data: 2021-08-26 19:29:48
Temat: Re: rzadki bład w programie w C++
Od: Robert Magdziarz <r...@r...e-kei.pl>
czwartek, 26 sierpnia 2021 o 18:36:01 UTC+2 Maciek Godek napisał(a):
> > > Wówczas jednym z pomysłów, oprócz ręcznego napisania przypadków testowych,
byłoby też napisanie generatora losowych danych wejściowych, które powinny spełniać
założenia algorytmu.
> > tego się praktycznie nie da zrobić, bo danymi wejściowymi do mojego programu są
pliki z kodem źródłowym w PHP (program przetwarza programy w PHP)
> Dlaczego miałoby się nie dać tego zrobić?
Mój program dla tych samych danych wejściowych (tego samego kodu PHP) zachowuje się
poprawnie, a czasami (ów rzadki przypadek) niepoprawnie.
-
47. Data: 2021-08-26 20:56:15
Temat: Re: rzadki bład w programie w C++
Od: heby <h...@p...onet.pl>
On 26/08/2021 19:29, Robert Magdziarz wrote:
> Mój program dla tych samych danych wejściowych (tego samego kodu PHP) zachowuje się
poprawnie, a czasami (ów rzadki przypadek) niepoprawnie.
Sprawdziłeś już valgrinda? Isnieje wysokie prawdopodobieństwo, że da
prawidłową odpowiedź na to pytanie.
-
48. Data: 2021-08-26 21:32:54
Temat: Re: rzadki bład w programie w C++
Od: Robert Magdziarz <r...@r...e-kei.pl>
czwartek, 26 sierpnia 2021 o 20:56:17 UTC+2 heby napisał(a):
> On 26/08/2021 19:29, Robert Magdziarz wrote:
> > Mój program dla tych samych danych wejściowych (tego samego kodu PHP) zachowuje
się poprawnie, a czasami (ów rzadki przypadek) niepoprawnie.
> Sprawdziłeś już valgrinda? Isnieje wysokie prawdopodobieństwo, że da
> prawidłową odpowiedź na to pytanie.
Nie bardzo go rozumiem:
==4215==
==4215== HEAP SUMMARY:
==4215== in use at exit: 238,583 bytes in 1,676 blocks
==4215== total heap usage: 29,427,297 allocs, 29,425,621 frees, 391,059,828 bytes
allocated
==4215==
==4215== LEAK SUMMARY:
==4215== definitely lost: 0 bytes in 0 blocks
==4215== indirectly lost: 0 bytes in 0 blocks
==4215== possibly lost: 0 bytes in 0 blocks
==4215== still reachable: 238,583 bytes in 1,676 blocks
==4215== of which reachable via heuristic:
==4215== newarray : 1,408 bytes in 11 blocks
==4215== suppressed: 0 bytes in 0 blocks
==4215== Rerun with --leak-check=full to see details of leaked memory
==4215==
==4215== For counts of detected and suppressed errors, rerun with: -v
==4215== Use --track-origins=yes to see where uninitialised values come from
==4215== ERROR SUMMARY: 8864 errors from 8 contexts (suppressed: 0 from 0)
-
49. Data: 2021-08-26 21:54:14
Temat: Re: rzadki bład w programie w C++
Od: heby <h...@p...onet.pl>
On 26/08/2021 21:32, Robert Magdziarz wrote:
> ==4215== ERROR SUMMARY: 8864 errors from 8 contexts (suppressed: 0 from 0)
Nie ma nic wcześniej?
valgrind moj-program 2>error.txt
-
50. Data: 2021-08-27 08:04:00
Temat: Re: rzadki bład w programie w C++
Od: Robert Magdziarz <r...@r...e-kei.pl>
czwartek, 26 sierpnia 2021 o 21:54:16 UTC+2 heby napisał(a):
> On 26/08/2021 21:32, Robert Magdziarz wrote:
> > ==4215== ERROR SUMMARY: 8864 errors from 8 contexts (suppressed: 0 from 0)
> Nie ma nic wcześniej?
>
> valgrind moj-program 2>error.txt
==4215== Memcheck, a memory error detector
==4215== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==4215== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
==4215== Command: ./dirtyphp --application=/home/robert/Projekty/design-patterns/
src --result=/home/robert/Projekty/design-patterns/src_o
bfuscated --vendor=/home/robert/Projekty/design-patterns/vendo
r --vendorframeworks=symfony --vendorsystems=symfony --maxlinelen=1977
==4215==
==4215== Conditional jump or move depends on uninitialised value(s)
==4215== at 0x590A80D: __wmemchr_avx2 (memchr-avx2.S:233)
==4215== by 0x4F7667A: std::__cxx11::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> >::find(wchar_t const*, unsigned
long, unsigned long) const (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25)
==4215== by 0x424757: str_replace_in_place(std::__cxx11::basic_string<wcha
r_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&,
std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>,
std::allocator<wchar_t> > const&, std::__cxx11::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> >&) (common.cpp:450)
==4215== by 0x425F02: str_replace(std::__cxx11::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> > const&,
std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>,
std::allocator<wchar_t> > const&, std::__cxx11::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> > const&) (common.hpp:385)
==4215== by 0x423CB6: explode(std::__cxx11::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> >,
std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>,
std::allocator<wchar_t> > const&) (common.cpp:369)
==4215== by 0x42BFA9: cache::load_vendor_cache(std::__cxx11::basic_string<
wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >,
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >,
std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>,
std::allocator<wchar_t> >, std::unordered_map<std::__cxx11::basic_string<wchar_
t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, identifiers_vector*,
std::hash<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>,
std::allocator<wchar_t> > >, std::equal_to<std::__cxx11::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> > >,
std::allocator<std::pair<std::__cxx11::basic_string<
wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const,
identifiers_vector*> > >&, std::unordered_map<std::__cxx11::basic_string<wchar_
t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, identifiers_vector*,
std::hash<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>,
std::allocator<wchar_t> > >, std::equal_to<std::__cxx11::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> > >,
std::allocator<std::pair<std::__cxx11::basic_string<
wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const,
identifiers_vector*> > >&) (cache.cpp:161)
==4215== by 0x440E8A: obfuscator::get_cmdline_options(int, char const**)
(obfuscator.cpp:422)
==4215== by 0x414943: main (dirtyphp.cpp:103)
==4215==
==4215== Conditional jump or move depends on uninitialised value(s)
==4215== at 0x590A7CC: __wmemchr_avx2 (memchr-avx2.S:213)
==4215== by 0x4F7667A: std::__cxx11::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> >::find(wchar_t const*, unsigned
long, unsigned long) const (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25)
==4215== by 0x424757: str_replace_in_place(std::__cxx11::basic_string<wcha
r_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&,
std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>,
std::allocator<wchar_t> > const&, std::__cxx11::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> >&) (common.cpp:450)
==4215== by 0x425F02: str_replace(std::__cxx11::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> > const&,
std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>,
std::allocator<wchar_t> > const&, std::__cxx11::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> > const&) (common.hpp:385)
==4215== by 0x43783B: backslash_special(std::__cxx11::basic_string<wchar_t
, std::char_traits<wchar_t>, std::allocator<wchar_t> >) (common.hpp:404)
==4215== by 0x4389FC: exec_php_script(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >) (common.hpp:409)
==4215== by 0x44CBE8: obfuscator::remove_comments(std::__cxx11::basic_stri
ng<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >) const
(obfuscator.cpp:986)
==4215== by 0x446B1F: obfuscator::perform_remove_comments(std::__cxx11::ba
sic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >)
(obfuscator.cpp:621)
==4215== by 0x445D79: obfuscator::check_application(bool) (obfuscator.cpp:570)
==4215== by 0x414F4F: main (dirtyphp.cpp:131)
==4215==
==4215== Conditional jump or move depends on uninitialised value(s)
==4215== at 0x590A7E6: __wmemchr_avx2 (memchr-avx2.S:221)
==4215== by 0x4F7667A: std::__cxx11::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> >::find(wchar_t const*, unsigned
long, unsigned long) const (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25)
==4215== by 0x424757: str_replace_in_place(std::__cxx11::basic_string<wcha
r_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&,
std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>,
std::allocator<wchar_t> > const&, std::__cxx11::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> >&) (common.cpp:450)
==4215== by 0x425F02: str_replace(std::__cxx11::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> > const&,
std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>,
std::allocator<wchar_t> > const&, std::__cxx11::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> > const&) (common.hpp:385)
==4215== by 0x43783B: backslash_special(std::__cxx11::basic_string<wchar_t
, std::char_traits<wchar_t>, std::allocator<wchar_t> >) (common.hpp:404)
==4215== by 0x4389FC: exec_php_script(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >) (common.hpp:409)
==4215== by 0x44CBE8: obfuscator::remove_comments(std::__cxx11::basic_stri
ng<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >) const
(obfuscator.cpp:986)
==4215== by 0x446B1F: obfuscator::perform_remove_comments(std::__cxx11::ba
sic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >)
(obfuscator.cpp:621)
==4215== by 0x445D79: obfuscator::check_application(bool) (obfuscator.cpp:570)
==4215== by 0x414F4F: main (dirtyphp.cpp:131)
==4215==
==4215== Conditional jump or move depends on uninitialised value(s)
==4215== at 0x590A80D: __wmemchr_avx2 (memchr-avx2.S:233)
==4215== by 0x4F7667A: std::__cxx11::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> >::find(wchar_t const*, unsigned
long, unsigned long) const (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25)
==4215== by 0x424757: str_replace_in_place(std::__cxx11::basic_string<wcha
r_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&,
std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>,
std::allocator<wchar_t> > const&, std::__cxx11::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> >&) (common.cpp:450)
==4215== by 0x424ABA: is_subdir_of_any(std::__cxx11::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> >,
std::vector<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>,
std::allocator<wchar_t> >, std::allocator<std::__cxx11::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> > > > const&) (common.cpp:476)
==4215== by 0x452EC6: obfuscator::remember_identifiers(std::__cxx11::basic
_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >,
identifiers_vector*, bool, bool) (obfuscator.cpp:1440)
==4215== by 0x4492EC: obfuscator::perform_remember_identifiers(std::__cxx1
1::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >)
(obfuscator.cpp:762)
==4215== by 0x44B179: obfuscator::obfuscate_application(bool) (obfuscator.cpp:881)
==4215== by 0x415085: main (dirtyphp.cpp:133)
==4215==
==4215== Conditional jump or move depends on uninitialised value(s)
==4215== at 0x590A7E6: __wmemchr_avx2 (memchr-avx2.S:221)
==4215== by 0x4F7667A: std::__cxx11::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> >::find(wchar_t const*, unsigned
long, unsigned long) const (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25)
==4215== by 0x424757: str_replace_in_place(std::__cxx11::basic_string<wcha
r_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&,
std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>,
std::allocator<wchar_t> > const&, std::__cxx11::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> >&) (common.cpp:450)
==4215== by 0x424ABA: is_subdir_of_any(std::__cxx11::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> >,
std::vector<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>,
std::allocator<wchar_t> >, std::allocator<std::__cxx11::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> > > > const&) (common.cpp:476)
==4215== by 0x452F2F: obfuscator::remember_identifiers(std::__cxx11::basic
_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >,
identifiers_vector*, bool, bool) (obfuscator.cpp:1445)
==4215== by 0x4492EC: obfuscator::perform_remember_identifiers(std::__cxx1
1::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >)
(obfuscator.cpp:762)
==4215== by 0x44B179: obfuscator::obfuscate_application(bool) (obfuscator.cpp:881)
==4215== by 0x415085: main (dirtyphp.cpp:133)
==4215==
==4215== Conditional jump or move depends on uninitialised value(s)
==4215== at 0x590A823: __wmemchr_avx2 (memchr-avx2.S:240)
==4215== by 0x4F7667A: std::__cxx11::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> >::find(wchar_t const*, unsigned
long, unsigned long) const (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25)
==4215== by 0x424757: str_replace_in_place(std::__cxx11::basic_string<wcha
r_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&,
std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>,
std::allocator<wchar_t> > const&, std::__cxx11::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> >&) (common.cpp:450)
==4215== by 0x424ABA: is_subdir_of_any(std::__cxx11::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> >,
std::vector<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>,
std::allocator<wchar_t> >, std::allocator<std::__cxx11::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> > > > const&) (common.cpp:476)
==4215== by 0x452DEF: obfuscator::remember_identifiers(std::__cxx11::basic
_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >,
identifiers_vector*, bool, bool) (obfuscator.cpp:1430)
==4215== by 0x4492EC: obfuscator::perform_remember_identifiers(std::__cxx1
1::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >)
(obfuscator.cpp:762)
==4215== by 0x44B179: obfuscator::obfuscate_application(bool) (obfuscator.cpp:881)
==4215== by 0x415085: main (dirtyphp.cpp:133)
==4215==
==4215== Conditional jump or move depends on uninitialised value(s)
==4215== at 0x590A7CC: __wmemchr_avx2 (memchr-avx2.S:213)
==4215== by 0x4F7667A: std::__cxx11::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> >::find(wchar_t const*, unsigned
long, unsigned long) const (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25)
==4215== by 0x424757: str_replace_in_place(std::__cxx11::basic_string<wcha
r_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&,
std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>,
std::allocator<wchar_t> > const&, std::__cxx11::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> >&) (common.cpp:450)
==4215== by 0x424ABA: is_subdir_of_any(std::__cxx11::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> >,
std::vector<std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>,
std::allocator<wchar_t> >, std::allocator<std::__cxx11::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> > > > const&) (common.cpp:476)
==4215== by 0x452E64: obfuscator::remember_identifiers(std::__cxx11::basic
_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >,
identifiers_vector*, bool, bool) (obfuscator.cpp:1435)
==4215== by 0x4492EC: obfuscator::perform_remember_identifiers(std::__cxx1
1::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >)
(obfuscator.cpp:762)
==4215== by 0x44B179: obfuscator::obfuscate_application(bool) (obfuscator.cpp:881)
==4215== by 0x415085: main (dirtyphp.cpp:133)
==4215==
==4215== Conditional jump or move depends on uninitialised value(s)
==4215== at 0x590A887: __wmemchr_avx2 (memchr-avx2.S:282)
==4215== by 0x4F7667A: std::__cxx11::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> >::find(wchar_t const*, unsigned
long, unsigned long) const (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25)
==4215== by 0x424757: str_replace_in_place(std::__cxx11::basic_string<wcha
r_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&,
std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>,
std::allocator<wchar_t> > const&, std::__cxx11::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> >&) (common.cpp:450)
==4215== by 0x425F02: str_replace(std::__cxx11::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> > const&,
std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>,
std::allocator<wchar_t> > const&, std::__cxx11::basic_string<wchar_t,
std::char_traits<wchar_t>, std::allocator<wchar_t> > const&) (common.hpp:385)
==4215== by 0x437E84: backslash_special(std::__cxx11::basic_string<wchar_t
, std::char_traits<wchar_t>, std::allocator<wchar_t> >) (common.hpp:404)
==4215== by 0x4389FC: exec_php_script(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >) (common.hpp:409)
==4215== by 0x44CF91: obfuscator::remember_strings(std::__cxx11::basic_str
ing<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >, bool)
(obfuscator.cpp:1005)
==4215== by 0x4484F2: obfuscator::perform_remember_and_replace_strings(std
::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t>
>) (obfuscator.cpp:710)
==4215== by 0x44B850: obfuscator::obfuscate_application(bool) (obfuscator.cpp:927)
==4215== by 0x415085: main (dirtyphp.cpp:133)
==4215==