Opened 19 years ago

Last modified 19 years ago

#767 closed Bug report

Empty remote list problem, detailed info

Reported by: mangoduck Owned by:
Priority: normal Component: Other
Keywords: Cc: mangoduck, Tim Kosse
Component version: Operating system type:
Operating system version:

Description

Similar to request 1049781, 843691, 614962.

FileZilla is exhibiting a strange behavior. For just
one server in my list of sites it's displaying an empty
remote directory but not indicating any errors. This
site had no problem when I first started using the app
at 2.2.5 but recently "broke". Upgrading to 2.2.9
didn't resolve it. Switching active/passive has no
effect. There have been no changes to the ftp server
that I'm aware of, and other ftp clients including
various installs of FileZilla still seem to work fine.

Below are transcripts of my sessions with a couple
different configurations. Connecting with normal
customized prefs file:

Status: Connecting to x.com ...
Trace: FtpControlSocket.cpp(772): OnConnect(0)
OpMode=1 OpState=-1 caller=0x00d4f3bc
Status: Connected with x.com. Waiting for welcome
message...
Trace: FtpControlSocket.cpp(640): OnReceive(0)
OpMode=1 OpState=-1 caller=0x00d4f3bc
Response: 220 FTP Server ready [*]
Command: USER x
Trace: FtpControlSocket.cpp(640): OnReceive(0)
OpMode=1 OpState=0 caller=0x00d4f3bc
Response: 331 Password required for x.
Command: PASS

Trace: FtpControlSocket.cpp(640): OnReceive(0)
OpMode=1 OpState=3 caller=0x00d4f3bc
Response: 230-Welcome to our FTP Server, x.
Trace: FtpControlSocket.cpp(640): OnReceive(0)
OpMode=1 OpState=3 caller=0x00d4f3bc
Response: 230-------
Response: 230-Please note that all activity on this
server is logged and monitored.
Response: 230-If you don't agree to this, please
disconnect now.
Response: 230--------
Response: 230-
Response: 230 User x logged in.
Command: FEAT
Trace: FtpControlSocket.cpp(640): OnReceive(0)
OpMode=1 OpState=-13 caller=0x00d4f3bc
Response: 500 'FEAT': command not understood.
Command: SYST
Trace: FtpControlSocket.cpp(640): OnReceive(0)
OpMode=1 OpState=-14 caller=0x00d4f3bc
Response: 215 UNIX Type: L8 Standard
Status: Connected
Trace: FtpControlSocket.cpp(3502): ResetOperation(1)
OpMode=1 OpState=-14 caller=0x00d4f3bc
Trace: FtpControlSocket.cpp(917): List(FALSE,0,"","",1)

OpMode=0 OpState=-1 caller=0x00d4f3bc

Status: Retrieving directory listing...
Command: PWD
Trace: FtpControlSocket.cpp(640): OnReceive(0)
OpMode=4 OpState=0 caller=0x00d4f3bc
Response: 257 "/" is current directory.
Trace: FtpControlSocket.cpp(917): List(FALSE,0,"","",0)

OpMode=4 OpState=0 caller=0x00d4f3bc

Command: PORT xxx,xxx,xxx,xxx,x,xxx
Trace: FtpControlSocket.cpp(640): OnReceive(0)
OpMode=4 OpState=7 caller=0x00d4f3bc
Response: 200 Port command successful.
Trace: FtpControlSocket.cpp(917): List(FALSE,0,"","",0)

OpMode=4 OpState=7 caller=0x00d4f3bc

Command: TYPE A
Trace: FtpControlSocket.cpp(640): OnReceive(0)
OpMode=4 OpState=8 caller=0x00d4f3bc
Response: 200 Type set to A.
Trace: FtpControlSocket.cpp(917): List(FALSE,0,"","",0)

OpMode=4 OpState=8 caller=0x00d4f3bc

Trace: TransferSocket.cpp(549): SetActive()
caller=0x015c2c2c
Command: LIST -a
Trace: FtpControlSocket.cpp(640): OnReceive(0)
OpMode=4 OpState=9 caller=0x00d4f3bc
Response: 150 Opening data connection for directory list.
Trace: FtpControlSocket.cpp(917): List(FALSE,0,"","",0)

