Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

segmentation fault before entering main function when using Qt 5.5



  • Hi Everyone,

    Iam using QT 5.5 and when iam trying to run my application iam getting segmentation fault before entering main function in ubuntu 14.04. i dont understand what might be reason.

    could some one help me in solving this problem

    thanks


  • Lifetime Qt Champion

    It would help if you would post the complete error message here.



  • @Ravimettu

    One reason could be the initialization of global instances. If you have changed your program and it was running before without problem, check in this area.



  • Function: _GLOBAL__sub_I_qprinterinfo.cpp(void)
    0xb5a8d95f <+0x003f> dec %eax
    0xb5a8d960 <+0x0040> add %al,(%eax)
    0xb5a8d962 <+0x0042> add %al,(%eax)
    0xb5a8d964 <+0x0044> add %al,(%eax)
    0xb5a8d966 <+0x0046> movb $0x0,0x4878(%ebx)
    0xb5a8d96d <+0x004d> mov %eax,0x487c(%ebx)
    0xb5a8d973 <+0x0053> lock incl (%eax)
    0xb5a8d976 <+0x0056> setne %dl
    0xb5a8d979 <+0x0059> lea 0x1c(%esp),%eax
    0xb5a8d97d <+0x005d> mov %eax,(%esp)
    0xb5a8d980 <+0x0060> call 0xb5a9bfa0 QString::~QString()
    0xb5a8d985 <+0x0065> lea 0x17c0(%ebx),%eax
    0xb5a8d98b <+0x006b> mov %eax,0x8(%esp)
    0xb5a8d98f <+0x006f> lea 0x486c(%ebx),%eax
    0xb5a8d995 <+0x0075> mov %eax,0x4(%esp)
    0xb5a8d999 <+0x0079> lea -0x7c0b30(%ebx),%eax
    0xb5a8d99f <+0x007f> mov %eax,(%esp)
    0xb5a8d9a2 <+0x0082> call 0xb5a8b0a0 __cxa_atexit@plt
    0xb5a8d9a7 <+0x0087> add $0x28,%esp
    0xb5a8d9aa <+0x008a> pop %ebx
    0xb5a8d9ab <+0x008b> ret
    0xb5a8d9ac <+0x0000> xchg %ax,%ax
    0xb5a8d9ae <+0x0000> xchg %ax,%ax
    Function: _GLOBAL__sub_I_qpaintbuffer.cpp(void)
    0xb5a8d9b0 <+0x0000> push %esi
    0xb5a8d9b1 <+0x0001> push %ebx
    0xb5a8d9b2 <+0x0002> call 0xb5a8dd30 <__x86.get_pc_thunk.bx>
    0xb5a8d9b7 <+0x0007> add $0x986649,%ebx
    0xb5a8d9bd <+0x000d> sub $0x14,%esp
    0xb5a8d9c0 <+0x0010> mov 0x4898(%ebx),%eax
    0xb5a8d9c6 <+0x0016> lea -0x255ba2(%ebx),%esi
    0xb5a8d9cc <+0x001c> test %eax,%eax
    0xb5a8d9ce <+0x001e> jne 0xb5a8d9e6 <_GLOBAL__sub_I_qpaintbuffer.cpp(void)+54>
    0xb5a8d9d0 <+0x0020> movl $0xffffffff,0x4(%esp)

    this is the error iam getting


  • Lifetime Qt Champion

    It looks like your application is already running (so main was called). You should try to run your application through the debugger.



  • i placed break point in the first line of main function, it is not coming there.

    before that itself its getting crashed


  • Lifetime Qt Champion

    Can you post your code then I can try it on my Ubuntu 14.04 machine



  • It seems you have binary conflict. Are you running app outside of Qt Creator? What happens if you run it in Qt Creator?


Log in to reply