Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it L'avatar di edriv
    Registrato dal
    Oct 2004
    Messaggi
    367

    Linux: una ricorsione infinita basta ad impallarlo?

    Basta un programmino in C :
    codice:
    void f()
    {
    f();
    }
    
    void main(){
    f();
    }
    Per bloccare il mio sistema linux 2.4?
    Ho sempre dovuto riavviare il pc "di brutto" perchè non rispondeva più a niente!
    E' normale che accada così?
    Un bug di un programma potrebbe far perdere tutto il lavoro?
    I've got a bike. You can ride it if you like.

  2. #2

    Re: Linux: una ricorsione infinita basta ad impallarlo?

    Originariamente inviato da edriv
    Basta un programmino in C :
    codice:
    void f()
    {
    f();
    }
    
    void main(){
    f();
    }
    Per bloccare il mio sistema linux 2.4?
    Scommetterei anche forte che non e` impallato: e` non-responsivo. In pratica hai appena operato un DoS locale.
    Questo comportamento non e` comunque normale, nel senso che i tempi di reazione e` comprensibile che aumentino, ma dovrebbero restare entro limiti tollerabili.

    Per risolvere questi problemi, se non puoi impostare limiti sulle risorse, la cosa meno dolorosa da fare e` probabilmente un upgrade al 2.6, abilitando anche la preemption.
    "Qualsiasi esperto ha paura di combattere usando la katana vera. Anch'io. Ma non ignoro la mia paura, riesco ad accettarla, e a metterla da parte accanto a me".

  3. #3
    Io non vorrei provare,si impalla di sicuro,ma una soluzione
    anche se brutta esiste..
    ulimit!

  4. #4
    Utente di HTML.it L'avatar di cso
    Registrato dal
    Aug 2004
    Messaggi
    2,050
    La prima regola per fare un compilatore o anche roba più sofisticata come gli IDE "dovrebbe" essere quella di poter fermare un programma in loop infinito tramite la pressione di una sequanza di tasti!

  5. #5
    Originariamente inviato da cso
    La prima regola per fare un compilatore o anche roba più sofisticata come gli IDE "dovrebbe" essere quella di poter fermare un programma in loop infinito tramite la pressione di una sequanza di tasti!
    Ovvero?
    "Qualsiasi esperto ha paura di combattere usando la katana vera. Anch'io. Ma non ignoro la mia paura, riesco ad accettarla, e a metterla da parte accanto a me".

  6. #6
    Utente di HTML.it L'avatar di cso
    Registrato dal
    Aug 2004
    Messaggi
    2,050
    Originariamente inviato da Ikitt
    Ovvero?
    Bhò, dipende dallo strumento che stai usando!
    Linux c'entra poco con questo, l'unica cosa che deve fare è restare in piedi senza crashare (vedi windows ) ma per questo penso non ci siano problemi!

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    75
    Credo sia una delle tante maraviglie del kernel linux.
    Io lo definirei ricorsione infinita con probabile sovrascrituttra di stack.

    Mo provo anch'io.

    E invece a me non dà nessun problema, si ferma tranquillamente con CTRL-C. Quindi è un problema del tuo compilatore.

  8. #8
    Utente di HTML.it L'avatar di cso
    Registrato dal
    Aug 2004
    Messaggi
    2,050
    Di solito le conbinazioni vincenti sono CTRL+C, CTRL+CANC, SHIFT+PAUSE\BREAK, CTRL+PAUSE\BREAK

  9. #9
    Originariamente inviato da cso
    Bhò, dipende dallo strumento che stai usando!
    Linux c'entra poco con questo, l'unica cosa che deve fare è restare in piedi senza crashare (vedi windows ) ma per questo penso non ci siano problemi!
    Che centra il compilatore qui? :master:

  10. #10
    Utente di HTML.it L'avatar di mambro
    Registrato dal
    May 2003
    Messaggi
    98
    Avete provato qualcosa tipo

    codice:
    void main() {
      while (1) {
        fork()
      }
    }
    Quella da me fa crashare inesorabilmente tutto, col 2.6

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.