Subject: [nfsv4] Hang when trying to process rfc8881 converted to an I-D

From: "Noveck, David" <[email-masked]>
Date: Tue, 18 Aug 2020 15:34:35 +0000

I’m trying to use xml2rfc to process an I-D essentially duplicating the contents of rfc8881.xml.   The goal is to have a starting point for the working group to enable work on an rfc5661bis.  So far, it seems that xml2rfc always hangs/times out/aborts when I try this ☹

I’m using Jean’s instructions (originally directed to another purpose) on how to do this but they don’t seem to work:

  *   Remove number="8881" from the <rfc> element.
  *   Remove the <seriesInfo> element
In fairness to Jean, let me note that this suggestion were made before a big set of last-minute changes were made to the .xml file just before actual rfc publication.   I’m pretty sure these happened after author sign-off.  These include new v3 elements, that, as far as I can determine, have never been documented: <toc>, <boilerplate>, <copyright>.
I think we need to get this resolved as soon as possible.  Some possibilities:

  *   Debug xml2rfc so it handles a file prepared using Jean’s approach.   I can provide rfc8881asID.xml if that would be helpful in debugging this.
  *   Provide updated instructions on how to convert an RFC to a corresponding I-D.   I’ve tried deleting the <toc> element, deleting the entire <boilerplate> element but so far no luck ☹
  *   Provide an .xml that includes all the substantive changes made during the process of preparing the RFC for publication, but none of the ones that happened after the authors signed off.  I may be naïve, but I feel it is worth trying Jean’s procedure on that .xml file.

---

From: Henrik Levkowetz <[email-masked]>
Date: Tue, 18 Aug 2020 19:41:44 +0200

Hi David,

On 2020-08-18 17:34, Noveck, David wrote:
> I’m trying to use xml2rfc to process an I-D essentially duplicating
> the contents of rfc8881.xml.   The goal is to have a starting point
> for the working group to enable work on an rfc5661bis.  So far, it
> seems that xml2rfc always hangs/times out/aborts when I try this ☹

Yes, the online service at xml2rfc.ietf.org takes about 13 minutes to
process the 2.4 Mbytes xml file, which stretches far beyond the web
server timeout.  It's an old machine.  Unfortunately, I think this
document is too large to process with the online service as it currently
exists.

Processing the original rfc8881.xml on my desktop, I get a processing
time of 1m 15s.

> I’m using Jean’s instructions (originally directed to another
> purpose) on how to do this but they don’t seem to work:
> 

Yup, those are good instructions.

After doing so, the processing time on my desktop is slightly under 1m.

Additionally, in order to make it easier to work with the XML, I would
recommend doing 'unprep' on the xml, in order to undo the full expansion
of all attributes etc. which is done before publication.  Doing so will
give you less verbose XML.

On the command-line, that would be:

   $ xml2rfc --unprep rfc8881b.xml 
    Unprepping rfc8881b.xml
    Created file rfc8881b.plain.xml

Renaming that to draft-ietf-nfsv4-rfc5661bis.xml, I got this on my
desktop machine:

   $ time xml2rfc draft-ietf-nfsv4-rfc5661bis.xml 
   /home/henrik/src/xml2rfc/trunk/cli/draft-ietf-nfsv4-rfc5661bis.xml(36): Warning: The document date (2020-08-01) is more than 3 days away from today's date
    Created file draft-ietf-nfsv4-rfc5661bis.txt

   real	0m45.022s
   user	0m44.020s
   sys	0m0.210s

Best regards,

	Henrik

> In fairness to Jean, let me note that this suggestion were made
> before a big set of last-minute changes were made to the .xml file
> just before actual rfc publication.   I’m pretty sure these happened
> after author sign-off.  These include new v3 elements, that, as far
> as I can determine, have never been documented: <toc>, <boilerplate>,
> <copyright>.

> *   Debug xml2rfc so it handles a file prepared using Jean’s
> approach.   I can provide rfc8881asID.xml if that would be helpful in
> debugging this.

> *   Provide updated instructions on how to convert an RFC to a
> corresponding I-D.   I’ve tried deleting the <toc> element, deleting
> the entire <boilerplate> element but so far no luck ☹

> *   Provide an .xml that includes all the substantive changes made
> during the process of preparing the RFC for publication, but none of
> the ones that happened after the authors signed off.  I may be naïve,
> but I feel it is worth trying Jean’s procedure on that .xml file.

---

From: Jean Mahoney <[email-masked]>
Date: Tue, 18 Aug 2020 13:14:42 -0500

Thanks, Henrik!

Some comments inline --

> Processing the original rfc8881.xml on my desktop, I get a processing

[JM] For anyone who wants to use xml2rfc on their own machine, the 
download instructions are here:

https://pypi.org/project/xml2rfc/

