Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Vecini ignoranti cu copil invatat...

Task scheduler

Bitdefender Box fabricat in Roman...

Ucraina-Romania
 Soft emulare imagini CD/DVD -free...

Ați avut pager?

Scad salariile! Lista firmelo...

black screen
 Recuperare casete video 8mm si 16...

Ultima problema a natiunii: O neg...

Problema Convertor DIGI / router ?

Problema la un hub pe DC++.
 Stick Orange TV

Dilema despre kit memorii RAM

This text is replaced by the Flas...

Consola pe duca?
 
Forumul Softpedia folosește "cookies" pentru a oferi utilizatorilor o experiență completă. Vezi detalii sau închide mesaj (x)

Situatii... exceptionale

- - - - -
  • Please log in to reply
41 replies to this topic

#1
dani.user

dani.user

    Guru Member

  • Grup: Moderators
  • Posts: 22,481
  • Înscris: 24.02.2007
  • ID membru: 146,987
E normal ca atunci cand porneste o aplicatie Java, sa arunce zeci de randuri de exception stack traces, chiar daca apoi (pare sa) functioneaza(e)? Cand pornesc o astfel de aplicatie (adesea serviciu in backend) si vad toate acele stack traces, ce reactie ar trebui sa am?
  • Sa cred ca n-am configurat ceva bine?
  • Sa cred ca nu functioneaza cum trebuie aplicatia chiar daca, la prima vedere, pare sa faca ce trebuie?
  • Sa cred ca-i instabila platforma?
  • Sa cred ca-i instabila aplicatia?
  • Sa cred ca-i incompetent dezvoltatorul?
  • Sa le ignor?
  • Sa le raportez pe fiecare in parte?

Edited by dani.user, 13 September 2017 - 11:24.


#2
jm2010

jm2010

    Member

  • Grup: Members
  • Posts: 981
  • Înscris: 14.03.2013
  • ID membru: 803,131

View Postdani.user, on 13 septembrie 2017 - 11:17, said:

  • Sa le raportez pe fiecare in parte?

Singura solutie daca nu stii cum sa citesti logurile alea sa intelegi de ce arunca acele exceptii.

Edited by MarianG, 13 September 2017 - 11:31.
quote inutil


#3
_Smiley_

_Smiley_

    Guru Member

  • Grup: Senior Members
  • Posts: 14,025
  • Înscris: 24.02.2006
  • ID membru: 67,317
  • Locație: Bucuresti

View Postdani.user, on 13 septembrie 2017 - 11:17, said:

..........o aplicatie Java..........apoi (pare sa) functioneaza(e)?
  • Sa cred ca-i incompetent dezvoltatorul?
....si sa trimiti un mail celor care au facut aplicatia.

#4
dani.user

dani.user

    Guru Member

  • Grup: Moderators
  • Posts: 22,481
  • Înscris: 24.02.2007
  • ID membru: 146,987
Daca ar fi vreo problema usor sesizabila, imediat as lua logul la bani marunti sa vad unde ar putea fi (poate e ceva banal gen spatiu insuficient pe disc). Dar cand apar cu zecile la o pornire a aplicatiei proaspat instalata (poate chair avand configuratia implicita), imi dau senzatia ca sunt acolo de mult timp, iar dezvoltatorilor nu le pasa de ele.

#5
romio79

romio79

    Active Member

  • Grup: Members
  • Posts: 1,459
  • Înscris: 30.03.2005
  • ID membru: 33,589
  • Locație: bucuresti
pai ar trebui vazuta cauza, de ce sunt afisate stack trace-urile alea.

ca raspuns la intrebare, nu e normal :)

ai putea sa pui un stack trace aici, poate e ceva evident in el :)

#6
dani.user

dani.user

    Guru Member

  • Grup: Moderators
  • Posts: 22,481
  • Înscris: 24.02.2007
  • ID membru: 146,987
N-am exemple pe moment ca nu sunt la birou. Ma gandesc insa ca nu aveau ce cauta acolo daca obstacolele intalnite in rularea codului erau banale (daca n-ar fi fost banale n-ar fi functionat aplicatia cum trebuie).

Edited by dani.user, 13 September 2017 - 11:59.


#7
romio79

romio79

    Active Member

  • Grup: Members
  • Posts: 1,459
  • Înscris: 30.03.2005
  • ID membru: 33,589
  • Locație: bucuresti
depinde de programator :D

#8
Qupidqu

Qupidqu

    Junior

  • Grup: Members
  • Posts: 298
  • Înscris: 04.08.2017
  • ID membru: 994,071

