From 5809610005d11f7d8601a5bd7e97f93a1d3c2393 Mon Sep 17 00:00:00 2001 From: Taku Shimosawa Date: Thu, 24 Aug 2017 16:36:27 -0700 Subject: [PATCH] [FAB-5914] Fix error format in chaincode handler This patchset fixes incorrect passing of arguments to a variadic log function in some error handlers. It also fixes typo in a error message. Change-Id: Ia904f3295116d31cbc634834c01ec554fe05bbbe Signed-off-by: Taku Shimosawa --- core/chaincode/handler.go | 14 +++++++------- core/chaincode/shim/handler.go | 8 ++++---- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/core/chaincode/handler.go b/core/chaincode/handler.go index 820ffa174d6..c201706b7b6 100644 --- a/core/chaincode/handler.go +++ b/core/chaincode/handler.go @@ -721,7 +721,7 @@ func (handler *Handler) handleGetStateByRange(msg *pb.ChaincodeMessage) { handler.deleteQueryIterator(txContext, iterID) } payload := []byte(err.Error()) - chaincodeLogger.Errorf(errFmt, errArgs) + chaincodeLogger.Errorf(errFmt, errArgs...) serialSendMsg = &pb.ChaincodeMessage{Type: pb.ChaincodeMessage_ERROR, Payload: payload, Txid: msg.Txid} } @@ -835,7 +835,7 @@ func (handler *Handler) handleQueryStateNext(msg *pb.ChaincodeMessage) { iter.Close() handler.deleteQueryIterator(txContext, queryStateNext.Id) } - chaincodeLogger.Errorf(errFmt, errArgs) + chaincodeLogger.Errorf(errFmt, errArgs...) serialSendMsg = &pb.ChaincodeMessage{Type: pb.ChaincodeMessage_ERROR, Payload: payload, Txid: msg.Txid} } @@ -913,7 +913,7 @@ func (handler *Handler) handleQueryStateClose(msg *pb.ChaincodeMessage) { }() errHandler := func(payload []byte, errFmt string, errArgs ...interface{}) { - chaincodeLogger.Errorf(errFmt, errArgs) + chaincodeLogger.Errorf(errFmt, errArgs...) serialSendMsg = &pb.ChaincodeMessage{Type: pb.ChaincodeMessage_ERROR, Payload: payload, Txid: msg.Txid} } @@ -993,7 +993,7 @@ func (handler *Handler) handleGetQueryResult(msg *pb.ChaincodeMessage) { iter.Close() handler.deleteQueryIterator(txContext, iterID) } - chaincodeLogger.Errorf(errFmt, errArgs) + chaincodeLogger.Errorf(errFmt, errArgs...) serialSendMsg = &pb.ChaincodeMessage{Type: pb.ChaincodeMessage_ERROR, Payload: payload, Txid: msg.Txid} } @@ -1084,7 +1084,7 @@ func (handler *Handler) handleGetHistoryForKey(msg *pb.ChaincodeMessage) { iter.Close() handler.deleteQueryIterator(txContext, iterID) } - chaincodeLogger.Errorf(errFmt, errArgs) + chaincodeLogger.Errorf(errFmt, errArgs...) serialSendMsg = &pb.ChaincodeMessage{Type: pb.ChaincodeMessage_ERROR, Payload: payload, Txid: msg.Txid} } @@ -1166,7 +1166,7 @@ func (handler *Handler) enterBusyState(e *fsm.Event, state string) { } errHandler := func(payload []byte, errFmt string, errArgs ...interface{}) { - chaincodeLogger.Errorf(errFmt, errArgs) + chaincodeLogger.Errorf(errFmt, errArgs...) triggerNextStateMsg = &pb.ChaincodeMessage{Type: pb.ChaincodeMessage_ERROR, Payload: payload, Txid: msg.Txid} } @@ -1259,7 +1259,7 @@ func (handler *Handler) enterBusyState(e *fsm.Event, state string) { //Call LSCC to get the called chaincode artifacts cd, err = GetChaincodeDataFromLSCC(ctxt, msg.Txid, txContext.signedProp, txContext.proposal, calledCcIns.ChainID, calledCcIns.ChaincodeName) if err != nil { - errHandler([]byte(err.Error()), "[%s]Failed to get chaincoed data (%s) for invoked chaincode. Sending %s", shorttxid(msg.Txid), err, pb.ChaincodeMessage_ERROR) + errHandler([]byte(err.Error()), "[%s]Failed to get chaincode data (%s) for invoked chaincode. Sending %s", shorttxid(msg.Txid), err, pb.ChaincodeMessage_ERROR) return } diff --git a/core/chaincode/shim/handler.go b/core/chaincode/shim/handler.go index d9a5cbb5965..7dc9873682e 100644 --- a/core/chaincode/shim/handler.go +++ b/core/chaincode/shim/handler.go @@ -213,13 +213,13 @@ func (handler *Handler) handleInit(msg *pb.ChaincodeMessage) { handler.triggerNextState(nextStateMsg, send) }() - errFunc := func(err error, payload []byte, ce *pb.ChaincodeEvent, errFmt string, args ...string) *pb.ChaincodeMessage { + errFunc := func(err error, payload []byte, ce *pb.ChaincodeEvent, errFmt string, args ...interface{}) *pb.ChaincodeMessage { if err != nil { // Send ERROR message to chaincode support and change state if payload == nil { payload = []byte(err.Error()) } - chaincodeLogger.Errorf(errFmt, args) + chaincodeLogger.Errorf(errFmt, args...) return &pb.ChaincodeMessage{Type: pb.ChaincodeMessage_ERROR, Payload: payload, Txid: msg.Txid, ChaincodeEvent: ce} } return nil @@ -290,10 +290,10 @@ func (handler *Handler) handleTransaction(msg *pb.ChaincodeMessage) { handler.triggerNextState(nextStateMsg, send) }() - errFunc := func(err error, ce *pb.ChaincodeEvent, errStr string, args ...string) *pb.ChaincodeMessage { + errFunc := func(err error, ce *pb.ChaincodeEvent, errStr string, args ...interface{}) *pb.ChaincodeMessage { if err != nil { payload := []byte(err.Error()) - chaincodeLogger.Errorf(errStr, args) + chaincodeLogger.Errorf(errStr, args...) return &pb.ChaincodeMessage{Type: pb.ChaincodeMessage_ERROR, Payload: payload, Txid: msg.Txid, ChaincodeEvent: ce} } return nil