xlearn icon indicating copy to clipboard operation
xlearn copied to clipboard

terminate called after throwing an instance of 'std::logic_error'

Open CoolIceFire opened this issue 5 years ago • 7 comments

在docker里安装了xlearn后,跑demo,直接报错。请问这是什么情况呢?

       _
      | |
 __  _| |     ___  __ _ _ __ _ __
 \ \/ / |    / _ \/ _` | '__| '_ \ 
  >  <| |___|  __/ (_| | |  | | | |
 /_/\_\_____/\___|\__,_|_|  |_| |_|

    xLearn   -- 0.40 Version --

[ WARNING ] Cross-validation doesn't support early-stopping. xLearn has already close early-stopping. terminate called after throwing an instance of 'std::logic_error' what(): basic_string::_M_construct null not valid Aborted (core dumped)

CoolIceFire avatar Dec 25 '18 14:12 CoolIceFire

@CoolIceFire 请问你运行的是哪一个demo。这个原因一般都是运行过程中出现了野指针之类的错误,但是按理说 demo 应该不会出错的。你能提供更多的错误信息吗?

aksnzhy avatar Dec 26 '18 11:12 aksnzhy

我把代码clone到container里后,运行每一个demo,都是会报错 "terminate called after throwing an instance of 'std::logic_error' what(): basic_string::_M_construct null not valid Aborted (core dumped)"

CoolIceFire avatar Dec 26 '18 12:12 CoolIceFire

又重现了一下,用的docker镜像是registry.cn-hangzhou.aliyuncs.com/xdl/xdl:ubuntu-cpu-tf1.12

CoolIceFire avatar Dec 26 '18 12:12 CoolIceFire

@aksnzhy 最近测 xlearn 发现了这个问题. 根据 #115 这个 issue 的解决方案我简单对比了一下. 没有设置 USER 环境变量的都会出现这个 bug. 包括容器内部和 crontab 任务. 我没看过源码, 但推测是不是有地方会去获取 USER 的环境变量然后赋值给了一个 *string, 没有则 *string 为 null 从而产生了这个 bug.

chesterli29 avatar Feb 25 '19 09:02 chesterli29

我是 0.40 版本,crontab 任务也报了这个错误

更新了0.44版本,crontab 仍然报了这个错误

ymkigeg avatar May 05 '19 07:05 ymkigeg

我用docker环境跑demo的criteo_ctr也会出现这个错误

wyj2046 avatar May 24 '19 07:05 wyj2046

我用docker环境跑demo的criteo_ctr也会出现这个错误

按#115的办法解决了

wyj2046 avatar May 24 '19 07:05 wyj2046