0

the bug in FileTransferService.cc std::streamsize bufferLength on win 7 32bit : Win 7 sample FileTransferService sending file to FileTransferClient on win7 or android would make client crash

asked 2014-11-11 19:40:31 -0700

europelee gravatar image

updated 2014-11-13 01:32:01 -0700

Hi all: we build alljoyn 14.06a source. there exsits problem on using FileTranfer sample: a FileTransferService on win 7 32bit, we name it "A" a FileTransferClient on win 7 32bit or android, we name it "B"

when A send a file to B, B always crash, and A print some log: (but if we let A: a FileTransferService on android, B: a FileTransferClient on win 7 32bit A send a file to B, and B is ok, file can be recved succ ) Sent signal with Array#: 1 and returned status: ER_BUS_BAD_VALUE_TYPE. 7873.013 * ERROR ALLJOYN lepDisp ...ore\src\Message_Gen.cc:990 | MarshalMessage: SIGNAL[17] org.alljoyn.bus.samples.fileTransfer.FileTransfer: ER _BUS_BAD_VALUE_TYPE Sent signal with Array#: 2 and returned status: ER_BUS_BAD_VALUE_TYPE. 7873.013 ERROR ALLJOYN lepDisp ...ore\src\Message_Gen.cc:990 | MarshalMessage: SIGNAL[18] org.alljoyn.bus.samples.fileTransfer.FileTransfer: ER _BUS_BAD_VALUE_TYPE Sent signal with Array#: 3 and returned status: ER_BUS_BAD_VALUE_TYPE. 7873.013 ERROR ALLJOYN lepDisp ...ore\src\Message_Gen.cc:990 | MarshalMessage: SIGNAL[19] org.alljoyn.bus.samples.fileTransfer.FileTransfer: ER _BUS_BAD_VALUE_TYPE Sent signal with Array#: 4 and returned status: ER_BUS_BAD_VALUE_TYPE. 7873.013 ERROR ALLJOYN lepDisp ...ore\src\Message_Gen.cc:990 | MarshalMessage: SIGNAL[20] org.alljoyn.bus.samples.fileTransfer.FileTransfer: ER _BUS_BAD_VALUE_TYPE Sent signal with Array#: 5 and returned status: ER_BUS_BAD_VALUE_TYPE. 7873.013 * ERROR ALLJOYN lepDisp ...ore\src\Message_Gen.cc:990 | MarshalMessage: SIGNAL[21] org.alljoyn.bus.samples.fileTransfer.FileTransfer: ER _BUS_BAD_VALUE_TYPE Sent signal with Array#: 6 and returned status: ER_BUS_BAD_VALUE_TYPE. Sent end of file signal and returned status: ER_OK.

MarshalMessage's bug: QStatus _Message::MarshalMessage(const qcc::String& expectedSignature, const qcc::String& destination, AllJoynMessageType msgType, const MsgArg* args, uint8_t numArgs, uint8_t flags, uint32_t sessionId)

edit retag flag offensive close merge delete

Comments

Please file this as a JIRA with the AllSeen Alliance: jira.allseenalliance.org.

bspencer ( 2014-11-12 12:57:54 -0700 )edit

1 answer

Sort by ยป oldest newest most voted
0

answered 2014-11-13 01:27:41 -0700

europelee gravatar image

i find the problem: the bug in FileTransferService.cc std::streamsize bufferLength: bufferLength should not be std::streamsize type, we can set it int type, because when args[2].Set("ay", bufferLength, buf); it will result in Set function wrong! below QStatus MsgArg::BuildArray(MsgArg* arry, const qcc::String& elemSig, va_list* argpIn)

void* elems = va_arg(argp, void*); --- elemes would be NULL if bufferLength :std::streamsize type
edit flag offensive delete publish link more
Login/Signup to Answer

Question Tools

Follow
1 follower

Stats

Asked: 2014-11-11 19:40:31 -0700

Seen: 134 times

Last updated: Nov 13 '14