##// END OF EJS Templates
chg: handle EOF reading data block...
chg: handle EOF reading data block We recently discovered a case in production that chg uses 100% CPU and is trying to read data forever: recvfrom(4, "", 1814012019, 0, NULL, NULL) = 0 Using gdb, apparently readchannel() got wrong data. It was reading in an infinite loop because rsize == 0 does not exit the loop, while the server process had ended. (gdb) bt #0 ... in recv () at /lib64/libc.so.6 #1 ... in readchannel (...) at /usr/include/bits/socket2.h:45 #2 ... in readchannel (hgc=...) at hgclient.c:129 #3 ... in handleresponse (hgc=...) at hgclient.c:255 #4 ... in hgc_runcommand (hgc=..., args=<optimized>, argsize=<optimized>) #5 ... in main (argc=...486922636, argv=..., envp=...) at chg.c:661 (gdb) frame 2 (gdb) p *hgc $1 = {sockfd = 4, pid = 381152, ctx = {ch = 108 'l', data = 0x7fb05164f010 "st):\nTraceback (most recent call last):\n" "Traceback (most recent call last):\ne", maxdatasize = 1814065152," " datasize = 1814064225}, capflags = 16131} This patch addresses the infinite loop issue by detecting continuously empty responses and abort in that case. Note that datasize can be translated to ['l', ' ', 'l', 'a']. Concatenate datasize and data, it forms part of "Traceback (most recent call last):". This may indicate a server-side channeledoutput issue. If it is a race condition, we may want to use flock to protect the channels.

File last commit:

r27684:e9857fbf default
r29602:4fc4b8cc default
Show More
guids.wxi
52 lines | 2.5 KiB | text/plain | TextLexer
Adrian Buehlmann
wix: refactor and new guids.wxi
r10828 <Include>
<!-- These are component GUIDs used for Mercurial installers.
YOU MUST CHANGE ALL GUIDs below when copying this file
and replace 'Mercurial' in this notice with the name of
your project. Component GUIDs have global namespace! -->
<!-- contrib.wxs -->
Steve Borho
wix: contrib/sample.hgrc is no more
r22445 <?define contrib.guid = {4E11FFC2-E2F7-482A-8460-9394B5489F02} ?>
Steve Borho
wix: add vim syntax file for Mercurial unit tests
r12792 <?define contrib.vim.guid = {BB04903A-652D-4C4F-9590-2BD07A2304F2} ?>
Adrian Buehlmann
wix: refactor and new guids.wxi
r10828
Steve Borho
wix: switch Mercurial Windows installer to use py2exe --bundle 3...
r13041 <!-- dist.wxs -->
Steve Borho
wix: move library.zip and all *.pyd into a lib/ folder...
r25409 <?define dist.guid = {CE405FE6-CD1E-4873-9C9A-7683AE5A3D90} ?>
<?define lib.guid = {91D53B14-E924-432A-ACA2-65F9B3F7C56A} ?>
Steve Borho
wix: switch Mercurial Windows installer to use py2exe --bundle 3...
r13041
Adrian Buehlmann
wix: refactor and new guids.wxi
r10828 <!-- doc.wxs -->
<?define doc.hg.1.html.guid = {AAAA3FDA-EDC5-4220-B59D-D342722358A2} ?>
<?define doc.hgignore.5.html.guid = {AA9118C4-F3A0-4429-A5F4-5A1906B2D67F} ?>
<?define doc.hgrc.5.html = {E0CEA1EB-FA01-408c-844B-EE5965165BAE} ?>
<?define doc.style.css = {172F8262-98E0-4711-BD39-4DAE0D77EF05} ?>
<!-- help.wxs -->
Matt Harbison
wix: add help for current internal topics...
r27684 <?define help.root.guid = {9FA957DB-6DFE-44f2-AD03-293B2791CF17} ?>
<?define help.internals.guid = {2DD7669D-0DB8-4C39-9806-78E6475E7ACC} ?>
Mads Kiilerich
codingstyle: remove trailing spaces in various text files...
r19023
Adrian Buehlmann
wix: refactor and new guids.wxi
r10828 <!-- i18n.wxs -->
Steve Borho
wix: add phases help text and two more translations (issue 3288)
r16220 <?define i18nFolder.guid = {1BF8026D-CF7C-4174-AEE6-D6B7BF119248} ?>
Adrian Buehlmann
wix: refactor and new guids.wxi
r10828
<!-- templates.wxs -->
Steve Borho
wix: pull in new templates
r20315 <?define templates.root.guid = {437FD55C-7756-4EA0-87E5-FDBE75DC8595} ?>
<?define templates.atom.guid = {D30E14A5-8AF0-4268-8B00-00BEE9E09E39} ?>
Adrian Buehlmann
wix: refactor and new guids.wxi
r10828 <?define templates.coal.guid = {B63CCAAB-4EAF-43b4-901E-4BD13F5B78FC} ?>
Steve Borho
wix: pick up new template files
r17420 <?define templates.gitweb.guid = {827334AF-1EFD-421B-962C-5660A068F612} ?>
Steve Borho
wix: add new json templates folder to MSI installers
r24989 <?define templates.json.guid = {F535BE7A-EC34-46E0-B9BE-013F3DBAFB19} ?>
Steve Borho
wix: pick up new template files
r17420 <?define templates.monoblue.guid = {8060A1E4-BD4C-453E-92CB-9536DC44A9E3} ?>
<?define templates.paper.guid = {61AB1DE9-645F-46ED-8AF8-0CF02267FFBB} ?>
Steve Borho
wix: pull in new templates
r20315 <?define templates.raw.guid = {834DF8D7-9784-43A6-851D-A96CE1B3575B} ?>
<?define templates.rss.guid = {9338FA09-E128-4B1C-B723-1142DBD09E14} ?>
Adrian Buehlmann
wix: refactor and new guids.wxi
r10828 <?define templates.spartan.guid = {80222625-FA8F-44b1-86CE-1781EF375D09} ?>
Steve Borho
wix: pull in new templates
r20315 <?define templates.static.guid = {6B3D7C24-98DA-4B67-9F18-35F77357B0B4} ?>
Adrian Buehlmann
wix: refactor and new guids.wxi
r10828
Adrian Buehlmann
wix updates...
r10930 <!-- mercurial.wxs -->
<?define ProductUpgradeCode = {A1CC6134-E945-4399-BE36-EB0017FDF7CF} ?>
<?define ComponentMainExecutableGUID = {D102B8FA-059B-4ACC-9FA3-8C78C3B58EEF} ?>
<?define ReadMe.guid = {56A8E372-991D-4DCA-B91D-93D775974CF5} ?>
<?define COPYING.guid = {B7801DBA-1C49-4BF4-91AD-33C65F5C7895} ?>
<?define mercurial.rc.guid = {1D5FAEEE-7E6E-43B1-9F7F-802714316B15} ?>
<?define mergetools.rc.guid = {E8A1DC29-FF40-4B5F-BD12-80B9F7BF0CCD} ?>
<?define ProgramMenuDir.guid = {D5A63320-1238-489B-B68B-CF053E9577CA} ?>
Adrian Buehlmann
wix: refactor and new guids.wxi
r10828 </Include>