Re: [so] [Tema1][Linux][Windows] Comportament diferit la runtime

2017-03-15 Fir de Conversatie Adriana Dinca via so
Buna tuturor,

Am reusit sa gasesc care erau problemele care imi cauzau acel comportament
ciudat.
Am reimplementat unele dintre functiile hashtable-ului care imi creau
probleme.

Multumesc mult pentru feedback, Mihai.
M-a ajutat sa fac debugging si sa imi rezolv din probleme.

Numai bine,
Adriana




Pe 14 martie 2017, 00:26, Mihai Barbulescu  a scris:

> Mai incerc sa inteleg de ce _doar_ pt 8 caractere ai problema asta
> insa pana la aia ai unele mai mari:
>
> 1. aloci pt buffs si params 10 si 5 -> e cam mult la alocarea
> asta statica si imi zic astea ca poate d-aia pica testele de pe Linux.
> 2. hash.c -> nu trebuia sa regenerezi libhash.so. libhash.so SE DA in
> tema si tre` doar sa te linkezi cu el. Sursa hash.c am dat-o pt cei
> care dezvolta pe masini cu alta arhitectura decat vm-ul de SO. Sa
> corectezi acest aspect te rog.
> 3. Formularea strcpy( cmd, strtok( buff, " " ) ); nu prea imi place.
> strcpy oricum e known to offer buffer overflows. Incearca folosirea
> strncpy si salveaza ce genereaza strtok intr-o variabila, poate
> de-acolo vin probleme
>
> Pe langa ele adaug:
>
> 4. Intr-adevar: pe o masina cu ubuntu 14.04 cu 64 bit tema ta trece
> toate testele, dar pe cea de SO nu trece (cea de SO fiind si cea de pe
> vmchecker!). Verifica daca si initializezi memoria folosita/alocata.
> 5. Vad ca bagi extra lines/whitespaces - nu ca ar fi neaparat asta o
> problema, dar ne-am mai fript, vezi atat precizarea din enunt cat si
> discutia de aici:
> https://www.mail-archive.com/so@cursuri.cs.pub.ro/msg03743.html
> 6. Apropo de cifra magica 8, valgrind imi da cu virgula pe testul 2,
> verifica outputul de mai jos (si ti-am zis sa rulezi cu valgrind) si
> uita-te ce-ai prin functiile add si print ale hashtable-ului. Si n-am
> inteles ce vrei sa faci in jur de linia 169 p-acolo cu if-ul ala fara
> nimic.
>
> ==8507== Invalid write of size 1
> ==8507==at 0x4C2E1F3: strcpy (in
> /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==8507==by 0x402406: createntry (util.c:144)
> ==8507==by 0x402571: add (util.c:175)
> ==8507==by 0x400E51: readFromStdin (tema1.c:22)
> ==8507==by 0x401E73: main (tema1.c:214)
> ==8507==  Address 0x53fe928 is 0 bytes after a block of size 8 alloc'd
> ==8507==at 0x4C2AB80: malloc (in
> /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==8507==by 0x4023E6: createntry (util.c:142)
> ==8507==by 0x402571: add (util.c:175)
> ==8507==by 0x400E51: readFromStdin (tema1.c:22)
> ==8507==by 0x401E73: main (tema1.c:214)
> ==8507==
> ==8507== Invalid read of size 1
> ==8507==at 0x5084943: vfprintf (vfprintf.c:1661)
> ==8507==by 0x508D3D8: printf (printf.c:33)
> ==8507==by 0x402A65: print (util.c:312)
> ==8507==by 0x401184: readFromStdin (tema1.c:59)
> ==8507==by 0x401E73: main (tema1.c:214)
> ==8507==  Address 0x53fe928 is 0 bytes after a block of size 8 alloc'd
> ==8507==at 0x4C2AB80: malloc (in
> /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==8507==by 0x4023E6: createntry (util.c:142)
> ==8507==by 0x402571: add (util.c:175)
> ==8507==by 0x400E51: readFromStdin (tema1.c:22)
> ==8507==by 0x401E73: main (tema1.c:214)
>
> NOTE TIP pentru : verificati memory leak-urile si accesele nevalide la
> memorie (buffer overflows, acces memorie nealocata etc) folosind
> tutorialul de valgrind de aici [1] si gdb [1']. Debugati tema in
> masina virtuala de SO si nu altundeva [2]
>
> [1]: https://ocw.cs.pub.ro/courses/so/laboratoare/laborator-05#
> exercitiul_5_-_lucru_cu_memoria_-_valgrind_1p
> [1']: https://ocw.cs.pub.ro/courses/so/laboratoare/resurse/gdb
> [2]: https://ocw.cs.pub.ro/courses/so/info/mv
>
>
> 2017-03-13 19:28 GMT+02:00 Adriana Dinca :
> > Buna din nou,
> >
> > Am reusit sa reproduc problema descrisa initial.
> >
> > Codul sursa este cel de pe vmchecker.
> >
> > Continutul fisierului _test/inputs/test2.in:
> > add vilfredo
> > print
> >
> > Rulez urm. comand in Cygwin:
> >  $./tema1.exe 1 _test/inputs/test2.in
> >
> > Nu obtin niciun rezultat.
> >
> > Modific continutul fisiserului _test/inputs/test2.:
> > add vilfredo1
> > print
> >
> > Rulez urm. comand in Cygwin:
> >  $ ./tema1.exe 1 _test/inputs/test2.in
> >  vilfredo1
> >
> > Am observat ca am aceasta problema daca cuvatul adaugat are 8 caractere.
> >
> > Eu nu reusesc sa gasesc o explicatie a acestui comportament.
> >
> > Mihai, daca ai timp si poti sa iti arunci un ochi peste tema mea, as
> > aprecia.
> > Eu pot sa o urc si pe bitbucket daca iti e mai comod.
> >
> > Username-ul meu de cs este adriana.dinca.
> > Folosesc pentru rularea testelor masina virtuala de SO.
> >
> >
> > Numai bine,
> > Adriana
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > Pe 13 martie 2017, 14:57, Mihai Barbulescu  a scris:
> >>
> >> Buna,
> >>
> >> M-am uitat pe noua submisie a ta de pe vmchecker, vad niste buffer
> >> overflow-uri (nu m-am uitat in cod, doar pe rularile 

Re: [so] [Tema1][Linux][Windows] Comportament diferit la runtime

2017-03-13 Fir de Conversatie Mihai Barbulescu via so
Mai incerc sa inteleg de ce _doar_ pt 8 caractere ai problema asta
insa pana la aia ai unele mai mari:

1. aloci pt buffs si params 10 si 5 -> e cam mult la alocarea
asta statica si imi zic astea ca poate d-aia pica testele de pe Linux.
2. hash.c -> nu trebuia sa regenerezi libhash.so. libhash.so SE DA in
tema si tre` doar sa te linkezi cu el. Sursa hash.c am dat-o pt cei
care dezvolta pe masini cu alta arhitectura decat vm-ul de SO. Sa
corectezi acest aspect te rog.
3. Formularea strcpy( cmd, strtok( buff, " " ) ); nu prea imi place.
strcpy oricum e known to offer buffer overflows. Incearca folosirea
strncpy si salveaza ce genereaza strtok intr-o variabila, poate
de-acolo vin probleme

