Skip to contentSkip to conversation

Bug in buildman?

U-Boot Andreas Bießmann 2 participants 4 messages Dec 31, 2014 – Jan 29, 2015

lore
Share & tools
lore
#0 lore raw

Hi Simon,

while test-building 2015.01-rc4 I encountered following strange behaviour of buildman:

---8<---
andreas at andreas-pc % ./tools/buildman/buildman -b buildtest -o /tmp/bar -v avr32
boards.cfg is up to date. Nothing to do.
Building 1 commit for 10 boards (6 threads, 1 job per thread) Cloning repo for thread 0
Cloning repo for thread 1
Cloning repo for thread 2
Cloning repo for thread 3
Cloning repo for thread 4
Cloning repo for thread 5
01: Prepare v2015.01-rc4

     avr32: +   atstk1006
01: Prepare v2015.01-rc4
     avr32: +   atngw100
01: Prepare v2015.01-rc4
     avr32: +   favr-32-ezkit
01: Prepare v2015.01-rc4
     avr32: +   atstk1004

01: Prepare v2015.01-rc4
avr32: + hammerhead
01: Prepare v2015.01-rc4
avr32: + grasshopper
01: Prepare v2015.01-rc4

     avr32: +   atstk1003
01: Prepare v2015.01-rc4
     avr32: +   atstk1002
01: Prepare v2015.01-rc4
     avr32: +   mimc200
01: Prepare v2015.01-rc4
     avr32: +   atngw100mkii
    0    4    6 /10     0:00:02  : atngw100mkii

./tools/buildman/buildman -b buildtest -o /tmp/bar -v avr32 82.57s user 16.90s system 249% cpu 39.899 total
andreas at andreas-pc % ./tools/buildman/buildman -b buildtest -o /tmp/bar -v -lsed
boards.cfg is up to date. Nothing to do.
Summary of 1 commit for 1204 boards (6 threads, 1 job per thread) 01: Prepare v2015.01-rc4

     avr32: +   atngw100mkii atstk1003 grasshopper favr-32-ezkit

atstk1006 atstk1004 atstk1002 atngw100 hammerhead mimc200 +(grasshopper,atngw100,favr-32-ezkit,atstk1006,atstk1004,hammerhead) Could not find linker script. +(grasshopper,atngw100,favr-32-ezkit,atstk1006,atstk1004,hammerhead) make[1]: *** [prepare1] Error 1 +(grasshopper,atngw100,favr-32-ezkit,atstk1006,atstk1004,hammerhead)
make: *** [sub-make] Error 2 w+(atngw100mkii,atstk1002,atstk1003,mimc200) ../tools/kwbimage.c: In function ?kwbimage_set_header?:
w+(atngw100mkii,atstk1002,atstk1003,mimc200) ../tools/kwbimage.c:803:8:
warning: ?headersz? may be used uninitialized in this function [-Wmaybe-uninitialized]
andreas at andreas-pc % ./tools/buildman/buildman -b buildtest -o /tmp/bar -v -lsed grasshopper
boards.cfg is up to date. Nothing to do.
Summary of 1 commit for 1 boards (1 thread, 6 jobs per thread) 01: Prepare v2015.01-rc4
avr32: + grasshopper
+(grasshopper) Could not find linker script.
+(grasshopper) make[1]: *** [prepare1] Error 1
+(grasshopper) make: *** [sub-make] Error 2
andreas at andreas-pc % ./tools/buildman/buildman -b buildtest -o /tmp/grasshopper -v grasshopper
boards.cfg is up to date. Nothing to do.
Building 1 commit for 1 boards (1 thread, 6 jobs per thread) Cloning repo for thread 0
01: Prepare v2015.01-rc4
avr32: + grasshopper
0 1 0 /1 grasshopper
./tools/buildman/buildman -b buildtest -o /tmp/grasshopper -v grasshopper 14.11s user 2.69s system 183% cpu 9.171 total andreas@andreas-pc % ./tools/buildman/buildman -b buildtest -o /tmp/grasshopper -v -lsed grasshopper
boards.cfg is up to date. Nothing to do.
Summary of 1 commit for 1 boards (1 thread, 6 jobs per thread) 01: Prepare v2015.01-rc4
avr32: + grasshopper
w+(grasshopper) ../tools/kwbimage.c: In function ?kwbimage_set_header?:
w+(grasshopper) ../tools/kwbimage.c:803:8: warning: ?headersz? may be used uninitialized in this function [-Wmaybe-uninitialized] --->8---