OpMode=4 OpState=9 caller=0x00d4f3bc

Trace: TransferSocket.cpp(410): OnAccept(0)
caller=0x015c2c2c
Trace: TransferSocket.cpp(509): OnClose(0)
caller=0x015c2c2c
Trace: TransferSocket.cpp(1122): Close()
caller=0x015c2c2c
Trace: TransferSocket.cpp(1122): Close()
caller=0x015c2c2c
Trace: FtpControlSocket.cpp(1574): TransferEnd(4)
OpMode=4 OpState=10 caller=0x00d4f3bc
Trace: FtpControlSocket.cpp(917): List(TRUE,0,"","",0)

OpMode=4 OpState=10 caller=0x00d4f3bc

Trace: TransferSocket.cpp(91): ~CTransferSocket()
caller=0x015c2c2c
Trace: TransferSocket.cpp(1122): Close()
caller=0x015c2c2c
Trace: FtpControlSocket.cpp(640): OnReceive(0)
OpMode=4 OpState=10 caller=0x00d4f3bc
Response: 226 File sent ok
Trace: FtpControlSocket.cpp(917): List(FALSE,0,"","",0)

OpMode=4 OpState=10 caller=0x00d4f3bc

Status: Directory listing successful
Trace: FtpControlSocket.cpp(3502): ResetOperation(1)
OpMode=4 OpState=10 caller=0x00d4f3bc
Trace: FtpControlSocket.cpp(834): DoClose(0)
OpMode=1024 OpState=-1 caller=0x00d4f3bc
Trace: FtpControlSocket.cpp(3502): ResetOperation(4100)

OpMode=1024 OpState=-1 caller=0x00d4f3bc

Status: Disconnected from server

Connects ok, no errors when getting listing. The list
is just blank, "<Empty directory listing>"

Connecting with clean prefs file, first try:

Status: Connecting to x.com ...
Trace: FtpControlSocket.cpp(772): OnConnect(0)
OpMode=1 OpState=-1 caller=0x00d4c594
Status: Connected with x.com. Waiting for welcome
message...
Trace: FtpControlSocket.cpp(640): OnReceive(0)
OpMode=1 OpState=-1 caller=0x00d4c594
Response: 220 FTP Server ready [*]
Command: USER x
Trace: FtpControlSocket.cpp(640): OnReceive(0)
OpMode=1 OpState=0 caller=0x00d4c594
Response: 331 Password required for x.
Command: PASS

Trace: FtpControlSocket.cpp(640): OnReceive(0)
OpMode=1 OpState=3 caller=0x00d4c594
Response: 230-Welcome to our FTP Server, x.
Trace: FtpControlSocket.cpp(640): OnReceive(0)
OpMode=1 OpState=3 caller=0x00d4c594
Response: 230-------
Response: 230-Please note that all activity on this
server is logged and monitored.
Response: 230-If you don't agree to this, please
disconnect now.
Response: 230--------
Response: 230-
Response: 230 User x logged in.
Command: FEAT
Trace: FtpControlSocket.cpp(640): OnReceive(0)
OpMode=1 OpState=-13 caller=0x00d4c594
Response: 500 'FEAT': command not understood.
Command: SYST
Trace: FtpControlSocket.cpp(640): OnReceive(0)
OpMode=1 OpState=-14 caller=0x00d4c594
Response: 215 UNIX Type: L8 Standard
Status: Connected
Trace: FtpControlSocket.cpp(3502): ResetOperation(1)
OpMode=1 OpState=-14 caller=0x00d4c594
Trace: FtpControlSocket.cpp(917): List(FALSE,0,"","",1)

OpMode=0 OpState=-1 caller=0x00d4c594

Status: Retrieving directory listing...
Command: PWD
Trace: FtpControlSocket.cpp(640): OnReceive(0)
OpMode=4 OpState=0 caller=0x00d4c594
Response: 257 "/" is current directory.
Trace: FtpControlSocket.cpp(917): List(FALSE,0,"","",0)

OpMode=4 OpState=0 caller=0x00d4c594