View Postdani.user, on 13 septembrie 2017 - 11:17, said:

E normal ca atunci cand porneste o aplicatie Java, sa arunce zeci de randuri de exception stack traces, chiar daca apoi (pare sa) functioneaza(e)? Cand pornesc o astfel de aplicatie (adesea serviciu in backend) si vad toate acele stack traces, ce reactie ar trebui sa am?
  • Sa cred ca n-am configurat ceva bine?
  • Sa cred ca nu functioneaza cum trebuie aplicatia chiar daca, la prima vedere, pare sa faca ce trebuie?
  • Sa cred ca-i instabila platforma?
  • Sa cred ca-i instabila aplicatia?
  • Sa cred ca-i incompetent dezvoltatorul?
  • Sa le ignor?
  • Sa le raportez pe fiecare in parte?
Ceea ce experimentezi este normal. Mai ales la servere java. Si asta datorita faptului ca  serverul tau este derivat dintr-un server generalist. Chestiile la care iti da eroare dar nu de tip Runtime-Error
sunt chestii care nu fost implementate din serverul generalist in versiunea ta de server.
Acest comportament poti sa-l vezi atat pe apache tomcat,  Wildfly (ex Jboss) , Apache Hadoop server, etc
De altfel noi ne facem filtre prin care filtram output stacktrace-ului doar pe ce ne intereseaza pe noi.

Apoi acest stacktrace verbose mai are rolul in cazul in care dai de un run-time error poti sa faci debuging ultra-rapid a problemelei.
Intr-o aplicatie JAVA EE, aceste loguri de output sunt AUR pentru debuggingul problemei( iti spun unde este problema fara sa fie nevoie sa pui tot serverul/clusterul in debugging mode).
Noi am dezolvat aplicatii interne foarte puternice doar pt analiza logurile de output a serverlor si clusterelor de java pe care le folosim dar si a servelor java scrise de  noi

Quote

. Dar cand apar cu zecile la o pornire a aplicatiei proaspat instalata (poate chair avand configuratia implicita), imi dau senzatia ca sunt acolo de mult timp, iar dezvoltatorilor nu le pasa de ele.
Din contra sunt acolo tocmai ca programatorilor le pasa de ele. Daca vrei sa trimiti erorile spre analiza catre developeri trimite-le absolut tot stacktrace-ul, tot, tot.
Ca de aceea au fost pusen acolo .:D

Edited by Qupidqu, 13 September 2017 - 12:22.


#9
romio79

romio79

    Active Member

  • Grup: Members
  • Posts: 1,459
  • Înscris: 30.03.2005
  • ID membru: 33,589
  • Locație: bucuresti
confunzi logul cu stacktrace-ul

#10
Qupidqu

Qupidqu

    Junior

  • Grup: Members
  • Posts: 298
  • Înscris: 04.08.2017
  • ID membru: 994,071

View Postromio79, on 13 septembrie 2017 - 12:44, said:

confunzi logul cu stacktrace-ul
Nope, in log trebuie  sa se gasesca  si stacktrace-ul
Iar atunci cand logul aplicatiei se unifica cu stacktraceul aceste este scheletul de la care se pleaca
pentru a crea un framework de audit a aplicatiilor java.
Noi avem propriul framework de audit facut in java pentru aplicatiile java client & server.

Edited by Qupidqu, 13 September 2017 - 13:03.
fara flame


#11
_Smiley_

_Smiley_

    Guru Member

  • Grup: Senior Members
  • Posts: 14,025
  • Înscris: 24.02.2006
  • ID membru: 67,317
  • Locație: Bucuresti

View PostQupidqu, on 13 septembrie 2017 - 12:12, said:

Ceea ce experimentezi este normal. ..........acest stacktrace verbose mai are rolul in cazul in care dai de un run-time error poti sa faci debuging ultra-rapid a problemelei.....

ti se pare tie normal, pentru ca esti dezvoltator.
din punctul de vedere al unui utilizator, aplicatia nu trebuie sa arate mesaje de eroare care de fapt nu o afecteaza. varianta cu un parametru din linia de comanda care sa activeze acest mod "verbose" e ok, astfel incat sa poti trimite unui dezvoltator toate detaliile unei erori, dar implicit aplicatia nu trebuie sa sperie inutil utilizatorul.
sa nu mai vorbim de faptul ca o lista mare de "erori" ce trebuie ignorate il va face pe utilizator sa rateze erorile care il afecteaza cu adevarat.

#12
Qupidqu

Qupidqu

    Junior

  • Grup: Members
  • Posts: 298
  • Înscris: 04.08.2017
  • ID membru: 994,071
