Closed AmdRyZen closed 1 month ago
用的什么数据库?能否贴一下代码/配置/log/堆栈
MySQL 155ae9ad65580e7faa038a3df8eb9e23fa45541b 这个有问题
代码肯定是没问题的 我回退了一个commit 就行了 所有和数据库操作相关的 直接退出 退出代码为 139 (interrupted by signal 11:SIGSEGV)
https://github.com/AmdRyZen/drogon-http
这是我的仓库 前两天还有一个gcc 14。1 的问题 项目还是可以运行
debug不是靠猜。。能跑也不代表没问题。。
准备环境很麻烦,你的项目还有各种别的依赖。 如果你能提供一下报错的堆栈,或者一个最小复现repo,会方便很多。
155ae9ad65580e7faa038a3df8eb9e23fa45541b 用这个 commit 随便跑一个sql都有问题
auto xxx = co_await clientPtr->execSqlCoro("select * from xxl_job_info limit 1");
https://github.com/drogonframework/drogon/commit/155ae9ad65580e7faa038a3df8eb9e23fa45541b 可以通过全部的测试用例。你在升级drogon后是否从头重新编译了应用程序?
今天有更新了 6726df139d6b7cee980676ef6b671049252461d1 我现在在重新编译一下
首先 dg_ctl -v
dg_ctl(10495,0x201608c00) malloc: error for object 0x10270f910: pointer being freed was not allocated dg_ctl(10495,0x201608c00) malloc: set a breakpoint in malloc_error_break to debug [1] 10495 abort dg_ctl -v
最新的commit 执行sql 还是 进程直接退出
能否展示一下配置文件? 是否配置了 is_fast ?
https://github.com/drogonframework/drogon/issues/2036#issuecomment-2133114804
是的 我升级是 肯定是重新编译的
我比较喜欢更新版本 包括gcc 可能遇到的问题比别人多一点 现在是 14.1
我只有回退 重新编译就没问题
https://github.com/drogonframework/drogon/issues/2036#issuecomment-2133133114
不存在配置不对 等其他原因 回退是一个版本就能解决 肯定是 155ae9ad65580e7faa038a3df8eb9e23fa45541b 的问题
306df8a8fbf64dd887242ab9c84342e8114a3b75 一切都是 正常的 可以压测
一开始我就说的比较清楚了 你找一个 Mac 用 gcc14.1 去复现一下
上面是用最新的编译 下面是 306df8a8fbf64dd887242ab9c84342e8114a3b75 编译
感谢你的反馈。问题找到了, 两个函数参数顺序传错了,已经提交PR #2040。
如果能早点给出这些信息,会很快就解决了。
一开始我就说的比较清楚了 你找一个 Mac 用 gcc14.1 去复现一下
可惜你这句话里并没有 “说的比较清楚了”,没有任何信息能让我定位到错误, 在我一再追问下才得到需要的信息。希望下次能直接给出 代码/配置/报错堆栈 等信息, 提高交流效率。
https://github.com/drogonframework/drogon/issues/2036#issuecomment-2133213543
.........
其实这种 换一个 commit 就没问题的 肯定是 新的提交哪里写错了
我还提交了几个其他的问题 你们那边好像也没办法复现 比如这个 在 gcc 14.1 下面
dg_ctl -v
dg_ctl(16428,0x201608c00) malloc: error for object 0x1066c3910: pointer being freed was not allocated
dg_ctl(16428,0x201608c00) malloc: set a breakpoint in malloc_error_break to debug
[1] 16428 abort dg_ctl -v
如果debug真的这么简单就好了。
cpp 不一样的操作系统 和 不一样的 编译器 mavc gcc llvm 出来的结果都不一样 确实比较麻烦 其他的语言 起码版本号一样 在不同的环境出来的结果一样
Fixed by #2040
macos m2 pro gcc 14.1 最新一个commit 数据库操作 进程已结束,退出代码为 139 (interrupted by signal 11:SIGSEGV) 上一个commit 就没问题