Bug 1158425 - package install fails with infinite loop
Summary: package install fails with infinite loop
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: R
Version: 21
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Tom "spot" Callaway
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-10-29 11:08 UTC by Marcus Moeller
Modified: 2014-12-17 04:47 UTC (History)
2 users (show)

Fixed In Version: rkward-0.6.2-1.fc21
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-11-13 18:10:05 UTC


Attachments (Terms of Use)
log of CRAN installing tcltk2 and RandomFields on fresh f21 x86_64 system (38.87 KB, text/plain)
2014-11-05 16:13 UTC, Tom "spot" Callaway
no flags Details

Description Marcus Moeller 2014-10-29 11:08:02 UTC
Description of problem:
I am trying to install geoR using:

/usr/bin/R --no-save --no-restore  <<<'install.packages("geoR", repos="http://cran.ch.r-project.org", dependencies=TRUE)'

which fails like:
...
error reading package index file /usr/lib64/R/library/tcltk2/tklibs/ttktheme_aquablue/pkgIndex.tcl: too many nested evaluations (infinite loop?)
error reading package index file /usr/lib64/R/library/tcltk2/tklibs/ttktheme_clearlooks/pkgIndex.tcl: too many nested evaluations (infinite loop?)
..

I guess it's related to the fact that there is a new tcl Version (8.6.2) and R needs to be rebuild against that version.

Comment 1 Tom "spot" Callaway 2014-10-29 20:21:35 UTC
It actually ended up being more nuanced than that. There are two issues at play here:

1) /usr/lib64/R/library/tcltk2 isn't part of core R. It's an addon, probably installed from CRAN, by you at some point when tcl was at 8.5. Then, I'm guessing you updated to f21 and got tcl and tk updated to 8.6, but R doesn't track dependencies on addons, hence, your oddity.

Upstream R advises that all addons should be rebuilt everytime anything they depend on changes. Including R. But there's not a good way to tell you that. :/

2) When I went to reproduce this issue, I hit an issue where my /usr/lib64/R/etc/Makeconf had hardcoded tcl8.5 and tk8.5 references in TCLTK_LIBS. This happened because I had /usr/lib64/R/etc/Makeconf marked as %config(noreplace). The idea here is that Makeconf is a config file that users can customize for their environment, and with "%config(noreplace)", when R updates, it leaves /usr/lib64/R/etc/Makeconf intact and puts the new file as /usr/lib64/R/etc/Makeconf.rpmnew.

Since this obviously causes issues when we need to update versioned libraries (I _think_ tcl and tk are the only possible culprits at the moment), I'm changing Makeconf to just be %config (this will backup the existing Makeconf file to Makeconf.rpmold and force the new one in). This ought to resolve any other tcl linking bugs.

When I applied that change locally and updated, I was able to successfully run your command on Fedora 21. An update is coming that fixes item 2.

Comment 2 Fedora Update System 2014-11-03 15:23:00 UTC
R-3.1.2-1.el5 has been submitted as an update for Fedora EPEL 5.
https://admin.fedoraproject.org/updates/R-3.1.2-1.el5

Comment 3 Fedora Update System 2014-11-03 15:23:08 UTC
rkward-0.6.1-10.fc20,rpy-2.3.10-3.fc20,R-3.1.2-1.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/rkward-0.6.1-10.fc20,rpy-2.3.10-3.fc20,R-3.1.2-1.fc20

Comment 4 Fedora Update System 2014-11-03 15:23:15 UTC
R-3.1.2-1.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/R-3.1.2-1.el6

Comment 5 Fedora Update System 2014-11-03 15:24:27 UTC
rkward-0.6.2-1.fc21,rpy-2.4.4-1.fc21,R-3.1.2-1.fc21 has been submitted as an update for Fedora 21.
https://admin.fedoraproject.org/updates/rkward-0.6.2-1.fc21,rpy-2.4.4-1.fc21,R-3.1.2-1.fc21

