[FAQ] tiflash 启动失败:<Error> BaseDaemon: Address not mapped to object.

[问题描述]

tiflash start error,完整日志如下:

2020.08.24 12:26:44.597827 [ 5 ] <Error> BaseDaemon: (from thread 6) Received signal Segmentation fault (11).

2020.08.24 12:26:44.597888 [ 5 ] <Error> BaseDaemon: Address: NULL pointer.

2020.08.24 12:26:44.597904 [ 5 ] <Error> BaseDaemon: Access: read.

2020.08.24 12:26:44.597921 [ 5 ] <Error> BaseDaemon: Address not mapped to object.

2020.08.24 12:26:44.608951 [ 5 ] <Error> BaseDaemon: 0. bin/tiflash/tiflash(DB::TMTContext::getContext()+0x1) [0x672a9b1]

2020.08.24 12:26:44.608992 [ 5 ] <Error> BaseDaemon: 1. bin/tiflash/tiflash(DB::HandleComputeFsStats(DB::TiFlashServer*)+0x27) [0x66d4687]

2020.08.24 12:26:44.609014 [ 5 ] <Error> BaseDaemon: 2. /home/tidb-deploy/tiflash-9000/bin/tiflash/libtiflash_proxy.so(+0xf79708) [0x7f4dd867f708]

2020.08.24 12:26:44.609041 [ 5 ] <Error> BaseDaemon: 3. /home/tidb-deploy/tiflash-9000/bin/tiflash/libtiflash_proxy.so(+0x12fb186) [0x7f4dd8a01186]

2020.08.24 12:26:44.609061 [ 5 ] <Error> BaseDaemon: 4. /home/tidb-deploy/tiflash-9000/bin/tiflash/libtiflash_proxy.so(+0x1308139) [0x7f4dd8a0e139]

2020.08.24 12:26:44.609079 [ 5 ] <Error> BaseDaemon: 5. /home/tidb-deploy/tiflash-9000/bin/tiflash/libtiflash_proxy.so(+0x1038a97) [0x7f4dd873ea97]

2020.08.24 12:26:44.609098 [ 5 ] <Error> BaseDaemon: 6. /home/tidb-deploy/tiflash-9000/bin/tiflash/libtiflash_proxy.so(+0x107c95b) [0x7f4dd878295b]

2020.08.24 12:26:44.609117 [ 5 ] <Error> BaseDaemon: 7. /home/tidb-deploy/tiflash-9000/bin/tiflash/libtiflash_proxy.so(+0xc1161f) [0x7f4dd831761f]

2020.08.24 12:26:44.609136 [ 5 ] <Error> BaseDaemon: 8. /home/tidb-deploy/tiflash-9000/bin/tiflash/libtiflash_proxy.so(+0xc2a31c) [0x7f4dd833031c]

2020.08.24 12:26:44.609174 [ 5 ] <Error> BaseDaemon: 9. /lib64/libpthread.so.0(+0x7e25) [0x7f4dd6c63e25]

[排查思路]

  • 根据日志 Address not mapped to object./home/tidb-deploy/tiflash-9000/bin/tiflash/libtiflash_proxy.so(+0xf79708) [0x7f4dd867f708] 检查 tiflash 端口是否被占用

[解决方案]

  • lsof -i :9090
  • 如果无法停止占用端口,可以缩容再扩容 tiflash 节点并制定 tcp_port 避免端口冲突

[经典案例]