C++realloc():无效指针
C++ realloc() : invalid pointer
我正在做一个项目,我面临着一个不知道如何处理的问题。
编译项目时没有问题,但在执行时,我甚至无法进入main()函数。。。。它在进入main()之前崩溃。这是堆栈:
#0 0x00007ffff2859cc9 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1 0x00007ffff285d0d8 in __GI_abort () at abort.c:89
#2 0x00007ffff2896394 in __libc_message (do_abort=do_abort@entry=1, fmt=fmt@entry=0x7ffff29a4b28 "*** Error in `%s': %s: 0x%s ***n") at ../sysdeps/posix/libc_fatal.c:175
#3 0x00007ffff28a10f7 in malloc_printerr (action=<optimized out>, str=0x7ffff29a0d5d "realloc(): invalid pointer", ptr=<optimized out>) at malloc.c:4996
#4 0x00007ffff28a6192 in __GI___libc_realloc (oldmem=0x7ffff58fb840 <QListData::shared_null>, bytes=32) at malloc.c:2986
#5 0x00007ffff31f5e3e in QListData::realloc(int) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6 0x00007ffff31f5efa in QListData::append(int) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7 0x00007ffff32e2d8c in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8 0x00007ffff32dee29 in qRegisterResourceData(int, unsigned char const*, unsigned char const*, unsigned char const*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#9 0x00007ffff3181eb3 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007ffff7dea13a in call_init (l=<optimized out>, argc=argc@entry=1, argv=argv@entry=0x7fffffffdfc8, env=env@entry=0x7fffffffdfd8) at dl-init.c:78
#11 0x00007ffff7dea223 in call_init (env=<optimized out>, argv=<optimized out>, argc=<optimized out>, l=<optimized out>) at dl-init.c:36
#12 _dl_init (main_map=0x7ffff7ffe1c8, argc=1, argv=0x7fffffffdfc8, env=0x7fffffffdfd8) at dl-init.c:126
#13 0x00007ffff7ddb30a in _dl_start_user () from /lib64/ld-linux-x86-64.so.2
#14 0x0000000000000001 in ?? ()
#15 0x00007fffffffe32c in ?? ()
#16 0x0000000000000000 in ?? ()
我已经测试了一些东西:使用Qt5(更具体地说是Qt5Widgets)创建一个小程序,没有问题(无论是在编译还是执行时)。。。我将gcc和g++升级到了4.9版本。还清除了我们不使用的所有依赖项中的代码,但没有任何进展的迹象。。
最奇怪的是,我的队友都没有遇到这个问题,当我从Windows的虚拟盒子中使用Ubuntu时,这个问题甚至没有出现。
我正在开发Linux Mint 17.3 Rosa。
在库初始化期间,Qt内部似乎出现了问题。基于https://bugreports.qt.io/browse/QTBUG-28788,我有一种感觉,您以某种方式混合了Qt4和Qt5库。(或者可能是不同版本的Qt5库。不管怎样。你有奇怪的链接问题。)
使用ldd
检查您的最终二进制文件是针对什么链接的,并确保列出的每个Qt库都是完全相同的版本。
相关文章:
- 如何实现容纳整数和无效指针的双向链表?
- 在基数排序中,我得到 munmap_chunk():无效指针和中止(核心转储).为什么?
- 应用地址清理器后,免费无效指针消失
- C++ 在具有数组成员的类上无效指针/双精度释放
- 不断得到分段错误和free()无效指针
- 使用无效指针初始化指针声明符的行为是否未定义?
- 结构作为参数的函数产生错误:free():无效指针:0x00007efd47b
- 无效指针、隔离标识符等
- c++ 无效指针从空闲列表中取消排队
- C++ munmap_chunk(): 无效指针:
- 为什么我的简单C++程序使用队列和 fstream 错误到无效指针
- 无效指针和非初始化的指针之间的差异
- 如何用无效指针初始化unique_ptr的向量
- 地址清理器在静态强制转换无效指针时报告错误
- MS4:Free(Free()无效指针0xB74E74E0 ***
- ***检测到的GLIBC *** MS2:free():无效指针:0xB7526FF4 ***
- 无效指针功能的输出
- 有人能告诉我这是如何在main()中实现的吗?(关于无效指针的问题)
- C++11使用智能指针,但得到无效指针
- 无效指针的相关性