[Debian] RRD geeft libpng errors

Pagina: 1
Acties:

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Ik heb een Debian (testing, packes up-to-date) machine welke via een cronjob elke 5 minuten een sh bestand start welke weer 3 perl scripts start. Deze scripts vullen de RRD bestanden en maken de grafieken. Dit werkt allemaal perfect, behalve dat ik elke nacht om 4 uur precies een mail krijg van cron:
Van: Cron Daemon [root@host.com]
Aan: root@host.com
Onderwerp: Cron <root@bonnehus> /root/rrd/rrd.sh >/dev/null

libpng error: Read Error
libpng error: Read Error
libpng error: Read Error
libpng error: Read Error
libpng error: Read Error
libpng error: Read Error
Ik heb gezocht op deze fout melding maar kan niks vinden. Heeft iemand enig idee hoe dit kan en hoe ik dit kan voorkomen?

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • Blaasvis
  • Registratie: November 2001
  • Laatst online: 13:48

Blaasvis

Cidora \o/

heb je al in je log files gekeken ?
Er zal vast wel iets over in staan.

Freedom is everything you need ; <moto-moi|afk> ik verkloot het gewoon nooit :P


  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Welke logs bedoel je precies, want ik kan niks vinden (cat /var/log/* | grep libpng)

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • Sendy
  • Registratie: September 2001
  • Niet online
Misschien dat er juist op dat moment een paar input files niet bestaan? Vervelende samenloop van cronjobs?

Je zou kunnen proberen de parameters en input bestanden ten tijde van zo'n foutieve aanroep te listen. Misschien wordt het er iets duidelijker van.

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
En hoe doe ik dat precies?

Het lijkt echt op een libpng error, aangezien de grafieken verder wel goed zijn. Ik heb in de source van libpng de fout melding ook gevonden, maar waarom deze precies bij mij optreed op een vast tijdstip weet ik ook niet. Volgens mij is het ook niet elke nacht het geval.

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • Sendy
  • Registratie: September 2001
  • Niet online
Kijk in het shell scriptje wat er allemaal gebeurd. Voeg wat commando's toe om die af te drukken. En om het wat netter te maken, druk die dingen alleen af als het 4 uur precies is.

Verder, omdat je de source hebt, kijk onder welke condities die fout optreedt; dat geeft vast meer houvast.

  • DeMoN
  • Registratie: Maart 2001
  • Laatst online: 06-01 23:13

DeMoN

Pastafari

Als je /root/rrd/rrd.sh nou zelf eens uitvoert zonder hem naar /dev/null te redirecten?

Gamertag: Cosmicv0id
"Het woord Gods is voor mij niets meer dan een expressie en het product van menselijke zwakheid. De Bijbel is een verzamelwerk van legendes die achtenswaardig zijn maar ook primitief en kinderachtig.'' - Albert Einstein


  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Gaat gewoon goed, geen output dus.

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Heb in de source gekeken, en volgens mij is dit de enige plaats waar de fout gegenereerd kan worden:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
png_default_read_data(png_structp png_ptr, png_bytep data, png_size_t length)
{
   png_size_t check;

   /* fread() returns 0 on error, so it is OK to store this in a png_size_t
    * instead of an int, which is what fread() actually returns.
    */
#if defined(_WIN32_WCE)
   if ( !ReadFile((HANDLE)(png_ptr->io_ptr), data, length, &check, NULL) )
      check = 0;
#else
   check = (png_size_t)fread(data, (png_size_t)1, length,
      (png_FILE_p)png_ptr->io_ptr);
#endif

   if (check != length)
      png_error(png_ptr, "Read Error");
}

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • DeMoN
  • Registratie: Maart 2001
  • Laatst online: 06-01 23:13

DeMoN

Pastafari

Kaassoevlee schreef op donderdag 17 november 2005 @ 10:22:
Heb in de source gekeken, en volgens mij is dit de enige plaats waar de fout gegenereerd kan worden:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
png_default_read_data(png_structp png_ptr, png_bytep data, png_size_t length)
{
   png_size_t check;

   /* fread() returns 0 on error, so it is OK to store this in a png_size_t
    * instead of an int, which is what fread() actually returns.
    */
#if defined(_WIN32_WCE)
   if ( !ReadFile((HANDLE)(png_ptr->io_ptr), data, length, &check, NULL) )
      check = 0;
#else
   check = (png_size_t)fread(data, (png_size_t)1, length,
      (png_FILE_p)png_ptr->io_ptr);
#endif

   if (check != length)
      png_error(png_ptr, "Read Error");
}
Tsja, je kan het script natuurlijk zo aanpassen dat hij deze error niet meer gaat geven aangezien je scripts verder wel gewoon goed draaien, maar dat lijkt me een beetje ranzige oplossing.. ;)
Ben benieuwd of iemand met wat meer inzicht op dit soort scripts kan achterhalen wat er nou precies fout gaat.
Misschien dat we wat meer code nodig hebben dan?

Gamertag: Cosmicv0id
"Het woord Gods is voor mij niets meer dan een expressie en het product van menselijke zwakheid. De Bijbel is een verzamelwerk van legendes die achtenswaardig zijn maar ook primitief en kinderachtig.'' - Albert Einstein


  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Die is gewoon te downloaden. :)

Of alles werkt weet ik niet precies, de scripts die ik aanroep om de 5 minuten via cron die vullen de rrd bestanden en genereren de png bestanden. Het is niet erg als eens de png bestanden niet kunnen worden gegenereerd, de volgende keer worden ze toch weer overschreven. Dus je ziet niet dat het fout gaat, misschien gebeurd dit wel.
Overigens is het niet voor af te zeggen wanneer het precies mis gaat, de ene nacht wel, de andere nacht niet. Het is wel zeker dat het altijd om 4 uur is.

"The shell stopped unexpectedly and Explorer.exe was restarted."

Pagina: 1