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.

Ken

Reply via email to