Segmentation fault

  • Hallo,
    ich bastle gerade an einem Link Crawler rum und hab da ein Problem, denn das Ding schmiert irgendwann einfach mit dem Fehler:

    Zitat


    Segmentation fault

    ab und macht schluss^^
    Der Link Crawler beschränkt sich auf eine Domain und ich hab die Stelle theoretisch schon gut eingekreist, hier mein Log:

    und das passende Quellcode-Stück:

    Kann es sein, dass die Domain, die ich crawle, mich einfach irgendwann blockt und daher dieser Fehler kommt?
    Aber wieso wird dann die Domain nicht als "banned" makiert?

    Der frühe Vogel fängt den Wurm,
    aber die zweite Maus bekommt den Käse.

    Einmal editiert, zuletzt von pApAnoAh (31. Januar 2009 um 16:10)

  • SEGFAULTs sind immer eine schwierige Sache, eventuell bekommst du infos in der apache oder syslog.

    Verwende immer eine aktuelle PHP und Apache Versionen! Es werden immer wieder Probleme behobern die zu SEGFAULTs führen können.

    Wwenn wir nicht den kompletten Code haben können wir das auch schlecht beurteilen.

    Die einfachste Version den Fehler zu lokalisieren wäre hier nach jeder Aktion ein echo einzubauen.

    z.B.

    PHP
    function crawl()
    {
    echo 'start: crawl()';
        global $links,$banned_links,$query_counter;
          echo 'global';
        if(count($links) > 0)
        {
        echo 'i > 0';
    ...


    anhand des letzten Outputs kannst du herausfinden wo der Fehler sitzt.