Ticket #975 (closed defect: fixed)

Opened 13 years ago

Last modified 12 years ago

ttf-msttcorefonts-installer postinst fails when ubuntu-desktop is pulled in by debathena

Reported by: geofft Owned by: jdreed
Priority: normal Milestone: Upstream Utopia
Component: -- Keywords:
Cc: Fixed in version:
Upstream bug:

Description (last modified by jdreed) (diff)

The postinst fails as described below.

Change History

comment:1 Changed 13 years ago by jdreed

  • Status changed from new to closed
  • Resolution set to worksforme

WFM. Your machine is special.

comment:2 Changed 13 years ago by geofft

  • Status changed from closed to reopened
  • Resolution worksforme deleted

Pretty sure this is entirely different, but on SIPB's new Dell 790, we got

Setting up ttf-mscorefonts-installer (3.3ubuntu3) ...
user did not accept the mscorefonts-eula license
/var/lib/dpkg/info/ttf-mscorefonts-installer.postinst: 36: cannot create /usr/share/fonts/truetype/msttcorefonts/README: Directory nonexistent
dpkg: error processing ttf-mscorefonts-installer (--configure):
 subprocess installed post-installation script returned error exit status 2

comment:3 Changed 13 years ago by geofft

This was while installing workstation. I should note that aptitude retried and managed to recover (and successfully installed the fonts, which is probably indicative of ttf-mscorefonts-installer's postinst being confused), but even so, aptitude returned nonzero.

comment:4 Changed 13 years ago by jdreed

  • Description modified (diff)
  • Summary changed from ttf-msttcorefonts-installer hates Natty PXE installer to ttf-msttcorefonts-installer postinst fails maybe?

Cosmic bit flipping? Shortly after the zephyr discussion of this, I kicked off an install of workstation (in VMware) and it "just worked" (and in fact /usr/share/fonts/truetype/msttcorefonts/README exists). I'll note that I had also kicked off an install on granola, which also worked fine, right before Ben installed the 790. Furthermore, the error is baffling and should be impossible. It says cannot create /usr/share/fonts/truetype/msttcorefonts/README: Directory nonexistent, however /usr/share/fonts/truetype/msttcorefonts/ is shipped in the package. So something awesome is happening on that 790, to the point that the postinst appears to be running _before_ the package is unpacked?

comment:5 follow-up: ↓ 9 Changed 13 years ago by geofft

... Hm, you know what would cause a directory entry to inexplicably temporarily not appear on a Linux 2.6.38 machine while it's under heavy load? The dcache regression that held up the 3.0 release:  https://lwn.net/Articles/452117/

We should make sure Ubuntu backports that fix to its 2.6.38 kernel. (Or find a way to use the 3.0 kernel.)

comment:6 Changed 13 years ago by kaduk

I ran two rounds of memtest86+ on w-a-thornhump-iii (SIPB's 790) with no issue.
After that, I redid the PXE install as -workstation, and it got the same Directory nonexistent error for /usr/share/fonts/msttcorefonts/README.
If it is a rare race condition, I could see a VM not being able to tickle it easily.
I guess one could check that installing stock natty, then running install-debathena.sh on that machine also got the error, then try a patched kernel. But that sounds like a lot of work.

comment:7 Changed 13 years ago by jdreed

I just did a PXE install as -cluster and on this exact 790 and did not get that error.

comment:8 Changed 13 years ago by jdreed

And I just did a PXE workstation install on this 790 and did not get the error. So, yeah, I'm voting for dead chickens at this point. I'll note that "Live Poultry Fresh Killed" on Cambridge Street will be open tomorrow morning...

comment:9 in reply to: ↑ 5 Changed 13 years ago by geofft

Replying to geofft:

... Hm, you know what would cause a directory entry to inexplicably temporarily not appear on a Linux 2.6.38 machine while it's under heavy load? The dcache regression that held up the 3.0 release:  https://lwn.net/Articles/452117/

We should make sure Ubuntu backports that fix to its 2.6.38 kernel. (Or find a way to use the 3.0 kernel.)

On the contrary, this  isn't actually a bug in 2.6.38; it was just introduced in 2.6.39 (and I verified from git that Ubuntu didn't cleverly backport the bug to 2.6.38). So that can't be it.

comment:10 Changed 13 years ago by geofft

This seems to be reliably triggerable if you select nothing in the tasksel dialog, which causes install-debathena-sh to pull in ubuntu-desktop. If you select ubuntu-desktop ("Standard Ubuntu desktop"), which, incidentally, the cluster preseed does, then the bug does not trigger.

comment:11 Changed 13 years ago by kaduk

It's still reproducible on thornhump when we drop to a non-SMP kernel during the ubuntu installer (and it stays that way for the -workstation install).

comment:12 Changed 13 years ago by jdreed

  • Summary changed from ttf-msttcorefonts-installer postinst fails maybe? to ttf-msttcorefonts-installer postinst fails when ubuntu-desktop is pulled in by debathena

This is reproducible on a Dell 760 too, it fails in the exact same manner.

comment:13 Changed 13 years ago by geofft

Anders and I found the bug: fontconfig's postinst decides to "clean up" empty directories in /usr/share/fonts, of which /usr/share/fonts/truetype/msttcorefonts is one until ttf-msttcorefonts-installer's postinst gets run. Since fontconfig gets configured before ttf-msttcorefonts-installer, but all packages are unpacked first before anything is configured, the directory gets deleted.

  for dir in /usr/share/fonts /var/lib/defoma/fontconfig.d /usr/X11R6/lib/X11/fonts /usr/local/share/fonts ; do
  	if [ -d $dir ]; then
	    find $dir -name fonts.cache-1 -exec rm -f \{\} \;
	    find $dir -depth -mindepth 1 -type d -exec rmdir --ignore-fail-on-non-empty \{\} \;
	fi
  done

r25336 should work around this. I'll go test...

comment:14 Changed 13 years ago by jdreed

  • Priority changed from high to normal

The beta installer (which pulls in license-config ahead of time) succeeded. We should still keep this ticket open until we file upstream bugs.

comment:15 Changed 13 years ago by geofft

For the record, note that this explains the symptoms about whether you select ubuntu-desktop in the tasksel dialog. If you do, then fontconfig gets installed then and ttf-mscorefonts-installer in a separate run; if not, they're installed in the same run.

I've filed  DebianBug:636173 and  LP:819097 against fontconfig and  LP:819106 against msttcorefonts with a debdiff. If my proposed fixes go into Debian unstable and Oneiric respectively, I might see about SRUing one or both of them in Natty.

comment:16 Changed 13 years ago by jdreed

  • Status changed from reopened to accepted
  • Owner set to jdreed
  • Milestone changed from Natty Release to Upstream Utopia

Fixed in the beta installer.

comment:17 Changed 12 years ago by jdreed

  • Status changed from accepted to closed
  • Resolution set to fixed

Geoff's patch made it into oneiric. We don't care about an SRU anymore, I don't think.

Note: See TracTickets for help on using tickets.