Opened 4 years ago

Closed 4 years ago

#280 closed defect (duplicate)

mbuild fails when deleting source from Bound_obj and adding source of a different type

Reported by: Gary Dixon Owned by: Eric Swenson
Priority: major Milestone:
Component: Standard Library Version:
Keywords: Cc:

Description

The mbuild following mbuild script generates an analyze that contains two Bound_obj statements for the same bound segment.

Installation_directory: >udd>m>gd>w>eid;

Bound_obj:  bound_eis_tester_                     IN: tools;
 source:    et_instr_data.alm                       DELETE;
 source:    et_instr_data.cds                       ADD;

mbuild_analyze_ produces the analysis shown by the print request:

mbuild:  p

 Build_script:             eid.mb;

 Bound_obj:                bound_eis_tester_                 IN: tools  UPDATE;
     source:               et_instr_data.alm                  DELETE             compiler: alm;
     source:               et_instr_data.cds                  ADD                compiler: cds;

 Bound_obj:                bound_eis_tester_                 IN: tools  ADD;

After scan and read requests, the mbuild threads list the following items which appear to be correct.

mbuild:  p -ls all -all
scan_Tb:
  Seg(source):             et_instr_data.alm                 IN: tools.source  DELETE compiler: alm;
                                        /^  archive: bound_eis_tester_.s.archive  ^/
  Seg(source):             et_instr_data.cds                 IN: tools.source  ADD compiler: cds;
                                        /^  archive: bound_eis_tester_.s.archive  ^/
  Seg(Build_script):       eid.mb;
Seg_Tb:
  Seg(source):             et_instr_data.cds                 IN: tools.source  ADD compiler: cds;
                                        /^  archive: bound_eis_tester_.s.archive  ^/
  Seg(Build_script):       eid.mb;
  Seg(source):             et_instr_data.alm                 IN: tools.source  DELETE compiler: alm;
                                        /^  archive: bound_eis_tester_.s.archive  ^/

After the analyze request, the threads incorrectly include a second Bound_obj for bound_eis_tester_:

mbuild:  az

---------- clean -all


---------- progress


   COMPLETED   REQUESTS for Builds
   ---------   ----------------------------
      yes      set -desc   or    read -desc
      yes      scan      and/or  read
      yes      analyze
               compile
               archive_prep
               install_ec

mbuild:  p -ls all -all
mbuild_support_Tb:
  Build_script:            eid.mb;
BOUNDOBJ_Tb:
  BOUNDOBJ(Bound_obj):     bound_eis_tester_                 IN: tools  UPDATE;
                                        /^  source_archives: 1  ^/
                                        /^  sourceArchs_Tb: 1  ^/
  BOUNDOBJ(Bound_obj):     bound_eis_tester_                 IN: tools  ADD;
source_arch_Tb:
  source_arch:             bound_eis_tester_.s.archive       IN: tools.source  UPDATE;
                                        /^  BOUNDOBJ: bound_eis_tester_  ^/
                                        /^  inArch_Tb: 2  archs_Td  ^/
source_Tb:
  source:                  et_instr_data.alm                 IN: tools.source  DELETE compiler: alm;
                                        /^  archive: bound_eis_tester_.s.archive  BOUNDOBJ: bound_eis_tester_  ^/
                                        /^  inArch_Td  ^/
  source:                  et_instr_data.cds                 IN: tools.source  ADD compiler: cds;
                                        /^  archive: bound_eis_tester_.s.archive  BOUNDOBJ: bound_eis_tester_  COMPILE  ^/
                                        /^  inArch_Td  ^/
COMPILE_Tb:
  COMPILE(COMPILE):        et_instr_data.cds                 IN: tools.source;
                                        /^  source: et_instr_data.cds     ^/
scan_Tb:
  Seg(source):             et_instr_data.alm                 IN: tools.source  DELETE compiler: alm;
                                        /^  archive: bound_eis_tester_.s.archive  BOUNDOBJ: bound_eis_tester_  ^/
                                        /^  inArch_Td  ^/
  Seg(source):             et_instr_data.cds                 IN: tools.source  ADD compiler: cds;
                                        /^  archive: bound_eis_tester_.s.archive  BOUNDOBJ: bound_eis_tester_  COMPILE  ^/
                                        /^  inArch_Td  ^/
  Seg(Build_script):       eid.mb;
Seg_Tb:
  Seg(source):             et_instr_data.cds                 IN: tools.source  ADD compiler: cds;
                                        /^  archive: bound_eis_tester_.s.archive  BOUNDOBJ: bound_eis_tester_  COMPILE  ^/
                                        /^  inArch_Td  ^/
  Seg(Build_script):       eid.mb;
  Seg(source):             et_instr_data.alm                 IN: tools.source  DELETE compiler: alm;
                                        /^  archive: bound_eis_tester_.s.archive  BOUNDOBJ: bound_eis_tester_  ^/
                                        /^  inArch_Td  ^/
  Seg(source_arch):        bound_eis_tester_.s.archive       IN: tools.source  UPDATE;
                                        /^  BOUNDOBJ: bound_eis_tester_  ^/
                                        /^  inArch_Tb: 2  archs_Td  ^/

Change History (1)

comment:1 by Gary Dixon, 4 years ago

Resolution: duplicate
Status: newclosed

It appears the problem in this ticket was corrected by related mbuild changes made in MCR10117. With the latest version of mbuild (from MCR10126), I am no longer able to reproduce the symptoms shown above: there is no extra BOUNDOBJ structure created for bound_eis_tester_.

I am therefore marking this ticket as a duplicate of MCR10117.

Note: See TracTickets for help on using tickets.