EfveZombie

Results 4 comments of EfveZombie

我这边出错的平台是 WSL2 下的 Ubuntu 20.04 和 Ubuntu 24.04, 上面这个正常运行的结果是在 win 上试出来的吗, 看起来 malloc_usable_size 返回的大小是 32 和 malloc 时传入的大小时一致的所以没有导致报错吧, 我这边 alloc(32) 再 malloc_usable_size 拿到的 size 是 40 补充一下相关材料: https://bugs.launchpad.net/ubuntu/+source/gcc-13/+bug/2012440

单从 skynet 内看的话这边应该都是内存对齐的, 不过可能外部调用就没有保障了? 感觉比较合理的改法应该是不依赖 je_malloc_usable_size, 像这个函数名 fill_perfix 描述的那样把 handle 填到头部去, 不过也不好处理这么改之后导致的内存对齐问题... 或者我这里可以先加个 volatile 避免编译器的优化

skynet_calloc 里 [fill_prefix](https://github.com/cloudwu/skynet/commit/d629648897b457d34fdf66531c212e94aa39f8f0#diff-2b6f87dcb53b396b5b9c24806d96c4884c4358ca0151d3d3e5095395c18ddcccR221) 的第二个参数应该是 (nmemb + cookie_n) * size 吧 BTW, update_xmalloc_stat_alloc 和 update_xmalloc_stat_free 是不是还用 je_malloc_usable_size 统计会比较好?

不应该是 fill_prefix(ptr, n * size, cookie_n * size) 吗 @_@