pai aplicatia a fost facuta de dev pt dev sau de dev pt user normal ?

Edited by MarianG, 13 September 2017 - 14:00.
quote inutil


#13
MarianG

MarianG

    Guru Member

  • Grup: Moderators
  • Posts: 17,066
  • Înscris: 10.08.2005
  • ID membru: 43,530
  • Locație: Iasi
chiar asa facuta de dev pentru dev - la modul profesionist iti permiti sa implementezi un filtru

Edited by MarianG, 13 September 2017 - 14:02.


#14
Qupidqu

Qupidqu

    Junior

  • Grup: Members
  • Posts: 298
  • Înscris: 04.08.2017
  • ID membru: 994,071

View PostMarianG, on 13 septembrie 2017 - 14:02, said:

chiar asa facuta de dev pentru dev - la modul profesionist iti permiti sa implementezi un filtru
daca se doreste, poate nu este nevoie si de cele mai multe ori nu este nevoie.
De filtru nu am nevoie caci sunt dev ,deci daca vreau pot sa-mi fac si eu un filtru si nu
trebuie sa stau cu mana intinsa la celalalt dev "Da si mie un filtru, da si mie ...." :))

Edited by Qupidqu, 13 September 2017 - 14:21.


#15
_Smiley_

_Smiley_

    Guru Member

  • Grup: Senior Members
  • Posts: 14,025
  • Înscris: 24.02.2006
  • ID membru: 67,317
  • Locație: Bucuresti

View PostQupidqu, on 13 septembrie 2017 - 13:51, said:

pai aplicatia a fost facuta de dev pt dev sau de dev pt user normal ?
orice aplicatie e facuta de dev pentru useri. intamplator uneori userii sunt tot devs, dar asta nu schimba mare lucru.

tranteste-i unui dev 40-50 de exceptii la pornirea aplicatiei si te asigur ca atunci cand a 20-a exceptie va fi importanta, nu o va vedea.

#16
Qupidqu

Qupidqu

    Junior

  • Grup: Members
  • Posts: 298
  • Înscris: 04.08.2017
  • ID membru: 994,071

View Post_Smiley_, on 13 septembrie 2017 - 14:26, said:

tranteste-i unui dev 40-50 de exceptii la pornirea aplicatiei si te asigur ca atunci cand a 20-a exceptie va fi importanta, nu o va vedea.
ba o va vedea caci are cauza prefixata inainte cu "Caused by...: iar apoi restul de error-chain este identat cu un tab. In plus  se poate cauta extrem de facil in logul aplicatiei
cat  [log_name] | grep "Caused by"

Daca doresti o afinitiatea si mai mare intre eroarea cea mai relevanta si  continutul logului atunci poti folosi sed pe acel log al aplicaitiei.
https://en.wikipedia.org/wiki/Sed

#17
MarianG

MarianG

    Guru Member

  • Grup: Moderators
  • Posts: 17,066
  • Înscris: 10.08.2005
  • ID membru: 43,530
  • Locație: Iasi

Quote

cat  [log_name] | grep "Caused by"
interesant, eu care am inteles ca principala grija a utilzatorului este sa ii mearga aplicatia
nu sa faca foloseasca 3rd party pentru a intelege de ce nu merge

Edited by MarianG, 13 September 2017 - 14:51.


#18
_Smiley_

_Smiley_

    Guru Member

  • Grup: Senior Members
  • Posts: 14,025
  • Înscris: 24.02.2006
  • ID membru: 67,317
  • Locație: Bucuresti

View PostQupidqu, on 13 septembrie 2017 - 14:44, said:

ba o va vedea caci are cauza prefixata inainte cu "Caused by...: iar apoi restul de error-chain este identat cu un tab. In plus  se poate cauta extrem de facil in logul aplicatiei
cat  [log_name] | grep "Caused by"

Daca doresti o afinitiatea si mai mare intre eroarea cea mai relevanta si  continutul logului atunci poti folosi sed pe acel log al aplicaitiei.
https://en.wikipedia.org/wiki/Sed

tot nu reusesti sa intelegi :)
problema nu e daca poate gasi eroarea. poate activa oricand modul "verbose" si o poate cauta in loguri. problema e ca erorile care nu influenteaza functionarea normala a aplicatiei vor "ascunde" erorile de care trebuie sa te ocupi, intarziind astfel descoperirea lor. in loc sa observi problema la compilare, o gaseste un QA dupa minim 3-4 ore (cat ii sa faca un build + kit de instalare, sa curete o masina virtuala, sa instaleze aplicatia si sa testeze modificarile).

Anunturi


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users