Pe langa ele adaug:

4. Intr-adevar: pe o masina cu ubuntu 14.04 cu 64 bit tema ta trece
toate testele, dar pe cea de SO nu trece (cea de SO fiind si cea de pe
vmchecker!). Verifica daca si initializezi memoria folosita/alocata.
5. Vad ca bagi extra lines/whitespaces - nu ca ar fi neaparat asta o
problema, dar ne-am mai fript, vezi atat precizarea din enunt cat si
discutia de aici:
https://www.mail-archive.com/so@cursuri.cs.pub.ro/msg03743.html
6. Apropo de cifra magica 8, valgrind imi da cu virgula pe testul 2,
verifica outputul de mai jos (si ti-am zis sa rulezi cu valgrind) si
uita-te ce-ai prin functiile add si print ale hashtable-ului. Si n-am
inteles ce vrei sa faci in jur de linia 169 p-acolo cu if-ul ala fara
nimic.

==8507== Invalid write of size 1
==8507==at 0x4C2E1F3: strcpy (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==8507==by 0x402406: createntry (util.c:144)
==8507==by 0x402571: add (util.c:175)
==8507==by 0x400E51: readFromStdin (tema1.c:22)
==8507==by 0x401E73: main (tema1.c:214)
==8507==  Address 0x53fe928 is 0 bytes after a block of size 8 alloc'd
==8507==at 0x4C2AB80: malloc (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==8507==by 0x4023E6: createntry (util.c:142)
==8507==by 0x402571: add (util.c:175)
==8507==by 0x400E51: readFromStdin (tema1.c:22)
==8507==by 0x401E73: main (tema1.c:214)
==8507==
==8507== Invalid read of size 1
==8507==at 0x5084943: vfprintf (vfprintf.c:1661)
==8507==by 0x508D3D8: printf (printf.c:33)
==8507==by 0x402A65: print (util.c:312)
==8507==by 0x401184: readFromStdin (tema1.c:59)
==8507==by 0x401E73: main (tema1.c:214)
==8507==  Address 0x53fe928 is 0 bytes after a block of size 8 alloc'd
==8507==at 0x4C2AB80: malloc (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==8507==by 0x4023E6: createntry (util.c:142)
==8507==by 0x402571: add (util.c:175)
==8507==by 0x400E51: readFromStdin (tema1.c:22)
==8507==by 0x401E73: main (tema1.c:214)

NOTE TIP pentru : verificati memory leak-urile si accesele nevalide la
memorie (buffer overflows, acces memorie nealocata etc) folosind
tutorialul de valgrind de aici [1] si gdb [1']. Debugati tema in
masina virtuala de SO si nu altundeva [2]

[1]: 
https://ocw.cs.pub.ro/courses/so/laboratoare/laborator-05#exercitiul_5_-_lucru_cu_memoria_-_valgrind_1p
[1']: https://ocw.cs.pub.ro/courses/so/laboratoare/resurse/gdb
[2]: https://ocw.cs.pub.ro/courses/so/info/mv


2017-03-13 19:28 GMT+02:00 Adriana Dinca :
> Buna din nou,
>
> Am reusit sa reproduc problema descrisa initial.
>
> Codul sursa este cel de pe vmchecker.
>
> Continutul fisierului _test/inputs/test2.in:
> add vilfredo
> print
>
> Rulez urm. comand in Cygwin:
>  $./tema1.exe 1 _test/inputs/test2.in
>
> Nu obtin niciun rezultat.
>
> Modific continutul fisiserului _test/inputs/test2.:
> add vilfredo1
> print
>
> Rulez urm. comand in Cygwin:
>  $ ./tema1.exe 1 _test/inputs/test2.in
>  vilfredo1
>
> Am observat ca am aceasta problema daca cuvatul adaugat are 8 caractere.
>
> Eu nu reusesc sa gasesc o explicatie a acestui comportament.
>
> Mihai, daca ai timp si poti sa iti arunci un ochi peste tema mea, as
> aprecia.
> Eu pot sa o urc si pe bitbucket daca iti e mai comod.
>
> Username-ul meu de cs este adriana.dinca.
> Folosesc pentru rularea testelor masina virtuala de SO.
>
>
> Numai bine,
> Adriana
>
>
>
>
>
>
>
>
>
>
>
> Pe 13 martie 2017, 14:57, Mihai Barbulescu  a scris:
>>
>> Buna,
>>
>> M-am uitat pe noua submisie a ta de pe vmchecker, vad niste buffer
>> overflow-uri (nu m-am uitat in cod, doar pe rularile Linux/Windows),
>> da-i si cu un valgrind inainte sa vezi pe unde dai p-afara cu memoria.
>> Nu alocarea e problema ci faptul ca undeva dai peste.
>>
>> Atat la rularea cu GDB (apropo, baga cu cgdb e mai draguta interfata)
>> cat si la cea cu VALGRIND ai grija sa compilezi cu -g si sa stergi
>> orice alta -O optiune de optimizare pentru a prinde mai usor problema.
>> Si dai cu valgrind peste unul din testele care pica in Linux.
>>
>> Alt hint pe care il vad e la 24) Test double... -> pare ca outputul
>> tau e bun dar ai bagat un funny character in forma de triunghi
>> p-acolo, nu stiu cum reusesti sa il bagi, 

Re: [so] [Tema1][Linux][Windows] Comportament diferit la runtime

2017-03-13 Fir de Conversatie Adriana Dinca via so
Buna din nou,

Am reusit sa reproduc problema descrisa initial.

Codul sursa este cel de pe vmchecker.

Continutul fisierului _test/inputs/test2.in:
add vilfredo
print

Rulez urm. comand in Cygwin:
 $./tema1.exe 1 _test/inputs/test2.in

Nu obtin niciun rezultat.

Modific continutul fisiserului _test/inputs/test2.:
add vilfredo1
print

Rulez urm. comand in Cygwin:
 $ ./tema1.exe 1 _test/inputs/test2.in
 vilfredo1

Am observat ca am aceasta problema daca cuvatul adaugat are 8 caractere.

Eu nu reusesc sa gasesc o explicatie a acestui comportament.

Mihai, daca ai timp si poti sa iti arunci un ochi peste tema mea, as
aprecia.
Eu pot sa o urc si pe bitbucket daca iti e mai comod.

Username-ul meu de cs este adriana.dinca.
Folosesc pentru rularea testelor masina virtuala de SO.


Numai bine,
Adriana











Pe 13 martie 2017, 14:57, Mihai Barbulescu  a scris:

> Buna,
>
> M-am uitat pe noua submisie a ta de pe vmchecker, vad niste buffer
> overflow-uri (nu m-am uitat in cod, doar pe rularile Linux/Windows),
> da-i si cu un valgrind inainte sa vezi pe unde dai p-afara cu memoria.
> Nu alocarea e problema ci faptul ca undeva dai peste.
>
> Atat la rularea cu GDB (apropo, baga cu cgdb e mai draguta interfata)
> cat si la cea cu VALGRIND ai grija sa compilezi cu -g si sa stergi
> orice alta -O optiune de optimizare pentru a prinde mai usor problema.
> Si dai cu valgrind peste unul din testele care pica in Linux.
>
> Alt hint pe care il vad e la 24) Test double... -> pare ca outputul
> tau e bun dar ai bagat un funny character in forma de triunghi
> p-acolo, nu stiu cum reusesti sa il bagi, poate nu pui \0 cand prntezi
> stringu`, nu imi dau seama.
>
> -marci nona megen jerry rachmaninoff  frederique vanny alyss carlee
> betsey winona daphna cindie wynn jeanie
> +marci nona megen jerry rachmaninoff frederique vanny alyss carlee
> betsey winona daphna cindie wynn jeanie
>
> Momentan astea sunt singurele idei acum.
>
> 2017-03-13 14:11 GMT+02:00 Adriana Dinca :
> > Buna Mihai,
> >
> > Pe vmchecker e urcata ultima arhiva care care la rulare din Cygwin imi
> > genereaza outputuri diferite pt testul 2.
> > Username-ul meu de cs este adriana.dinca.
> >
> > Cred ca acest comportament se datoreaza modului in care programul meu
> aloca
> > memoria.
> >
> > Am incercat astazi sa reproduc problema si nu am mai reusit.
> >
> > In schimb obtin outputuri diferite la rularea aceluiasi executabil cu
> > aceleasi argumente pentru un alt test.
> >
> > O sa rulez cu gdb sa vad daca gasesc problema.
> >
> > Multumesc pt raspuns.
> >
> > O zi faina,
> > Adriana
> >
> >
> >
> >
> >
> >
> > On 13 Mar 2017 7:59 a.m., "Mihai Barbulescu"  wrote:
> >
> > 2017-03-12 20:05 GMT+02:00 Adriana Dinca via so :
> >> Buna tuturor,
> >>
> >> Am urmatoarea problema atunci cand rulez test2.in.
> >>
> >> Pe Linux testul imi trece fara probleme.
> >>
> >> Pe Windows are urmatorul comportament:
> >> - daca rulez executabilul din Cygwin si dau comenzile de la stdin obtin
> >> outputul corect
> >> - daca rulez executabilul din Cygwin si dau ca parametru fisier-ul cu
> >> aceleasi comenzi nu imi afisaza nimic. (nici macar printf de pe primul
> >> rand
> >> al main-ului)
> >> - daca rulez executabilul din Visual Studio Power Shell imi afisaza
> printf
> >> de pe primul rand din main, insa crapa si cand citesc de la stdin sau
> din
> >> fisier.
> >>
> >> Mentionez ca folosesc doar functii ANSI C si ca lucrez pe masina
> virtuala
> >> pusa la dispozitie de catre echipa de SO.
> >>
> >> Daca modific continutul fisierului test2.in prin modificarea lungimii
> >> cuvantului adaugat (fie < 8 caractere / > 8 caractere)  nu apar
> problemele
> >> descrise mai sus.
> >>
> >> Am observat ca testul imi crapa daca adaug cuvinte care au lungimea
> egala
> >> cu
> >> 8 caractere.
> >> Daca inlocuiesc "vilfredo" cu "" obtin acelasi comportament.
> >> In schimb daca inlocuiesc cu "aaa" sau "a" merge fara
> >> probleme.
> >>
> >> Daca ati mai intalnit aceasta problema sau aveti vreo idee din ce cauza
> >> obtin acest comportament ciudat, v-as ruga sa imi dati de stire.
> >>
> >> Multumesc!
> >>
> >
> > Buna,
> >
> > Nu am reusit inca sa ma prind de acest comportament ciudat al tau. Pe
> > vmchecker e ultima versiune a codului care reproduce acest
> > comportament?
> > Eventual poti rula test2.in pas cu pas si sa ne dai aici pe lista tot
> > output-ul + descrierea comportamentului? E OK, ca nu dai cod sursa.
> > Asta ca sa stiu ce fac cand reproduc cu tema ta.
> >
> > De asemenea, pe Windows singurul scenariu valid este rularea din
> > Cygwin, nu va stresati cu rulat din visual studio debug shell sau
> > power shell sau windows cmd. Atat vmchecker cat si testele presupun
> > rularea din cygwin.
> >
> > --
> > Cu stimă,
> > Mihai Bărbulescu
> >
> >
>
>
>
> --
> Cu stimă,
> Mihai Bărbulescu
>
___

Re: [so] [Tema1][Linux][Windows] Comportament diferit la runtime

2017-03-13 Fir de Conversatie Mihai Barbulescu via so
Buna,

M-am uitat pe noua submisie a ta de pe vmchecker, vad niste buffer
overflow-uri (nu m-am uitat in cod, doar pe rularile Linux/Windows),
da-i si cu un valgrind inainte sa vezi pe unde dai p-afara cu memoria.
Nu alocarea e problema ci faptul ca undeva dai peste.

Atat la rularea cu GDB (apropo, baga cu cgdb e mai draguta interfata)
cat si la cea cu VALGRIND ai grija sa compilezi cu -g si sa stergi
orice alta -O optiune de optimizare pentru a prinde mai usor problema.
Si dai cu valgrind peste unul din testele care pica in Linux.

Alt hint pe care il vad e la 24) Test double... -> pare ca outputul
tau e bun dar ai bagat un funny character in forma de triunghi
p-acolo, nu stiu cum reusesti sa il bagi, poate nu pui \0 cand prntezi
stringu`, nu imi dau seama.

-marci nona megen jerry rachmaninoff  frederique vanny alyss carlee
betsey winona daphna cindie wynn jeanie
+marci nona megen jerry rachmaninoff frederique vanny alyss carlee
betsey winona daphna cindie wynn jeanie

Momentan astea sunt singurele idei acum.

2017-03-13 14:11 GMT+02:00 Adriana Dinca :
> Buna Mihai,
>
> Pe vmchecker e urcata ultima arhiva care care la rulare din Cygwin imi
> genereaza outputuri diferite pt testul 2.
> Username-ul meu de cs este adriana.dinca.
>
> Cred ca acest comportament se datoreaza modului in care programul meu aloca
> memoria.
>
> Am incercat astazi sa reproduc problema si nu am mai reusit.
>
> In schimb obtin outputuri diferite la rularea aceluiasi executabil cu
> aceleasi argumente pentru un alt test.
>
> O sa rulez cu gdb sa vad daca gasesc problema.
>
> Multumesc pt raspuns.
>
> O zi faina,
> Adriana
>
>
>
>
>
>
> On 13 Mar 2017 7:59 a.m., "Mihai Barbulescu"  wrote:
>
> 2017-03-12 20:05 GMT+02:00 Adriana Dinca via so :
>> Buna tuturor,
>>
>> Am urmatoarea problema atunci cand rulez test2.in.
>>
>> Pe Linux testul imi trece fara probleme.
>>
>> Pe Windows are urmatorul comportament:
>> - daca rulez executabilul din Cygwin si dau comenzile de la stdin obtin
>> outputul corect
>> - daca rulez executabilul din Cygwin si dau ca parametru fisier-ul cu
>> aceleasi comenzi nu imi afisaza nimic. (nici macar printf de pe primul
>> rand
>> al main-ului)
>> - daca rulez executabilul din Visual Studio Power Shell imi afisaza printf
>> de pe primul rand din main, insa crapa si cand citesc de la stdin sau din
>> fisier.
>>
>> Mentionez ca folosesc doar functii ANSI C si ca lucrez pe masina virtuala
>> pusa la dispozitie de catre echipa de SO.
>>
>> Daca modific continutul fisierului test2.in prin modificarea lungimii
>> cuvantului adaugat (fie < 8 caractere / > 8 caractere)  nu apar problemele
>> descrise mai sus.
>>
>> Am observat ca testul imi crapa daca adaug cuvinte care au lungimea egala
>> cu
>> 8 caractere.
>> Daca inlocuiesc "vilfredo" cu "" obtin acelasi comportament.
>> In schimb daca inlocuiesc cu "aaa" sau "a" merge fara
>> probleme.
>>
>> Daca ati mai intalnit aceasta problema sau aveti vreo idee din ce cauza
>> obtin acest comportament ciudat, v-as ruga sa imi dati de stire.
>>
>> Multumesc!
>>
>
> Buna,
>
> Nu am reusit inca sa ma prind de acest comportament ciudat al tau. Pe
> vmchecker e ultima versiune a codului care reproduce acest
> comportament?
> Eventual poti rula test2.in pas cu pas si sa ne dai aici pe lista tot
> output-ul + descrierea comportamentului? E OK, ca nu dai cod sursa.
> Asta ca sa stiu ce fac cand reproduc cu tema ta.
>
> De asemenea, pe Windows singurul scenariu valid este rularea din
> Cygwin, nu va stresati cu rulat din visual studio debug shell sau
> power shell sau windows cmd. Atat vmchecker cat si testele presupun
> rularea din cygwin.
>
> --
> Cu stimă,
> Mihai Bărbulescu
>
>



-- 
Cu stimă,
Mihai Bărbulescu
___
http://ocw.cs.pub.ro/courses/so/info/lista-discutii

Re: [so] [Tema1][Linux][Windows] Comportament diferit la runtime

2017-03-13 Fir de Conversatie Adriana Dinca via so
Buna Mihai,

Pe vmchecker e urcata ultima arhiva care care la rulare din Cygwin imi
genereaza outputuri diferite pt testul 2.
Username-ul meu de cs este adriana.dinca.

Cred ca acest comportament se datoreaza modului in care programul meu aloca
memoria.

Am incercat astazi sa reproduc problema si nu am mai reusit.

In schimb obtin outputuri diferite la rularea aceluiasi executabil cu
aceleasi argumente pentru un alt test.

O sa rulez cu gdb sa vad daca gasesc problema.

Multumesc pt raspuns.

O zi faina,
Adriana






On 13 Mar 2017 7:59 a.m., "Mihai Barbulescu"  wrote:

2017-03-12 20:05 GMT+02:00 Adriana Dinca via so :
> Buna tuturor,
>
> Am urmatoarea problema atunci cand rulez test2.in.
>
> Pe Linux testul imi trece fara probleme.
>
> Pe Windows are urmatorul comportament:
> - daca rulez executabilul din Cygwin si dau comenzile de la stdin obtin
> outputul corect
> - daca rulez executabilul din Cygwin si dau ca parametru fisier-ul cu
> aceleasi comenzi nu imi afisaza nimic. (nici macar printf de pe primul
rand
> al main-ului)
> - daca rulez executabilul din Visual Studio Power Shell imi afisaza printf
> de pe primul rand din main, insa crapa si cand citesc de la stdin sau din
> fisier.
>
> Mentionez ca folosesc doar functii ANSI C si ca lucrez pe masina virtuala
> pusa la dispozitie de catre echipa de SO.
>
> Daca modific continutul fisierului test2.in prin modificarea lungimii
> cuvantului adaugat (fie < 8 caractere / > 8 caractere)  nu apar problemele
> descrise mai sus.
>
> Am observat ca testul imi crapa daca adaug cuvinte care au lungimea egala
cu
> 8 caractere.
> Daca inlocuiesc "vilfredo" cu "" obtin acelasi comportament.
> In schimb daca inlocuiesc cu "aaa" sau "a" merge fara
probleme.
>
> Daca ati mai intalnit aceasta problema sau aveti vreo idee din ce cauza
> obtin acest comportament ciudat, v-as ruga sa imi dati de stire.
>
> Multumesc!
>

Buna,

Nu am reusit inca sa ma prind de acest comportament ciudat al tau. Pe
vmchecker e ultima versiune a codului care reproduce acest
comportament?
Eventual poti rula test2.in pas cu pas si sa ne dai aici pe lista tot
output-ul + descrierea comportamentului? E OK, ca nu dai cod sursa.
Asta ca sa stiu ce fac cand reproduc cu tema ta.

De asemenea, pe Windows singurul scenariu valid este rularea din
Cygwin, nu va stresati cu rulat din visual studio debug shell sau
power shell sau windows cmd. Atat vmchecker cat si testele presupun
rularea din cygwin.

--
Cu stimă,
Mihai Bărbulescu
___
http://ocw.cs.pub.ro/courses/so/info/lista-discutii

Re: [so] [Tema1][Linux][Windows] Comportament diferit la runtime

2017-03-12 Fir de Conversatie Mihai Barbulescu via so
2017-03-12 20:05 GMT+02:00 Adriana Dinca via so :
> Buna tuturor,
>
> Am urmatoarea problema atunci cand rulez test2.in.
>
> Pe Linux testul imi trece fara probleme.
>
> Pe Windows are urmatorul comportament:
> - daca rulez executabilul din Cygwin si dau comenzile de la stdin obtin
> outputul corect
> - daca rulez executabilul din Cygwin si dau ca parametru fisier-ul cu
> aceleasi comenzi nu imi afisaza nimic. (nici macar printf de pe primul rand
> al main-ului)
> - daca rulez executabilul din Visual Studio Power Shell imi afisaza printf
> de pe primul rand din main, insa crapa si cand citesc de la stdin sau din
> fisier.
>
> Mentionez ca folosesc doar functii ANSI C si ca lucrez pe masina virtuala
> pusa la dispozitie de catre echipa de SO.
>
> Daca modific continutul fisierului test2.in prin modificarea lungimii
> cuvantului adaugat (fie < 8 caractere / > 8 caractere)  nu apar problemele
> descrise mai sus.
>
> Am observat ca testul imi crapa daca adaug cuvinte care au lungimea egala cu
> 8 caractere.
> Daca inlocuiesc "vilfredo" cu "" obtin acelasi comportament.
> In schimb daca inlocuiesc cu "aaa" sau "a" merge fara probleme.
>
> Daca ati mai intalnit aceasta problema sau aveti vreo idee din ce cauza
> obtin acest comportament ciudat, v-as ruga sa imi dati de stire.
>
> Multumesc!
>

Buna,

Nu am reusit inca sa ma prind de acest comportament ciudat al tau. Pe
vmchecker e ultima versiune a codului care reproduce acest
comportament?
Eventual poti rula test2.in pas cu pas si sa ne dai aici pe lista tot
output-ul + descrierea comportamentului? E OK, ca nu dai cod sursa.
Asta ca sa stiu ce fac cand reproduc cu tema ta.

De asemenea, pe Windows singurul scenariu valid este rularea din
Cygwin, nu va stresati cu rulat din visual studio debug shell sau
power shell sau windows cmd. Atat vmchecker cat si testele presupun
rularea din cygwin.

-- 
Cu stimă,
Mihai Bărbulescu
___
http://ocw.cs.pub.ro/courses/so/info/lista-discutii