On Fri, Apr 12, 2013 at 10:30:42PM +0100, Richard Purdie wrote:
> On Fri, 2013-04-12 at 23:10 +0200, Martin Jansa wrote:
> > On Fri, Apr 12, 2013 at 09:16:51PM +0100, Paul Eggleton wrote:
> > > Fix the fairly long-standing problem of treating a newer bblayers.conf
> > > in the same manner as an older one (reporting that it had been updated
> > > even if nothing was done). The recent work to do a reparse without
> > > having to manually re-run bitbake turned this from an annoyance into an
> > > endless loop, so it had to be fixed.
> > 
> > Is this endless loop, bitbake hanging forever while parsing or was it
> > showing something or failing soon with endless loop detected by python?
> 
> You'd see nothing at all, you'd run "bitbake X" and it would just sit
> there indefinitely in a loop.
> 
> It could be triggered by including meta-yocto but not setting
> DISTRO=poky* in a build dir where DISTRO=poky* has previously been used.

OK, so it's different than hangs I'm seeing here, because I'm still seeing them 
with latest oe-core

$ . ./oe-init-bitbake-build-env && bitbake my-image
Altered environment for machine@distro development (this is from 
oe-init-bitbake-build-env)
# and nothing else is shown after that

ps auxf (shortened paths and ascii tree)

bitbake  17625  0.0  0.0   4396   612 pts/18   S+   18:31   0:00  \_ /bin/sh -c 
. ./oe-init-bitbake-build-env && bitbake  my-image
bitbake  17626  0.0  0.0   4396   700 pts/18   S+   18:31   0:00     \_ /bin/sh 
/OE/build/oe-core/scripts/bitbake my-image
bitbake  17656  0.2  1.0 219356 168120 pts/18  S+   18:31   0:02        \_ 
python /OE/build/bitbake/bin/bitbake my-image
bitbake  18504  0.0  1.0 289044 166556 pts/18  Sl+  18:31   0:00           \_ 
python /OE/build/bitbake/bin/bitbake my-image

Not sure if there is better way to see what's going on in those python 
processes, here is strace:

