Project

General

Profile

Bug #5112

osmo-gsm-manuals: build verification is broken

Added by fixeria 6 months ago. Updated 6 months ago.

Status:
Resolved
Priority:
High
Assignee:
Target version:
-
Start date:
04/10/2021
Due date:
% Done:

100%

Spec Reference:

Description

Today I submitted a set of patches for osmo-gsm-manuals:

https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23687 TRXD: generalze description of the 'RFU' ('PAD') field
https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23688 TRXD: clarify modulation specific length of Soft-/Hard-bits
https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/22867 TRXD: add documentation for TRXDv2 protocol

and all of them did not pass the build verification. lynxis also faced this problem with his:

https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23393 common/chapters: extend gb/ns2 chapters

The build logs contain a very cryptic failure reason:

https://jenkins.osmocom.org/jenkins/job/gerrit-osmo-gsm-manuals/559/a1=default,a2=default,a3=default,a4=default,label=osmocom-gerrit-debian9/console

# Do print the WARNING output but return error if any was found
# (grep -v would omit the WARNING output from the log).
asciidoc: WARNING: mgcp_extension_osmux.adoc: line 2: section title out of sequence: expected level 1, got level 2
../build/Makefile.asciidoc.inc:90: recipe for target 'test-usermanual.check' failed
make[3]: Leaving directory '/build/tests'
make[3]: *** [test-usermanual.check] Error 1
../build/Makefile.asciidoc.inc:80: recipe for target 'check' failed
osmo-gsm-manuals-order.patch osmo-gsm-manuals-order.patch 2.71 KB fixeria, 04/10/2021 02:20 AM

Related issues

Blocks OsmoBTS - Feature #4941: VAMOS support in OsmoBTSStalled01/12/2021

Associated revisions

Revision a137f4a4 (diff)
Added by fixeria 6 months ago

fix tests/Makefile.am: exclude file 'mgcp_extension_osmux.adoc'

This file is included by 'osmux.adoc', so we end up including it
twice in 'test-usermanual.adoc'. This makes xsltproc complain:

/build/tests/test-usermanual.xml:643: element section:
validity error : ID mgcp-extension-osmux already defined

and sometimes causes sporadic build failures. Exclude it.

Change-Id: I00efafc822f46126b59d20e86bb07ec991768c28
Related: OS#5112

History

#1 Updated by fixeria 6 months ago

#2 Updated by fixeria 6 months ago

  • Status changed from New to In Progress

I forgot to mention that job 'master-osmo-gsm-manuals', that is executed every day, is doing fine and shows no errors. Neither I can reproduce the failure in my local containerized setup: building osmo-gsm-manuals in image 'debian-stretch-jenkins' works fine.

#3 Updated by fixeria 6 months ago

Good news: I managed to reproduce the problem locally, and it seems to be related to this part:

osmo-gsm-manuals$ cat tests/Makefile.am
...

# Generate adoc file that includes all chapters (OS#4183: glossary.adoc must be the last file)
ASCIIDOC = test-usermanual.adoc
ASCIIDOC_DEPS =
COMMON_CHAPTERS = $(shell find $(OSMO_GSM_MANUALS_DIR)/common/chapters -name '*.adoc' | grep -v glossary\.adoc) \
                  $(OSMO_GSM_MANUALS_DIR)/common/chapters/glossary.adoc
$(ASCIIDOC): $(COMMON_CHAPTERS)
        echo ":gfdl-enabled:" > $@
        echo ":program-name: Test" >> $@
        echo "" >> $@
        echo "Osmo GSM Manuals Shared Content Test" >> $@
        echo "====================================" >> $@
        echo "Oliver Smith <osmith@sysmocom.de>" >> $@
        echo "" >> $@
        for chapter in $(COMMON_CHAPTERS); do \
                echo "include::$${chapter}[]" >> $@; \
        done;
CLEAN_FILES = $(ASCIIDOC)

...

Here file 'test-usermanual.adoc' is generated dynamically, basically by including all \*.asciidoc files. Note that the list of includes is generated using 'find' command, which sometimes may by in different order. This can be seen in the logs:

Successful build

