windows - Python nedbrud, når du bruger opkald (ntdll.dll)

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har et script, der kombinerer omkring 1000 filer ved hjælp af et eksternt program. Det gør det ved at kopiere den første fil til combined.sym og derefter kombinere denne fil med alle andre filer, en efter en. Koden er som følger:


# gets all .sym files
symfiles = []
onlyfiles = [f for f in listdir(myPath) if isfile(join(myPath, f))]
for f in onlyfiles:
    if '.sym' == splitext(f)[1]:
        symfiles.append(f)

# copies one initial combined file (point to start from)
combinedFileName = "combined.sym"
copyfile(myPath + symfiles[0], myPath + combinedFileName)
for sym in symfiles:
    print("processing " + str(sym))
    cmdString = combinedFileName + " "
    cmdString += sym
    cmdString += " -a " + combinedFileName
    finalCmdString = r'cmd.exe /C fuseFiles.bat "' + myPath + '" "' + cmdString + '"'
    call(finalCmdString)
print("done")


Batchfilen jeg ringer ser sådan ud, men det er ikke problemet:


@set PATH=path	oexecutable;\%PATH\%
@cd \%1
@FusingProgram "\%2"


Nu, når jeg kører dette script, kører det til som 15 minutter før det bare stopper og vender tilbage til CMD.


processing onefile.sym
processing anotherfile.sym
processing evenmorefiles.sym
processing yougetit.sym

C:Users	est>


Som du kan se, savner den det 'færdige' print, og det behandlede ikke alle filer. combined.sym oprettes og udvides af de andre .sym filer


Når jeg kontrollerer Windows-begivenhederne, kan jeg se, at den logger python som styrtede og lister ntdll.dll som defekt modul (undskyld for tysk log):


Name der fehlerhaften Anwendung: python.exe, Version: 0.0.0.0, Zeitstempel: 0x53787196
Name des fehlerhaften Moduls: ntdll.dll, Version: ****, Zeitstempel: 0x5b6db230
Ausnahmecode: 0xc0000005
Fehleroffset: 0x0002e2eb
ID des fehlerhaften Prozesses: 0x6224
Startzeit der fehlerhaften Anwendung: 0x01d454e0ff20377c
Pfad der fehlerhaften Anwendung: C:pat	opythonpython.exe
Pfad des fehlerhaften Moduls: C:WINDOWSSysWOW64
tdll.dll
Berichtskennung: 8b4254f0-c0d5-11e8-9a6f-901b0e5a6206


Jeg har gjort nogle undersøgelser og det lader til, at jeg skal løse dette ved at opdatere filen ntdll.dll, men mit system er helt opdateret, så der er ikke noget jeg kan gøre ved det (undtagen at downloade en anden version fra noget ubetydeligt websted, som jeg ikke vil gøre)


Alt dette siges, har du nogensinde oplevet et lignende problem, eller er det bare en dum fejl, jeg lavede?

Bedste reference