"user32: Add support for iPaddedBorderWidth in NONCLIENTMETRICS structure." and the mysterious disappearing buildbot email

Dan Kegel dank at kegel.com
Sat Oct 8 08:32:04 CDT 2011


I noticed a 64 bit build failure for this patch,
http://buildbot.kegel.com/builders/runtests-default-x86_64/builds/55
( also fully reported by the windows testbot, though you
have to click through to the full log to see it,
http://www.winehq.org/pipermail/wine-devel/2011-October/092734.html )
and saw Dmitry submitted a fixed version three hours later,
http://buildbot.kegel.com/builders/runtests-default-x86_64/builds/60

Oddly, though, I didn't see any email from buildbot for
the failure, so I checked the buildmaster's log,
/home/bob/winemaster.dir/sandbox/master/twistd.log
Sure enough:

2011-10-08 01:39:05-0700 [-] Exception caught notifying
<buildbot.status.mail.MailNotifier instance at 0x91dd02c> of
buildFinished event
2011-10-08 01:39:05-0700 [-] Unhandled Error
Traceback (most recent call last):
...
File "/home/bob/winemaster.dir/sandbox/buildbot-git/master/buildbot/status/builder.py",
line 535, in _buildFinished
w.buildFinished(name, s, results)
File "/home/bob/winemaster.dir/sandbox/buildbot-git/master/buildbot/status/mail.py",
line 412, in buildFinished
return self.buildMessage(name, [build], results)
File "/home/bob/winemaster.dir/sandbox/buildbot-git/master/buildbot/status/mail.py",
line 618, in buildMessage
results, builds, patches, logs)
File "/home/bob/winemaster.dir/sandbox/buildbot-git/master/buildbot/status/mail.py",
line 520, in createEmail
text = msgdict['body'].encode(ENCODING)
exceptions.UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in
position 557: ordinal not in range(128)

I've seen crashes before when sending email.  Previously,
it was when attaching the patch, so I applying a patch
that disables that.  But this is different, it's happening
before attachments happen, it's happening in the body.
Suspecting it was in the summary of the error that
our message formatter inserts, I looked for the byte it
couldn't decode:

wget http://buildbot.kegel.com:8010/builders/runtests-default-x86_64/builds/55/steps/shell_2/logs/stdio/text
hexdump -C text > hex
grep -C3 'e2 ' hex

And voila:

0014f9c0  2d 75 6e 75 73 65 64 2d  62 75 74 2d 73 65 74 2d  |-unused-but-set-|
0014f9d0  76 61 72 69 61 62 6c 65  22 0a 74 6d 61 72 73 68  |variable".tmarsh|
0014f9e0  61 6c 2e 63 3a 20 49 6e  20 66 75 6e 63 74 69 6f  |al.c: In functio|
0014f9f0  6e 20 e2 80 98 73 65 72  69 61 6c 69 7a 65 5f 70  |n ...serialize_p|
0014fa00  61 72 61 6d e2 80 99 3a  0a 74 6d 61 72 73 68 61  |aram...:.tmarsha|
0014fa10  6c 2e 63 3a 37 31 37 3a  32 37 39 3a 20 77 61 72  |l.c:717:279: war|
0014fa20  6e 69 6e 67 3a 20 63 61  73 74 20 74 6f 20 70 6f  |ning: cast to po|
0014fa30  69 6e 74 65 72 20 66 72  6f 6d 20 69 6e 74 65 67  |inter from integ|

gcc itself is using non-ascii characters in its error messages!  The line
generated.c: In function ‘test_pack_LPNONCLIENTMETRICSA’:
uses a non-ascii opening single quote.

Easy fix: when running gcc, use LANG=C.

To test the fix, I updated the 64 bit slave to do that, then pressed
rerun on the
web interface.  Same problem.  I then cleared ccache's cache
and pressed rerun again.  Fixed!  There's now a handy error message
in my inbox and at
http://www.winehq.org/pipermail/wine-tests-results/2011-October/004862.html

(Hopefully nobody will get confused about the rather late error message
and think it applies to the later, fixed, patch.)



More information about the wine-tests-results mailing list