buildman complains about missing linker script for most boards which is an error when building all avr32 boards. While it detects the correct warning for still not fixed kwbimage.c maybe-uninitialized when building just the single board which had an error before. Both builds are based on v2015.01-rc4 and built in different locations.

Best regards

Andreas Bie?mann

#1 lore raw

Hi Andreas,

Quoted 87 lines · Andreas Bie?mann

Hi Simon,

while test-building 2015.01-rc4 I encountered following strange behaviour of buildman:

---8<---
andreas at andreas-pc % ./tools/buildman/buildman -b buildtest -o /tmp/bar -v avr32
boards.cfg is up to date. Nothing to do.
Building 1 commit for 10 boards (6 threads, 1 job per thread) Cloning repo for thread 0
Cloning repo for thread 1
Cloning repo for thread 2
Cloning repo for thread 3
Cloning repo for thread 4
Cloning repo for thread 5
01: Prepare v2015.01-rc4

     avr32: +   atstk1006
01: Prepare v2015.01-rc4
     avr32: +   atngw100
01: Prepare v2015.01-rc4
     avr32: +   favr-32-ezkit
01: Prepare v2015.01-rc4
     avr32: +   atstk1004

01: Prepare v2015.01-rc4
avr32: + hammerhead
01: Prepare v2015.01-rc4
avr32: + grasshopper
01: Prepare v2015.01-rc4

     avr32: +   atstk1003
01: Prepare v2015.01-rc4
     avr32: +   atstk1002
01: Prepare v2015.01-rc4
     avr32: +   mimc200
01: Prepare v2015.01-rc4
     avr32: +   atngw100mkii
    0    4    6 /10     0:00:02  : atngw100mkii

./tools/buildman/buildman -b buildtest -o /tmp/bar -v avr32 82.57s user 16.90s system 249% cpu 39.899 total
andreas at andreas-pc % ./tools/buildman/buildman -b buildtest -o /tmp/bar -v -lsed
boards.cfg is up to date. Nothing to do.
Summary of 1 commit for 1204 boards (6 threads, 1 job per thread) 01: Prepare v2015.01-rc4

     avr32: +   atngw100mkii atstk1003 grasshopper favr-32-ezkit

atstk1006 atstk1004 atstk1002 atngw100 hammerhead mimc200 +(grasshopper,atngw100,favr-32-ezkit,atstk1006,atstk1004,hammerhead) Could not find linker script. +(grasshopper,atngw100,favr-32-ezkit,atstk1006,atstk1004,hammerhead) make[1]: *** [prepare1] Error 1 +(grasshopper,atngw100,favr-32-ezkit,atstk1006,atstk1004,hammerhead)
make: *** [sub-make] Error 2 w+(atngw100mkii,atstk1002,atstk1003,mimc200) ../tools/kwbimage.c: In function ?kwbimage_set_header?:
w+(atngw100mkii,atstk1002,atstk1003,mimc200) ../tools/kwbimage.c:803:8:
warning: ?headersz? may be used uninitialized in this function [-Wmaybe-uninitialized]
andreas at andreas-pc % ./tools/buildman/buildman -b buildtest -o /tmp/bar -v -lsed grasshopper
boards.cfg is up to date. Nothing to do.
Summary of 1 commit for 1 boards (1 thread, 6 jobs per thread) 01: Prepare v2015.01-rc4
avr32: + grasshopper

