Skip to content

Commit 1adc00f

Browse files
committed
fix log caused exit coredump
1 parent fa1cfbc commit 1adc00f

File tree

12 files changed

+92
-57
lines changed

12 files changed

+92
-57
lines changed
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
[log]
2+
enable=true
3+
; print the log to std::cout or not, default print to the log files
4+
enable_console_output = false
5+
log_path=./log
6+
; info debug trace
7+
level=info
8+
; MB
9+
max_log_file_size=200

cpp/wedpr-transport/sdk-wrapper/java/bindings/src/main/java/com/webank/wedpr/sdk/jni/generated/TransportBuilder.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ public SWIGTYPE_p_std__shared_ptrT_ppc__front__FrontConfigBuilder_t frontConfigB
7171
wedpr_java_transportJNI.TransportBuilder_frontConfigBuilder(swigCPtr, this), false);
7272
}
7373

74-
public static void initLog(String configPath) {
75-
wedpr_java_transportJNI.TransportBuilder_initLog(configPath);
74+
public void initLog(String configPath) {
75+
wedpr_java_transportJNI.TransportBuilder_initLog(swigCPtr, this, configPath);
7676
}
7777
}

cpp/wedpr-transport/sdk-wrapper/java/bindings/src/main/java/com/webank/wedpr/sdk/jni/generated/wedpr_java_transportJNI.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -875,7 +875,8 @@ public static final native long TransportBuilder_buildConfig(
875875
public static final native long TransportBuilder_frontConfigBuilder(
876876
long jarg1, TransportBuilder jarg1_);
877877

878-
public static final native void TransportBuilder_initLog(String jarg1);
878+
public static final native void TransportBuilder_initLog(
879+
long jarg1, TransportBuilder jarg1_, String jarg2);
879880

880881
public static final native long new_Transport(long jarg1, FrontConfig jarg1_);
881882

cpp/wedpr-transport/sdk-wrapper/java/bindings/src/main/java/com/webank/wedpr/sdk/jni/transport/TransportConfig.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,13 @@ public class TransportConfig {
4040
}
4141

4242
private static synchronized void createTransportBuilder() {
43-
// TODO: make log path configuration here
44-
TransportBuilder.initLog("conf/wedpr_sdk_log_config.ini");
43+
if (transportBuilder != null) {
44+
logger.info("transportBuilder has already been created");
45+
return;
46+
}
4547
logger.info("init transportBuilder");
4648
transportBuilder = new TransportBuilder();
49+
transportBuilder.initLog("conf/wedpr_sdk_log_config.ini");
4750
logger.info("init transportBuilder success");
4851
}
4952

cpp/wedpr-transport/sdk-wrapper/java/bindings/src/main/java/com/webank/wedpr/sdk/jni/transport/impl/TransportImpl.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,9 @@ public void start() {
7474
this.transport.start();
7575
} catch (Exception e) {
7676
logger.warn("start the transport failed, error: ", e);
77+
if (this.transport != null) {
78+
this.transport.stop();
79+
}
7780
throw e;
7881
}
7982
}

cpp/wedpr-transport/sdk-wrapper/java/src/wedpr_java_transportJAVA_wrap.cxx

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10161,23 +10161,26 @@ SWIGEXPORT jlong JNICALL Java_com_webank_wedpr_sdk_jni_generated_wedpr_1java_1tr
1016110161
}
1016210162

1016310163

