portmaster 3.13.13 real endless loop "Waiting on fetch & checksum..."

Michael Ranner michael at ranner.eu
Sat Aug 11 12:58:53 UTC 2012

Am 11.08.12 11:21, schrieb Doug Barton:
> On 08/11/2012 01:24 AM, Michael Ranner wrote:
>> As I already told, "portmaster -F" is fetching to /usr/ports/distfiles
>> and appending to fetchlog in /tmp
> In your other message you indicate that the fetchlog in /tmp is empty.
> So I'm confused.
fetchlog is not empty with "-F" but its empty with "-i".

I am also confused.
>> But "portmaster -i" does this not!
> By the time it gets to the 'make checksum' process there is nothing
> different about the code for -F or -i.
> Based on what you're describing it sounds like your fetch process is
> hanging, and/or not exiting properly.
> What portmaster does is launch a subshell in the background that has a
> mini-script to run 'make checksum'. That target will verify the files if
> they exist, or fetch them and then verify if they do not. Once that is
> done, the mini-script removes the fetchlog which acts as a sort of flag
> to signal portmaster that it's done.
I know. I have already debugged to the loop waiting for the subshell in 

I can exclude that "make fetch" is hangin, because there is only the 
waiting loop but no fetch or make process.

> If the fetch part of the process is completing, but the actual 'make
> checksum' target is not, that's an OS or ports infrastructure bug. If
> the fetch is not completing it could be an OS bug, or it could be a
> stalled/slow remote site, a bad Internet connection, or any of a
> half-dozen other things.
> Either way, I seriously doubt the code in portmaster is at fault. That
> code hasn't changed in many years.
I also doubt that there is a fault in portmaster. But I have no idea 
where to locate the problem.

In the mean time I have rebuild world, the problem still exists.
> The only other thing I can think of to try is to start a build for one
> of the ports you're having trouble with (after removing the distfiles of
> course) and just let it run. While it's running, check these things:
> 1. Does the distfile actually get downloaded?
No. I does not download except with "portmaster -F"
> 2. Does the fetch complete? That is, does the full file get downloaded,
> which matches the size and checksum in the distinfo file?
There is no incomplete file in /usr/ports/distfiles

It seems to me, that "(pm_make -DBATCH checksum >> $fetchlog 2>&1 && {" 
on line 3330 exits in error, but there is no output in fetchlog.
> 3. If the fetching of the file completes, does 'ps axww' show that a
> fetch process for that file is still underway?
No there is no fetch process. I think that, because of some strange 
reason, make checksum exits before launching fetch.
> 4. If the fetching of the file completes, can you run 'make checksum' in
> the port directory and get a positive result?
I can run "make checksum" in almost any port directory without problems. 
No hangs or refetches.
> 5. What happens if you just let the portmaster process run for a few hours?

Will make it now.

> Doug

Mit freundlichen Grüßen

Ing. Michael Ranner

GSM:  +43 676 4155044
Mail: michael at ranner.eu
WWW:  http://www.azedo.at/

More information about the freebsd-ports mailing list