Command: PORT xxx,xxx,xxx,xxx,x,xx
Trace: FtpControlSocket.cpp(640): OnReceive(0)
OpMode=4 OpState=7 caller=0x00d4c594
Response: 200 Port command successful.
Trace: FtpControlSocket.cpp(917): List(FALSE,0,"","",0)

OpMode=4 OpState=7 caller=0x00d4c594

Command: TYPE A
Trace: FtpControlSocket.cpp(640): OnReceive(0)
OpMode=4 OpState=8 caller=0x00d4c594
Response: 200 Type set to A.
Trace: FtpControlSocket.cpp(917): List(FALSE,0,"","",0)

OpMode=4 OpState=8 caller=0x00d4c594

Trace: TransferSocket.cpp(549): SetActive()
caller=0x017f008c
Command: LIST
Error: Timeout detected!
Trace: TransferSocket.cpp(1122): Close()
caller=0x017f008c
Trace: FtpControlSocket.cpp(1574): TransferEnd(132)
OpMode=4 OpState=9 caller=0x00d4c594
Trace: FtpControlSocket.cpp(917):
List(TRUE,128,"","",0) OpMode=4 OpState=9
caller=0x00d4c594
Trace: TransferSocket.cpp(91): ~CTransferSocket()
caller=0x017f008c
Trace: TransferSocket.cpp(1122): Close()
caller=0x017f008c
Trace: FtpControlSocket.cpp(834): DoClose(0) OpMode=4
OpState=9 caller=0x00d4c594
Trace: FtpControlSocket.cpp(3502): ResetOperation(4100)

OpMode=4 OpState=9 caller=0x00d4c594

Error: Could not retrieve directory listing

Times out and disconnects completely. It does register
as the last server connected and makes the reconnect
option available. If I wait a few minutes before trying
to reconnect it behaves this same way. However if I use
reconnect within seconds of the first attempt:

Status: Connecting to x.com ...
Trace: FtpControlSocket.cpp(772): OnConnect(0)
OpMode=1 OpState=-1 caller=0x00d4c594
Status: Connected with x.com. Waiting for welcome
message...
Trace: FtpControlSocket.cpp(640): OnReceive(0)
OpMode=1 OpState=-1 caller=0x00d4c594
Response: 220 FTP Server ready [*]
Command: USER x
Trace: FtpControlSocket.cpp(640): OnReceive(0)
OpMode=1 OpState=0 caller=0x00d4c594
Response: 331 Password required for x.
Command: PASS

Trace: FtpControlSocket.cpp(640): OnReceive(0)
OpMode=1 OpState=3 caller=0x00d4c594
Response: 230-Welcome to our FTP Server, x.
Trace: FtpControlSocket.cpp(640): OnReceive(0)
OpMode=1 OpState=3 caller=0x00d4c594
Response: 230-------
Response: 230-Please note that all activity on this
server is logged and monitored.
Response: 230-If you don't agree to this, please
disconnect now.
Response: 230--------
Response: 230-
Response: 230 User x logged in.
Command: FEAT
Trace: FtpControlSocket.cpp(640): OnReceive(0)
OpMode=1 OpState=-13 caller=0x00d4c594
Response: 500 'FEAT': command not understood.
Command: SYST
Trace: FtpControlSocket.cpp(640): OnReceive(0)
OpMode=1 OpState=-14 caller=0x00d4c594
Response: 215 UNIX Type: L8 Standard
Status: Connected
Trace: FtpControlSocket.cpp(3502): ResetOperation(1)
OpMode=1 OpState=-14 caller=0x00d4c594
Trace: FtpControlSocket.cpp(917): List(FALSE,0,"","",1)

OpMode=0 OpState=-1 caller=0x00d4c594

Status: Retrieving directory listing...
Command: PWD
Trace: FtpControlSocket.cpp(640): OnReceive(0)
OpMode=4 OpState=0 caller=0x00d4c594
Response: 257 "/" is current directory.
Trace: FtpControlSocket.cpp(917): List(FALSE,0,"","",0)

OpMode=4 OpState=0 caller=0x00d4c594

Command: PORT 170,149,138,135,8,94
Trace: FtpControlSocket.cpp(640): OnReceive(0)
OpMode=4 OpState=7 caller=0x00d4c594
Response: 200 Port command successful.
Trace: FtpControlSocket.cpp(917): List(FALSE,0,"","",0)