(quoted diff) +3 -0
+(grasshopper)   Could not find linker script.
+(grasshopper) make[1]: *** [prepare1] Error 1
+(grasshopper) make: *** [sub-make] Error 2

andreas at andreas-pc % ./tools/buildman/buildman -b buildtest -o /tmp/grasshopper -v grasshopper
boards.cfg is up to date. Nothing to do.
Building 1 commit for 1 boards (1 thread, 6 jobs per thread) Cloning repo for thread 0
01: Prepare v2015.01-rc4
avr32: + grasshopper
0 1 0 /1 grasshopper
./tools/buildman/buildman -b buildtest -o /tmp/grasshopper -v grasshopper 14.11s user 2.69s system 183% cpu 9.171 total andreas at andreas-pc % ./tools/buildman/buildman -b buildtest -o /tmp/grasshopper -v -lsed grasshopper
boards.cfg is up to date. Nothing to do.
Summary of 1 commit for 1 boards (1 thread, 6 jobs per thread) 01: Prepare v2015.01-rc4
avr32: + grasshopper
w+(grasshopper) ../tools/kwbimage.c: In function ?kwbimage_set_header?:
w+(grasshopper) ../tools/kwbimage.c:803:8: warning: ?headersz? may be used uninitialized in this function [-Wmaybe-uninitialized] --->8---

Quoted 5 lines

buildman complains about missing linker script for most boards which is an error when building all avr32 boards. While it detects the correct warning for still not fixed kwbimage.c maybe-uninitialized when building just the single board which had an error before. Both builds are based on v2015.01-rc4 and built in different locations.

Sorry for not getting back sooner - twice I read your email and tried to understand what is going on.

If a build already exists, buildman will not re-run it. Also the output with -v is only provided for a build that actually happens. If it happened in the last run, it won't be reported again.

The flow I use is:

buildman -b <branch>

to do the build, then

buildman -b <branch> -s

to see the errors and warnings, nicely sorted and collected.

The -v option is a convenience which shows output as things are built.

Does that have bearing on what you are seeing?

Regards,
Simon

#2 lore raw

Hi Simon,

I add some more descriptive text.

Quoted 10 lines · Simon Glass

Hi Andreas,

Quoted 6 lines · Andreas Bie?mann

Hi Simon,

while test-building 2015.01-rc4 I encountered following strange behaviour of buildman:

---8<---

This time create non existing /tmp/bar and run the build for all avr32 boards on the last commit.

Quoted 4 lines
Quoted 4 lines

andreas at andreas-pc % ./tools/buildman/buildman -b buildtest -o /tmp/bar -v avr32
boards.cfg is up to date. Nothing to do.
Building 1 commit for 10 boards (6 threads, 1 job per thread)

Ok, it starts 6 threads ...

Quoted 3 lines
Quoted 3 lines

01: Prepare v2015.01-rc4

     avr32: +   atngw100mkii
    0    4    6 /10     0:00:02  : atngw100mkii

Ouch ... six errors, what's going on here? Let's print the errors and summary ...

Quoted 11 lines
Quoted 11 lines

./tools/buildman/buildman -b buildtest -o /tmp/bar -v avr32 82.57s user 16.90s system 249% cpu 39.899 total
andreas at andreas-pc % ./tools/buildman/buildman -b buildtest -o /tmp/bar

(quoted diff) +1 -1
-v -lsed
 
+(grasshopper,atngw100,favr-32-ezkit,atstk1006,atstk1004,hammerhead)

Could not find linker script.

w+(atngw100mkii,atstk1002,atstk1003,mimc200) ../tools/kwbimage.c:803:8:
warning: ?headersz? may be used uninitialized in this function [-Wmaybe-uninitialized]

Oups some complains about missing linker script and something is wrong with kwbimage .... Let's see what's going on with grasshopper, I know this builds fine, so let's see:

Quoted 9 lines

Review

Quoted 9 lines

