[dev] Crushing temp file generation in Turba Objects

Michael J Rubinsky mrubinsk at horde.org
Tue Oct 25 16:48:53 UTC 2011


Quoting Michael M Slusarz <slusarz at horde.org>:

> Quoting Michael J Rubinsky <mrubinsk at horde.org>:
>
>> Quoting Jan Schneider <jan at horde.org>:
>>
>>> Zitat von Michael M Slusarz <slusarz at horde.org>:
>>>
>>>> What does this code do in Turba_Object#getValue() (line 110-17)?
>>>>
>>>>         return empty($this->attributes[$attribute])
>>>>              ? null
>>>>              : array(
>>>>                    'load' => array(
>>>>                        'data' => $this->attributes[$attribute],
>>>>                        'file' =>  
>>>> basename(Horde::getTempFile('horde_form_', false))
>>>>                    )
>>>>                );
>>>>
>>>> Initializing a compose window causes 100's of empty temp files to  
>>>> be created in the system temp directory - this occurs when the  
>>>> contact autocompletion code is initialized.  These files are  
>>>> created once a session.  After a weeks worth of logins, I have  
>>>> 5,000+ of these temp files, that are never cleaned up.  This is  
>>>> not good.
>>>
>>> This problem was explicitly mentioned in the commit message:  
>>> http://git.horde.org/horde-git/-/commit/3a6dae7dab4c44fce7e283bd0c0ed4489808851a
>>
>> Not sure what the solution is for this yet either. Essentially, we  
>> need a mechanism to allow for deleting temporary files at the end  
>> of the *session*, not at shutdown. Either that, or a complete  
>> refactor of the Horde_Form_Image type.
>
> What's the purpose of the files though?  Is it supposed to contain  
> image data?  Because all I get are hundreds of 0-length files.

I don't remember the exact code path (the code took me some time to  
trace/understand and that was a bit ago), but those files are used by  
Horde_Form when adding a photo to the contact. The problem is that the  
request to display the <img> tag is a *different* request from the one  
that saves the image so if the tmp file is removed, by the time the  
img request is made, the file is gone. See Bug: 10050 and Bug: 10035.

What I don't understand is why 0b files are being created when the  
compose window is created (I see this too). Normally, the tmp files  
would only be created when viewing a contact with a photo. I have  
verified this is what happens when using Turba directly - and in these  
cases they are actual valid image files. I also remember why 3 tmp  
files are created for each view - but that sounds familiar, and I  
kinda remember trying to fix that and not being able to because of the  
way the image form type worked.


-- 
mike

The Horde Project (www.horde.org)
mrubinsk at horde.org



More information about the dev mailing list