Your message dated Wed, 24 Dec 2008 10:21:02 -0500
with message-id <4952535e.7000...@debian.org>
and subject line Re: Bug#509651: Gimp (2.2): Script Causes Crash, Then Writes
to Drive at ~1GB/min
has caused the Debian Bug report #509651,
regarding Gimp (2.2): Script Causes Crash, Then Writes to Drive at ~1GB/min
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)
--
509651: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=509651
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
package: gimp
version: 2.2.13-1etch4
Severity: grave
Error Messages:
1) Reflection Message - Error while executing (script-fu-gimp-reflection 1
3 30 100 FALSE TRUE) ERROR: unbound variable (errobj
gimp-image-get-layer-position)
2) GIMP Message - Not enough visible layers for a merge. There must be at
least two. Reflection Message - Error while executing
(script-fu-gimp-reflection 1 2 30 100 FALSE TRUE) ERROR: Procedural
database execution failed: (gimp_image_merge_visible_layers 1 0)
Procedure to Reveal Bug:
0) Place gimp-reflection.scm in the /usr/share/gimp/2.0/scripts directory
1) Open Gimp
2) Close "GIMP Tip of the Day" window
3) Open Recent Single Layer Image File (jpg or psd)
4) Click Layer > Duplicate Layer
5) Click Filters > Decor > Reflection
6) Leave Defaults and Click "OK" on new window
7) Click "OK" when error message (1) pops up
8) Click Edit > Undo History
9) Watch Hard Drive Space Impersonate Evidence for WMD's
Description:
When the program first froze, I initially minimized it to see if it would
recover on it's own. I didn't realize other systems were being affected
until I tried to save a file in gnumeric and was given an out of space
error message. I proceded to terminate gimp with the 'xkill' command.
After running 'ps -ax', I noticed additional references to gimp, so i used
'kill -9' to terminate those processes with gimp in the name. At least
one would not die. I think it said '[gimp 2.2] <defunct>'. I tried to
logout then login. I tried to reboot. I tried to reboot and force an
fsck (shutdown -F -r now). After running once, fsck reported some
'failure', automatically rebooted and checked the 200GB partition a second
time. The second time it finished without errors and proceeded with the
boot process.
I was able to repeat this bug numerous times on my system. I have not
been able to recover the hard drive space that disappears. I checked the
usual suspects (/var, /tmp, and .profile directories). I'm running
fluxbox, so I don't have a trash icon. I have not modified any partitions
in years.
I spent hours researching a possible cause/solution. The malfunctions I
found that cause mildly similar symptoms are a decompression bomb, or disk
blocks still in use by a deleted file. Trouble-shooting problems like
this is well beyond my skill level. Just in case, here are the links:
http://www.aerasec.de/security/advisories/decompression-bomb-vulnerability.html)
http://forums.whirlpool.net.au/forum-replies-archive.cfm/699252.html
Also of note is my system is now missing hard drive space (over 10GB).
While running 'df', I noticed that 'used' + 'available' does not equal the
total '1-k blocks'. I'm not positive that this discrepancy wasn't there
before gimp crashed the first time, but I first noticed the discrepancy
after the crash. I was not able to repeat a similar discrepancy in later
crashes.
Contents of ~/.gimp-2.2/gimprc:
(swap-path "/tmp")
(tile-cache-size 320M)
(monitor-xresolution 100.000000)
(monitor-yresolution 100.000000)
(help-browser web-browser)
Depends: wget, gimp-data (= 2.2.13-1etch4), libaa1 (>= 1.2), libart-2.0-2
(>= 2.3.16), libatk1.0-0 (>= 1.12.2), libc6 (>= 2.3.6-6), libcairo2 (>=
1.2.4), libexif12, libexpat1 (>= 1.95.8), libfontconfig1 (>= 2.4.0),
libfreetype6 (>= 2.2), libgimp2.0 (>= 2.2.0+rel), libglib2.0-0 (>=
2.12.0), libgtk2.0-0 (>= 2.8.0), libice6 (>= 1:1.0.0), libjpeg62, liblcms1
(>= 1.08-1), libmng1 (>= 1.0.3-1), libpango1.0-0 (>= 1.14.8), libpng12-0
(>= 1.2.13-4), libsm6, libtiff4, libwmf0.2-7 (>= 0.2.8.4), libx11-6,
libxcursor1 (>> 1.1.2), libxext6, libxfixes3 (>= 1:4.0.1), libxi6,
libxinerama1, libxmu6, libxpm4, libxrandr2, libxrender1, libxt6, zlib1g
(>= 1:1.2.1)
System Info:
Kernel Version: 2.6.18-5-686 #1 SMP Wed Oct 3 00:12:50 UTC 2007 i686
GNU/Linux
Shared C Library: /lib/libc.so.6 -> libc-2.3.6.so
Debian Notes:
I attempted to upgrade from Sarge. The upgrade wasn't completely clean
and there were two files with dependency issues. Because of this, I
haven't downloaded very many software updates in months.
Processor Info:
processor : 0
vendor_id : AuthenticAMD
cpu family : 6
model : 10
model name : AMD Athlon(tm) XP 2500+
stepping : 0
cpu MHz : 1830.088
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmov pat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow up ts
bogomips : 3662.85
I attached the malicious 'reflection.scm' file. It can be downloaded at:
http://registry.gimp.org/node/1025
nate carr
;
; Reflection v0.3 2007-12-20
;
; Copyright (C) 2005-2007 Otavio Correa Cordeiro (otavio gmail com)
; Create a reflection effect like Apple iWeb does..
;
; This program is free software; you can redistribute it and/or modify
; it under the terms of the GNU General Public License as published by
; the Free Software Foundation; either version 2 of the License, or
; (at your option) any later version.
;
; This program is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
; GNU General Public License for more details.
;
; You should have received a copy of the GNU General Public License
; along with this program; if not, write to the Free Software
; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
;
; modified by Paul Sherman to work in GIMP 2.4.2 on 11/30/2007
;
; modified by David Cummins and Paul Sherman Dec 2007, tested on GIMP-2.4.3
; * added user settings to control the height of the generated reflection,
; the gradient mask starting point (presented as Fade Rate %), and options
; to keep the generated reflection as a separate layer, or on a single layer
; either transparent or flattened.
; * added code to "play nice" with the current GIMP environment: colors and
; gradient prior selections are preserved, as well as the original layer
; name (handled using careful stack order).
; generated layers are constrained around the original layer.
; * simplified some of the internal logic so repeated calculations are done
; only once, reformatted, organised the code, added comments, etc.
; * flattened on start (to avoid errors)
; * undo ability functional
;
(define (script-fu-gimp-reflection
theImage
theLayer
userHeight
userFade
new_layer
transparentBG
)
(gimp-image-undo-group-start theImage)
(gimp-selection-all theImage)
(gimp-selection-none theImage)
(set! theLayer (car(gimp-image-merge-visible-layers theImage 0)))
;preserve original settings
(define old-bg (car (gimp-context-get-background)))
(define old-fg (car (gimp-context-get-foreground)))
(define old-grad (car (gimp-context-get-gradient)))
;calculate color for start of gradient fade
(define fadeStart (* (- 100 userFade) 2.55))
(define fadeColor (list fadeStart fadeStart fadeStart))
(define originalWidth (car (gimp-image-width theImage)))
(define originalHeight (car (gimp-image-height theImage)))
(define reflectionScale (/ userHeight 100))
(define stackPos (car(gimp-image-get-layer-position theImage theLayer)))
(define newWidth originalWidth)
(define newHeight (* originalHeight (+ reflectionScale 1)))
(define gradX (/ originalWidth 2))
(define gradY1 (* originalHeight reflectionScale))
(define gradY2 (* originalHeight reflectionScale -1))
(gimp-image-resize theImage originalWidth newHeight 0 0)
(define new-layer (car (gimp-layer-copy theLayer 1)))
(gimp-image-add-layer theImage new-layer (+ stackPos 0))
(gimp-drawable-set-name new-layer "Reflection")
(gimp-layer-set-offsets new-layer 0 originalHeight)
(gimp-flip new-layer 1)
(define new-mask (car (gimp-layer-create-mask new-layer 0)))
(gimp-layer-add-mask new-layer new-mask)
(gimp-context-set-foreground fadeColor)
(gimp-edit-blend new-mask FG-TRANSPARENT-MODE NORMAL-MODE
GRADIENT-LINEAR 100 0 REPEAT-NONE
FALSE
FALSE 0 0 TRUE
gradX gradY1 gradX gradY2)
(if (= new_layer FALSE)
(begin
(if (= transparentBG TRUE)
(begin ;# NO separate layer, transparent ##############
(gimp-image-merge-visible-layers theImage 1)
)
(begin ;# NO separate layer, NOT transparent ##########
(gimp-image-flatten theImage)
)
)
; final crop not needed for new_layer FALSE
)
(begin
(if (= transparentBG TRUE)
(begin ;# separate layer, transparent ###############
(gimp-image-set-active-layer theImage new-layer)
)
(begin ;# separate layer, NOT transparent ###########
(define bg-layer (car(gimp-layer-new theImage originalWidth newHeight 0 "Reflection BG" 100 0)))
(gimp-image-add-layer theImage bg-layer (+ stackPos 2))
(gimp-selection-all theImage)
(gimp-bucket-fill bg-layer 1 0 100 255 0 1 1)
(gimp-selection-none theImage)
(gimp-image-set-active-layer theImage new-layer)
)
)
; the Reflection layer still overflows the image here
(gimp-image-crop theImage originalWidth newHeight 0 0)
)
)
;restore original settings
(gimp-context-set-foreground old-fg)
(gimp-context-set-background old-bg)
(gimp-context-set-gradient old-grad)
(gimp-image-undo-group-end theImage)
(gimp-displays-flush)
)
(script-fu-register "script-fu-gimp-reflection"
"<Image>/Filters/Decor/Reflection"
"Reflection -- extends lower section of an image as a reflection of the original image."
"Original author Otavio Cordeiro, later edited by David Cummins and Paul Sherman"
"Otavio Cordeiro (otavio gmail com)"
"Last updated 12/19/2007 - tested on GIMP-2.4.3"
"RGB* GRAY*"
SF-IMAGE "Image" 0
SF-DRAWABLE "Drawable" 0
SF-ADJUSTMENT "Reflection Height (% of original)" '( 30 10 99 1 20 0 0)
SF-ADJUSTMENT "Fade Rate (%)" '(100 0 100 10 20 0 0)
SF-TOGGLE "Keep Reflection as a separate Layer" FALSE
SF-TOGGLE "Transparent Background" TRUE
)
--- End Message ---
--- Begin Message ---
Version: 2.4.0-1
There are multiple things going on here:
- A misbehaving script interacting badly with gimp 2.2
- The gimp process wasn't exited cleanly, so it didn't clean up its temp
files
- Ext3 filesystems have space reserved for root by default
--- End Message ---