10164-
SWIGEXPORT void JNICALL Java_com_webank_wedpr_sdk_jni_generated_wedpr_1java_1transportJNI_TransportBuilder_1initLog(JNIEnv *jenv, jclass jcls, jstring jarg1) {
10165-
std::string *arg1 = 0 ;
10164+
SWIGEXPORT void JNICALL Java_com_webank_wedpr_sdk_jni_generated_wedpr_1java_1transportJNI_TransportBuilder_1initLog(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jstring jarg2) {
10165+
ppc::sdk::TransportBuilder *arg1 = (ppc::sdk::TransportBuilder *) 0 ;
10166+
std::string *arg2 = 0 ;
1016610167

1016710168
(void)jenv;
1016810169
(void)jcls;
10169-
if(!jarg1) {
10170+
(void)jarg1_;
10171+
arg1 = *(ppc::sdk::TransportBuilder **)&jarg1;
10172+
if(!jarg2) {
1017010173
SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null string");
1017110174
return ;
1017210175
}
10173-
const char *arg1_pstr = (const char *)jenv->GetStringUTFChars(jarg1, 0);
10174-
if (!arg1_pstr) return ;
10175-
std::string arg1_str(arg1_pstr);
10176-
arg1 = &arg1_str;
10177-
jenv->ReleaseStringUTFChars(jarg1, arg1_pstr);
10176+
const char *arg2_pstr = (const char *)jenv->GetStringUTFChars(jarg2, 0);
10177+
if (!arg2_pstr) return ;
10178+
std::string arg2_str(arg2_pstr);
10179+
arg2 = &arg2_str;
10180+
jenv->ReleaseStringUTFChars(jarg2, arg2_pstr);
1017810181
{
1017910182
try {
10180-
ppc::sdk::TransportBuilder::initLog((std::string const &)*arg1);
10183+
(arg1)->initLog((std::string const &)*arg2);
1018110184
}
1018210185
catch (const std::exception& e) {
1018310186
SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, std::string(boost::diagnostic_information(e)).c_str());

cpp/wedpr-transport/sdk-wrapper/python/bindings/wedpr_python_gateway_sdk/transport/generated/wedpr_python_transport.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1820,9 +1820,8 @@ def buildConfig(self, threadPoolSize, nodeID):
18201820
def frontConfigBuilder(self):
18211821
return _wedpr_python_transport.TransportBuilder_frontConfigBuilder(self)
18221822

1823-
@staticmethod
1824-
def initLog(configPath):
1825-
return _wedpr_python_transport.TransportBuilder_initLog(configPath)
1823+
def initLog(self, configPath):
1824+
return _wedpr_python_transport.TransportBuilder_initLog(self, configPath)
18261825

18271826

18281827
# Register TransportBuilder in _wedpr_python_transport:

cpp/wedpr-transport/sdk-wrapper/python/src/wedpr_python_transportPYTHON_wrap.cxx

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -25934,30 +25934,37 @@ SWIGINTERN PyObject *_wrap_TransportBuilder_frontConfigBuilder(PyObject *self, P
2593425934

2593525935
SWIGINTERN PyObject *_wrap_TransportBuilder_initLog(PyObject *self, PyObject *args) {
2593625936
PyObject *resultobj = 0;
25937-
std::string *arg1 = 0 ;
25938-
int res1 = SWIG_OLDOBJ ;
25939-
PyObject *swig_obj[1] ;
25937+
ppc::sdk::TransportBuilder *arg1 = (ppc::sdk::TransportBuilder *) 0 ;
25938+
std::string *arg2 = 0 ;
25939+
void *argp1 = 0 ;
25940+
int res1 = 0 ;
25941+
int res2 = SWIG_OLDOBJ ;
25942+
PyObject *swig_obj[2] ;
2594025943

2594125944
(void)self;
25942-
if (!args) SWIG_fail;
25943-
swig_obj[0] = args;
25945+
if (!SWIG_Python_UnpackTuple(args, "TransportBuilder_initLog", 2, 2, swig_obj)) SWIG_fail;
25946+
res1 = SWIG_ConvertPtr(swig_obj[0], &argp1,SWIGTYPE_p_ppc__sdk__TransportBuilder, 0 | 0 );
25947+
if (!SWIG_IsOK(res1)) {
25948+
SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "TransportBuilder_initLog" "', argument " "1"" of type '" "ppc::sdk::TransportBuilder *""'");
25949+
}
25950+
arg1 = reinterpret_cast< ppc::sdk::TransportBuilder * >(argp1);
2594425951
{
2594525952
std::string *ptr = (std::string *)0;
25946-
res1 = SWIG_AsPtr_std_string(swig_obj[0], &ptr);
25947-
if (!SWIG_IsOK(res1)) {
25948-
SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "TransportBuilder_initLog" "', argument " "1"" of type '" "std::string const &""'");
25953+
res2 = SWIG_AsPtr_std_string(swig_obj[1], &ptr);
25954+
if (!SWIG_IsOK(res2)) {
25955+
SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "TransportBuilder_initLog" "', argument " "2"" of type '" "std::string const &""'");
2594925956
}
2595025957
if (!ptr) {
25951-
SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "TransportBuilder_initLog" "', argument " "1"" of type '" "std::string const &""'");
25958+
SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "TransportBuilder_initLog" "', argument " "2"" of type '" "std::string const &""'");
2595225959
}
25953-
arg1 = ptr;
25960+
arg2 = ptr;
2595425961
}
25955-
ppc::sdk::TransportBuilder::initLog((std::string const &)*arg1);
25962+
(arg1)->initLog((std::string const &)*arg2);
2595625963
resultobj = SWIG_Py_Void();
25957-
if (SWIG_IsNewObj(res1)) delete arg1;
25964+
if (SWIG_IsNewObj(res2)) delete arg2;
2595825965
return resultobj;
2595925966
fail:
25960-
if (SWIG_IsNewObj(res1)) delete arg1;
25967+
if (SWIG_IsNewObj(res2)) delete arg2;
2596125968
return NULL;
2596225969
}
2596325970

@@ -27417,7 +27424,7 @@ static PyMethodDef SwigMethods[] = {
2741727424
{ "TransportBuilder_buildProTransport", _wrap_TransportBuilder_buildProTransport, METH_VARARGS, NULL},
2741827425
{ "TransportBuilder_buildConfig", _wrap_TransportBuilder_buildConfig, METH_VARARGS, NULL},
2741927426
{ "TransportBuilder_frontConfigBuilder", _wrap_TransportBuilder_frontConfigBuilder, METH_O, NULL},
27420-
{ "TransportBuilder_initLog", _wrap_TransportBuilder_initLog, METH_O, NULL},
27427+
{ "TransportBuilder_initLog", _wrap_TransportBuilder_initLog, METH_VARARGS, NULL},
2742127428
{ "TransportBuilder_swigregister", TransportBuilder_swigregister, METH_O, NULL},
2742227429
{ "TransportBuilder_swiginit", TransportBuilder_swiginit, METH_VARARGS, NULL},
2742327430
{ "new_Transport", _wrap_new_Transport, METH_O, NULL},

cpp/wedpr-transport/sdk/src/ProTransportImpl.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,13 @@ ProTransportImpl::ProTransportImpl(ppc::front::FrontConfig::Ptr config, int keep
4848
m_server->registerService(m_frontService);
4949
}
5050

51+
ProTransportImpl::~ProTransportImpl()
52+
{
53+
TRANSPORT_LOG(INFO) << LOG_DESC("stop pro transport");
54+
stop();
55+
TRANSPORT_LOG(INFO) << LOG_DESC("stop pro transport success");
56+
}
57+
5158
void ProTransportImpl::start()
5259
{
5360
m_timer = std::make_shared<bcos::Timer>(m_keepAlivePeriodMs, "frontKeepAlive");

cpp/wedpr-transport/sdk/src/ProTransportImpl.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ class ProTransportImpl : public Transport, public std::enable_shared_from_this<P
3636
public:
3737
using Ptr = std::shared_ptr<ProTransportImpl>;
3838
ProTransportImpl(ppc::front::FrontConfig::Ptr config, int keepAlivePeriodMs = 3000);
39-
39+
~ProTransportImpl();
4040
void start() override;
4141
void stop() override;
4242

0 commit comments

Comments
 (0)