goctp
goctp copied to clipboard
trade api main中 执行到 Join 有致命错误
CTP: 2017/08/22 20:35:37.332966 GoCThostFtdcTraderSpi.OnRspQryInstrument: fu1808 SHFE ȼ1808 fu1808 fu 49 2018 8 30 1 500 1 50 1 20170703 20170801 20180731 20180801 20180807 4 false CTP: 2017/08/22 20:35:37.332987 GoCThostFtdcTraderSpi.OnRspQryInstrument: a1709 DCE 9 a1709 a 49 2017 9 1000 1 1000 1 10 1 20160205 20160315 20170914 20170915 20170919 4 false CTP: 2017/08/22 20:35:37.333027 GoCThostFtdcTraderSpi.OnRspQryInstrument: scefp INE scefp scefp scefp 53 2037 12 30 1 500 1 1000 0.1 20140117 20140120 20371231 20380102 20380103 4 true fatal error: unexpected signal during runtime execution [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x822990]
runtime stack: runtime.throw(0x90a923, 0x2a) /usr/local/go/src/runtime/panic.go:596 +0x95 runtime.sigpanic() /usr/local/go/src/runtime/signal_unix.go:274 +0x2db
goroutine 17 [syscall, locked to thread]:
runtime.cgocall(0x809f80, 0xc420051a30, 0x90c948)
/usr/local/go/src/runtime/cgocall.go:131 +0xe2 fp=0xc4200519f0 sp=0xc4200519b0
github.com/qerio/goctp._Cfunc__wrap_CThostFtdcRspInfoField_ErrorID_get_goctp_715aa2fe86d79dcf(0x0, 0x0)
github.com/qerio/goctp/_obj/_cgo_gotypes.go:83020 +0x4e fp=0xc420051a30 sp=0xc4200519f0
github.com/qerio/goctp.SwigcptrCThostFtdcRspInfoField.GetErrorID(0x0, 0x0)
github.com/qerio/goctp/_obj/goctp.go:15748 +0x2b fp=0xc420051a50 sp=0xc420051a30
github.com/qerio/goctp.(*SwigcptrCThostFtdcRspInfoField).GetErrorID(0xc4200cbd40, 0xe6fec0)
goroutine 1 [syscall, locked to thread]:
github.com/qerio/goctp._Cfunc__wrap_CThostFtdcTraderApi_Join_goctp_715aa2fe86d79dcf(0x28cbcd0, 0x0)
github.com/qerio/goctp/_obj/_cgo_gotypes.go:94180 +0x4e
github.com/qerio/goctp.SwigcptrCThostFtdcTraderApi.Join(0x28cbcd0, 0x7ffea007876f)
github.com/qerio/goctp/_obj/goctp.go:89769 +0x2b
github.com/qerio/goctp.(*SwigcptrCThostFtdcTraderApi).Join(0xc4200122a0, 0x7ffea007876f)
goroutine 18 [syscall, locked to thread]: runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:2197 +0x1
非常感谢,已经可以采集行情和下单了,上面的问题在centos7.3 golang1.6.3&1.8.3 两个golang版本试过都没解决,不知道您有遇到没
CTP.TraderApi.RegisterSpi(pTraderSpi) // 注册事件类
CTP.TraderApi.SubscribePublicTopic(0 /*THOST_TERT_RESTART*/) // 注册公有流
CTP.TraderApi.SubscribePrivateTopic(0 /*THOST_TERT_RESTART*/) // 注册私有流
CTP.TraderApi.RegisterFront(CTP.TraderFront)
CTP.TraderApi.Init()
CTP.TraderApi.Join() //稍加功能,此处是365行
CTP.TraderApi.Release()
@xoomp 能分享一下你的下单的测试代码吗,我调了好几天了总是报错:不合法的登录
@xoomp 请问这个崩溃问题怎么解决?
崩溃没解决,作者的代码直接可以登陆,你看看ip port 账号是否有问题
simnow账号必须改一次密码,这个也坑了我好久
解决了,是有的Rsp操作pRspInfo在c++代码中没有初始化吧,所以不能直接GetErrorID() 等操作,这里小心
@xoomp 我也遇到了 直接GetErrorID() 崩溃的问题 你是怎么避免的呢? 我这边有好几个 Rsp回来 Get属性 都会崩溃 ,这个安装常理都是初始化了才调用了 OnRspxxx 。 请问你是怎么解决问题 拿到响应数据的呢 ?
感觉玩不转 出了问题不好搞定 swig还是复杂 我手动 C++ 转C cgo 调C代码 go export C C++ 调用C 用C做个中间层算了
@drmfly c的中间层搞定了吗?我之前也试过swig,没搞定 有个通过cgo手工包装实现的,关键的api处理好了,我下周弄上github吧,大家互相帮助
@xoomp 你好我也遇到了类似的问题,请问可以分享你的解决方案吗?