GNOME Bugzilla – Bug 341261
Loading a large number of keys causes properties to be unresponsive
Last modified: 2006-05-16 17:25:10 UTC
When unselecting the "Only view signatures of people I trust" option on the properties page for a key containing a large number of signatures that you don't have keys for, seahorse hangs. For example Werner Koch's key, 0x5B0358A2. I'll let it run and see if it eventually unfreezes, but at the moment it appears to make the entire application unresponsive.
Could you break in with a debugger and see where it's hanging? There was a hanging problem (which Albrecht Dres noted) that had to do with DNS, but I'm guessing this is another one.
gdb outputs the following after a ctrl-c where the window hangs [transfer] export progress: 1.000000 [transfer] export done [transfer] starting import Detaching after fork from child process 9753. Program received signal SIGINT, Interrupt.
+ Trace 68256
Thread NaN (LWP 9734)
+ Trace 68257
Thanks. Committed a fix. The import and export operations in seahorse-pgp-source.c were synchronous. So this was blocking. With the new SeahorsePGPOperation class it was easy to make these async.
Now, the window is responsive but a crash occurs: gdb output: [transfer] export progress: 1.000000 [transfer] export done [transfer] starting import Detaching after fork from child process 29976. Program received signal SIGSEGV, Segmentation fault.
+ Trace 68259
Thread NaN (LWP 29955)
Good catch. I was wondering earlier about whether gpgme somehow refs the data while it's importing it asynchronously. It turns out that it doesn't. So we have to keep it around. Committed fix.