<html><head></head><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px"><div id="yui_3_16_0_ym19_1_1489519125485_10735"><span id="yui_3_16_0_ym19_1_1489519125485_10738">Am inteles. Multumesc pentru ajutor!</span></div><div id="yui_3_16_0_ym19_1_1489519125485_10739" class="qtdSeparateBR"><br>O seara frumoasa!<br></div><div style="display: block;" id="yui_3_16_0_ym19_1_1489519125485_10743" class="yahoo_quoted"> <div id="yui_3_16_0_ym19_1_1489519125485_10742" style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;"> <div id="yui_3_16_0_ym19_1_1489519125485_10741" style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;"> <div id="yui_3_16_0_ym19_1_1489519125485_10740" dir="ltr"> <font id="yui_3_16_0_ym19_1_1489519125485_10744" face="Arial" size="2"> <hr size="1"> <b><span style="font-weight:bold;">From:</span></b> Mihai Barbulescu <b12mihai@gmail.com><br> <b><span style="font-weight: bold;">To:</span></b> Ionutz Sc <ionut_sc94@yahoo.com> <br><b><span style="font-weight: bold;">Cc:</span></b> Sisteme de Operare <so@cursuri.cs.pub.ro><br> <b><span style="font-weight: bold;">Sent:</span></b> Tuesday, March 14, 2017 9:29 PM<br> <b><span style="font-weight: bold;">Subject:</span></b> Re: [so] [Tema1][Linux] stack smash detected<br> </font> </div> <div id="yui_3_16_0_ym19_1_1489519125485_10745" class="y_msg_container"><br><div id="yui_3_16_0_ym19_1_1489519125485_10746" dir="ltr">Consider ca am spus sugestia mai sus: ruleaza folosind gdb exact<br clear="none">testul pe care l-ai rulat cu valgrind (foloseste cgdb are interfata<br clear="none">mai draguta).<br clear="none"><br clear="none">Probabil ai bug in bucla din print_bucket cand iterezi pe lista<br clear="none">inlantuita, pune si tu un breakpoint pe-acolo. Ai alocat memorie pt<br clear="none">nodul din lista?<br clear="none"><br clear="none">De asemenea, vezi ca submisia e gresita si am observat in general<br clear="none">greseala asta la studenti: nu trebuie sa submitesti hash.c si sa il<br clear="none">compilati sau sa generati biblioteca din el, cititi urmatoarea<br clear="none">specificatie din enunt cu maxima atentie:<br clear="none"><br clear="none">Antetul funcției de hash ce trebuie folosită (în întreaga temă) este<br clear="none">declarat în hash.h. Definiția funcției se găsește într-o bibliotecă<br clear="none">dinamică (libhash.so pentru Linux, respectiv hash.dll pentru Windows).<br clear="none">Va trebui să linkați în tema voastră aceste biblioteci. Este interzisă<br clear="none">folosirea unei alte funcții hash scrisă prin surse. Nu includeți<br clear="none">bibliotecile în arhiva finală a temei.<br clear="none">IMPORTANT: bibliotecile au fost compilate folosind mașinile virtuale,<br clear="none">care sunt cu arhitectura pe 32-bit. Dacă dezvoltați pe mașina locală e<br clear="none">posibil să vă apară erori de incompatibiltate. Nu submiteți nici sursa<br clear="none">originală a hash.c și vă bazați implementarea pe acesta. Sursa este<br clear="none">oferită pentru a vă putea regenera local bibliotecile pentru<br clear="none">dezvoltare în cazul erorilor de incompatibilitate.<br clear="none"><br clear="none">hash.c v-a fost dat ca sa puteti dezvolta pe masinile voastre ale<br clear="none">caror arhitecturi nu le stapanim iar masinile virtuale de so sunt<br clear="none">32-bit iar pe linux apare eroare wrong ELFCLASS daca nu v-am fi dat si<br clear="none">sursa sa dezvoltati in mediul in care va e voua usor.<br clear="none"><br clear="none"><div class="yqt4672030090" id="yqtfd64466"><br clear="none">2017-03-14 21:12 GMT+02:00 Ionutz Sc <<a shape="rect" ymailto="mailto:ionut_sc94@yahoo.com" href="mailto:ionut_sc94@yahoo.com">ionut_sc94@yahoo.com</a>>:<br clear="none">> Intr-adevar, am folosit acea optiune si acum nu mai apare stack smashing.<br clear="none">> Vreo sugestie in vederea repararii problemei?<br clear="none">> Multumesc anticipat!<br clear="none">><br clear="none">><br clear="none">> ________________________________<br clear="none">> From: Mihai Barbulescu <<a shape="rect" ymailto="mailto:b12mihai@gmail.com" href="mailto:b12mihai@gmail.com">b12mihai@gmail.com</a>><br clear="none">> To: Sisteme de Operare <<a shape="rect" ymailto="mailto:so@cursuri.cs.pub.ro" href="mailto:so@cursuri.cs.pub.ro">so@cursuri.cs.pub.ro</a>>; Ionutz Sc<br clear="none">> <<a shape="rect" ymailto="mailto:ionut_sc94@yahoo.com" href="mailto:ionut_sc94@yahoo.com">ionut_sc94@yahoo.com</a>><br clear="none">> Sent: Tuesday, March 14, 2017 9:04 PM<br clear="none">> Subject: Re: [so] [Tema1][Linux] stack smash detected<br clear="none">><br clear="none">> Problema e ca ai buffer overflow și nu memory leaks. Undeva faci un acces<br clear="none">> peste dimensiunea stivei<br clear="none">><br clear="none">> Poti dezactiva temporar mecanismul din gcc folosind opțiunea nepermisa<br clear="none">> -fno-stack-protector și sa vezi dacă dispare<br clear="none">><br clear="none">> Valgrind nu e capabil sa detecteze asa ceva. Baga cu gdb pe acel print<br clear="none">> problema după ce ai compilat fără opțiunea de care zic<br clear="none">><br clear="none">> On 14 Mar 2017 20:44, "Ionutz Sc via so" <<a shape="rect" ymailto="mailto:so@cursuri.cs.pub.ro" href="mailto:so@cursuri.cs.pub.ro">so@cursuri.cs.pub.ro</a>> wrote:<br clear="none">><br clear="none">> Buna seara,<br clear="none">><br clear="none">> Pe linux, cand testez tema cu comanda "valgrind ./tema1 256 < date.in"<br clear="none">> (date.in contine primele 3 linii din testul 22), valgrind nu seziseaza<br clear="none">> niciun leak de memorie:<br clear="none">> All heap blocks were freed -- no leaks are possible<br clear="none">> ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)<br clear="none">> insa la output apare si *** stack smashing detected ***: ./tema1 terminated<br clear="none">> Nu reusesc sa-mi dau seama ce anume provoaca stack smashing-ul.<br clear="none">> Am testat in loc de linia cu print_bucket si cu un sir de caractere random<br clear="none">> de genul:<br clear="none">> asdadfasda asdasdasdasd asdasdasdasd<br clear="none">> Am observat ca daca las doar 2 cuvinte random pe acea linie, nu face stack<br clear="none">> smashing, doar cu 3 face.<br clear="none">> Multumesc anticipat!<br clear="none">><br clear="none">> Cu stima,<br clear="none">> Ionut Niculici<br clear="none">><br clear="none">> ______________________________ _________________<br clear="none">> <a shape="rect" href="http://ocw.cs.pub.ro/courses/" target="_blank">http://ocw.cs.pub.ro/courses/ </a>so/info/lista-discutii</div><br clear="none">><br clear="none">><br clear="none">><br clear="none"><br clear="none"><br clear="none"><br clear="none">-- <br clear="none">Cu stimă,<br clear="none">Mihai Bărbulescu</div><br><br></div> </div> </div> </div></div></body></html>