This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Title: double symlinking corrupts sys.path[0]
Type: Stage:
Components: Interpreter Core Versions: Python 2.2
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: dzsekijo, staschuk, tzot
Priority: normal Keywords:

Created on 2003-08-24 19:52 by dzsekijo, last changed 2022-04-10 16:10 by admin. This issue is now closed.

Messages (5)
msg17938 - (view) Author: Csaba Henk (dzsekijo) Date: 2003-08-24 19:52
The bug can be demonstrated as follows

(In some Bourne-tpye Unix shell) type 

$ mkdir d1 d2 && 
echo 'import sys
print sys.path[0]' > d1/ &&
ln -s ../d1/ d2 && 
ln -s d2/ .

Now see what the  three invocations of give us:

$ python d1/ 
$ python d2/ 
$ python 

--  if imported modules residing in d1, at
the third invocation the modules would not be found.
msg17939 - (view) Author: Χρήστος Γεωργίου (Christos Georgiou) (tzot) * Date: 2003-08-27 11:45
Logged In: YES 

Which version of Python?  With a recent 2.4 (built on Aug 21, 
sources of Aug 20), on a 2.4.19 SMP kernel:

$ mkdir d1 d2
$ echo 'import sys
> print sys.path[0]' >d1/
$ ln -s ../d1/ d2
$ ln -s d2/ .
$ python d1/
$ python d2/
$ python

Please specify OS too.
msg17940 - (view) Author: Χρήστος Γεωργίου (Christos Georgiou) (tzot) * Date: 2003-08-27 11:46
Logged In: YES 

My mistake, I missed the Pyhton 2.2.2 part, sorry.
msg17941 - (view) Author: Csaba Henk (dzsekijo) Date: 2003-08-27 15:29
Logged In: YES 

I hope the startup message is exact enough:

Python 2.2.2 (#1, May 19 2003, 03:15:27) 
[GCC 3.1] on linux2
msg17942 - (view) Author: Steven Taschuk (staschuk) Date: 2003-08-28 05:39
Logged In: YES 

I confirm this behaviour on Linux 2.4.17 (glibc 2.2.4) with Python 
2.2.2 and 2.2.3; but not with Python 2.3.

The relevant change seems to be revision 2.114 of 
Python/sysmodule.c, which implemented SF patch #664376 (q.v.). 
 The change appeared in 2.3a2.

Should this be backported to the 2.2 line?
Date User Action Args
2022-04-10 16:10:49adminsetgithub: 39120
2003-08-24 19:52:51dzsekijocreate