GNOME Bugzilla – Bug 550645
xmlpacket string seems be trimed somewhere
Last modified: 2008-10-27 20:19:41 UTC
try to getobjectlist of frmcalc, then log the output from console: ">> xmlpacket:" is added in exception of parseString (xmlpacket) 126 ('frmcalc') Send packet <?xml version="1.0"?><REQUEST><ACTION>126</ACTION><ID>MainThread126</ID><CONTEXT>frmcalc</CONTEXT></REQUEST> DEBUG waiting for readflag <_MainThread(MainThread, started)> DEBUG readflag lock released >> xmlpacket: <?xml version="1.0" encoding="utf-8"?><RESPONSE><ID>MainThread126</ID><STATUS><CODE>0</CODE><MESSAGE>Successfully completed</MESSAGE></STATUS><DATA><LENGTH>1555</LENGTH><VALUE><![CDATA[<?xml version="1.0" encoding="utf-8"?><OBJECTLIST><OBJECT>pnl1</OBJECT><OBJECT>ukn14</OBJECT><OBJECT>pnl2</OBJECT><OBJECT>ukn15</OBJECT><OBJECT>cmdbtnBack</OBJECT><OBJECT>pnl3</OBJECT><OBJECT>ukn16</OBJECT><OBJECT>pnl4</OBJECT><OBJECT>ukn17</OBJECT><OBJECT>pnl5</OBJECT><OBJECT>ukn18</OBJECT><OBJECT>pnl6</OBJECT><OBJECT>pnl20</OBJECT><OBJECT>ukn19</OBJECT><OBJECT>pnl7</OBJECT><OBJECT>pnl21</OBJECT><OBJECT>pnl8</OBJECT><OBJECT>pnl22</OBJECT><OBJECT>btn0</OBJECT><OBJECT>pnl9</OBJECT><OBJECT>pnl23</OBJECT><OBJECT>pnl24</OBJECT><OBJECT>pnl25</OBJECT><OBJECT>pnl10</OBJECT><OBJECT>pnl26</OBJECT><OBJECT>pnl11</OBJECT><OBJECT>frmcalc</OBJECT><OBJECT>pnl27</OBJECT><OBJECT>pnl12</OBJECT><OBJECT>pnl28</OBJECT><OBJECT>pnl13</OBJECT><OBJECT>pnl14</OBJECT><OBJECT>flr0</OBJECT><OBJECT>pnl15</OBJECT><OBJECT>flr1</OBJECT><OBJECT>pnl16</OBJECT><OBJECT>flr2</OBJECT><OBJECT>pnl17</OBJECT><OBJECT>flr3</OBJECT><OBJECT>pnl18</OBJECT><OBJECT>ukn0</OBJECT><OBJECT>pnl19</OBJECT><OBJECT>flr4</OBJECT><OBJECT>ukn1</OBJECT><OBJECT>ukn2</OBJECT><OBJECT>ukn3</OBJECT><OBJECT>lbl0</OBJECT><OBJECT>ukn4</OBJECT><OBJECT>lbl1</OBJECT><OBJECT>ukn5</OBJECT><OBJECT>ukn6</OBJECT><OBJECT>ukn7</OBJECT><OBJECT>lbl3</OBJECT><OBJECT>ukn20</OBJECT><OBJECT>ukn8</OBJECT><OBJECT>ukn21</OBJE Received packet size 1769 Received response Packet <?xml version="1.0" encoding="utf-8"?><RESPONSE><ID>MainThread126</ID><STATUS><CODE>0</CODE><MESSAGE>Successfully completed</MESSAGE></STATUS><DATA><LENGTH>1555</LENGTH><VALUE><![CDATA[<?xml version="1.0" encoding="utf-8"?><OBJECTLIST><OBJECT>pnl1</OBJECT><OBJECT>ukn14</OBJECT><OBJECT>pnl2</OBJECT><OBJECT>ukn15</OBJECT><OBJECT>cmdbtnBack</OBJECT><OBJECT>pnl3</OBJECT><OBJECT>ukn16</OBJECT><OBJECT>pnl4</OBJECT><OBJECT>ukn17</OBJECT><OBJECT>pnl5</OBJECT><OBJECT>ukn18</OBJECT><OBJECT>pnl6</OBJECT><OBJECT>pnl20</OBJECT><OBJECT>ukn19</OBJECT><OBJECT>pnl7</OBJECT><OBJECT>pnl21</OBJECT><OBJECT>pnl8</OBJECT><OBJECT>pnl22</OBJECT><OBJECT>btn0</OBJECT><OBJECT>pnl9</OBJECT><OBJECT>pnl23</OBJECT><OBJECT>pnl24</OBJECT><OBJECT>pnl25</OBJECT><OBJECT>pnl10</OBJECT><OBJECT>pnl26</OBJECT><OBJECT>pnl11</OBJECT><OBJECT>frmcalc</OBJECT><OBJECT>pnl27</OBJECT><OBJECT>pnl12</OBJECT><OBJECT>pnl28</OBJECT><OBJECT>pnl13</OBJECT><OBJECT>pnl14</OBJECT><OBJECT>flr0</OBJECT><OBJECT>pnl15</OBJECT><OBJECT>flr1</OBJECT><OBJECT>pnl16</OBJECT><OBJECT>flr2</OBJECT><OBJECT>pnl17</OBJECT><OBJECT>flr3</OBJECT><OBJECT>pnl18</OBJECT><OBJECT>ukn0</OBJECT><OBJECT>pnl19</OBJECT><OBJECT>flr4</OBJECT><OBJECT>ukn1</OBJECT><OBJECT>ukn2</OBJECT><OBJECT>ukn3</OBJECT><OBJECT>lbl0</OBJECT><OBJECT>ukn4</OBJECT><OBJECT>lbl1</OBJECT><OBJECT>ukn5</OBJECT><OBJECT>ukn6</OBJECT><OBJECT>ukn7</OBJECT><OBJECT>lbl3</OBJECT><OBJECT>ukn20</OBJECT><OBJECT>ukn8</OBJECT><OBJECT>ukn21</OBJECT><OBJECT>lbl4</OBJECT><OBJECT>titlbrCalculator</OBJECT><OBJECT>ukn9</OBJECT><OBJECT>ukn22</OBJECT><OBJECT>lblCalculator</OBJECT><OBJECT>ukn23</OBJECT><OBJECT>ukn24</OBJECT><OBJECT>ukn10</OBJECT><OBJECT>ukn11</OBJECT><OBJECT>ukn12</OBJECT><OBJECT>pnl0</OBJECT><OBJECT>ukn13</OBJECT></OBJECTLIST>]]></VALUE></DATA></RESPONSE>
check the string before return: if peek_flag != 0: _pattern = re.compile ('\<\?xml') _searchObj = re.search (_pattern, _responsePacket) _finalPacket = _responsePacket[_searchObj.start () :] _responsePacket = _finalPacket # In some cases, the package received was not same as got from STRING if _packetSize != len(_responsePacket): if _ldtpDebugMore: print 'Received invalid size of Packet', _responsePacket return None # _recvLck.release () return _responsePacket
I guess this one is fixed in the version available in GIT. Lavi, please reopen the bug if it still exist. Thanks for the bug report.
yes, it works now, peek will be blocked it pacakges size great than 27000.
Lavi, that's an interesting info to know about :)