# strace -p 17656
Process 17656 attached
wait4(18504, 

# strace -p 18504
Process 18504 attached
recvfrom(12, 

Hitting Ctrl+C with strace still running:
# strace -p 17656
Process 17656 attached
wait4(18504, 0x7fffd2abdf80, 0, NULL)   = ? ERESTARTSYS (To be restarted if 
SA_RESTART is set)
--- SIGINT {si_signo=SIGINT, si_code=SI_KERNEL, si_value={int=12337, 
ptr=0x3031}} ---
wait4(18504,

Process 18504 attached
recvfrom(12, 0xb773684, 8192, 0, 0, 0)  = ? ERESTARTSYS (To be restarted if 
SA_RESTART is set)
--- SIGINT {si_signo=SIGINT, si_code=SI_KERNEL, si_value={int=12337, 
ptr=0x3031}} ---
rt_sigreturn()                          = -1 EINTR (Interrupted system call)
futex(0xb16e5a0, FUTEX_WAIT_PRIVATE, 0, NULL

More Ctrl+C only repeats it in both processes but bitbake does not quit

One more python process is created and disowned by parent and becames child of 
init and dies later
bitbake  18524  0.0  1.0 289044 165128 ?       S    18:31   0:00 python 
/OE/build/bitbake/bin/bitbake my-image
but bitbake is still hanging until I send kill 18504 from another terminal

Process 18504:
futex(0xb16e5a0, FUTEX_WAIT_PRIVATE, 0, NULL) = ? ERESTARTSYS (To be restarted 
if SA_RESTART is set)
--- SIGINT {si_signo=SIGINT, si_code=SI_KERNEL, si_value={int=12337, 
ptr=0x3031}} ---
rt_sigreturn()                          = -1 EINTR (Interrupted system call)
futex(0xb16e5a0, FUTEX_WAIT_PRIVATE, 0, NULL) = ? ERESTARTSYS (To be restarted 
if SA_RESTART is set)
--- SIGTERM {si_signo=SIGTERM, si_code=SI_USER, si_pid=23837, si_uid=1026} ---
+++ killed by SIGTERM +++

Process 17656: (iirc you said that python-logging module is not safe with 
multiple processes and it looks like logging something)
# strace -p 17656
Process 17656 attached
wait4(18504, 0x7fffd2abdf80, 0, NULL)   = ? ERESTARTSYS (To be restarted if 
SA_RESTART is set)
--- SIGINT {si_signo=SIGINT, si_code=SI_KERNEL, si_value={int=12337, 
ptr=0x3031}} ---
wait4(18504, 0x7fffd2abdf80, 0, NULL)   = ? ERESTARTSYS (To be restarted if 
SA_RESTART is set)
--- SIGINT {si_signo=SIGINT, si_code=SI_KERNEL, si_value={int=12337, 
ptr=0x3031}} ---

read(4, "\200\2clogging\nLogRecord\nq\1)\201q\2}q\3(U"..., 554) = 554
select(5, [4], NULL, NULL, {0, 0})      = 1 (in [4], left {0, 0})
read(4, "\0\0\2\34", 4)                 = 4
read(4, "\200\2clogging\nLogRecord\nq\1)\201q\2}q\3(U"..., 540) = 540
select(5, [4], NULL, NULL, {0, 0})      = 1 (in [4], left {0, 0})
read(4, "\0\0\2&", 4)                   = 4
read(4, "\200\2clogging\nLogRecord\nq\1)\201q\2}q\3(U"..., 550) = 550
select(5, [4], NULL, NULL, {0, 0})      = 1 (in [4], left {0, 0})
read(4, "\0\0\2\32", 4)                 = 4
read(4, "\200\2clogging\nLogRecord\nq\1)\201q\2}q\3(U"..., 538) = 538
select(5, [4], NULL, NULL, {0, 0})      = 1 (in [4], left {0, 0})
read(4, "\0\0\2$", 4)                   = 4
read(4, "\200\2clogging\nLogRecord\nq\1)\201q\2}q\3(U"..., 548) = 548
select(5, [4], NULL, NULL, {0, 0})      = 1 (in [4], left {0, 0})
read(4, "\0\0\2!", 4)                   = 4
read(4, "\200\2clogging\nLogRecord\nq\1)\201q\2}q\3(U"..., 545) = 545
select(5, [4], NULL, NULL, {0, 0})      = 1 (in [4], left {0, 0})
read(4, "\0\0\2+", 4)                   = 4
read(4, "\200\2clogging\nLogRecord\nq\1)\201q\2}q\3(U"..., 555) = 555
select(5, [4], NULL, NULL, {0, 0})      = 1 (in [4], left {0, 0})
read(4, "\0\0\2)", 4)                   = 4
read(4, "\200\2clogging\nLogRecord\nq\1)\201q\2}q\3(U"..., 553) = 553
select(5, [4], NULL, NULL, {0, 0})      = 1 (in [4], left {0, 0})
read(4, "\0\0\0023", 4)                 = 4
read(4, "\200\2clogging\nLogRecord\nq\1)\201q\2}q\3(U"..., 563) = 563
select(5, [4], NULL, NULL, {0, 0})      = 1 (in [4], left {0, 0})
read(4, "\0\0\2#", 4)                   = 4
read(4, "\200\2clogging\nLogRecord\nq\1)\201q\2}q\3(U"..., 547) = 547
select(5, [4], NULL, NULL, {0, 0})      = 1 (in [4], left {0, 0})
read(4, "\0\0\2-", 4)                   = 4
read(4, "\200\2clogging\nLogRecord\nq\1)\201q\2}q\3(U"..., 557) = 557
select(5, [4], NULL, NULL, {0, 0})      = 1 (in [4], left {0, 0})
read(4, "\0\0\2\36", 4)                 = 4
read(4, "\200\2clogging\nLogRecord\nq\1)\201q\2}q\3(U"..., 542) = 542
select(5, [4], NULL, NULL, {0, 0})      = 1 (in [4], left {0, 0})
read(4, "\0\0\2(", 4)                   = 4
read(4, "\200\2clogging\nLogRecord\nq\1)\201q\2}q\3(U"..., 552) = 552
select(5, [4], NULL, NULL, {0, 0})      = 1 (in [4], left {0, 0})
read(4, "\0\0\2*", 4)                   = 4
read(4, "\200\2clogging\nLogRecord\nq\1)\201q\2}q\3(U"..., 554) = 554
select(5, [4], NULL, NULL, {0, 0})      = 1 (in [4], left {0, 0})
read(4, "\0\0\2$", 4)                   = 4
read(4, "\200\2clogging\nLogRecord\nq\1)\201q\2}q\3(U"..., 548) = 548
select(5, [4], NULL, NULL, {0, 0})      = 1 (in [4], left {0, 0})
read(4, "\0\0\2.", 4)                   = 4
read(4, "\200\2clogging\nLogRecord\nq\1)\201q\2}q\3(U"..., 558) = 558
select(5, [4], NULL, NULL, {0, 0})      = 1 (in [4], left {0, 0})
read(4, "\0\0\2\37", 4)                 = 4
read(4, "\200\2clogging\nLogRecord\nq\1)\201q\2}q\3(U"..., 543) = 543
select(5, [4], NULL, NULL, {0, 0})      = 1 (in [4], left {0, 0})
read(4, "\0\0\2\7", 4)                  = 4
read(4, "\200\2clogging\nLogRecord\nq\1)\201q\2}q\3(U"..., 519) = 519
select(5, [4], NULL, NULL, {0, 0})      = 1 (in [4], left {0, 0})
read(4, "\0\0\2\37", 4)                 = 4
read(4, "\200\2clogging\nLogRecord\nq\1)\201q\2}q\3(U"..., 543) = 543
select(5, [4], NULL, NULL, {0, 0})      = 1 (in [4], left {0, 0})
read(4, "\0\0\2\7", 4)                  = 4
read(4, "\200\2clogging\nLogRecord\nq\1)\201q\2}q\3(U"..., 519) = 519
select(5, [4], NULL, NULL, {0, 0})      = 1 (in [4], left {0, 0})
read(4, "\0\0\2\36", 4)                 = 4
read(4, "\0\0\2q", 4)                   = 4
read(4, "\200\2clogging\nLogRecord\nq\1)\201q\2}q\3(U"..., 625) = 625
select(5, [4], NULL, NULL, {0, 0})      = 1 (in [4], left {0, 0})
read(4, "\0\0\2R", 4)                   = 4
read(4, "\200\2clogging\nLogRecord\nq\1)\201q\2}q\3(U"..., 594) = 594
select(5, [4], NULL, NULL, {0, 0})      = 1 (in [4], left {0, 0})
read(4, "\0\0\2=", 4)                   = 4
read(4, "\200\2clogging\nLogRecord\nq\1)\201q\2}q\3(U"..., 573) = 573
select(5, [4], NULL, NULL, {0, 0})      = 1 (in [4], left {0, 0})
read(4, "\0\0\2r", 4)                   = 4
read(4, "\200\2clogging\nLogRecord\nq\1)\201q\2}q\3(U"..., 626) = 626
select(5, [4], NULL, NULL, {0, 0})      = 1 (in [4], left {0, 0})
read(4, "\0\0\2S", 4)                   = 4
read(4, "\200\2clogging\nLogRecord\nq\1)\201q\2}q\3(U"..., 595) = 595
select(5, [4], NULL, NULL, {0, 0})      = 1 (in [4], left {0, 0})
read(4, "\0\0\2>", 4)                   = 4
read(4, "\200\2clogging\nLogRecord\nq\1)\201q\2}q\3(U"..., 574) = 574
select(5, [4], NULL, NULL, {0, 0})      = 1 (in [4], left {0, 0})
read(4, "\0\0\2l", 4)                   = 4
read(4, "\200\2clogging\nLogRecord\nq\1)\201q\2}q\3(U"..., 620) = 620
select(5, [4], NULL, NULL, {0, 0})      = 1 (in [4], left {0, 0})
read(4, "\0\0\2M", 4)                   = 4
read(4, "\200\2clogging\nLogRecord\nq\1)\201q\2}q\3(U"..., 589) = 589
select(5, [4], NULL, NULL, {0, 0})      = 1 (in [4], left {0, 0})
read(4, "\0\0\0028", 4)                 = 4
read(4, "\200\2clogging\nLogRecord\nq\1)\201q\2}q\3(U"..., 568) = 568
select(5, [4], NULL, NULL, {0, 0})      = 0 (Timeout)
close(6)                                = 0
close(4)                                = 0
rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x2aaaaaf27cb0}, {SIG_IGN, [], 
SA_RESTORER, 0x2aaaaaf27cb0}, 8) = 0
rt_sigaction(SIGTERM, {SIG_DFL, [], SA_RESTORER, 0x2aaaaaf27cb0}, {0x45190f, 
[], SA_RESTORER, 0x2aaaaaf27cb0}, 8) = 0
close(7)                                = 0
munmap(0x2aaaaac18000, 32)              = 0
munmap(0x2aaaaac10000, 32)              = 0
munmap(0x2aaaaab78000, 32)              = 0
munmap(0x2aaaaab70000, 32)              = 0
munmap(0x2aaaaab80000, 32)              = 0
munmap(0x2aaaaab68000, 32)              = 0
close(5)                                = 0
munmap(0x2aaaaab58000, 32)              = 0
munmap(0x2aaaaab60000, 32)              = 0
close(8)                                = 0
close(9)                                = 0
exit_group(1)                           = ?
+++ exited with 1 +++


I'll put this in bug report later, but if you see what other information could 
be useful,
I'll add it next time I see bitbake hanging like this (it doesn't happen every 
time, probably more
with machine under higher load).

Happens in my gentoo chroot with
Python 2.7.3 (default, Mar 19 2013, 08:59:58) 
[GCC 4.7.2] on linux2

as well as in ubuntu-12.10 chroot with
Python 2.7.3 (default, Sep 26 2012, 21:51:14) 
[GCC 4.7.2] on linux2

both using latest oe-core+bitbake.
-- 
Martin 'JaMa' Jansa     jabber: [email protected]

Attachment: signature.asc
Description: Digital signature

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Reply via email to