OpMode=4 OpState=7 caller=0x00d4c594

Command: TYPE A
Trace: FtpControlSocket.cpp(640): OnReceive(0)
OpMode=4 OpState=8 caller=0x00d4c594
Response: 200 Type set to A.
Trace: FtpControlSocket.cpp(917): List(FALSE,0,"","",0)

OpMode=4 OpState=8 caller=0x00d4c594

Trace: TransferSocket.cpp(549): SetActive()
caller=0x017f008c
Command: LIST
Trace: FtpControlSocket.cpp(640): OnReceive(0)
OpMode=4 OpState=9 caller=0x00d4c594
Response: 150 Opening data connection for directory list.
Trace: FtpControlSocket.cpp(917): List(FALSE,0,"","",0)

OpMode=4 OpState=9 caller=0x00d4c594

Trace: TransferSocket.cpp(410): OnAccept(0)
caller=0x017f008c
Trace: TransferSocket.cpp(1122): Close()
caller=0x017f008c
Trace: FtpControlSocket.cpp(1574): TransferEnd(4)
OpMode=4 OpState=10 caller=0x00d4c594
Trace: FtpControlSocket.cpp(917): List(TRUE,0,"","",0)

OpMode=4 OpState=10 caller=0x00d4c594

Trace: TransferSocket.cpp(91): ~CTransferSocket()
caller=0x017f008c
Trace: TransferSocket.cpp(1122): Close()
caller=0x017f008c
Trace: FtpControlSocket.cpp(640): OnReceive(0)
OpMode=4 OpState=10 caller=0x00d4c594
Response: 226 File sent ok
Trace: FtpControlSocket.cpp(917): List(FALSE,0,"","",0)

OpMode=4 OpState=10 caller=0x00d4c594

Status: Directory listing successful
Trace: FtpControlSocket.cpp(3502): ResetOperation(1)
OpMode=4 OpState=10 caller=0x00d4c594
Trace: FtpControlSocket.cpp(834): DoClose(0)
OpMode=1024 OpState=-1 caller=0x00d4c594
Trace: FtpControlSocket.cpp(3502): ResetOperation(4100)

OpMode=1024 OpState=-1 caller=0x00d4c594

Status: Disconnected from server

Works perfectly. Remote directory list is filled.

Extra notes:

  • If "show raw directory listing" is enabled, no such

data is shown when connecting with clean prefs the
first time, while the second (successful) try does.
With a customized prefs file this option outputs "Empty
directory listing" as the list data.

  • When displaying an empty list, manually navigating to

a directory that is known to exist is successful, but
subsequently also displays an empty list.

  • Uploading files into an empty listing works. Manually

downloading known existing files works.

Below are the contents of my typical prefs file, minus
sensitive info:

