[setup topic/libsolv] Crash after incomplete download
Wed Nov 1 20:38:00 GMT 2017
If there is a download failure and the user clicks Yes in response to
"Download Incomplete. Try again?", then setup will crash. The crash
occurs at PickView.cc:447 because i->source() is NULL.
I haven't yet analyzed this in further detail, but the crux of the issue
seems to be that we call do_ini_thread a second time without having
cleaned out the package database and the libsolv pool.
This is probably a symptom of a more general problem, which is that we
haven't thought carefully (or at least I haven't) about what happens
when we visit certain pages for a second time, after the libsolv pool
has been created.
Before I work further on this, I have a UI question. Is it really
reasonable that we go back to the mirror selection page after "Download
incomplete"? I understand the rationale, which is that the user might
want to try a different mirror after a download failure. But I
personally have always found this annoying. I would rather just retry
the download, which is what the message ("Download Incomplete. Try
again?") suggests is going to happen.
More information about the Cygwin-apps