andreas at andreas-pc % ./tools/buildman/buildman -b buildtest -o /tmp/bar -v -lsed grasshopper
boards.cfg is up to date. Nothing to do.
Summary of 1 commit for 1 boards (1 thread, 6 jobs per thread) 01: Prepare v2015.01-rc4
avr32: + grasshopper

(quoted diff) +3 -0
+(grasshopper)   Could not find linker script.
+(grasshopper) make[1]: *** [prepare1] Error 1
+(grasshopper) make: *** [sub-make] Error 2

Ok, missing linker script. That is wrong, I know grasshopper builds fine! So run another build for just the grasshopper board with another output directory (/tmp/grasshopper) ... thus a fresh build.

Quoted 4 lines
Quoted 4 lines

andreas at andreas-pc % ./tools/buildman/buildman -b buildtest -o /tmp/grasshopper -v grasshopper
boards.cfg is up to date. Nothing to do.
Building 1 commit for 1 boards (1 thread, 6 jobs per thread)

Ok, this time it starts just one thread.

Quoted 4 lines
Quoted 4 lines

Cloning repo for thread 0
01: Prepare v2015.01-rc4
avr32: + grasshopper
0 1 0 /1 grasshopper

Yep, it builds fine (besides the warning) ...

Quoted 11 lines
Quoted 11 lines

./tools/buildman/buildman -b buildtest -o /tmp/grasshopper -v grasshopper 14.11s user 2.69s system 183% cpu 9.171 total andreas at andreas-pc % ./tools/buildman/buildman -b buildtest -o /tmp/grasshopper -v -lsed grasshopper
boards.cfg is up to date. Nothing to do.
Summary of 1 commit for 1 boards (1 thread, 6 jobs per thread) 01: Prepare v2015.01-rc4
avr32: + grasshopper
w+(grasshopper) ../tools/kwbimage.c: In function ?kwbimage_set_header?:
w+(grasshopper) ../tools/kwbimage.c:803:8: warning: ?headersz? may be used uninitialized in this function [-Wmaybe-uninitialized]

Ok, the warning is about kwbimage.c. I know this warning and it will be fixed soon.

So there must be something wrong when it builds more than one board at a time. I guess it has something to do with the threads.

Quoted 8 lines
Quoted 5 lines

buildman complains about missing linker script for most boards which is an error when building all avr32 boards. While it detects the correct warning for still not fixed kwbimage.c maybe-uninitialized when building just the single board which had an error before. Both builds are based on v2015.01-rc4 and built in different locations.

Sorry for not getting back sooner - twice I read your email and tried to understand what is going on.

Sorry for being not clear with my error description. I hope the additional thoughts may help.

This happens on current Debian stable (which has python 2.7.3-4+deb7u1) but not with Debian testing (which has python 2.7.8-2) nor with my MAC box (which has Python 2.7.9, thanks to macports).

Best regards

Andreas Bie?mann

#3 lore raw

+Masahiro

Hi Andreas,

Quoted 89 lines · Andreas Bie?mann

Hi Simon,

I add some more descriptive text.

Quoted 10 lines · Simon Glass

Hi Andreas,

Quoted 6 lines · Andreas Bie?mann

Hi Simon,

while test-building 2015.01-rc4 I encountered following strange behaviour of buildman:

---8<---

This time create non existing /tmp/bar and run the build for all avr32 boards on the last commit.

Quoted 4 lines
Quoted 4 lines

andreas at andreas-pc % ./tools/buildman/buildman -b buildtest -o /tmp/bar -v avr32
boards.cfg is up to date. Nothing to do.
Building 1 commit for 10 boards (6 threads, 1 job per thread)

Ok, it starts 6 threads ...

Quoted 3 lines
Quoted 3 lines

01: Prepare v2015.01-rc4

     avr32: +   atngw100mkii
    0    4    6 /10     0:00:02  : atngw100mkii

Ouch ... six errors, what's going on here? Let's print the errors and summary ...

Quoted 11 lines
Quoted 11 lines

