portmaster vs openoffice.org-3 (dmake)
Andriy Gapon
avg at icyb.net.ua
Wed May 20 11:59:31 UTC 2009
on 20/05/2009 05:11 Doug Barton said the following:
> portmaster has no knowledge of dmake,
I am certain of this too :-)
> and it doesn't set make variables unless the user specifies them.
sure
> It does set a few enviornment variables, but nothing that should have an effect
> here. It would help to debug this if you could narrow it down a little.
I think it could be related to one of them because overwritten memory contains
strings that suspiciously resembling port names.
Below are some gdb details.
> Also, are you setting anything interesting in make.conf? Particularly the new
> make jobs safe stuff?
I haven't changed make.conf for several months, so there is nothing for multiple
jobs stuff and nothing that could affect (in my opinion) portmaster vs "pure" port
build.
Now the details.
#0 Search_table (tab=Variable "tab" is not available.
) at dag.c:195
195 if( hp->ht_hash == *phkey
(gdb) bt
#0 Search_table (tab=Variable "tab" is not available.
) at dag.c:195
#1 0x0000000000407c38 in Get_name (name=0x80090ea60 "CUR_DEPS", tab=0x51ce00,
define=1) at dag.c:159
#2 0x0000000000407f74 in Def_macro (name=0x80090ea60 "CUR_DEPS",
value=0x800913009
":Hermes-1.3.3_2:graphics/Hermes:aggregate-1.6_1:net-mgmt/aggregate:akode-plugins-mpc-2.0.2,1:audio/akode-plugins-mpc:antiword-0.37_1:textproc/antiword:arc-5.21o_1:archivers/arc:arj-3.10.22_1:archivers"...,
flags=40) at dag.c:336
#3 0x000000000040e73e in Parse_macro (buffer=Variable "buffer" is not available.
) at macparse.c:122
#4 0x000000000040bb96 in Parse (fil=0x0) at parse.c:158
#5 0x000000000040aec7 in ReadEnvironment () at sysintf.c:472
#6 0x0000000000410838 in Parse_rule_def (state=0x51db08) at rulparse.c:625
#7 0x000000000040bba4 in Parse (fil=0x800860e80) at parse.c:159
#8 0x0000000000409d5e in main (argc=Variable "argc" is not available.
) at dmake.c:388
(gdb) i reg
rax 0xb5 181
rbx 0x35703a657361422d 3850641888803635757
rcx 0xb5 181
...
(gdb) fr 2
#2 0x0000000000407f74 in Def_macro (name=0x80090ea60 "CUR_DEPS",
value=0x800913009
":Hermes-1.3.3_2:graphics/Hermes:aggregate-1.6_1:net-mgmt/aggregate:akode-plugins-mpc-2.0.2,1:audio/akode-plugins-mpc:antiword-0.37_1:textproc/antiword:arc-5.21o_1:archivers/arc:arj-3.10.22_1:archivers"...,
flags=40) at dag.c:336
336 hp = Get_name( name, Macs, TRUE );
(gdb) p Macs[181]
$1 = 0x80092e080
(gdb) p *Macs[181]
$2 = {ht_next = 0x80091ef80, ht_link = 0x0, ht_name = 0x80090e570 "SYSTEM_AGG",
ht_value = 0x8009120f4 "NO", ht_hash = 1443329181, ht_flag = 40, var = {mv_mask =
0, val = {mv_svar = 0x0, mv_cvar = 0x0,
mv_bvar = 0x0, mv_ivar = 0x0, ht = {ht_owner = 0x0, ht_root = 0x0}}}}
(gdb) p Macs[181]->ht_next
$3 = (struct hcell *) 0x80091ef80
(gdb) p *Macs[181]->ht_next
$4 = {ht_next = 0x35703a657361422d, ht_link = 0x61422d747865542d, ht_name =
0x322d6465636e616c <Address 0x322d6465636e616c out of bounds>,
ht_value = 0x743a315f302e302e <Address 0x743a315f302e302e out of bounds>,
ht_hash = 1886681189, ht_flag = 795045746, var = {mv_mask = 1412248944, val =
{mv_svar = 0x6465636e616c6142,
mv_cvar = 0x6465636e616c6142 <Address 0x6465636e616c6142 out of bounds>,
mv_bvar = 0x6465636e616c6142, mv_ivar = 0x6465636e616c6142, ht = {ht_owner =
0x6465636e616c6142,
ht_root = 0x747865542d35703a}}}}
(gdb) x/s Macs[181]->ht_next
0x80091ef80:
"-Base:p5-Text-Balanced-2.0.0_1:textproc/p5-Text-Balanced:p5-Text-Flowchart-1.00:textproc/p5-Text-Flowchart:p5-Text-Tabs+Wrap-2009.0305:textproc/p5-Text-Tabs+Wrap:p5-Time-Local-1.19.01:devel/p5-Time-Lo"...
(gdb) x/s (char*)Macs[181]->ht_next - 49024
0x800913000:
"CUR_DEPS=:Hermes-1.3.3_2:graphics/Hermes:aggregate-1.6_1:net-mgmt/aggregate:akode-plugins-mpc-2.0.2,1:audio/akode-plugins-mpc:antiword-0.37_1:textproc/antiword:arc-5.21o_1:archivers/arc:arj-3.10.22_1:"...
It's the same string, verified by x/50000s.
In any case, it must be a bug in dmake code.
--
Andriy Gapon
More information about the freebsd-ports
mailing list