Greetings!

I have noticed some strange behavior when creating a global QProcess object and starting a program with it. After the program returns from main() the program does not close but instead hangs the system. Additionally the following error is displayed "*** glibc detected *** ./test: corrupted double-linked list: 0x09bc2678 ***". This problem is reproducible using Qt 4.7.1 on Ubuntu 12.04 x86 with the following short program:

Qt Code:
  1. #include <stdio.h>
  2. #include <unistd.h>
  3. #include <QProcess>
  4.  
  5. QProcess process;
  6.  
  7. int main()
  8. {
  9. printf("Starting process\n");
  10. process.start("ls");
  11. printf("Waiting for process to start\n");
  12. if (!process.waitForStarted())
  13. {
  14. printf("ERROR = %d\n", process.error());
  15. return -1;
  16. }
  17.  
  18. printf("Waiting for process to finish\n");
  19. if (!process.waitForFinished())
  20. {
  21. printf("ERROR - process didn't complete\n");
  22. }
  23. process.close();
  24. printf("Process state before exiting = %d\n", process.state());
  25.  
  26. return 0;
  27. }
To copy to clipboard, switch view to plain text mode 

When I upgrade Qt to 5.2.0 the problem is no longer reproducible. Searching the Qt Bug Tracker I don't see any documented issues on this problem. Does anyone know if this is a known bug that has been corrected?

Thanks!