./tools/buildman/buildman -b buildtest -o /tmp/bar -v avr32 82.57s user 16.90s system 249% cpu 39.899 total
andreas at andreas-pc % ./tools/buildman/buildman -b buildtest -o /tmp/bar

(quoted diff) +1 -1
-v -lsed
 
+(grasshopper,atngw100,favr-32-ezkit,atstk1006,atstk1004,hammerhead)

Could not find linker script.

w+(atngw100mkii,atstk1002,atstk1003,mimc200) ../tools/kwbimage.c:803:8:
warning: ?headersz? may be used uninitialized in this function [-Wmaybe-uninitialized]

Oups some complains about missing linker script and something is wrong with kwbimage .... Let's see what's going on with grasshopper, I know this builds fine, so let's see:

Quoted 9 lines

Review

Quoted 9 lines

andreas at andreas-pc % ./tools/buildman/buildman -b buildtest -o /tmp/bar -v -lsed grasshopper
boards.cfg is up to date. Nothing to do.
Summary of 1 commit for 1 boards (1 thread, 6 jobs per thread) 01: Prepare v2015.01-rc4
avr32: + grasshopper

(quoted diff) +3 -0
+(grasshopper)   Could not find linker script.
+(grasshopper) make[1]: *** [prepare1] Error 1
+(grasshopper) make: *** [sub-make] Error 2

Ok, missing linker script. That is wrong, I know grasshopper builds fine! So run another build for just the grasshopper board with another output directory (/tmp/grasshopper) ... thus a fresh build.

Quoted 4 lines
Quoted 4 lines

andreas at andreas-pc % ./tools/buildman/buildman -b buildtest -o /tmp/grasshopper -v grasshopper
boards.cfg is up to date. Nothing to do.
Building 1 commit for 1 boards (1 thread, 6 jobs per thread)

Ok, this time it starts just one thread.

Quoted 4 lines
Quoted 4 lines

Cloning repo for thread 0
01: Prepare v2015.01-rc4
avr32: + grasshopper
0 1 0 /1 grasshopper

Yep, it builds fine (besides the warning) ...

Quoted 11 lines
Quoted 11 lines

./tools/buildman/buildman -b buildtest -o /tmp/grasshopper -v grasshopper 14.11s user 2.69s system 183% cpu 9.171 total andreas at andreas-pc % ./tools/buildman/buildman -b buildtest -o /tmp/grasshopper -v -lsed grasshopper
boards.cfg is up to date. Nothing to do.
Summary of 1 commit for 1 boards (1 thread, 6 jobs per thread) 01: Prepare v2015.01-rc4
avr32: + grasshopper
w+(grasshopper) ../tools/kwbimage.c: In function ?kwbimage_set_header?:
w+(grasshopper) ../tools/kwbimage.c:803:8: warning: ?headersz? may be used uninitialized in this function [-Wmaybe-uninitialized]

Quoted 5 lines

Ok, the warning is about kwbimage.c. I know this warning and it will be fixed soon.

So there must be something wrong when it builds more than one board at a time. I guess it has something to do with the threads.

Unless I am much-mistaken this is a Kbuild/Makefile problem rather than anything to do with buildman. You can use -T to control the number of threads.

Quoted 7 lines
Quoted 7 lines
Quoted 6 lines

buildman complains about missing linker script for most boards which is an error when building all avr32 boards. While it detects the correct warning for still not fixed kwbimage.c maybe-uninitialized when building just the single board which had an error before. Both builds are based on v2015.01-rc4 and built in different locations.

Quoted 5 lines
Quoted 2 lines

Sorry for not getting back sooner - twice I read your email and tried to understand what is going on.

Sorry for being not clear with my error description. I hope the additional thoughts may help.

Yes I understand now.

Quoted 4 lines

This happens on current Debian stable (which has python 2.7.3-4+deb7u1) but not with Debian testing (which has python 2.7.8-2) nor with my MAC box (which has Python 2.7.9, thanks to macports).

I'm copying Masahiro, as I recall he fixed a problem something like this recently.

Regards,
Simon