Hi, I'm getting a very strange error during the development of my python based product. The error occurs only in one specific case, and the setup is quite complicated. The error happens inside Zope code, so I'm looking for hints how to proceed with debuging. The issue is that during a call to _read_data () in OFS/Image.py I get the following error: KeyError: validate Traceback: Module ZPublisher.Publish, line 98, in publish Module ZPublisher.mapply, line 88, in mapply Module ZPublisher.Publish, line 39, in call_object Module OFS.DTMLMethod, line 135, in __call__ However, the actual _read_data () happens inside the python product, so the original traceback is somehow lost. Here is the setup: I have a python product which defines a class that inherits ObjectManager (called Content). I have another classes DRFile/DRImage which inherit Zope's File/Image. Inside manage_addContent (), manage_addDRFIle () is called to create automatically new DRFile inside content: manage_addContent (): co = Content (id) self._setObject (id, co) co = self._getOb (id) co.add_part_web (default_part_id, default_part) add_part_web (pid, pdata): nid, title = get_default_id_title_for_file (pid, '', pdata) manage_addDRFile (self, id=nid, title=title, file=pdata) manage_addDRFile (): o = DRFile (id, title, '') self._setObject (id, o) if file: o = self._getOb (id) file_upload (o, file) Now file_upload (o, file) is the problem. It used to contain just: obj.manage_upload (file) But this line was generating the error. If I put raise 'ABC' just before, I get the 'ABC' exception, but if I put it just after I get this KeyError. I've managed to avoid this exception with: file_str = file.read () data, size = obj._read_data (file_str) content_type = obj._get_content_type (file, data, obj.__name__, 'application/octet-stream') obj.update_data (data, content_type, size) This is exactly the code from mange_upload () from Image.py, except string is passed (file.read ()) to _read_data () instead of actual FileUpload object. This error happens only in one specific case. I can upload the file manually through Zope management interface. I can also upload many other files without any problem. I could imagine something is wrong with FileUpload object, but I don't know how to proceed with the debugging because I don't know how it is possible that _read_data () produces the traceback which doesn't have anything in common with the way it is called ? Thanks in advance, Vladimir