NppFTP
NppFTP copied to clipboard
NppFTP often crashes after long inactivity & attempting to refresh directory
Description of the Issue
NppFTP often crashes after long inactivity & attempting to refresh directory.
Steps to Reproduce the Issue
- Open notepad++ and connect to a FTP server
- Leave open the editor for 15mins (? don't know the exact time, but around 15m)
- Double-click a directory which wasn't visited (isn't cached). Notepad++ may crash.
Expected Behavior
No crash
Actual Behavior
Crash
Debug Information
Problem Event Name: APPCRASH Application Name: notepad++.exe Application Version: 7.3.2.0 Application Timestamp: 58a0deef Fault Module Name: ntdll.dll Fault Module Version: 6.1.7601.23677 Fault Module Timestamp: 589c957a Exception Code: c0000005 Exception Offset: 0002e49b OS Version: 6.1.7601.2.1.0.256.48 Locale ID: 1033 Additional Information 1: 0a9e Additional Information 2: 0a9e372d3b4ad19135b953a78882e789 Additional Information 3: 0a9e Additional Information 4: 0a9e372d3b4ad19135b953a78882e789
Notepad++ v7.3.2 (32-bit) Build time : Feb 12 2017 - 23:15:39 Path : E:\Tools\notepad++\notepad++.exe Admin mode : ON Local Conf mode : ON OS : Windows 7 (64-bit) Plugins : mimeTools.dll NppConverter.dll NppExport.dll NppFTP.dll NppSnippets.dll PluginManager.dll SpellChecker.dll
NppFTP 0.26.3 Unicode Connection: FTP, Passive, Binary
Is this also reproducible for you with current nppftp version 0.26.9?
I just installed the new version. Is there something changed in the new version that might stop the crashes?
I just can't reproduce the issue with the current version. Main changes in der Versions between 0.26.3 and 0.26.9 are updates of the underlying libs (libssh, openssl, zlib). But that shouldn't affect a plain ftp connection.
Issue seems to be a access violation, see e.g. https://blogs.technet.microsoft.com/askperf/2007/05/29/basic-debugging-of-an-application-crash/
This happens when the FTP server closes the connection after a certain time of inactivity, i.e. what most hosting services do.
It believe it would be sufficient to check if the connection is still alive before uploading files or reading folders, and if it's dead, reconnecting first.
Related to #1, which could avoid the closed connection, but anyhow there shouldn't be a crash if a closed connection is found.