BALL-Project / ball

The Biochemical Algorithms Library
GNU Lesser General Public License v2.1
72 stars 31 forks source link

Segfault in BALLView demo #631

Closed tkemmer closed 7 years ago

tkemmer commented 7 years ago

BALLView crashes during the transition from demo step 15 to 16:

=================================================================                                                            
==9527==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x7fdfc714bcff bp 0x7fdf8b237bf0 sp 0x7fdf8b237b60 T4)
    #0 0x7fdfc714bcfe in BALL::VIEW::ColorByGridProcessor::operator()(BALL::VIEW::GeometricObject*&) (/home/thomas/git/apps/ball/build/lib/libVIEW.so.1.5+0x5d4cfe)
    #1 0x7fdfc70bc387 in BALL::VIEW::Representation::update_() (/home/thomas/git/apps/ball/build/lib/libVIEW.so.1.5+0x545387)                                   
    #2 0x7fdfc70f101d in BALL::VIEW::UpdateRepresentationThread::run() (/home/thomas/git/apps/ball/build/lib/libVIEW.so.1.5+0x57a01d)                                                
    #3 0x7fdfb8d48c3b  (/usr/lib64/libQt5Core.so.5+0xa6c3b)                                  
    #4 0x7fdfc69623d3  (/lib64/libpthread.so.0+0x73d3)                                                                                                         
    #5 0x7fdfb7937e3c in clone (/lib64/libc.so.6+0xe7e3c)                                                                  

AddressSanitizer can not provide additional info.                                                                                                                                    
SUMMARY: AddressSanitizer: SEGV (/home/thomas/git/apps/ball/build/lib/libVIEW.so.1.5+0x5d4cfe) in BALL::VIEW::ColorByGridProcessor::operator()(BALL::VIEW::GeometricObject*&)
Thread T4 (QThread) created by T0 here:                                                                                                              
    #0 0x7fdfc7789568 in __interceptor_pthread_create (/usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/libasan.so.3+0x31568)                                  
    #1 0x7fdfb8d481b5 in QThread::start(QThread::Priority) (/usr/lib64/libQt5Core.so.5+0xa61b5)                                                      

==9527==ABORTING          

On a second machine, the following warning is triggered instead of crashing:

if (grid_ == 0 || rep_ == 0 || getMainControl()->isBusy())
{
    setStatusbarText((String)tr("Could not color surface, maybe because an other thread is still running?"), true);
    return false;
}