On Wed, May 26, 2010 at 11:54 PM, James Crow <crow.jamesm at gmail.com> wrote:
> I am trying to track this down and think it is coming from this bit of
> code in programs/mythbackend/mainserver.cpp
>> Can someone more familiar with c++ than I am tell me what I can add to
> get better debugging info? I have already downloaded the deb-src and
> rebuilt it so I can make small changes and test them rather easily.
> The VERBOSE() call I added on line 1354 is the last thing logged
> before the error from writeStringList();
>> 1334 void MainServer::SendResponse(MythSocket *socket, QStringList &commands)
> 1335 {
> 1336 // Note: this method assumes that the playback or filetransfer
> 1337 // handler has already been uprefed and the socket as well.
> 1338
> 1339 // These checks are really just to check if the socket has
> 1340 // been remotely disconnected while we were working on the
> 1341 // response.
> 1342
> 1343 bool do_write = false;
> 1344 if (socket)
> 1345 {
> 1346 sockListLock.lockForRead();
> 1347 do_write = (GetPlaybackBySock(socket) ||
> 1348 GetFileTransferBySock(socket));
> 1349 sockListLock.unlock();
> 1350 }
> 1351
> 1352 if (do_write)
> 1353 {
> 1354 VERBOSE(VB_IMPORTANT, "writeStringList: mainserver.cpp
> line 1354");
> 1355 socket->writeStringList(commands);
> 1356 }
> 1357 else
> 1358 {
> 1359 VERBOSE(VB_IMPORTANT, "SendResponse: Unable to write
> to client socket,"
> 1360 " as it's no longer there");
> 1361 }
> 1362 }
>> Thanks,
> James
I've seen the error a few times before - every time it's turned out to
be mismatched versions of libmyth on one of the machines.
- Chris