Salut Ionut, Da un ochi pe optiunile lui [1] s-ar putea ca -dump_at_unaddressable si poate -pause_at_unaddressable si poate reusesti sa afli si unde in cod s-a oprit programul tau si poate asa afli accesul invalid. Show reachable e util doar pentru leak-uri, poti sa lasi pornita si optiunea asta.
Mai ai optiunile -light si -brief poate gasesti ceva mai repede cu astea. [1] https://drmemory.org/docs/page_options.html On Tue, 16 Apr 2019 at 17:34, Ionuț Mihalache <ipopesc...@gmail.com> wrote: > > Salut modul cum folosesc Dr Memory este acesta: "drmemory.exe -show_reachable > .\so_exec.exe so_test_prog.exe". Eroarea pe care o primesc este urmatoarea: > > Dr. Memory version 1.11.0 build 2 built on Aug 29 2016 02:42:07 > Dr. Memory results for pid 3856: "so_exec.exe" > Application cmdline: ".\so_exec.exe so_test_prog.exe" > Recorded 115 suppression(s) from default C:\Program Files\Dr. > Memory\bin\suppress-default.txt > > WARNING: application is missing line number information. > > Error #1: UNADDRESSABLE ACCESS: reading 0x1000003c-0x10000040 4 byte(s) > # 0 so_loader.dll!so_execute +0x679 (0x54511c29 > <so_loader.dll+0x1c29>) > # 1 so_loader.dll!so_execute +0x17d (0x5451172e > <so_loader.dll+0x172e>) > # 2 so_exec.exe!? +0x0 (0x20001050 > <so_exec.exe+0x1050>) > # 3 so_exec.exe!? +0x0 (0x2000153a > <so_exec.exe+0x153a>) > # 4 KERNEL32.dll!BaseThreadInitThunk +0x11 (0x75801174 > <KERNEL32.dll+0x51174>) > Note: @0:00:00.265 in thread 2028 > Note: instruction: mov 0x3c(%ecx) -> %edx > > Error #2: UNADDRESSABLE ACCESS: reading 0x10030000-0x10030004 4 byte(s) > # 0 so_loader.dll!so_execute +0x6e2 (0x54511c92 > <so_loader.dll+0x1c92>) > # 1 so_loader.dll!so_execute +0x692 (0x54511c43 > <so_loader.dll+0x1c43>) > # 2 so_loader.dll!so_execute +0x17d (0x5451172e > <so_loader.dll+0x172e>) > # 3 so_exec.exe!? +0x0 (0x20001050 > <so_exec.exe+0x1050>) > # 4 so_exec.exe!? +0x0 (0x2000153a > <so_exec.exe+0x153a>) > # 5 KERNEL32.dll!BaseThreadInitThunk +0x11 (0x75801174 > <KERNEL32.dll+0x51174>) > Note: @0:00:00.343 in thread 2028 > Note: instruction: cmp (%ecx) $0x00000000 > > Error #3: UNADDRESSABLE ACCESS: executing 0x10010005-0x10010006 1 byte(s) > # 0 <not in a module> (0x10010005) > # 1 so_loader.dll!so_execute +0x69d (0x54511c4e > <so_loader.dll+0x1c4e>) > # 2 so_loader.dll!so_execute +0x17d (0x5451172e > <so_loader.dll+0x172e>) > # 3 so_exec.exe!? +0x0 (0x20001050 > <so_exec.exe+0x1050>) > # 4 so_exec.exe!? +0x0 (0x2000153a > <so_exec.exe+0x153a>) > # 5 KERNEL32.dll!BaseThreadInitThunk +0x11 (0x75801174 > <KERNEL32.dll+0x51174>) > Note: @0:00:00.374 in thread 2028 > > Mai sunt erori dar sunt leak-uri cel mai probabil cauzate de faptul ca > programul primeste segmentaion fault, cele de mai sus sunt cele care sunt cel > mai de interes. Clar fac un acces invalid la memorie insa nu imi este inca > clar unde se intampla, dar mai investighez. > > În mar., 16 apr. 2019 la 10:30, Mihai Barbulescu <b12mi...@gmail.com> a scris: >> >> Paul, >> >> Dacă ai fi citit cu atenție măcar subiectul problema lui Ionuț este pe >> Windows. Nu are cum să folosească utilitarele de Linux acolo (valgrind sau >> gdb) >> >> Ionuț spune-mi dacă nu te descurci să folosești Dr Memory pe testul cu >> probleme arata-ne cum folosești în cazul în care acesta nu te ajuta sa afli >> informații utile >> >> Cu stimă, >> Mihai Bărbulescu >> >> >> -------- Original Message -------- >> Subject: Re: [so] [Tema3][Windows] - Permisiuni VirtualAlloc, VirtualProtect >> From: Paul Olaru via so >> To: Ionuț Mihalache >> CC: Sisteme de Operare >> >> >> Adresa 1 sună suspect (NULL pointer dereference). Memory allocation failure? >> Încearcă să reduci utilizarea de memorie dinamică pe cât posibil. Vezi cu >> Valgrind/GDB care pointer încerci să îl folosești deși e nul. >> >> On Tue, Apr 16, 2019, 9:37 AM Ionuț Mihalache <ipopesc...@gmail.com> wrote: >>> >>> Problema care apare este faptul că loader-ul primește segfault. Am printat >>> adresa la care are loc page fault și de la un moment dat apare adresa 1 și >>> nu ar trebui. VirtualAlloc și VirtualProtect nu eșuează însă nu pot să-mi >>> dau seama exact de unde ar mai putea fi problema. Din printare am văzut că >>> anumite pagini se mapează însă nu-mi dau seama care ar putea fi cauza >>> pentru care primesc segfault pentru că nu fac altceva decât să aplic logica >>> de pe linux cu alt page size și mod de a mapa. Este posibil să iau adresa >>> greșit dar la început merge. Am presupus că este de la mapare pentru că tot >>> primesc page fault. Rulez programul de test, cel cu hello world. Am postat >>> doar ca să mă asigur că abordarea mea de a mapa este bună ca să nu depanez >>> ce nu trebuie. >>> >>> mar., 16 apr. 2019, 09:14 Razvan Crainea <razvan.crai...@gmail.com> a scris: >>>> >>>> Salutare! >>>> >>>> Am rugămintea ca atunci când raportați o problemă, să descrieți exact >>>> comportamentul programului, și ce debugging ați făcut. Dacă vreți să >>>> vă putem ajuta, trebuie să avem toate datele problemei. >>>> Nu ne mai cereți să ne uităm pe sursele voastre, asta ar trebui să >>>> facem doar în cazuri excepționale, când debugging-ul făcut de voi nu >>>> este de ajuns să identificăm problema. Dacă va fi nevoie de asta, vom >>>> cere noi acces la surse. >>>> Prin urmare, Ionuț, spune-ne de ce crezi că este de la mapare? În ce >>>> moment al execuției? Ce fel de acces nu merge? >>>> >>>> Numai bine! >>>> Răzvan >>>> >>>> On Tue, Apr 16, 2019 at 12:04 AM Paul-Stelian Olaru via so >>>> <so@cursuri.cs.pub.ro> wrote: >>>> > >>>> > Pentru handlerul default pe Windows trebuie să returnezi ceva cu >>>> > CONTINUE_SEARCHING din handlerul apelat de sistem. Honestly chestia asta >>>> > e mai ușoară pe Windows decât pe Linux. >>>> > >>>> > >>>> > >>>> > Sent from Mail for Windows 10 >>>> > >>>> > >>>> > >>>> > From: Ionuț Mihalache via so >>>> > Sent: Tuesday, April 16, 2019 12:01 AM >>>> > To: Sisteme de Operare >>>> > Subject: [so] [Tema3][Windows] - Permisiuni VirtualAlloc, VirtualProtect >>>> > >>>> > >>>> > >>>> > Salut, >>>> > >>>> > >>>> > >>>> > Se poate uita cineva din echipa va rog daca permisiunile din parametri >>>> > pentru VirtualAlloc si VirtualProtect sunt in regula? Si nu stiu exact >>>> > cum sa fac cu handler-ul default insa nu asta este problema acum ci >>>> > faptul ca primesc segmentation fault in loader si cred ca este de la >>>> > mapare. >>>> > >>>> > >>>> > >>>> > Multumesc. >>>> > >>>> > >>>> > >>>> > https://gitlab.cs.pub.ro/ionut.mihalache1506/l3-so-assignments/blob/master/3-loader/skel-win/loader.c >>>> > >>>> > >>>> > >>>> > _______________________________________________ >>>> > http://ocw.cs.pub.ro/courses/so/info/lista-discutii >>>> >>>> >>>> >>>> -- >>>> Răzvan Crainea -- Cu stimă, Mihai Bărbulescu _______________________________________________ http://ocw.cs.pub.ro/courses/so/info/lista-discutii