Comment 6 Fedora Update System 2014-11-03 15:25:38 UTC
rkward-0.6.1-10.fc19,rpy-2.3.10-3.fc19,R-3.1.2-1.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/rkward-0.6.1-10.fc19,rpy-2.3.10-3.fc19,R-3.1.2-1.fc19

Comment 7 Fedora Update System 2014-11-03 15:25:45 UTC
R-3.1.2-1.el7 has been submitted as an update for Fedora EPEL 7.
https://admin.fedoraproject.org/updates/R-3.1.2-1.el7

Comment 8 Fedora Update System 2014-11-03 19:39:42 UTC
Package rkward-0.6.2-1.fc21, rpy-2.4.4-1.fc21, R-3.1.2-1.fc21:
* should fix your issue,
* was pushed to the Fedora 21 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing rkward-0.6.2-1.fc21 rpy-2.4.4-1.fc21 R-3.1.2-1.fc21'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2014-14190/rkward-0.6.2-1.fc21,rpy-2.4.4-1.fc21,R-3.1.2-1.fc21
then log in and leave karma (feedback).

Comment 9 Marcus Moeller 2014-11-05 13:14:21 UTC
I have checked /usr/lib64/R/etc/Makeconf and it refers to 8.6. I have then deleted /usr/lib64/R/library/tcltk2 and did a fresh installation of tcltk2 from cran. Afterwards I tried to install RandomFields from cran again, but it still results in the same error:

error reading package index file /usr/lib64/R/library/tcltk2/tklibs/ttktheme_aquablue/pkgIndex.tcl: too many nested evaluations (infinite loop?)
error reading package index file /usr/lib64/R/library/tcltk2/tklibs/ttktheme_clearlooks/pkgIndex.tcl: too many nested evaluations (infinite loop?)

R-core-3.1.2-1.fc21.x86_64

Comment 10 Tom "spot" Callaway 2014-11-05 16:13:58 UTC
Created attachment 954101 [details]
log of CRAN installing tcltk2 and RandomFields on fresh f21 x86_64 system

Comment 11 Tom "spot" Callaway 2014-11-05 16:15:22 UTC
(In reply to Tom "spot" Callaway from comment #10)
> Created attachment 954101 [details]
> log of CRAN installing tcltk2 and RandomFields on fresh f21 x86_64 system

I can't reproduce your failure. I'm not sure what to try here.

Comment 12 Marcus Moeller 2014-11-05 16:22:16 UTC
Thanks for testing. I am going to re-check with a clean new install.

Comment 13 Fedora Update System 2014-11-13 18:10:05 UTC
rkward-0.6.1-10.fc20, rpy-2.3.10-3.fc20, R-3.1.2-1.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 14 Fedora Update System 2014-11-13 18:15:41 UTC
rkward-0.6.1-10.fc19, rpy-2.3.10-3.fc19, R-3.1.2-1.fc19 has been pushed to the Fedora 19 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 15 Marcus Moeller 2014-11-18 10:11:27 UTC
I was able to reproduce the problem. It only occurs when no X server is running (which is always the case here, as we do bootstrapping in chroot).

It's easy to reproduce by stopping the X server and running:

LANG=C /usr/bin/R --no-save --no-restore <<< 'install.packages("RandomFields", repos="http://cran.ch.r-project.org", dependencies=TRUE)'

from tty. As it's possibly related to the package itself, I contacted the original author. Thanks for taking care.

Comment 16 Fedora Update System 2014-11-24 21:18:25 UTC
R-3.1.2-1.el6 has been pushed to the Fedora EPEL 6 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 17 Fedora Update System 2014-11-24 21:20:56 UTC
R-3.1.2-1.el7 has been pushed to the Fedora EPEL 7 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 18 Fedora Update System 2014-11-24 21:21:17 UTC
R-3.1.2-1.el5 has been pushed to the Fedora EPEL 5 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 19 Fedora Update System 2014-12-17 04:47:28 UTC
rkward-0.6.2-1.fc21, rpy-2.4.4-1.fc21, R-3.1.2-1.fc21 has been pushed to the Fedora 21 stable repository.  If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.