On Tue, May 19, 1998 at 11:50:18AM +0000, Gary V Vaughan wrote:
Gary> Actually, I didn't =(O|  That patch certainly stops the refreeing of
Gary> unreferenced memory, but it does it in the wrong place...  
Gary> 
Gary> Having taken rasters comments onboard I was able to better figure
Gary> out what was going on, the attached patch fixes resize problems
Gary> correctly with respect to Imlib's cache handling and Eterms
Gary> concept of "ownership" of the background image memory.
Gary> 
Gary> I have also beefed up the debug some more, so that it is easier
Gary> to follow what is happening to each ImlibImage and pixmap;
Gary> the free_image/free_pixmap statics in render_pixmap() were
Gary> braindamaged, and each type of pixmap (scrollbar, background etc.)
Gary> would inherit each others settings so I have removed them to make
Gary> way for a working implementation; also I have added -lXll to
Gary> the link libraries when checking for libgif, so that my box can
Gary> correctly detect that I have libgif installed.
Gary> 
Gary> The patch applies cleanly against Eterm-DR-0.8-pre9. I hope this
Gary> is of use to you =)O|

On Thu, May 28, 1998 at 01:55:32PM +0200, Tuomo Ven{l{inen wrote:
Vendu> Hey there :)

Howdy!

Vendu> I just gave your patch a spin... Unfortunately, nothing changed
Vendu> for me :( Pre9 didn't crash here after I disabled active tags -
Vendu> not with or without pixmaps. Mandrake is having it crash on him
Vendu> even without pixmaps.... Pre9 still crashes (with the patches
Vendu> applied) if I enable active tags, fill the scrollback buffer (by
Vendu> catting c files in this case), and then do a few resizes :( Doh
Vendu> doh doh, this is the most annoying bug in 'er ever :P

Well, I have been using pre9 with this patch for about a week now -- thats
about a dozen Eterms for 10-hours/day -- with no problems =(O|  Literally:

  $ wget http://www.tcserv.com/Eterm/devel/Eterm-DR-0.8-pre9.tar.gz
  --12:41:22--  http://www.tcserv.com:80/Eterm/devel/Eterm-DR-0.8-pre9.tar.gz
           => Eterm-DR-0.8-pre9.tar.gz'
   Connecting to www.tcserv.com:80... connected!
   HTTP request sent, awaiting response... 200 OK
   Length: 256,733 [application/x-gzip]
           
       0K -> .......... .......... .......... .......... .......... [ 19%]
      50K -> .......... .......... .......... .......... .......... [ 39%]
     100K -> .......... .......... .......... .......... .......... [ 59%]
     150K -> .......... .......... .......... .......... .......... [ 79%]
     200K -> .......... .......... .......... .......... .......... [ 99%]
     250K ->                                                        [100%]
        
  12:41:58 (7.44 KB/s) - Eterm-DR-0.8-pre9.tar.gz' saved [256733/256733]

  $ tar zxpf Eterm-DR-0.8-pre9.tar.gz 
  $ (cd Eterm-DR-0.8-pre9; configure && make;)
[snip]
  Configuration:

    Source code location:       .
    Compiler:                   gcc, 
    Architecture:               i586
    Operating system:           Linux
    Compiler flags:             -g -O
    POSIX threads:              
    Graphics libraries:         -lImlib -lXext -lm -lpng -lz -ljpeg -ltiff
    Install path:               /usr/local/bin
                
    See src/feature.h for further configuration information.
[snip]
  gcc -L../libmej -L/usr/local/lib -L/usr/local/lib -o Eterm activeconfig.o
  activetags.o activeeterm.o command.o graphics.o grkelot.o pixmap.o main.o
  menubar.o misc.o netdisp.o screen.o scrollbar.o utmp.o options.o system.o
  threads.o -lutil  -L/usr/X11R6/lib -L/usr/local/X11/lib -L/usr/X11R6/lib
  -lSM -lICE -lX11  -lmej -lImlib -lXext -lm -lpng -lz -ljpeg -ltiff
  /usr/local/lib/libImlib.so: undefined reference to DGifGetExtensionNext'
  /usr/local/lib/libImlib.so: undefined reference to DGifGetRecordType'
  /usr/local/lib/libImlib.so: undefined reference to DGifGetImageDesc'
  /usr/local/lib/libImlib.so: undefined reference to DGifOpenFileName'
  /usr/local/lib/libImlib.so: undefined reference to DGifGetLine'
  /usr/local/lib/libImlib.so: undefined reference to DGifCloseFile'
  /usr/local/lib/libImlib.so: undefined reference to DGifGetExtension'
  /usr/local/lib/libImlib.so: undefined reference to PrintGifError'
[snip]
  $ (cd Eterm-DR-0.8-pre9/src; gcc -L../libmej -o Eterm *.o -lutil -lmej \
  -L/usr/X11R6/lib -lSM -lICE -lX11 -lImlib -lXext -lm -lpng -lz -ljpeg \
  -ltiff -lgif)
$ ldd Eterm-DR-0.8-pre9/src/Eterm 
        /lib/nfslock.so.0 => /lib/nfslock.so.0 (0x4000d000)
        libutil.so.1 => /lib/libutil.so.1 (0x40013000)
        libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x40016000)
        libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x4001f000)
        libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x40035000)
        libImlib.so.1 => /usr/local/lib/libImlib.so.1 (0x400d3000)
[imlib-1.4 from gnome-cvs on 19980525]
        libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x400f7000)
        libm.so.6 => /lib/libm.so.6 (0x40102000)
        libpng.so.2 => /usr/lib/libpng.so.2 (0x4011b000)
        libz.so.1 => /usr/lib/libz.so.1 (0x4013e000)
        libjpeg.so.6a => /usr/lib/libjpeg.so.6a (0x4014d000)
        libtiff.so.3 => /usr/lib/libtiff.so.3 (0x40169000)
        libgif.so => /usr/local/lib/libgif.so (0x4019f000)
        libc.so.6 => /lib/libc.so.6 (0x401a8000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
  $ ./Eterm-DR-0.8-pre9/src/Eterm -P ~/pix/san/mov10.jpg@100x100
[change font to force a resize -> SIGSEGV]
[drag wm resize handles -> SIGSEGV as soon as I drop the handle]
[load another bg from the menu -> SIGSEGV]
  $ rm -rf Eterm-DR-0.8-pre9
  $ gzip -d -c  download/patch-gvv2.gz | patch -p0  
  patching file Eterm-DR-0.8-pre9/autoconf/configure.in'
  patching file Eterm-DR-0.8-pre9/configure'
  patching file Eterm-DR-0.8-pre9/src/Makefile.in'
  patching file Eterm-DR-0.8-pre9/src/debug.h'
  patching file Eterm-DR-0.8-pre9/src/pixmap.c'
  $ (cd Eterm-DR-0.8-pre9; configure && make;)
[snip]
  Configuration:

    Source code location:       .
    Compiler:                   gcc, 
    Architecture:               i586
    Operating system:           Linux
    Compiler flags:             -g -O
    POSIX threads:              
    Graphics libraries:         -lImlib -lXext -lm -lpng -lz -ljpeg -ltiff -lgif
    Install path:               /usr/local/bin
  
    See src/feature.h for further configuration information.
[snip]
  $ ./Eterm-DR-0.8-pre9/src/Eterm -P ~/pix/san/mov10.jpg@100x100

Now I can change fonts, drag the wm resize handles, an load another bg
without crashing... I have definitely fixed *a* bug.  Perhaps there is
another?

If I enable activetags, a whole other passel of bugs crash Eterm within a few
minutes of normal use, and I haven't chased any of these yet.

Vendu> I'll see if I can do anything to fix this bug. Any and all help
Vendu> is and will be greatly appreciated :)

Anyone else on the list had success/failure with this patch?  If you can
send me (via personal email) your eterm MAIN config file, the background
you are using (no 700K monsters please), a list of libraries you are linked
against (particularly Imlib, since raster won't increment the soname when
the binary changes *flamebait* >:-), and an exact step by step of what you
do to build and then crash Eterm, I will endeavour to figure out what is
happening (at least, or generate a patch at best).

Cheers,
        Gary V. Vaughan
-- 
  ___              _   ___   __              _             
 / __|__ _ _ ___ _| | / / | / /_ _ _  _ __ _| |_  __ _ ___ 
| (_ / _` | '_|// / |/ /| |/ / _` | || / _` | ' \/ _` | _ \
 \___\__,_|_|\_, /|___(_)___/\__,_|\_,_\__, |_||_\__,_|//_/
PGP Key from/___/                      /___/               
http://www.cl.cam.ac.uk/PGP/pks-commands.html#extract      
http://pgp.ai.mit.edu/~bal/pks-commands.html#extract       

PGP signature

Reply via email to