>      Created file rfc8881b.plain.xml

[JM]  The non-prepped file is also available here:

https://www.rfc-editor.org/in-notes/prerelease/rfc8881.notprepped.xml

>      Created file draft-ietf-nfsv4-rfc5661bis.txt

[JM] There are some other tweaks to make to the <rfc> element to create 
a bis I-D (not necessary to produce output, but to ensure that the 
header contains correct info):

https://www.rfc-editor.org/materials/FAQ-xml2rfcv3.html#name-how-do-i-use-the-rfc-elemen

>> as I can determine, have never been documented: <toc>, <boilerplate>,

[JM] Before publication, a preptool is used to pull all external content 
into the final prepped file so that the publication file does not have 
external dependencies.  This introduces XML elements like <toc> and 
<boilerplate> and the copyright text.

RFC 7991 covers the v3 vocabulary, but there have been some minor 
updates. The latest information can be found here:

    https://xml2rfc.tools.ietf.org/xml2rfc-doc.html

Best regards,

Jean

---

From: "Noveck, David" <[email-masked]>
Date: Tue, 18 Aug 2020 18:40:28 +0000

> [JM] For anyone who wants to use xml2rfc on their own machine, the download instructions are here:
>

Wasn't able to do that in my windows system.   I don't think the problem is in the instructions but in our I-T's fear (justified or not) of us downloading what appears to be random, potentially hostile code.

Running this over the web has been a good way of avoiding these worries but that doesn't work for me now.

-----Original Message-----
From: Jean Mahoney <[email-masked]> 
Sent: Tuesday, August 18, 2020 2:15 PM
To: Henrik Levkowetz <[email-masked]>; Noveck, David <[email-masked]>; [email-masked]
Cc: Chuck Lever <[email-masked]>; nfsv4-chairs <[email-masked]>; [email-masked]; [email-masked]
Subject: Re: [nfsv4] Hang when trying to process rfc8881 converted to an I-D

NetApp Security WARNING: This is an external email. Do not click links or open attachments unless you recognize the sender and know the content is safe.

Thanks, Henrik!

Some comments inline --

On 8/18/20 12:41 PM, Henrik Levkowetz wrote:
> document is too large to process with the online service as it 
> currently exists.
>

[JM] For anyone who wants to use xml2rfc on their own machine, the download instructions are here:

> recommend doing 'unprep' on the xml, in order to undo the full 
> expansion of all attributes etc. which is done before publication.  
> Doing so will give you less verbose XML.
>

>      Created file draft-ietf-nfsv4-rfc5661bis.txt

[JM] There are some other tweaks to make to the <rfc> element to create a bis I-D (not necessary to produce output, but to ensure that the header contains correct info):

>> as I can determine, have never been documented: <toc>, <boilerplate>, 

[JM] Before publication, a preptool is used to pull all external content into the final prepped file so that the publication file does not have external dependencies.  This introduces XML elements like <toc> and <boilerplate> and the copyright text.

RFC 7991 covers the v3 vocabulary, but there have been some minor updates. The latest information can be found here:

Best regards,

Jean

---

From: David Noveck <[email-masked]>
Date: Tue, 18 Aug 2020 15:20:32 -0400

I was able to process all the earlier .xml files (of similar size) without
difficulty.   For example, draft-ietf-nfsv4-rfc5661sesqui-msns-04 and still
can without local processing.    I still can.   If local process is now a
requirement, there should be a way I can simply download the application to
my windows laptop.  The current download procedure is (at least) an order
of magniTude more difficult than that.

On Tue, Aug 18, 2020 at 2:40 PM Noveck, David <[email-masked]>
wrote:

> Wasn't able to do that in my windows system.   I don't think the problem
> is in the instructions but in our I-T's fear (justified or not) of us
> downloading what appears to be random, potentially hostile code.
>
> Cc: Chuck Lever <[email-masked]>; nfsv4-chairs <
> [email-masked]>; [email-masked]; [email-masked]
> NetApp Security WARNING: This is an external email. Do not click links or
> open attachments unless you recognize the sender and know the content is
> safe.
>
>
>
>
> Thanks, Henrik!
>
> Some comments inline --
>
>  /home/henrik/src/xml2rfc/trunk/cli/draft-ietf-nfsv4-rfc5661bis.xml(36):
> Warning: The document date (2020-08-01) is more than 3 days away from
> today's date
> [JM] There are some other tweaks to make to the <rfc> element to create a
> bis I-D (not necessary to produce output, but to ensure that the header
> contains correct info):
>
>
> RFC 7991 covers the v3 vocabulary, but there have been some minor updates.
> The latest information can be found here:
>

---

From: Henrik Levkowetz <[email-masked]>
Date: Wed, 19 Aug 2020 13:03:10 +0200

Hi David,

