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.
Created on 2008年08月25日 15:00 by kristjan.jonsson, last changed 2022年04月11日 14:56 by admin. This issue is now closed.
| Files | ||||
|---|---|---|---|---|
| File name | Uploaded | Description | Edit | |
| not_use_stat_in_import_on_windows.patch | ocean-city, 2008年10月08日 00:14 | trunk | ||
| not_use_stat_in_import_on_windows.patch | kristjan.jonsson, 2009年01月05日 10:18 | reviewed by Kristjan, fixes this issue and | ||
| Messages (19) | |||
|---|---|---|---|
| msg71932 - (view) | Author: Kristján Valur Jónsson (kristjan.jonsson) * (Python committer) | Date: 2008年08月25日 15:00 | |
When executing a script from a UNC path, e.g. //myhost/exports/a.py, r"\\myhost\exports" gets prepended to sys.path. But it doesn't work. This means that in a.py, "import b" will fail even though b.py is present in the same directory. The workaround is to manually prepend a backslass to the UNC path in sys.path. Note the related defect: http://bugs.python.org/issue954115 This intdoruces two functions for testing UNC paths, but it appears that these functions are nowhere used! |
|||
| msg71941 - (view) | Author: Kristján Valur Jónsson (kristjan.jonsson) * (Python committer) | Date: 2008年08月25日 15:32 | |
Correction: The workaround is to _append_ a backslash. |
|||
| msg74478 - (view) | Author: Martin v. Löwis (loewis) * (Python committer) | Date: 2008年10月07日 20:15 | |
Kristjan, you suggested this issue for consideration for 2.5.3. Is there an actual patch to apply? If not, the issue should get forwarded to 2.7 (and then to 2.8, and so on, until somebody actually comes up with a patch). |
|||
| msg74490 - (view) | Author: Kristján Valur Jónsson (kristjan.jonsson) * (Python committer) | Date: 2008年10月07日 21:29 | |
No, not really. Again, I refer to defect 954115 by glchapman. And note that those functions added there are actually not used. I was hoping that there was someone here more familiar with importing on PC. I'll go and see if the old defect still applies and if there is perhaps a more general fix to be made. |
|||
| msg74491 - (view) | Author: Martin v. Löwis (loewis) * (Python committer) | Date: 2008年10月07日 21:46 | |
Ok, un-targetting this from 2.5.3 then. Usage of IsUNCRoot disappeared as part of r42230, which dropped usage of the C library for stat implementations. This only affects os.stat, though, so I don't see the relation to this issue. For the record: What *exactly* is the problem? I.e. specifically, what do you do, what happens, what do you expect to happen instead? |
|||
| msg74495 - (view) | Author: Hirokazu Yamamoto (ocean-city) * (Python committer) | Date: 2008年10月07日 23:12 | |
I think this is stat(2) problem on windows. Please try following test
program.
#include <stdio.h>
#include <sys/stat.h>
#include <windows.h>
void test(const char *path)
{
struct stat st;
printf("%s %d %d\n", path, stat(path, &st), GetFileAttributes(path));
}
int main()
{
test("e:\\shared");
test("e:\\shared\\"); /* issue1293 */
test("e:\\shared\\a.py");
test("\\\\whiterab-c2znlh\\shared"); /* this issue */
test("\\\\whiterab-c2znlh\\shared\\");
test("\\\\whiterab-c2znlh\\shared\\a.py");
}
And this is result.
e:\shared 0 16
e:\shared\ -1 16
e:\shared\a.py 0 32
\\whiterab-c2znlh\shared -1 16
\\whiterab-c2znlh\shared\ 0 16
\\whiterab-c2znlh\shared\a.py 0 32
As discussed in issue1293, stat(2) fails for the normal folder path with
trailing slash, and also fails for the UNC folder path without trailing
slash. I'm using VC6, but same behavior on VC9?
trunk/Python/import.c(3160) and trunk/Modules/zipimport.c(99) is using
stat(2).
I'll create patch to prove my observation. :-)
|
|||
| msg74496 - (view) | Author: Hirokazu Yamamoto (ocean-city) * (Python committer) | Date: 2008年10月07日 23:14 | |
Ah, of cource, please change path to fit you environment. > test prog |
|||
| msg74500 - (view) | Author: Hirokazu Yamamoto (ocean-city) * (Python committer) | Date: 2008年10月08日 00:11 | |
zipimport.c seems fine, because stat(2) succeeds for UNC file. It fails for UNC folder. (zip file is absolutely file) Already fix for issue1293 was in, so maybe I should create the patch for that direction but... anyway this issue seems to be fixed by my patch. I also confirmed the test script in http://bugs.python.org/msg56523 works. |
|||
| msg74501 - (view) | Author: Hirokazu Yamamoto (ocean-city) * (Python committer) | Date: 2008年10月08日 00:18 | |
Just humble thought... If we can replace stat(2) + S_ISDIR/S_ISREG check with GetFileAttributesEx, maybe we are safe for this kind of problem, and can solve issue3099 same time? :-) |
|||
| msg79118 - (view) | Author: Kristján Valur Jónsson (kristjan.jonsson) * (Python committer) | Date: 2009年01月05日 10:18 | |
Okay, I've tested the patch and made some beauty fixes. Can we have this in, please? |
|||
| msg79500 - (view) | Author: Kristján Valur Jónsson (kristjan.jonsson) * (Python committer) | Date: 2009年01月09日 20:11 | |
Checked in as revision: 68457 |
|||
| msg80397 - (view) | Author: Benjamin Peterson (benjamin.peterson) * (Python committer) | Date: 2009年01月23日 03:35 | |
This fix needs to be ported to the py3k branch. Can somebody please do it? |
|||
| msg80399 - (view) | Author: Hirokazu Yamamoto (ocean-city) * (Python committer) | Date: 2009年01月23日 07:24 | |
Merged in r68873(py3k). |
|||
| msg80434 - (view) | Author: Gabriel Genellina (ggenellina) | Date: 2009年01月24日 02:09 | |
The path variable should be PyMem_Free'd (in both trunk and py3k) (also, I don't see any specific test - is there any?) |
|||
| msg80442 - (view) | Author: Kristján Valur Jónsson (kristjan.jonsson) * (Python committer) | Date: 2009年01月24日 10:33 | |
added the mem release in r68882. I'll try to add test cases too. |
|||
| msg80443 - (view) | Author: Kristján Valur Jónsson (kristjan.jonsson) * (Python committer) | Date: 2009年01月24日 10:52 | |
Added tests for UNC path imports in r68883 and r68884 |
|||
| msg80444 - (view) | Author: Hirokazu Yamamoto (ocean-city) * (Python committer) | Date: 2009年01月24日 11:07 | |
>The path variable should be PyMem_Free'd
Sorry if I'm missing something, but is this really needed?
Other PyArg_ParseTuple(args, "s... doesn't seem to have
corresponding PyMem_Free.
static PyObject *
imp_new_module(PyObject *self, PyObject *args)
{
char *name;
if (!PyArg_ParseTuple(args, "s:new_module", &name))
return NULL;
return PyModule_New(name);
}
|
|||
| msg80446 - (view) | Author: Martin v. Löwis (loewis) * (Python committer) | Date: 2009年01月24日 12:42 | |
> Sorry if I'm missing something, but is this really needed? Yes, the "es" converter allocates memory. |
|||
| msg80448 - (view) | Author: Hirokazu Yamamoto (ocean-city) * (Python committer) | Date: 2009年01月24日 13:57 | |
Ah, "es" is used in py3k, thanks. And sorry about my merge which had memory leak. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:56:38 | admin | set | github: 47927 |
| 2009年01月24日 13:57:44 | ocean-city | set | messages: + msg80448 |
| 2009年01月24日 12:42:27 | loewis | set | messages: + msg80446 |
| 2009年01月24日 11:07:41 | ocean-city | set | messages: + msg80444 |
| 2009年01月24日 10:52:47 | kristjan.jonsson | set | messages: + msg80443 |
| 2009年01月24日 10:33:49 | kristjan.jonsson | set | messages: + msg80442 |
| 2009年01月24日 02:09:34 | ggenellina | set | nosy:
+ ggenellina messages: + msg80434 |
| 2009年01月23日 07:24:01 | ocean-city | set | messages: + msg80399 |
| 2009年01月23日 03:35:20 | benjamin.peterson | set | nosy:
+ benjamin.peterson messages: + msg80397 |
| 2009年01月09日 20:11:28 | kristjan.jonsson | set | status: open -> closed resolution: fixed messages: + msg79500 |
| 2009年01月05日 10:18:53 | kristjan.jonsson | set | files:
+ not_use_stat_in_import_on_windows.patch messages: + msg79118 |
| 2008年10月10日 23:06:31 | ocean-city | set | components: + Windows |
| 2008年10月08日 00:18:37 | ocean-city | set | messages: + msg74501 |
| 2008年10月08日 00:14:24 | ocean-city | set | files: + not_use_stat_in_import_on_windows.patch |
| 2008年10月08日 00:14:09 | ocean-city | set | files: - not_use_stat_in_import_on_windows.patch |
| 2008年10月08日 00:11:29 | ocean-city | set | files:
+ not_use_stat_in_import_on_windows.patch keywords: + patch messages: + msg74500 |
| 2008年10月07日 23:14:37 | ocean-city | set | messages: + msg74496 |
| 2008年10月07日 23:12:17 | ocean-city | set | nosy:
+ ocean-city messages: + msg74495 |
| 2008年10月07日 21:46:58 | loewis | set | messages:
+ msg74491 versions: - Python 2.5.3 |
| 2008年10月07日 21:29:42 | kristjan.jonsson | set | messages: + msg74490 |
| 2008年10月07日 20:15:51 | loewis | set | nosy:
+ loewis messages: + msg74478 versions: + Python 2.5.3 |
| 2008年08月25日 15:32:31 | kristjan.jonsson | set | messages: + msg71941 |
| 2008年08月25日 15:00:27 | kristjan.jonsson | create | |