viabtc_exchange_server_docker icon indicating copy to clipboard operation
viabtc_exchange_server_docker copied to clipboard

Segmentation Fault with mysqlclient

Open cyberience opened this issue 4 years ago • 0 comments

I add this issue here, because, though it looks like a dependancy problem, others may struggle with this, once we find a work around ill update this issue, if any one else has insight, feel free to recoment. Situation: Using Ubuntu 18 Status: Uodate packages and libraries on 15th Novemeber Result: Match engine fails to run. (Compile ok) Evidence: [2019-11-26 11:42:56.735344] [840] [fatal]ut_misc.c:83(process_keepalive): process: 3171, name: matchengine terminated by signal: 'Segmentation fault' [2019-11-26 11:42:57.737984] [3173] [fatal]ut_signal.c:90(signal_handler): [3173]signal: 11 (SIGSEGV) received, core dumping ==========backtrace=start========== 0 /var/exchdb/exchange/app/matchengine() [0x46d910] 1 /lib/x86_64-linux-gnu/libpthread.so.0(+0x12890) [0x7fdb07835890] 2 /lib/x86_64-linux-gnu/libc.so.6(+0xa9e8a) [0x7fdb06f39e8a] 3 /var/exchdb/exchange/app/matchengine() [0x5d4639] 4 /var/exchdb/exchange/app/matchengine(lh_insert+0x4c) [0x5d48ec] 5 /var/exchdb/exchange/app/matchengine(OBJ_NAME_add+0x63) [0x5a1f73] 6 /usr/lib/x86_64-linux-gnu/libssl.so.1.1(+0x33e5e) [0x7fdb06a19e5e] 7 /lib/x86_64-linux-gnu/libpthread.so.0(+0xf827) [0x7fdb07832827] 8 /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1(CRYPTO_THREAD_run_once+0x9) [0x7fdb066fa8f9] 9 /usr/lib/x86_64-linux-gnu/libssl.so.1.1(OPENSSL_init_ssl+0x8b) [0x7fdb06a1a07b] 10 /usr/lib/x86_64-linux-gnu/libmysqlclient.so.20(+0x5b224) [0x7fdb07a9d224] 11 /usr/lib/x86_64-linux-gnu/libmysqlclient.so.20(mysql_server_init+0x67) [0x7fdb07a62c27] 12 /usr/lib/x86_64-linux-gnu/libmysqlclient.so.20(mysql_init+0x17) [0x7fdb07a6b397] 13 /var/exchdb/exchange/app/matchengine(mysql_connect+0x25) [0x46ce3d] 14 /var/exchdb/exchange/app/matchengine(init_from_db+0x21) [0x454106] 15 /var/exchdb/exchange/app/matchengine(main+0x37f) [0x45c505] 16 /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7) [0x7fdb06eb1b97] 17 /var/exchdb/exchange/app/matchengine(_start+0x29) [0x452d39] ===========backtrace=end===========

During investigation, it appears there is a conflict between libmysqlclient.so and libssl and since we are using bear metal, after update this problem started. we use docker for the build, but not for production. we are looking at a couple of solutions, one is to run ubuntu 16 instead of 18, the other is to copy the link lib to the execution folder of the match engine. since this is C we are also looking to see if its possible to embed the lib into the executable, so environment dependancies are reduced. I am interested to know if anyone had this problem and what you did to resolve it. plus to maintain this engine future compatibility, it may be prudent to ensure as environments evolve, that the engine does to, for example, can we get this approved to run in ubuntu 18. since 16 is getting to no support levels soon.

cyberience avatar Nov 26 '19 03:11 cyberience