Hypothraxer
2010-06-17, 08:58:02
Morgen
Ich habe hier folgendes Problem:
Ein Program von mir führt u.a. einige binäre Programme via system() aus. Das funktioniert unter Ubuntu 9.04 32-Bit ohne Probleme.
Unter Ubuntu 10.04 64-Bit jedoch werden die Bilder, die via OpenCV-Pointer geladen sind, verändert, sobald das erste system() ausgeführt wird (Konkret: Der Pointer zeigt immer noch auf den gleichen Adressbereich, aber der Inhalt ist nicht mehr zu gebrauchen).
Kann es sein, dass das Binary im Speicherbereich des Hauptprogrammes rumfummelt? Und warum tut es das unter 32-Bit nicht?
Ich habe dann mal testweise unter Ubuntu 9.04 32-bit Valgrind laufen lassen:
==23517==
==23517== HEAP SUMMARY:
==23517== in use at exit: 506 bytes in 18 blocks
==23517== total heap usage: 12,850,972 allocs, 12,850,954 frees, 1,727,022,070 bytes allocated
==23517==
==23517== LEAK SUMMARY:
==23517== definitely lost: 0 bytes in 0 blocks
==23517== indirectly lost: 0 bytes in 0 blocks
==23517== possibly lost: 0 bytes in 0 blocks
==23517== still reachable: 506 bytes in 18 blocks
==23517== suppressed: 0 bytes in 0 blocks
Die 506 bytes stammen aus libxml2 und sind m.m.N. nicht das Problem. Hat da jemand eine Idee, was das Problem sein könnte?
Ich habe hier folgendes Problem:
Ein Program von mir führt u.a. einige binäre Programme via system() aus. Das funktioniert unter Ubuntu 9.04 32-Bit ohne Probleme.
Unter Ubuntu 10.04 64-Bit jedoch werden die Bilder, die via OpenCV-Pointer geladen sind, verändert, sobald das erste system() ausgeführt wird (Konkret: Der Pointer zeigt immer noch auf den gleichen Adressbereich, aber der Inhalt ist nicht mehr zu gebrauchen).
Kann es sein, dass das Binary im Speicherbereich des Hauptprogrammes rumfummelt? Und warum tut es das unter 32-Bit nicht?
Ich habe dann mal testweise unter Ubuntu 9.04 32-bit Valgrind laufen lassen:
==23517==
==23517== HEAP SUMMARY:
==23517== in use at exit: 506 bytes in 18 blocks
==23517== total heap usage: 12,850,972 allocs, 12,850,954 frees, 1,727,022,070 bytes allocated
==23517==
==23517== LEAK SUMMARY:
==23517== definitely lost: 0 bytes in 0 blocks
==23517== indirectly lost: 0 bytes in 0 blocks
==23517== possibly lost: 0 bytes in 0 blocks
==23517== still reachable: 506 bytes in 18 blocks
==23517== suppressed: 0 bytes in 0 blocks
Die 506 bytes stammen aus libxml2 und sind m.m.N. nicht das Problem. Hat da jemand eine Idee, was das Problem sein könnte?