Problem with dev nodes in tar extract
Fri Feb 29 16:42:00 GMT 2008
After a bit of investigation I have narrowed down the problem.
Firstly though, the presence of dev nodes is not for the benefit cygwin
or Windows. They are exported over NFS so that an embedded ARM-Linux
system can use the NFS export as its root file system (for development).
This is a very common usage of this kind of facility. It's almost
certainly the main reason why (Linux) dev nodes are supported under
cygwin. Do 'mknod --help' and see what you get !!
It turns out that the problem relates to one dev node in particular:
$ chown root.root dev/ptmx
7 [main] chown 7940 _cygtls::handle_exceptions: Error while
(probably corrupted stack)
Segmentation fault (core dumped)
$ ls -l dev/ptmx
crw-r--r-- 1 username groupname 5, 2 Feb 29 13:34 dev/ptmx
In Linux this is the pseudo-terminal master device. Why cygwin should
have a problem with it, I wouldn't know. Maybe the weirdness is more
From: Eric Blake [mailto:email@example.com]
Sent: 29 February 2008 13:06
To: firstname.lastname@example.org; Nigel Hathaway
Subject: Re: Problem with dev nodes in tar extract
-----BEGIN PGP SIGNED MESSAGE-----
According to Nigel Hathaway on 2/29/2008 4:36 AM:
| I have created a gzipped compressed tar archive on Linux of an
| Linux file system. It was compressed under Linux using fakeroot (so
| everything is owned as root and dev nodes work).
Dev nodes are OS specific. You will probably never get this to work,
because cygwin's notions of which major device numbers map to which
devices, while modeled after Linux, is not identical to Linux. You are
trying to do something that is inherently non-portable.
| There error message I get is:
| 171 [main] tar 7900 _cygtls::handle_exceptions: Error while dumping
| state (probably corrupted stack)
| Segmentation fault (core dumped)
Obviously, it would be nicer if we didn't crash the cygwin syscall, but
this is not going to be my highest priority bug investigation. Strace
be helpful to you to find out what is going on just before the crash.
a simple, self-contained test case written in C will make it easier for
the cygwin development team to look into this, if it is really that
important to you (hint - pointing to tar's source code is not simple
enough for honing in on the cause of the crash).
Don't work too hard, make some time for fun as well!
Eric Blake email@example.com
volunteer cygwin tar maintainer
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
-----END PGP SIGNATURE-----
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
More information about the Cygwin