On 2020-08-18 21:20, David Noveck wrote:
> can without local processing.

That one's 1.7 Mbytes compared to 2.4 Mbytes for rfc8881.xml.  At some point
you're going to hit the roof of what the server can deal with, and rfc8881
is 694 pages in size, so a bit special.

>    I still can.   If local process is now a

The app has a number of dependencies, and assuming one has Python 3.5 or
higher installed, running "pip install xml2rfc" is about as simple as it's
possible to make an installation.

Do you have Python 3.5 or higher installed?

If so, exactly what is the result if you run "pip install xml2rfc" ?

	Henrik

---

From: "Noveck, David" <[email-masked]>
Date: Wed, 19 Aug 2020 13:25:53 +0000

>       That one's 1.7 Mbytes compared to 2.4 Mbytes for rfc8881.xml.  At some point you're going to hit the roof of what the server can deal with, and rfc8881 is 694 pages in size, so a bit special.

That’s a nice way of saying “overweight”.   The current plan is to split the document into two halves: draft-ietf-nfsv4-mv1-discussion and draft-ietf-nfsv4-reference

            > requirement, there should be a way I can simply download the
            > application to my windows laptop.  The current download procedure is
            > (at least) an order of magniTude more difficult than that.

>       The app has a number of dependencies, and assuming one has Python 3.5 or higher installed, running "pip install xml2rfc" is about as simple as it's possible to make an installation.

That sounds fine.    I was referring to the link that Jean provided, which has a bunch of other installs.   I assume that that is outdated.   If so, the best/easiest procedure should be provided in the instructions.

> Do you have Python 3.5 or higher installed?

I did have the version for 64-bit windows installed.   I just guessed as I couldn’t find this info in the windows settings pages.   It turns out I guessed wrong and got something totally non-functional.   I just de-installed it.

>       If so, exactly what is the result if you run "pip install xml2rfc" ?

Will find out when I get the right one installed.

-----Original Message-----
From: Henrik Levkowetz <[email-masked]>
Sent: Wednesday, August 19, 2020 7:03 AM
To: David Noveck <[email-masked]>; Noveck, David <[email-masked]>
Cc: Jean Mahoney <[email-masked]>; [email-masked]; Chuck Lever <[email-masked]>; nfsv4-chairs <[email-masked]>; [email-masked]; [email-masked]
Subject: Re: [nfsv4] Hang when trying to process rfc8881 converted to an I-D

Hi David,

> can without local processing.

That one's 1.7 Mbytes compared to 2.4 Mbytes for rfc8881.xml.  At some point you're going to hit the roof of what the server can deal with, and rfc8881 is 694 pages in size, so a bit special.

> requirement, there should be a way I can simply download the
> application to my windows laptop.  The current download procedure is
> (at least) an order of magniTude more difficult than that.

The app has a number of dependencies, and assuming one has Python 3.5 or higher installed, running "pip install xml2rfc" is about as simple as it's possible to make an installation.

        Henrik

>
> On Tue, Aug 18, 2020 at 2:40 PM Noveck, David
> <[email-masked]<mailto:[email-masked]>>
> wrote:
>
>> Running this over the web has been a good way of avoiding these
>> worries but that doesn't work for me now.
>>
>> From: Jean Mahoney <[email-masked]<mailto:[email-masked]>>
>> To: Henrik Levkowetz <[email-masked]<mailto:[email-masked]>>; Noveck, David <
>> [email-masked]<mailto:[email-masked]>>; [email-masked]<mailto:[email-masked]>
>> Cc: Chuck Lever <[email-masked]<mailto:[email-masked]>>; nfsv4-chairs <
>> [email-masked]<mailto:[email-masked]>>; [email-masked]<mailto:[email-masked]>; [email-masked]<mailto:[email-masked]>
>> NetApp Security WARNING: This is an external email. Do not click
>> links or open attachments unless you recognize the sender and know
>> the content is safe.
>>
>>
>>
>>
>> Thanks, Henrik!
>>
>> Some comments inline --
>>
>> > Yes, the online service at xml2rfc.ietf.org takes about 13 minutes
>> > to process the 2.4 Mbytes xml file, which stretches far beyond the
>> > web server timeout.  It's an old machine.  Unfortunately, I think
>> > this document is too large to process with the online service as it
>> > currently exists.
>> >
>> > Processing the original rfc8881.xml on my desktop, I get a
>> > processing time of 1m 15s.
>>
>> > Additionally, in order to make it easier to work with the XML, I
>> > would recommend doing 'unprep' on the xml, in order to undo the
>> > full expansion of all attributes etc. which is done before publication.
>> [JM] There are some other tweaks to make to the <rfc> element to
>> create a bis I-D (not necessary to produce output, but to ensure that
>> the header contains correct info):
>>
>>
>> >> after author sign-off.  These include new v3 elements, that, as
>> >> far as I can determine, have never been documented: <toc>,
>> >> <boilerplate>, <copyright>.
>>
>> [JM] Before publication, a preptool is used to pull all external
>> content into the final prepped file so that the publication file does
>> not have external dependencies.  This introduces XML elements like
>> <toc> and <boilerplate> and the copyright text.
>>
>> >> during the process of preparing the RFC for publication, but none
>> >> of the ones that happened after the authors signed off.  I may be
>> >> naïve, but I feel it is worth trying Jean’s procedure on that .xml file.
>>
>

