On Sat, May 25, 2019 at 10:45:48AM -0500, [email protected] wrote:
> >Synopsis: makeinfo dumps core on amdref.info when outputting docbook
> >Category: user
> >Environment:
> ***also tested on 6.5-STABLE, same problem occurs there***
> System : OpenBSD 6.4
> Details : OpenBSD 6.4 (GENERIC) #6: Sat Jan 26 19:51:53 CET 2019
>
> [email protected]:/usr/src/sys/arch/amd64/compile/GENERIC
>
> Architecture: OpenBSD.amd64
> Machine : amd64
> >Description:
> When using makeinfo(1) to convert a Texinfo file to Docbook, instead of
> performing the conversion, makeinfo dumps core instead.
> Error shown here with debugger attached:
>
> (gdb) run
> Starting program: /usr/bin/makeinfo -v --force --docbook amdref.texinfo
> (no debugging symbols found)
> makeinfo (GNU texinfo) 4.8
> Making XML file `/home/athompso/amdref.xml' from `amdref.texinfo'.
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x000010db1bc010eb in cm_no_op () from /usr/bin/makeinfo
> Current language: auto; currently minimal
>
> >How-To-Repeat:
> Run "makeinfo --docbook" on amdref.texinfo from
> /usr/src/usr.sbin/amd/doc/amdref.texinfo.
> Crashes every time, pretty much instantly, leaving amdref.xml as a
> 0-byte file.
> >Fix:
> No known fix.
>
>
> dmesg:
> OpenBSD 6.4 (GENERIC) #6: Sat Jan 26 19:51:53 CET 2019
> [email protected]:/usr/src/sys/arch/amd64/compile/GENERIC
> real mem = 2080227328 (1983MB)
> avail mem = 2008084480 (1915MB)
> mpath0 at root
> scsibus0 at mpath0: 256 targets
> mainbus0 at root
> bios0 at mainbus0: SMBIOS rev. 2.8 @ 0xf68b0 (9 entries)
> bios0: vendor SeaBIOS version "2:1.10.2-58953eb7" date 04/01/2014
> bios0: OpenStack Foundation OpenStack Nova
> acpi0 at bios0: rev 0
> acpi0: sleep states S3 S4 S5
> acpi0: tables DSDT FACP SSDT APIC
> acpi0: wakeup devices
> acpitimer0 at acpi0: 3579545 Hz, 24 bits
> acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
> cpu0 at mainbus0: apid 0 (boot processor)
> cpu0: Intel Core Processor (Haswell, no TSX), 2400.38 MHz, 06-3c-01
> cpu0:
> FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,SSE3,PCLMUL,VMX,SSSE3,FMA3,CX16,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,HV,NXE,RDTSCP,LONG,LAHF,ABM,FSGSBASE,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,ARAT,XSAVEOPT,MELTDOWN
> cpu0: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB
> 64b/line 16-way L2 cache
> cpu0: ITLB 255 4KB entries direct-mapped, 255 4MB entries direct-mapped
> cpu0: DTLB 255 4KB entries direct-mapped, 255 4MB entries direct-mapped
> cpu0: smt 0, core 0, package 0
> mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges
> cpu0: apic clock running at 1000MHz
> ioapic0 at mainbus0: apid 0 pa 0xfec00000, version 11, 24 pins
> acpiprt0 at acpi0: bus 0 (PCI0)
> acpicpu0 at acpi0: C1(@1 halt!)
> "ACPI0006" at acpi0 not configured
> acpicmos0 at acpi0
> "PNP0A06" at acpi0 not configured
> "PNP0A06" at acpi0 not configured
> "PNP0A06" at acpi0 not configured
> pvbus0 at mainbus0: KVM
> pci0 at mainbus0 bus 0
> pchb0 at pci0 dev 0 function 0 "Intel 82441FX" rev 0x02
> pcib0 at pci0 dev 1 function 0 "Intel 82371SB ISA" rev 0x00
> pciide0 at pci0 dev 1 function 1 "Intel 82371SB IDE" rev 0x00: DMA, channel 0
> wired to compatibility, channel 1 wired to compatibility
> pciide0: channel 0 disabled (no drives)
> pciide0: channel 1 disabled (no drives)
> uhci0 at pci0 dev 1 function 2 "Intel 82371SB USB" rev 0x01: apic 0 int 11
> piixpm0 at pci0 dev 1 function 3 "Intel 82371AB Power" rev 0x03: apic 0 int 9
> iic0 at piixpm0
> vga1 at pci0 dev 2 function 0 "Cirrus Logic CL-GD5446" rev 0x00
> wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
> wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
> virtio0 at pci0 dev 3 function 0 "Qumranet Virtio Network" rev 0x00
> vio0 at virtio0: address fa:16:3e:b7:5f:8b
> virtio0: msix shared
> virtio1 at pci0 dev 4 function 0 "Qumranet Virtio SCSI" rev 0x00
> vioscsi0 at virtio1: qsize 128
> scsibus1 at vioscsi0: 255 targets
> sd0 at scsibus1 targ 0 lun 0: <QEMU, QEMU HARDDISK, 2.5+> SCSI3 0/direct fixed
> sd0: 10240MB, 512 bytes/sector, 20971520 sectors, thin
> sd1 at scsibus1 targ 0 lun 1: <QEMU, QEMU HARDDISK, 2.5+> SCSI3 0/direct
> fixed serial.QEMU_QEMU_HARDDISK_5795b502-4727-4738-b
> sd1: 11264MB, 512 bytes/sector, 23068672 sectors, thin
> virtio1: msix shared
> virtio2 at pci0 dev 5 function 0 "Qumranet Virtio Memory" rev 0x00
> viomb0 at virtio2
> virtio2: apic 0 int 10
> isa0 at pcib0
> isadma0 at isa0
> fdc0 at isa0 port 0x3f0/6 irq 6 drq 2
> com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
> com1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
> pckbc0 at isa0 port 0x60/5 irq 1 irq 12
> pckbd0 at pckbc0 (kbd slot)
> wskbd0 at pckbd0: console keyboard, using wsdisplay0
> pms0 at pckbc0 (aux slot)
> wsmouse0 at pms0 mux 0
> pcppi0 at isa0 port 0x61
> spkr0 at pcppi0
> usb0 at uhci0: USB revision 1.0
> uhub0 at usb0 configuration 1 interface 0 "Intel UHCI root hub" rev 1.00/1.00
> addr 1
> vmm0 at mainbus0: VMX/EPT (using slow L1TF mitigation)
> uhidev0 at uhub0 port 1 configuration 1 interface 0 "QEMU QEMU USB Tablet"
> rev 2.00/0.00 addr 2
> uhidev0: iclass 3/0
> ums0 at uhidev0: 3 buttons, Z dir
> wsmouse1 at ums0 mux 0
> vscsi0 at root
> scsibus2 at vscsi0: 256 targets
> softraid0 at root
> scsibus3 at softraid0: 256 targets
> root on sd0a (b0ee8ca88a9ae801.a) swap on sd0b dump on sd0b
> fd0 at fdc0 drive 1: density unknown
>
> usbdevs:
> Controller /dev/usb0:
> addr 01: 8086:0000 Intel, UHCI root hub
> full speed, self powered, config 1, rev 1.00
> driver: uhub0
> addr 02: 0627:0001 QEMU, QEMU USB Tablet
> full speed, power 100 mA, config 1, rev 0.00, iSerialNumber 42
> driver: uhidev0
>
Try this.
-Otto
Index: makeinfo/cmds.c
===================================================================
RCS file: /cvs/src/gnu/usr.bin/texinfo/makeinfo/cmds.c,v
retrieving revision 1.3
diff -u -p -r1.3 cmds.c
--- makeinfo/cmds.c 17 Jul 2006 16:12:36 -0000 1.3
+++ makeinfo/cmds.c 25 May 2019 19:52:47 -0000
@@ -624,6 +624,7 @@ cm_comment (void)
/* Use insert for HTML, and XML when indentation is enabled.
For Docbook, use add_char. */
if (xml && xml_indentation_increment > 0
+ && output_paragraph_offset > 0
&& output_paragraph[output_paragraph_offset-1] != '\n')
insert ('\n');
Index: makeinfo/xml.c
===================================================================
RCS file: /cvs/src/gnu/usr.bin/texinfo/makeinfo/xml.c,v
retrieving revision 1.2
diff -u -p -r1.2 xml.c
--- makeinfo/xml.c 8 Oct 2008 07:09:37 -0000 1.2
+++ makeinfo/xml.c 25 May 2019 19:52:47 -0000
@@ -1845,7 +1845,8 @@ xml_begin_index (void)
if (xml_index_titles)
{
/* Remove the final > */
- output_paragraph_offset--;
+ if (output_paragraph_offset)
+ output_paragraph_offset--;
/* and put ID="node-name"><TITLE>Title</TITLE> */
insert_string (xml_index_titles->title);
free (xml_index_titles->title);