Hi, Ross. Here's a new debug log output:

RTSPClientConnection[060F24E0]::RTSPClientConnection() socket 568
SocketDescriptor[01377DD0]::SocketDescriptor() socket 568
SocketDescriptor[01377DD0]::registerRTPInterface(channel 0): socket 568
SocketDescriptor[01377DD0]::tcpReadHandler1(): socket 568: read error 1: -1
SocketDescriptor[01377DD0]::~SocketDescriptor() 1: socket 568, alt 5007D5A0, reo
 1
RTSPClientConnection[060F24E0]::handleAlternativeRequestByte1() socket 568: 1
RTSPClientConnection[060F24E0]::~RTSPClientConnection() socket 568: 1
RTSPClientConnection[060F24E0]::~RTSPClientConnection() socket -1: 9
SocketDescriptor[01377DD0]::~SocketDescriptor() 9: socket 568, alt 5007D5A0, reo
 1
RTSPClientConnection[060F24E0]::RTSPClientConnection() socket 1144
SocketDescriptor[01377DD0]::SocketDescriptor() socket 1144
SocketDescriptor[01377DD0]::registerRTPInterface(channel 0): socket 1144
SocketDescriptor[01377EE8]::SocketDescriptor() socket 568
SocketDescriptor[01377EE8]::registerRTPInterface(channel 1): socket 568
BasicTaskScheduler::SingleStep(): select() fails: No error
socket numbers used in the select() call:

And that's what will happen if the override function internalError() that it did not cause abort():

RTSPClientConnection[057E1788]::RTSPClientConnection() socket 524
SocketDescriptor[00858CB0]::SocketDescriptor() socket 524
SocketDescriptor[00858CB0]::registerRTPInterface(channel 0): socket 524
SocketDescriptor[00858CB0]::tcpReadHandler1(): socket 524: read error 1: -1
SocketDescriptor[00858CB0]::~SocketDescriptor() 1: socket 524, alt 5131D5A0, reo
 1
RTSPClientConnection[057E1788]::handleAlternativeRequestByte1() socket 524: 1
RTSPClientConnection[057E1788]::~RTSPClientConnection() socket 524: 1
RTSPClientConnection[057E1788]::~RTSPClientConnection() socket -1: 9
SocketDescriptor[00858CB0]::~SocketDescriptor() 9: socket 524, alt 5131D5A0, reo
 1
RTSPClientConnection[057E1788]::RTSPClientConnection() socket 1148
SocketDescriptor[008588A0]::SocketDescriptor() socket 1148
SocketDescriptor[008588A0]::registerRTPInterface(channel 0): socket 1148
SocketDescriptor[00858D28]::SocketDescriptor() socket 524
SocketDescriptor[00858D28]::registerRTPInterface(channel 1): socket 524
BasicTaskScheduler::SingleStep(): select() fails: No error
socket numbers used in the select() call: 288(r) 292(r) 524(re) 872(r) 1148(re)
BasicTaskScheduler::SingleStep(): select() fails: No error
socket numbers used in the select() call: 288(r) 292(r) 524(re) 872(r) 1148(re)
BasicTaskScheduler::SingleStep(): select() fails: No error
socket numbers used in the select() call: 288(r) 292(r) 524(re) 872(r) 1148(re)
SocketDescriptor[00858D28]::tcpReadHandler1(): socket 524: read error 1: -1
SocketDescriptor[00858D28]::~SocketDescriptor() 1: socket 524, alt 00000000, reo
 1
SocketDescriptor[00858D28]::~SocketDescriptor() 9: socket 524, alt 00000000, reo
 1
SocketDescriptor[008588A0]::tcpReadHandler1(): socket 1148: read error 1: -1
SocketDescriptor[008588A0]::~SocketDescriptor() 1: socket 1148, alt 5131D5A0, re
o 1
RTSPClientConnection[057E1788]::handleAlternativeRequestByte1() socket 1148: 1
RTSPClientConnection[057E1788]::~RTSPClientConnection() socket 1148: 1
RTSPClientConnection[057E1788]::~RTSPClientConnection() socket -1: 9
SocketDescriptor[008588A0]::~SocketDescriptor() 9: socket 1148, alt 5131D5A0, re
o 1
RTSPClientConnection[057E1788]::RTSPClientConnection() socket 1148
RTSPClientConnection[057E1788]::~RTSPClientConnection() socket 1148: 1
RTSPClientConnection[057E1788]::~RTSPClientConnection() socket -1: 9
RTSPClientConnection[057E1788]::RTSPClientConnection() socket 524
SocketDescriptor[00858AD0]::SocketDescriptor() socket 524
SocketDescriptor[00858CD8]::SocketDescriptor() socket 1148
SocketDescriptor[00858CD8]::registerRTPInterface(channel 1): socket 1148
SocketDescriptor[00858AD0]::registerRTPInterface(channel 1): socket 524
BasicTaskScheduler::SingleStep(): select() fails: No error
socket numbers used in the select() call: 288(r) 292(r) 524(re) 872(r) 1148(re)
BasicTaskScheduler::SingleStep(): select() fails: No error
socket numbers used in the select() call: 288(r) 292(r) 524(re) 872(r) 1148(re)
BasicTaskScheduler::SingleStep(): select() fails: No error
socket numbers used in the select() call: 288(r) 292(r) 524(re) 872(r) 1148(re)
SocketDescriptor[00858CD8]::tcpReadHandler1(): socket 1148: read error 1: -1
SocketDescriptor[00858CD8]::~SocketDescriptor() 1: socket 1148, alt 00000000, re
o 1
SocketDescriptor[00858CD8]::~SocketDescriptor() 9: socket 1148, alt 00000000, re
o 1
SocketDescriptor[00858AD0]::tcpReadHandler1(): socket 524: read error 1: -1
SocketDescriptor[00858AD0]::~SocketDescriptor() 1: socket 524, alt 5131D5A0, reo
 1
RTSPClientConnection[057E1788]::handleAlternativeRequestByte1() socket 524: 1
RTSPClientConnection[057E1788]::~RTSPClientConnection() socket 524: 1
RTSPClientConnection[057E1788]::~RTSPClientConnection() socket -1: 9
SocketDescriptor[00858AD0]::~SocketDescriptor() 9: socket 524, alt 5131D5A0, reo
 1


27.06.2013 19:35, Ross Finlayson пишет:
Andrey,

Thanks for looking into this.

Your debugging output log seems to show what is going wrong:

closeSocket fClientInputSocket num: 520
create new socket from accept() socket num: 768
createNewClientConnection socket num: 768
assignHandler socket num: 768
assignHandler socket num: 768
clearHandler socket num: 1112
assignHandler socket num: 1112
assignHandler socket num: 520

I.e., The code was attempting to handle socket 520 ("fClientInputSocket") after it had been closed. However, I still don't understand how this can be occurring.

So please replace your "RTSPServer.cpp" and "RTPInterface.cpp" with the attached versions, that add some extra debugging output (but make no other changes). Then please send us the new debugging output, the next time you see the error.


Ross Finlayson
Live Networks, Inc.
http://www.live555.com/






_______________________________________________
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel

_______________________________________________
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel

Reply via email to