phantom absturz
Verfasst: Di, 12. Apr 2011 6:24
ich hab' ein phantomproblem, an dem ich mir die zähne ausbeisse:
ein [xxxxx] nicht behebbarer fehler 332: string/array überlauf
ich hab das in klammern mal xxxxxx genannt, weil der fehler, wenn er auftritt, aus strzero(0) aber auch schon mal aus _menuTo(0) kommen (soll). ich sage "soll", weil dieses programm die daten von ca 100 filialen einer firma verwaltet, sprich die daten werden mehrfach täglich ausgelesen und in der zentrale 1:1 "abgebildet" . das zentralprogramm wechselt bei auswertungen in das jeweilige verzeichnis und führt dann dort die entsprechende auswertung aus.
der witz ist: das programm stürzt seit kurzem bei einigen dieser auswertungen nur in einem einzigen dieser ableger ab, alle anderen funktionieren picobello. die daten, die verarbeitet werden, unterscheiden sich weder besonders in größe und umfang von vergleichbaren ablegern, es ist der selbe computer, der die auswertung macht. ich bin im grunde in jede datei gekrochen und hab'' sie auf ihre kosnsistenz gecheckt, kein datenmüll zu sehen, der das verursachen könnte.
bitte keine antworten, die mich auffordern, die indizes zu löschen ... das programm läuft seit mehr als einem jahrzehnt und ich bin in der zeit wirklich abstrusen phänomenen begegnet. die indizes löschen ist in so einer situation eigentlich immer das erste, was ich tue.
es kann auch nicht an dem liegen, was die dokumentation dazu zu sagen hat: ich habe die entsprechenden funktionen, die mit ziemlich großen arrays (die aber nie die bösen 400x sprengen) operieren und diese arrays auch noch zu allem überfluss mit asort() sortieren nämlich in datenbanken und deren indizes ausgelagert, also eigentlich einen riesenbatzen an speicherfressern einfach mal rausgeworfen. das ist es nicht - und wenn, warum tritt der fehler nicht bei den anderen auf. und - verdammt nochmal - wir reden hier von clipper, probleme mit dem speicher sind nun wirklich das letzte, was mir damit je ärger gemacht hätte.
es ist also kein sourcecode-problem - sondern eines von diesen ganz seltsamen phantomen, denen man halt so begegnet.
ich verwende clipper letzter stand, blinker dito, comix als datenbaktreiber, nanfor, naforX, oclip, __wait_b.
ach ja: könnte damit zusammenhängen. ich habe mich natürlich in meiner debuggerversion mit breakpoints an die stelle herangetastet, an der es zu dem absturz kommt. witzigerweise "springt" der absturz hin und her.
und - manchmal ist ja nichts tun und einfach mal warten ein guter ansatz <ggg> - es passiert auch, daß das programm im debugger auf dem altd() ne zeitlang steht ... und dann schwuppdiwupp abstürzt.
was zum teufel tut clipper, wenn es gerade mal _nichts_ tut und einfach nur im debugger herumlungert??? könnte das ganze auch an etwas ähnlichem liegen, was der aktive clipperprogrammier durch __wait_b.obj gelöst hat???
hat jemand eine idee???
danke für die gelduld und vorab schon mal danke für die hilfe, tröstende wort und all das - ich bin gerade mit meinem latein (clipper) am ende.
ein [xxxxx] nicht behebbarer fehler 332: string/array überlauf
ich hab das in klammern mal xxxxxx genannt, weil der fehler, wenn er auftritt, aus strzero(0) aber auch schon mal aus _menuTo(0) kommen (soll). ich sage "soll", weil dieses programm die daten von ca 100 filialen einer firma verwaltet, sprich die daten werden mehrfach täglich ausgelesen und in der zentrale 1:1 "abgebildet" . das zentralprogramm wechselt bei auswertungen in das jeweilige verzeichnis und führt dann dort die entsprechende auswertung aus.
der witz ist: das programm stürzt seit kurzem bei einigen dieser auswertungen nur in einem einzigen dieser ableger ab, alle anderen funktionieren picobello. die daten, die verarbeitet werden, unterscheiden sich weder besonders in größe und umfang von vergleichbaren ablegern, es ist der selbe computer, der die auswertung macht. ich bin im grunde in jede datei gekrochen und hab'' sie auf ihre kosnsistenz gecheckt, kein datenmüll zu sehen, der das verursachen könnte.
bitte keine antworten, die mich auffordern, die indizes zu löschen ... das programm läuft seit mehr als einem jahrzehnt und ich bin in der zeit wirklich abstrusen phänomenen begegnet. die indizes löschen ist in so einer situation eigentlich immer das erste, was ich tue.
es kann auch nicht an dem liegen, was die dokumentation dazu zu sagen hat: ich habe die entsprechenden funktionen, die mit ziemlich großen arrays (die aber nie die bösen 400x sprengen) operieren und diese arrays auch noch zu allem überfluss mit asort() sortieren nämlich in datenbanken und deren indizes ausgelagert, also eigentlich einen riesenbatzen an speicherfressern einfach mal rausgeworfen. das ist es nicht - und wenn, warum tritt der fehler nicht bei den anderen auf. und - verdammt nochmal - wir reden hier von clipper, probleme mit dem speicher sind nun wirklich das letzte, was mir damit je ärger gemacht hätte.
es ist also kein sourcecode-problem - sondern eines von diesen ganz seltsamen phantomen, denen man halt so begegnet.
ich verwende clipper letzter stand, blinker dito, comix als datenbaktreiber, nanfor, naforX, oclip, __wait_b.
ach ja: könnte damit zusammenhängen. ich habe mich natürlich in meiner debuggerversion mit breakpoints an die stelle herangetastet, an der es zu dem absturz kommt. witzigerweise "springt" der absturz hin und her.
und - manchmal ist ja nichts tun und einfach mal warten ein guter ansatz <ggg> - es passiert auch, daß das programm im debugger auf dem altd() ne zeitlang steht ... und dann schwuppdiwupp abstürzt.
was zum teufel tut clipper, wenn es gerade mal _nichts_ tut und einfach nur im debugger herumlungert??? könnte das ganze auch an etwas ähnlichem liegen, was der aktive clipperprogrammier durch __wait_b.obj gelöst hat???
hat jemand eine idee???
danke für die gelduld und vorab schon mal danke für die hilfe, tröstende wort und all das - ich bin gerade mit meinem latein (clipper) am ende.