aMule Forum

Italian => it_Bugs => Topic started by: deathmaker on May 17, 2007, 11:26:47 PM

Title: Crash forse wxGTK2 2.8.3
Post by: deathmaker on May 17, 2007, 11:26:47 PM
Volevo notificare un bug che ormai succede abbastanza di frequente:

Premetto che uso aMule 2.1.3 AdunanzA su macchina Linux 2.6.20.4.

Fin quando aMule era compilato con le wxwidgets 2.6 c'erano svariati problemi: crash improvvisi, memory leak devastanti.

Da poco ho ricompilato le wx con le wxGTK2 2.8.3 con la stessa versione di aMule.
Molti problemi sono spariti: il memory leak, estremamente fastidioso, non si è più ripresentato (fino ad ora), però continuano a esserci alcuni problemi.
Quello di cui ho il backtrace si verifica semplicemente lasciando l'applicazione aperta e funzionante in Upload e Download: chiusura improvvisa del programma.
Il bt è il seguente (sembra un ennesimo bug delle wx  :'():

--------------------------------------

Current version is: aMule 2.1.3 AdunanzA using wxGTK2 v2.8.3
Running on: Linux 2.6.20.4 i686

[2] CamuleApp::OnFatalException() in amule.cpp:1194
[3] wxFatalSignalHandler in /usr/local/lib/libwx_base-2.8.so.0[0xb7a1e646]
[4] ?? in [0xb7f64420]
[5] wxGIFDecoder::GetFrameSize(unsigned int) const in /usr/local/lib/libwx_gtk2_core-2.8.so.0[0xb7c808d5]
[6] wxGIFDecoder::ConvertToImage(unsigned int, wxImage*) const in /usr/local/lib/libwx_gtk2_core-2.8.so.0[0xb7c8064a]
[7] MuleGIFDecoder::ConvertToImage(wxImage*) in MuleGifCtrl.cpp:58
[8] MuleGifCtrl::OnTimer(wxTimerEvent&) in MuleGifCtrl.cpp:159
[9] wxAppConsole::HandleEvent(wxEvtHandler*, void (wxEvtHandler::*)(wxEvent&), wxEvent&) const in /usr/local/lib/libwx_base-2.8.so.0[0xb796d83a]
[10] wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) in /usr/local/lib/libwx_base-2.8.so.0[0xb7a1718c]
[11] wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) in /usr/local/lib/libwx_base-2.8.so.0[0xb7a17478]
[12] wxEvtHandler::ProcessEvent(wxEvent&) in /usr/local/lib/libwx_base-2.8.so.0[0xb7a18184]
[13] wxTimerBase::Notify() in /usr/local/lib/libwx_gtk2_core-2.8.so.0[0xb7cc8bff]
[14] ?? in /usr/local/lib/libwx_gtk2_core-2.8.so.0 [0xb7bae4b8]
[15] ?? in /opt/garnome/lib/libglib-2.0.so.0 [0xb72abf54]
[16] g_main_context_dispatch in /opt/garnome/lib/libglib-2.0.so.0[0xb72a9444]
[17] ?? in /opt/garnome/lib/libglib-2.0.so.0 [0xb72aae76]
[18] g_main_loop_run in /opt/garnome/lib/libglib-2.0.so.0[0xb72ab0f5]
[19] gtk_main in /opt/garnome/lib/libgtk-x11-2.0.so.0[0xb75436eb]
[20] wxEventLoop::Run() in /usr/local/lib/libwx_gtk2_core-2.8.so.0[0xb7ba5339]
[21] wxAppBase::MainLoop() in /usr/local/lib/libwx_gtk2_core-2.8.so.0[0xb7c41706]
[22] wxAppBase::OnRun() in /usr/local/lib/libwx_gtk2_core-2.8.so.0[0xb7c41883]
[23] wxEntry(int&, char**) in /usr/local/lib/libwx_base-2.8.so.0[0xb79ac940]
[24] main in amule-gui.cpp:287
[25] __libc_start_main in /lib/tls/libc.so.6[0xb7712e14]
[26] wxFrameBase::OnCreateStatusBar(int, long, int, wxString const&) in start.S:122

-----------------------------

Probabilmente bug già noto e largamente riportato: ma un bt in più, seppur parziale, non fa di certo male  ;D

Saluti,

