#198 — Field missing error and email encoding issue

State Resolved
Version: 1.2
Area Process
Issue type Bug
Severity Medium
Submitted by Mick
Submitted on Oct 29, 2008
Responsible Maurits van Rees
Target release: 1.2
Hi,
I installed the latest poi_1.2rc2 version on my Plone 3.1.5 site on Windows 2003.Now, whenever I try to change the state of an issue (e.g open -> resolve) the following error is thrown:

2008-10-29T15:26:59 ERROR Zope.SiteErrorLog http://www.mysite.com/[…]/kssValidateField
Traceback (innermost last):
  Module ZPublisher.Publish, line 119, in publish
  Module ZPublisher.mapply, line 83, in mapply
  Module ZPublisher.Publish, line 47, in missing_name
  Module ZPublisher.HTTPResponse, line 694, in badRequestError
BadRequest: <h2>Site Error</h2>
  <p>An error was encountered while publishing this resource.
  </p>
  <p><strong>Invalid request</strong></p>

  The parameter, <em>fieldname</em>, was omitted from the request.<p>Make sure to specify all required parameters, and try the request again.</p>
  <hr noshade="noshade"/>

  <p>Troubleshooting Suggestions</p>

  <ul>
  <li>The URL may be incorrect.</li>
  <li>The parameters passed to this resource may be incorrect.</li>
  <li>A resource that this resource relies on may be
      encountering an error.</li>
  </ul>
p>For more detailed information about the error, please
  refer to the error log.
  </p>

  <p>If the error persists please contact the site maintainer.
  Thank you for your patience.
  </p>


After the error is thrown, there's no email sent out. I noticed this error happens only for issues that have an attachment. If there's an issue without attachment there's no error in the logs and the email does gets sent out but with an empty subject line and unreadable format i.e.


Content-Type: multipart/alternative; boundary="===============0710170601=="
MIME-Version: 1.0
Subject:=?utf-8?B?W0lzc3VlIFRyYWNrZXJdICMyMyAtIFJlOiBDaGFsbGVuZ2UgUmVzcG9uc2UgQ2FyZCBGZWF0dXJl?=
...
...
Date: Wed, 29 Oct 2008 13:26:23 -0500
--===============0710170601==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64

CkEgbmV3IHJlc3BvbnNlIGhhcyBiZWVuIGdpdmVuIHRvIHRoZSBpc3N1ZSAqKkNoYWxsZW5nZSBS
ZXNwb25zZSBDYXJkIEZlYXR1cmUgZm9yIFdpbmRvd3MgTW9iaWxlKioKaW4gdGhlIHRyYWNrZXIg
aXJtZWQKTm9uZQoKXCogVGhpcyBpcyBhbiBhdXRvbWF0ZWQgZW1haWwsIHBsZWFzZSBkbyBub3Qg
--===============0710170601==

Content-Type: text/html; charset="utf-8"

MIME-Version: 1.0

Content-Transfer-Encoding: base64

CjwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25h
IGJlZW4gZ2l2ZW4gdG8gdGhlIGlzc3VlIDxzdHJvbmc+Q2hhbGxlbmdlIFJlc3BvbnNlIENhcmQg
Pgo8ZGwgY2xhc3M9ImRvY3V0aWxzIj4KPGR0Pklzc3VlPC9kdD4KPGRkPkNoYWxsZW5nZSBSZXNw
aWwsIHBsZWFzZSBkbyBub3QgcmVwbHkgLSBEZXZlbG9wZXJzIERhc2hib2FyZDwvcD4KPC9kaXY+
--===============0710170601==--
Added by Derek Broughton on Nov 07, 2008 03:09 AM
Target release: 1.2None
Responsible manager: maurits(UNASSIGNED)
I'm seeing the same thing with Poi 1.2rc2 on a CentOS 4 system with Plone 3.1.6 (I have Poi 1.2rc3, but haven't had a chance to check it yet).

See: http://groups.google.com/[…]/30bfc9bc19c64aea# and http://paste.plone.org/24825

I've been able to read the emails without trouble by simply editing out the blank line before the
Content-Type: multipart/alternative;
Added by Derek Broughton on Nov 12, 2008 12:10 AM
It's still a problem on 1.2rc3, but I believe I have found a simple solution. Please consider applying the attached patch, which uses MailHost.secureSend() to email the MimeMessage directly, rather than converting it to a string first.

It Works For Me (TM)
Added by Maurits van Rees on Nov 12, 2008 10:52 PM
Hi,

Just a quick note that I am currently busy moving to a new apartment so I have no time to look into this now. Thanks for the patch; I will test it later when I have time to see what impact it has. In my experience it can be very tricky getting emails correct, at least in the face of internationalization.
Added by (anonymous) on Nov 24, 2008 11:50 AM
Ok, after installing the patch on a number of broken server I can confirm that it does in fact fix the problem.

I would be *really* grateful if someone could incorporate this two-line change into the released buildout ...

tia
Added by Maurits van Rees on Dec 02, 2008 09:13 AM
Issue state: unconfirmedresolved
Target release: None1.2
Responsible manager: (UNASSIGNED)maurits
The unicode error is fixed in r76700. Thanks to Derek for the initial version of this fix, pointing at secureSend.

I never got the initially reported missing field error though, except sometimes in the logs so not in the browser. Is that still happening?

I see that things can still go wrong in some cases (like having Japanese characters in the sender name) when replying to an issue. I'll look at that.
Added by Derek Broughton on Jan 21, 2009 03:43 PM
When an email is sent, it works fine now, but apparently the original issue still exists. I got the attached error from a user yesterday.

Clearly he is using unicode characters in his message, and he _was_ trying to attach a file. For now, I'll just suggest he not try to do both at once.
Attached:
NaGISA Database Portal(bug tracker failuer).pdf — application/pdf, 74 Kb
Added by Maurits van Rees on Feb 15, 2009 12:22 PM
I fixed the 'Field Missing error' that was thrown in the logs by kss: I just needed to remove the 'blurrable' class in browser/response.pt.

No responses can be added.