Ho un problema con una libreria matematica, che so non essere multithread, quando la chiamo da un altro working thread, anche se questo avviene in maniera sequenziale (chiamo-aspetto-chiamo-aspetto).
Mentre se faccio girare l'esempio che è riportato nella documentazione di questa libreria nel thread principale, quando lo faccio nel thread che vado a creare ho un crash della libraria nell'assert del tempo intercorso tramite valutazione dei cicli di CPU.
Non capisco se è un problema del mio codice (xchè?), un bug della libreria esterna (anche se il mainteiner mi ha detto di no) o un problema della libreria di threading delle Qt.

Un piccolo esempio compilabile lo trovate qui, ma comunque la parte interessante è questa:
codice:
int main(int argc, char *argv[]){
 
    cout << "Test on a glpk application using Qt Threads" << endl<<endl;
    Thread wThread; // subclassa QThread giusto per ridefinire il metodo run()
    for (uint y=0;y<5000;y++){
        wThread.start(); // esegue un semplice esempio chiamando la libreria glpk
        wThread.wait();
    }
    cout <<"All done without errors (crashing)"<<endl;
    return 0;
}
L'errore che mi ritrovo al crash è:
Assertion failed: xlcmp(env->t_last, t) <= 0
Error detected in file glplib10.c at line 109
e fa riferimento ad un calcolo del tempo trascorso utilizzando i cicli CPU.

Dove sbaglio???