Bug 1403897

Summary: ocamlfind takes forever to link certain libraries
Product: Red Hat Enterprise Linux 7 Reporter: Richard W.M. Jones <rjones>
Component: ocaml-findlibAssignee: Richard W.M. Jones <rjones>
Status: CLOSED ERRATA QA Contact: qe-baseos-tools-bugs
Severity: unspecified Docs Contact:
Priority: medium    
Version: 7.3CC: ameya, jsuchane, mtessun, tzheng
Target Milestone: rc   
Target Release: 7.4   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: ocaml-findlib-1.3.3-7.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-08-01 18:15:07 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1384533    
Bug Blocks: 910269    

Description Richard W.M. Jones 2016-12-12 15:15:01 UTC
Description of problem:

ocamlfind has a known bug in the version we ship on RHEL 7.3 where
it takes forever to link certain libraries.

This is fixed in the next upstream release in:

  https://gitlab.camlcity.org/gerd/lib-findlib/commit/d5838369130057d207a8140c426d0394989951f2

The release notes say:

   Fixed performance bug when many arguments need to be processed (Jérôme 
   Vouillon).

Version-Release number of selected component (if applicable):

ocaml-findlib-1.3.3-6.el7.x86_64

How reproducible:

100%

Steps to Reproduce:
1. Compile libguestfs >= 1.34 from source.

Actual results:

It will take an hour or so to compile in the mllib/ subdirectory.

Expected results:

It should run very quickly, in not more than a second.

Comment 2 Richard W.M. Jones 2016-12-31 22:03:55 UTC
*** Bug 1409309 has been marked as a duplicate of this bug. ***

Comment 4 Richard W.M. Jones 2017-02-07 09:02:29 UTC
I put fixed packages here for anyone else annoyed by this bug:

http://oirase.annexia.org/tmp/bz1403897/

Comment 5 Richard W.M. Jones 2017-02-07 11:26:54 UTC
Reproducer / verifier:

$ rm test.*
$ touch test.c
$ gcc -c test.c
$ ocamlfind mklib -o testlib test.o test.o test.o test.o test.o test.o test.o test.o test.o test.o test.o test.o test.o test.o test.o test.o test.o test.o test.o test.o test.o test.o test.o test.o test.o test.o test.o test.o test.o test.o test.o test.o test.o test.o test.o test.o test.o

If the bug exists, the final command will sit there for several minutes
using 100% CPU.

If the bug is fixed, the final command will run almost instantly.

Comment 8 errata-xmlrpc 2017-08-01 18:15:07 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2017:1926