<?xml version="1.0" encoding="ISO-8859-1"?>
<FileZilla>
<Settings>
<Item name="Last Server Port" type="numeric">21</Item>
<Item name="Last Server User" type="string">x</Item>
<Item name="Last Server dont save pass"
type="numeric">0</Item>
<Item name="Last server name" type="string">xxx</Item>
<Item name="Last Server Pass"
type="string">0000000000</Item>
<Item name="Last Server Firewall Bypass"
type="numeric">0</Item>
<Item name="Last Server Path" type="string">4096 0 </Item>
<Item name="Last Server Type" type="numeric">4096</Item>
<Item name="Last Server transfer mode"
type="numeric">2</Item>
<Item name="Default Folder" type="string">C:\mypath\</Item>
<Item name="Logontype" type="numeric">0</Item>
<Item name="FWHost" type="string"></Item>
<Item name="FWPort" type="numeric">0</Item>
<Item name="FWUser" type="string"></Item>
<Item name="FWPass" type="string"></Item>
<Item name="Timeout Length" type="numeric">30</Item>
<Item name="Use Keep Alive" type="numeric">1</Item>
<Item name="Interval Low" type="numeric">15</Item>
<Item name="Interval High" type="numeric">30</Item>
<Item name="Retry Delay" type="numeric">5</Item>
<Item name="Num Retries" type="numeric">5</Item>
<Item name="Proxy Type" type="numeric">0</Item>
<Item name="Proxy Host" type="string"></Item>
<Item name="Proxy Port" type="numeric">0</Item>
<Item name="Proxy User" type="string"></Item>
<Item name="Proxy Pass" type="string"></Item>
<Item name="Proxy Use Logon" type="numeric">0</Item>
<Item name="Default Folder Type" type="numeric">0</Item>
<Item name="Sitemanager on startup" type="numeric">0</Item>
<Item name="SiteManager Folders First"
type="numeric">0</Item>
<Item name="No Expand SiteManager Folders"
type="numeric">0</Item>
<Item name="Transfer Mode" type="numeric">0</Item>
<Item name="ASCII files"
type="string">ASP;BAT;C;CFM;CGI;CONF;CPP;CSS;DHTML;DIZ;H;HPP;HTM;HTML;INC;JS;MAK;NFO;PAS;PATCH;PHP;PHTML;PINERC;PL;QMAIL;SH;SHTML;SQL;TCL;TPL;TXT;VBS;</Item>
<Item name="No toolbar" type="numeric">0</Item>
<Item name="No Quickconnbar" type="numeric">0</Item>
<Item name="No Statusbar" type="numeric">0</Item>
<Item name="No Messagelog" type="numeric">0</Item>
<Item name="No Treeview" type="numeric">0</Item>
<Item name="Show Remote Treeview" type="numeric">1</Item>
<Item name="No Queue" type="numeric">0</Item>
<Item name="No view labels" type="numeric">0</Item>
<Item name="Remember View settings" type="numeric">0</Item>
<Item name="Remember Window Size" type="numeric">1</Item>
<Item name="Minimize to Tray" type="numeric">0</Item>
<Item name="Remember Local View" type="numeric">0</Item>
<Item name="Local List View Style" type="numeric">0</Item>
<Item name="Hide Local Columns" type="numeric">0</Item>
<Item name="Remember Local column widths"
type="numeric">1</Item>
<Item name="Local Filesize format" type="numeric">0</Item>
<Item name="Show Local Statusbar" type="numeric">1</Item>
<Item name="Local doubleclick action"
type="numeric">0</Item>
<Item name="Remember Remote View" type="numeric">0</Item>
<Item name="Remote List View Style" type="numeric">0</Item>
<Item name="Hide Remote Columns" type="numeric">32</Item>
<Item name="Remember Remote column widths"
type="numeric">1</Item>
<Item name="Remote Filesize format" type="numeric">0</Item>
<Item name="Always Show Hidden Files"
type="numeric">1</Item>
<Item name="Show Remote Statusbar" type="numeric">1</Item>
<Item name="Remote doubleclick action"
type="numeric">0</Item>
<Item name="Use GSS" type="numeric">0</Item>
<Item name="GSS enabled servers"
type="string">mit.edu;</Item>
<Item name="Debug Trace" type="numeric">1</Item>
<Item name="Debug Show Listing" type="numeric">0</Item>
<Item name="Enable debug menu" type="numeric">1</Item>
<Item name="Pasv" type="numeric">1</Item>
<Item name="Limit Port Range" type="numeric">0</Item>
<Item name="Port Range Low" type="numeric">1</Item>
<Item name="Port Range High" type="numeric">65535</Item>
<Item name="Transfer IP" type="string"></Item>
<Item name="Use directory cache" type="numeric">1</Item>
<Item name="Max Dir Cache Time" type="numeric">1800</Item>
<Item name="Preserve DL file time" type="numeric">0</Item>
<Item name="Primary TransferMax Size"
type="numeric">1024</Item>
<Item name="Transfer Api Count" type="numeric">4</Item>
<Item name="Use multiple connections"
type="numeric">1</Item>
<Item name="File exists Action" type="numeric">0</Item>
<Item name="Default View Edit Prog"
type="string">C:\WINNT\NOTEPAD.EXE</Item>
<Item name="Custom View Edit Progs" type="string"></Item>
<Item name="Use Ident server" type="numeric">0</Item>
<Item name="Ident when connecting only"
type="numeric">0</Item>
<Item name="Ident reply same IP" type="numeric">0</Item>
<Item name="Ident UserID" type="string"></Item>
<Item name="Ident OS" type="string">UNIX</Item>
<Item name="SpeedLimit Download Type"
type="numeric">0</Item>
<Item name="SpeedLimit Download Value"
type="numeric">10</Item>
<Item name="SpeedLimit Upload Type" type="numeric">0</Item>
<Item name="SpeedLimit Upload Value"
type="numeric">10</Item>
<Item name="SpeedLimit Download Rules"
type="string"></Item>
<Item name="SpeedLimit Upload Rules" type="string"></Item>
<Item name="SSH Use Compression" type="numeric">0</Item>
<Item name="SSH Force Protocol" type="numeric">0</Item>
<Item name="Local treeview location"
type="numeric">0</Item>
<Item name="Remote treeview location"
type="numeric">0</Item>
<Item name="Switch view locations" type="numeric">0</Item>
<Item name="Debug Log To File" type="numeric">0</Item>
<Item name="Debug Log File" type="string"></Item>
<Item name="Use custom messaglog font"
type="numeric">0</Item>
<Item name="Messagelog font name" type="string">MS
Shell Dlg</Item>
<Item name="Messagelog font size" type="numeric">8</Item>
<Item name="Local column sort direction"
type="numeric">17</Item>
<Item name="Remote column sort direction"
type="numeric">17</Item>
<Item name="Last Window Size" type="string">1 -4 -4
1284 1000</Item>
<Item name="Last Splitter Pos" type="string">116 481
303 303 633</Item>
<Item name="Local column widths" type="string">315 66
100 138</Item>
<Item name="Remote column widths" type="string">252 70
80 76 54 90 90</Item>
<Item name="Enable IPv6" type="numeric">0</Item>
<Item name="Transfer IP v6" type="string"></Item>
<Item name="VMS display all revisions"
type="numeric">0</Item>
<Item name="Log Timestamps" type="numeric">0</Item>
<Item name="Use MODE Z " type="numeric">2</Item>
<Item name="MODE Z level" type="numeric">8</Item>
<Item name="Last Server Host" type="string">x.com</Item>
</Settings>
<RecentServers/>
<Sites>
<Site Name="xxx" Host="x.com" Port="21" User="x"
RemoteDir="" LocalDir="" Pass="0000000000"
Logontype="1" FWBypass="0" DontSavePass="0"
ServerType="0" PasvMode="0" TimeZoneOffset="0"
TimeZoneOffsetMinutes="0" Comments="" DefaultSite="0"/>
</Sites>
</FileZilla>