DeathMaker
Title: Re: Crash forse wxGTK2 2.8.3
Post by: genox on May 18, 2007, 11:03:46 AM
Scusa ma caschi proprio male quà. Adunzanza non è il benvenuto in questo forum per via di diversi motivi (più che altro etici), per cui ho paura che questo thread venga cestinato dagli admin non appena si accorgeranno del contenuto...
Title: Re: Crash forse wxGTK2 2.8.3
Post by: deathmaker on May 18, 2007, 09:21:19 PM
Non sapevo di questo pregiudizio.
In ogni caso non vedo perchè cestinare il thread quando questo bug coinvolge ANCHE VOI, e poi non capisco le implicazioni etiche di AdunanzA: per chi non ha la possibilità di nattare su ip pubblico, piuttosto che essere solo utenti firewallati su kademlia, almeno lo si ha la possibilità di condividere con gli utenti con cui è possibile...
Title: Re: Crash forse wxGTK2 2.8.3
Post by: 1Carlos on May 19, 2007, 01:27:02 AM
Non sapevo di questo pregiudizio.
In ogni caso non vedo perchè cestinare il thread quando questo bug coinvolge ANCHE VOI, e poi non capisco le implicazioni etiche di AdunanzA: per chi non ha la possibilità di nattare su ip pubblico, piuttosto che essere solo utenti firewallati su kademlia, almeno lo si ha la possibilità di condividere con gli utenti con cui è possibile...

Ciao,
cestinare a parte, le implicazioni etiche le puoi trovare facendo una ricerca nella board, la segnalazione del bug penso sia comunque ben gradita dai dev; i quali del resto non approvando Adunanza non fanno (logicamente) supporto se il bug dipende da questa patch.

PS: questo come discorso generale non specifico per il problema segnalato, che come tu stesso dici (io non ci capisco nulla di bt) sembra essere un problemma delle Wx (e quindi non derivante dalla patch).
Ciao.
Title: Re: Crash forse wxGTK2 2.8.3
Post by: deathmaker on May 19, 2007, 03:16:43 PM
cestinare a parte, le implicazioni etiche le puoi trovare facendo una ricerca nella board.

Seguendo il tuo consiglio ho cercato nella board discussioni a riguardo....non ne ho trovata nessuna di interesse.
Chiedo dunque agli utenti di questa board di indicarmi le implicazioni pseudoetiche di [ae]Mule AdunanzA  ;).

Grazie per la disponibilità.
Title: Re: Crash forse wxGTK2 2.8.3
Post by: deathmaker on May 20, 2007, 03:29:21 PM
Intanto che aspetto delucidazioni sulle implicazioni "etiche" del mulo AdunanzA vorrei postare un piccolo script molto grezzo (ho pensato alla funzionalità e non alla bellezza dello script) che permette di rilanciare aMule qualora sia crashato e qualora stia avvenendo un memory leak (nel mio caso piuttosto frequenti).

Code: [Select]
#!/usr/bin/perl
$pre_mem=free_swap()+20;
while (1) {
  system("amule&");
  while (1) {
    sleep 3;
    $mem=free_swap();
    $pid=`pidof amule`;
    chomp $pid;
    if ($mem>$pre_mem || !$pid) {
      kill('ABRT',$pid) if ($pid);
      @time=gmtime(time());
      for $j(0..2) {
        $time[$j]='0'.$time[$j] if (length($time[$j])==1);
      }
      print "\n********************************\n";
      print "\[$time[2]\:$time[1]\:$time[0]\] aMule Killed, Restarting...";
      print "\n********************************\n";
      sleep 4;
      $pre_mem=free_swap()+5;
      last;
    }
  }
}
sub free_swap {
  $tmp_mem=`free -o -m | gawk 'BEGIN { a=0 } { if (a==2) { print \$0 } else a++ }'`;
  ($mem)=$tmp_mem=~/^Swap\:[^0-9]+[0-9]+[^0-9]+([0-9]+)[^0-9]+/;
  return $mem;
}

P.S. Il valore iniziale di $pre_mem deve essere personalizzato in funzione del vostro normale utilizzo di memoria swap.
P.P.S. Richiede gawk.

Spero possa esservi utile quanto lo è a me.

Saluti
Title: Re: Crash forse wxGTK2 2.8.3
Post by: Truzzone on August 24, 2007, 02:25:11 AM
Per quanto riguarda adunanza:
http://forum.amule.org/index.php?topic=7057.msg39131#msg39131

Ciao by Truzzone  ;)