for chapter in ../common/chapters/preface.adoc ../common/chapters/osmux/osmux.adoc ../common/chapters/osmux/mgcp_extension_osmux.adoc ../common/chapters/bibliography.adoc ../common/chapters/cs7-config.adoc ../common/chapters/gfdl.adoc ../common/chapters/control_if.adoc ../common/chapters/sigtran-osmocom.adoc ../common/chapters/abis.adoc ../common/chapters/counters-overview.adoc ../common/chapters/trx_if.adoc ../common/chapters/mncc.adoc ../common/chapters/gb-pool.adoc ../common/chapters/gb.adoc ../common/chapters/oap.adoc ../common/chapters/cell-broadcast.adoc ../common/chapters/spectrum.adoc ../common/chapters/sigtran.adoc ../common/chapters/logging.adoc ../common/chapters/vty_cpu_sched.adoc ../common/chapters/port_numbers.adoc ../common/chapters/smpp.adoc ../common/chapters/gsup.adoc ../common/chapters/vty.adoc ../common/chapters/rf.adoc ../common/chapters/gb-variants.adoc ../common/chapters/glossary.adoc; do \

Failed build

for chapter in ../common/chapters/osmux/mgcp_extension_osmux.adoc ../common/chapters/osmux/osmux.adoc ../common/chapters/abis.adoc ../common/chapters/bibliography.adoc ../common/chapters/cell-broadcast.adoc ../common/chapters/control_if.adoc ../common/chapters/counters-overview.adoc ../common/chapters/cs7-config.adoc ../common/chapters/gb-pool.adoc ../common/chapters/gb-variants.adoc ../common/chapters/gb.adoc ../common/chapters/gfdl.adoc ../common/chapters/gsup.adoc ../common/chapters/logging.adoc ../common/chapters/mncc.adoc ../common/chapters/oap.adoc ../common/chapters/port_numbers.adoc ../common/chapters/preface.adoc ../common/chapters/rf.adoc ../common/chapters/sigtran-osmocom.adoc ../common/chapters/sigtran.adoc ../common/chapters/smpp.adoc ../common/chapters/spectrum.adoc ../common/chapters/trx_if.adoc ../common/chapters/vty.adoc ../common/chapters/vty_cpu_sched.adoc ../common/chapters/glossary.adoc; do \

I tried to re-create the same order of includes (see attached patch), and gave it a run in my setup. Now it fails.

#4 Updated by fixeria 6 months ago

  • Status changed from In Progress to Feedback
  • % Done changed from 30 to 100

Apparently, asciidoc is not happy about 'mgcp_extension_osmux.adoc' being included before 'osmux.adoc'. The later actually includes the former, so we need to make sure to exclude 'mgcp_extension_osmux.adoc' from the search candidates. Here we go:

https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23693 fix tests/Makefile.am: exclude file 'mgcp_extension_osmux.adoc'

This also fixes the following errors (somehow `make check` ignores them):

Build the book set list...
xsltproc -o doclist.txt --xinclude --xincludestyle doclist.xsl /build/tests/test-usermanual.xml
/build/tests/test-usermanual.xml:643: element section: validity error : ID mgcp-extension-osmux already defined
<section id="mgcp-extension-osmux">
                                  ^
Build the listings...
xsltproc -o listings.xml --xinclude --xincludestyle --param current.dir '/build/tests' /usr/share/dblatex/xsl/common/mklistings.xsl /build/tests/test-usermanual.xml
/build/tests/test-usermanual.xml:643: element section: validity error : ID mgcp-extension-osmux already defined
<section id="mgcp-extension-osmux">
                                  ^
xsltproc -o test-usermanual.rtex --xinclude --xincludestyle --param current.dir '/build/tests' --param listings.xml '/tmp/tmpjd3JQ2/listings.xml' /tmp/tmpjd3JQ2/custom.xsl /build/tests/test-usermanual.xml
/build/tests/test-usermanual.xml:643: element section: validity error : ID mgcp-extension-osmux already defined
<section id="mgcp-extension-osmux">
                                  ^

#5 Updated by fixeria 6 months ago

  • Status changed from Feedback to Resolved

Merged.

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)