Clean prefs contents:

<?xml version="1.0" encoding="ISO-8859-1"?>
<FileZilla>
<Settings>
<Item name="Last Server Port" type="numeric">21</Item>
<Item name="Last Server User" type="string">x</Item>
<Item name="Last Server dont save pass"
type="numeric">0</Item>
<Item name="Last server name" type="string">xxx</Item>
<Item name="Last Server Pass"
type="string">0000000000</Item>
<Item name="Last Server Firewall Bypass"
type="numeric">0</Item>
<Item name="Last Server Path" type="string">4096 0 </Item>
<Item name="Last Server Type" type="numeric">4096</Item>
<Item name="Last Server transfer mode"
type="numeric">0</Item>
<Item name="Default Folder" type="string"></Item>
<Item name="Debug Trace" type="numeric">1</Item>
<Item name="Debug Show Listing" type="numeric">0</Item>
<Item name="Last Server Host" type="string">x.com</Item>
</Settings>
<RecentServers/>
<Sites>
<Site Name="xxx" Host="x.com" Port="21" User="x"
RemoteDir="" LocalDir="" Pass="0000000000"
Logontype="1" FWBypass="0" DontSavePass="0"
ServerType="0" PasvMode="0" TimeZoneOffset="0"
TimeZoneOffsetMinutes="0" Comments="" DefaultSite="0"/>
</Sites>
<TransferQueue/>
</FileZilla>

Change History (1)

comment:1 by Tim Kosse, 19 years ago

This bug report has been closed due to inactivity and has possibly
already been solved.

You can reopen this report if the issue still exists in the
latest version of FileZilla (Server).

Note: See TracTickets for help on using tickets.