---

From: Henrik Levkowetz <[email-masked]>
Date: Wed, 19 Aug 2020 16:01:15 +0200

Hi David,

On 2020-08-19 15:25, Noveck, David wrote:
>> That one's 1.7 Mbytes compared to 2.4 Mbytes for rfc8881.xml. At
>> some point you're going to hit the roof of what the server can deal
>> with, and rfc8881 is 694 pages in size, so a bit special.
> 
> That’s a nice way of saying “overweight”. The current plan is to 
> split the document into two halves: draft-ietf-nfsv4-mv1-discussion 
> and draft-ietf-nfsv4-reference

Right, that sounds like a good idea.

> That sounds fine. I was referring to the link that Jean provided,
> which has a bunch of other installs. I assume that that is outdated.
> If so, the best/easiest procedure should be provided in the
> instructions.

The additional installs are only required if you need to produce PDF output.
The basic 'pip install xml2rfc' will give you all other functionality.

> I did have the version for 64-bit windows installed. I just guessed
> as I couldn’t find this info in the windows settings pages. It turns
> out I guessed wrong and got something totally non-functional. I just
> de-installed it.
> 

Ok, cool.

Best,

	Henrik

---

From: "Noveck, David" <[email-masked]>
Date: Wed, 19 Aug 2020 14:15:15 +0000

It all works now 😊

-----Original Message-----
From: Henrik Levkowetz <[email-masked]> 
Sent: Wednesday, August 19, 2020 10:01 AM
To: Noveck, David <[email-masked]>; David Noveck <[email-masked]>
Cc: Jean Mahoney <[email-masked]>; [email-masked]; Chuck Lever <[email-masked]>; nfsv4-chairs <[email-masked]>; [email-masked]; [email-masked]
Subject: Re: [nfsv4] Hang when trying to process rfc8881 converted to an I-D

Hi David,

On 2020-08-19 15:25, Noveck, David wrote:
>> That one's 1.7 Mbytes compared to 2.4 Mbytes for rfc8881.xml. At some 
>> point you're going to hit the roof of what the server can deal with, 
>> and rfc8881 is 694 pages in size, so a bit special.
> 
> That’s a nice way of saying “overweight”. The current plan is to split 
> the document into two halves: draft-ietf-nfsv4-mv1-discussion and 
> draft-ietf-nfsv4-reference

> I did have the version for 64-bit windows installed. I just guessed as 
> I couldn’t find this info in the windows settings pages. It turns out 
> I guessed wrong and got something totally non-functional. I just 
> de-installed it.
> 

Ok, cool.

Best,

	Henrik

> Cc: Jean Mahoney <[email-masked]>; [email-masked]; Chuck Lever 
> <[email-masked]>; nfsv4-chairs <[email-masked]>; 
> [email-masked]; [email-masked]
>>> is in the instructions but in our I-T's fear (justified or not) of 
>>> us downloading what appears to be random, potentially hostile code.
>>>
>>> To: Henrik Levkowetz 
>>> <[email-masked]<mailto:[email-masked]>>; Noveck, David < 
>>> Cc: Chuck Lever 
>>> <[email-masked]<mailto:[email-masked]>>; 
>>> nfsv4-chairs < [email-masked]<mailto:[email-masked]>>; 
>>> [email-masked]<mailto:[email-masked]>; 
>>> [email-masked]<mailto:[email-masked]>
>>> >> for the working group to enable work on an rfc5661bis.  So far, 
>>> >> it seems that xml2rfc always hangs/times out/aborts when I try 
>>> >> this ☹
>>> > this document is too large to process with the online service as 
>>> > it currently exists.
>>> >
>>> Warning: The document date (2020-08-01) is more than 3 days away 
>>> from today's date
>>> create a bis I-D (not necessary to produce output, but to ensure 
>>> that the header contains correct info):
>>>
>>>
>>> https://www.rfc-editor.org/materials/FAQ-xml2rfcv3.html#name-how-do-
>>> i
>>> -use-the-rfc-elemen
>>>
>>>
>>> >
>>> content into the final prepped file so that the publication file 
>>> does not have external dependencies.  This introduces XML elements 
>>> like <toc> and <boilerplate> and the copyright text.
>>>