for more details.  I'm not sure whose doing
this 2.0.8 stuff, so I sent it to the list instead of to Isaac directly.

----- Forwarded message from Ingo Ruhnke <[EMAIL PROTECTED]> -----

To: Brian Almeida <[EMAIL PROTECTED]>
Subject: Re: Bug#67440: freeamp: mpg123.freeamp freezes after playing a .mp3
From: Ingo Ruhnke <[EMAIL PROTECTED]>
Date: 20 Jul 2000 00:08:58 +0200
User-Agent: Gnus/5.0805 (Gnus v5.8.5) Emacs/20.7

Brian Almeida <[EMAIL PROTECTED]> writes:

> Can you send me a copy of one of these mp3s?  I can't reproduce this
> bug here... does removing ~/.freeamp fix things?

As this bug happens with all my mp3's, I tested a bit more with gdb:

| (gdb) r -ui mpg123  /home/ingo/sounds/mp3/tlj/grendel_avenue_stark.mp3 
| Starting program: /usr/src/freeamp-2.0.8/./freeamp -ui mpg123  
> [...]
| Directory: /home/ingo/sounds/mp3/tlj/
| Playing MPEG stream from grendel_avenue_stark.mp3 ...
| MPEG 1.0 layer III, 128 KBit/s, 44100 Hz joint-stereo
| [0:27] Decoding of grendel_avenue_stark.mp3 finished.
> [Here does the thing starts to consume all of the CPU]
| Program received signal SIGINT, Interrupt.
| 0x400ffd5b in free () from /lib/
| (gdb) bt
| #0  0x400ffd5b in free () from /lib/
| #1  0x400ffaed in free () from /lib/
| #2  0x40073624 in __builtin_vec_delete () from /usr/lib/
| #3  0x80889b9 in UnixPrefEntry::~UnixPrefEntry (this=0x80b58a0, __in_chrg=3) at 
| #4  0x809b6ef in HashTable<UnixPrefEntry *>::~HashTable (this=0x80b2240, 
|__in_chrg=2) at base/include/hashtable.h:37
| #5  0x80890af in UnixPrefs::~UnixPrefs (this=0x80b21f8, __in_chrg=3) at 
| #6  0x80883e6 in main (argc=4, argv=0xbffff974) at base/include/facontext.h:75

So the freeze happens somewhere inside free(), more exactly while
deleting the member suffix in UnixPrefEntry. The following patch fixed
the problem for me, the programm is now working as expected :-), but
the patch might open a little memory hole:

--- freeamp/base/unix/src/unixprefs.cpp Mon Mar  6 00:04:54 2000
+++       Wed Jul 19 23:46:46 2000
@@ -340,7 +340,7 @@
     if (key)       delete[] key;
     if (separator) delete[] separator;
     if (value)     delete[] value;
-    if (suffix)    delete[] suffix;
+    //    if (suffix)    delete[] suffix;
 static bool file_exists(char *s)

ICQ: 59461927                             | 
Ingo Ruhnke <[EMAIL PROTECTED]>    |

----- End forwarded message -----

Brian Almeida                      |
Linux Systems Engineer @ Winstar   | [EMAIL PROTECTED]
Debian Developer                   | [EMAIL PROTECTED]
DES jihad terrorist Ruby Ridge Craig Livingstone Area 51 Ft. Meade
explosion JFK Mossad Semtex Noriega class struggle Legion of Doom
Honduras security FBI clones NORAD $400 million in gold bullion
ammunition Paula Corbin Jones David John Oates Roswell Watergate Khaddafi
Ft. Bragg 

Reply via email to