Opened 7 years ago

Closed 6 years ago

#11297 closed Bug report (fixed)

3.26.2 on Debian 8 crashes

Reported by: brent Owned by:
Priority: normal Component: FileZilla Client
Keywords: Cc:
Component version: 3.26.2 updated 6/13/17 Operating system type: Linux
Operating system version: debian 8 updated 6/12/17

Description

Been fighting writing this up.. But now with the latest 3.26.2 package still having filezilla crash. My Debian 8 was just updated to the latest code as of 6/12/17.. So if i attempt to see if there is any new updates.. filezilla will crash.
I have 10 objects under "site manager" if i attempt to switch from one of these to another one it will crash. Now I have had to update my passwords on each of these objects. So not sure if that bug is coming into play..
There have also been time were just attempting to bring up filezilla that it would crash.. This i noticed several segment faults being seen.
I gathered some data.. See if it is usable.. thanks Brent

Attachments (1)

3262crash.zip (71.7 KB ) - added by brent 7 years ago.
this is the newly updated 3.26.2.

Download all attachments as: .zip

Change History (20)

by brent, 7 years ago

Attachment: 3262crash.zip added

this is the newly updated 3.26.2.

comment:1 by Tim Kosse, 7 years ago

Status: newmoreinfo

Please run FileZilla in gdb, once it crashes, type bt to obtain a backtrace of the stack. Please post the stacktrace here.

comment:2 by rastersoft, 7 years ago

Status: moreinfonew

I have the same problem with Debian SID. It works sometimes, others I receive a segmentation fault (it changes after updating the system with APT). I also tried to remove the packaged version (everything, even libfilezilla) and compile it from scratch, but also receive the same error.

Launching it with Valgrind shows a dialog which says "An assertion failed! state.cpp(667): assert "!handlers.inNotify_" failed in NotifyHandlers()." (this dialog isn't shown when launched directly, without valgrind). It also shows this backtrace (copied&pasted from the dialog):

ASSERT INFO:
state.cpp(667): assert "!handlers.inNotify_" failed in NotifyHandlers().

BACKTRACE:
[1] std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_length(unsigned long) /usr/include/c++/7/bits/basic_string.h:156
[2] non-virtual thunk to CSftpListOpData::~CSftpListOpData():156
[3] std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_length(unsigned long) /usr/include/c++/7/bits/basic_string.h:156
[4] std::_Vector_base<unsigned char, std::allocator<unsigned char> >::_Vector_impl::_Vector_impl(std::allocator<unsigned char> const&) /usr/include/c++/7/bits/stl_vector.h:93
[5] wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const
[6] wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&)
[7] wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*)
[8] wxEvtHandler::TryHereOnly(wxEvent&)
[9] wxEvtHandler::ProcessEventLocally(wxEvent&)
[10] wxEvtHandler::ProcessEvent(wxEvent&)
[11] wxScrollHelperEvtHandler::ProcessEvent(wxEvent&)
[12] wxGenericTreeCtrl::DoSelectItem(wxTreeItemId const&, bool, bool)
[13] wxGenericTreeCtrl::SelectItem(wxTreeItemId const&, bool)
[14] CSftpConnectOpData::Send() /home/raster/datos_extra/workspace/filezilla-3.27.1/src/engine/sftp/connect.cpp:33
[15] wxCheckBox* wxCheckCast<wxCheckBox>(void const*, wxCheckBox*) /usr/include/wx-3.0/wx/object.h:160
[16] wxScopedCharTypeBuffer<wchar_t>::wxScopedCharTypeBuffer() /usr/include/wx-3.0/wx/buffer.h:73
[17] std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_dispose() /usr/include/c++/7/bits/basic_string.h:204
[18] non-virtual thunk to CSftpListOpData::~CSftpListOpData() /home/raster/datos_extra/workspace/filezilla-3.27.1/src/engine/sftp/list.h:7
[19] std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_length(unsigned long) /usr/include/c++/7/bits/basic_string.h:156
[20] std::_Deque_base<recursion_root::new_dir, std::allocator<recursion_root::new_dir> >::~_Deque_base() /usr/include/c++/7/bits/stl_deque.h:663
[21] wxPrivate::UntypedBufferData::~UntypedBufferData() /usr/include/wx-3.0/wx/buffer.h:44
[22] void xrc_call<wxTextEntryBase, wxString const&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&>(wxWindow const&, char const*, void (wxTextEntryBase::*)(wxString const&), std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&) /home/raster/datos_extra/workspace/filezilla-3.27.1/src/interface/xrc_helper.h:37
[23] wxEntry(int&, wchar_t**)
[24] wxMenuBarBase::IsEnabled() const
[25] __libc_start_main
[26] operator<< /home/raster/datos_extra/workspace/filezilla-3.27.1/src/interface/password_crypto.cpp:127

Running it from GDB, and using "BT" to get a backtrace, shows this:

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from filezilla...done.
(gdb) run
Starting program: /usr/local/bin/filezilla 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Reading locale option from /home/raster/.filezilla/filezilla.xml
[New Thread 0x7f99a9394700 (LWP 543)]
[New Thread 0x7f99a8b93700 (LWP 546)]

Thread 1 "filezilla" received signal SIGSEGV, Segmentation fault.
0x00007f99b6df23a6 in wxGenericTreeCtrl::Expand(wxTreeItemId const&) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
(gdb) bt
#0  0x00007f99b6df23a6 in wxGenericTreeCtrl::Expand(wxTreeItemId const&) () at /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#1  0x00007f99b6debac7 in wxGenericTreeCtrl::EnsureVisible(wxTreeItemId const&) () at /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#2  0x00007f99b6df29dc in wxGenericTreeCtrl::DoSelectItem(wxTreeItemId const&, bool, bool) () at /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#3  0x00007f99b6df2e29 in wxGenericTreeCtrl::SelectItem(wxTreeItemId const&, bool) () at /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#4  0x000055555584800c in wxTreeCtrlEx::SafeSelectItem(wxTreeItemId const&) (this=0x5555562fe970, item=...) at treectrlex.cpp:50
#5  0x00005555557089f0 in CLocalTreeView::SetDir(wxString) (this=this@entry=0x5555562fe970, localDir=...) at LocalTreeView.cpp:347
#6  0x0000555555708b20 in CLocalTreeView::OnStateChange(t_statechange_notifications, wxString const&, void const*) (this=0x5555562fe970, notification=<optimized out>) at LocalTreeView.cpp:885
#7  0x00005555558177e7 in CState::NotifyHandlers(t_statechange_notifications, wxString const&, void const*) (this=this@entry=0x5555562f6f10, notification=notification@entry=STATECHANGE_LOCAL_DIR, data=..., data2=data2@entry=0x0) at state.cpp:673
#8  0x000055555581d6f2 in CState::SetLocalDir(CLocalPath const&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >*, bool) (this=this@entry=0x5555562f6f10, dir=..., error=error@entry=0x0, rememberPreviousSubdir=rememberPreviousSubdir@entry=true) at state.cpp:313
#9  0x000055555581dfa2 in CState::SetLocalDir(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >*, bool) (this=this@entry=0x5555562f6f10, dir=L"/home/raster/datos_extra/torrents/", error=error@entry=0x0, rememberPreviousSubdir=rememberPreviousSubdir@entry=true) at state.cpp:241
#10 0x0000555555670b42 in CContextControl::CreateTab() (this=0x55555618a1f0) at context_control.cpp:119
#11 0x000055555571f201 in CMainFrame::CMainFrame() (this=0x55555617c4a0) at Mainfrm.cpp:401
#12 0x00005555556a0e16 in CFileZillaApp::OnInit() (this=0x555555d4a940) at FileZilla.cpp:286
#13 0x00007f99b6329732 in wxEntry(int&, wchar_t**) () at /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#14 0x00005555556289b9 in main(int, char**) (argc=<optimized out>, argv=0x7fffffffe798) at locale_initializer.cpp:98
Last edited 7 years ago by rastersoft (previous) (diff)

comment:3 by Tim Kosse, 7 years ago

Status: newmoreinfo

The backtrace shown in the dialog is entirely nonsensical. It is however the correct assertion.

Unfortunately the backtrace from gdb, while is makes sense, does not show the assertion, but a segfault from a different issue.

Could you please provide a stacktrace using gdb at the point where the assertion dialog is shown?

comment:4 by rastersoft, 7 years ago

Status: moreinfonew

Unfortunately the dialog isn't shown when running from GDB or from the command line. Only when running from valgrind. And I suspect that running filezilla from valgrind from GDB will debug valgrind, not filezilla...

comment:5 by rastersoft, 7 years ago

Confirmed: running "gdb --args valgrind filezilla" doesn't work.

comment:7 by rastersoft, 7 years ago

Status: moreinfonew

I tried, but again, the window is not shown. This is what GDB returns.

(gdb) continue
Continuing.
[New Thread 4828]
[New Thread 4832]

Thread 1 received signal SIGTRAP, Trace/breakpoint trap.
0x0000000006dfe9a8 in wxGenericTreeCtrl::DoSelectItem(wxTreeItemId const&, bool, bool) ()
   from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
(gdb) continue
Continuing.

Thread 1 received signal SIGTRAP, Trace/breakpoint trap.
0x0000000006dfe9c0 in wxGenericTreeCtrl::DoSelectItem(wxTreeItemId const&, bool, bool) ()
   from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
(gdb) bt
#0  0x0000000006dfe9c0 in wxGenericTreeCtrl::DoSelectItem(wxTreeItemId const&, bool, bool) ()
    at /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#1  0x0000000006dfee29 in wxGenericTreeCtrl::SelectItem(wxTreeItemId const&, bool) ()
    at /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#2  0x00000000003fc00c in wxTreeCtrlEx::SafeSelectItem(wxTreeItemId const&) (this=0x16c66c40, item=...)
    at treectrlex.cpp:50
#3  0x00000000002bc9f0 in CLocalTreeView::SetDir(wxString) (this=this@entry=0x16c66c40, localDir=...)
    at LocalTreeView.cpp:347
#4  0x00000000002bcb20 in CLocalTreeView::OnStateChange(t_statechange_notifications, wxString const&, void const*) (this=0x16c66c40, notification=<optimized out>) at LocalTreeView.cpp:885
#5  0x00000000003cb7e7 in CState::NotifyHandlers(t_statechange_notifications, wxString const&, void const*) (this=this@entry=0x17402e50, notification=notification@entry=STATECHANGE_LOCAL_DIR, data=..., data2=data2@entry=0x0) at state.cpp:673
#6  0x00000000003d16f2 in CState::SetLocalDir(CLocalPath const&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >*, bool) (this=this@entry=0x17402e50, dir=..., error=error@entry=0x0, rememberPreviousSubdir=rememberPreviousSubdir@entry=true) at state.cpp:313
#7  0x00000000003d1fa2 in CState::SetLocalDir(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >*, bool) (this=this@entry=0x17402e50, dir=L"/home/raster/datos_extra/torrents/", error=error@entry=0x0, rememberPreviousSubdir=rememberPreviousSubdir@entry=true) at state.cpp:241
#8  0x0000000000224b42 in CContextControl::CreateTab() (this=0x164c5e90) at context_control.cpp:119
#9  0x00000000002d3201 in CMainFrame::CMainFrame() (this=0x163f1f00) at Mainfrm.cpp:401
#10 0x0000000000254e16 in CFileZillaApp::OnInit() (this=0x123c6820) at FileZilla.cpp:286
#11 0x000000000748a732 in wxEntry(int&, wchar_t**) () at /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#12 0x00000000001dc9b9 in main(int, char**) (argc=<optimized out>, argv=0x1fff000708)
    at locale_initializer.cpp:98

And this is what is shown at valgrind:

valgrind --vgdb=yes --vgdb-error=0 filezilla
==4744== Memcheck, a memory error detector
==4744== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==4744== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
==4744== Command: filezilla
==4744== 
==4744== (action at startup) vgdb me ... 
==4744== 
==4744== TO DEBUG THIS PROCESS USING GDB: start GDB like this
==4744==   /path/to/gdb filezilla
==4744== and then give GDB the following command
==4744==   target remote | /usr/lib/valgrind/../../bin/vgdb --pid=4744
==4744== --pid is optional if only one valgrind process is running
==4744== 
Reading locale option from /home/raster/.filezilla/filezilla.xml
==4744== Invalid read of size 1
==4744==    at 0x6DFE9A8: wxGenericTreeCtrl::DoSelectItem(wxTreeItemId const&, bool, bool) (in /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0.3.0)
==4744==    by 0x6DFEE28: wxGenericTreeCtrl::SelectItem(wxTreeItemId const&, bool) (in /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0.3.0)
==4744==    by 0x3FC00B: wxTreeCtrlEx::SafeSelectItem(wxTreeItemId const&) (treectrlex.cpp:50)
==4744==    by 0x2BC9EF: CLocalTreeView::SetDir(wxString) (LocalTreeView.cpp:347)
==4744==    by 0x2BCB1F: CLocalTreeView::OnStateChange(t_statechange_notifications, wxString const&, void const*) (LocalTreeView.cpp:885)
==4744==    by 0x3CB7E6: CState::NotifyHandlers(t_statechange_notifications, wxString const&, void const*) (state.cpp:673)
==4744==    by 0x3D16F1: CState::SetLocalDir(CLocalPath const&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >*, bool) (state.cpp:313)
==4744==    by 0x3D1FA1: CState::SetLocalDir(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >*, bool) (state.cpp:241)
==4744==    by 0x224B41: CContextControl::CreateTab() (context_control.cpp:119)
==4744==    by 0x2D3200: CMainFrame::CMainFrame() (Mainfrm.cpp:401)
==4744==    by 0x254E15: CFileZillaApp::OnInit() (FileZilla.cpp:286)
==4744==    by 0x748A731: wxEntry(int&, wchar_t**) (in /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0.3.0)
==4744==  Address 0x1235d0d0 is 144 bytes inside a block of size 152 free'd
==4744==    at 0x4C2D31B: operator delete(void*) (vg_replace_malloc.c:576)
==4744==    by 0x6DFE2EC: wxGenericTreeItem::DeleteChildren(wxGenericTreeCtrl*) (in /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0.3.0)
==4744==    by 0x6DFE2CE: wxGenericTreeItem::DeleteChildren(wxGenericTreeCtrl*) (in /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0.3.0)
==4744==    by 0x6DFF825: wxGenericTreeCtrl::DeleteChildren(wxTreeItemId const&) (in /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0.3.0)
==4744==    by 0x2B9678: CLocalTreeView::DisplayDir(wxTreeItemId, wxString const&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&) (LocalTreeView.cpp:485)
==4744==    by 0x2BA222: CLocalTreeView::OnItemExpanding(wxTreeEvent&) (LocalTreeView.cpp:621)
==4744==    by 0x73F72DD: wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const (in /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0.3.0)
==4744==    by 0x757C774: wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) (in /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0.3.0)
==4744==    by 0x757C86A: wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) (in /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0.3.0)
==4744==    by 0x757CC1A: wxEvtHandler::TryHereOnly(wxEvent&) (in /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0.3.0)
==4744==    by 0x757CCA2: wxEvtHandler::ProcessEventLocally(wxEvent&) (in /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0.3.0)
==4744==    by 0x757CD04: wxEvtHandler::ProcessEvent(wxEvent&) (in /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0.3.0)
==4744==  Block was alloc'd at
==4744==    at 0x4C2C25F: operator new(unsigned long) (vg_replace_malloc.c:334)
==4744==    by 0x6DFD25E: wxGenericTreeCtrl::DoInsertItem(wxTreeItemId const&, unsigned long, wxString const&, int, int, wxTreeItemData*) (in /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0.3.0)
==4744==    by 0x2B9945: AppendItem (treectrl.h:285)
==4744==    by 0x2B9945: CLocalTreeView::DisplayDir(wxTreeItemId, wxString const&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&) (LocalTreeView.cpp:527)
==4744==    by 0x2B9FB2: CLocalTreeView::MakeSubdirs(wxTreeItemId, wxString, wxString) (LocalTreeView.cpp:599)
==4744==    by 0x2BC9C1: CLocalTreeView::SetDir(wxString) (LocalTreeView.cpp:343)
==4744==    by 0x2BCB1F: CLocalTreeView::OnStateChange(t_statechange_notifications, wxString const&, void const*) (LocalTreeView.cpp:885)
==4744==    by 0x3CB7E6: CState::NotifyHandlers(t_statechange_notifications, wxString const&, void const*) (state.cpp:673)
==4744==    by 0x3D16F1: CState::SetLocalDir(CLocalPath const&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >*, bool) (state.cpp:313)
==4744==    by 0x3D1FA1: CState::SetLocalDir(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >*, bool) (state.cpp:241)
==4744==    by 0x224B41: CContextControl::CreateTab() (context_control.cpp:119)
==4744==    by 0x2D3200: CMainFrame::CMainFrame() (Mainfrm.cpp:401)
==4744==    by 0x254E15: CFileZillaApp::OnInit() (FileZilla.cpp:286)
==4744== 
==4744== (action on error) vgdb me ... 
==4744== Continuing ...
==4744== Invalid write of size 1
==4744==    at 0x6DFE9C0: wxGenericTreeCtrl::DoSelectItem(wxTreeItemId const&, bool, bool) (in /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0.3.0)
==4744==    by 0x6DFEE28: wxGenericTreeCtrl::SelectItem(wxTreeItemId const&, bool) (in /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0.3.0)
==4744==    by 0x3FC00B: wxTreeCtrlEx::SafeSelectItem(wxTreeItemId const&) (treectrlex.cpp:50)
==4744==    by 0x2BC9EF: CLocalTreeView::SetDir(wxString) (LocalTreeView.cpp:347)
==4744==    by 0x2BCB1F: CLocalTreeView::OnStateChange(t_statechange_notifications, wxString const&, void const*) (LocalTreeView.cpp:885)
==4744==    by 0x3CB7E6: CState::NotifyHandlers(t_statechange_notifications, wxString const&, void const*) (state.cpp:673)
==4744==    by 0x3D16F1: CState::SetLocalDir(CLocalPath const&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >*, bool) (state.cpp:313)
==4744==    by 0x3D1FA1: CState::SetLocalDir(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >*, bool) (state.cpp:241)
==4744==    by 0x224B41: CContextControl::CreateTab() (context_control.cpp:119)
==4744==    by 0x2D3200: CMainFrame::CMainFrame() (Mainfrm.cpp:401)
==4744==    by 0x254E15: CFileZillaApp::OnInit() (FileZilla.cpp:286)
==4744==    by 0x748A731: wxEntry(int&, wchar_t**) (in /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0.3.0)
==4744==  Address 0x1235d0d0 is 144 bytes inside a block of size 152 free'd
==4744==    at 0x4C2D31B: operator delete(void*) (vg_replace_malloc.c:576)
==4744==    by 0x6DFE2EC: wxGenericTreeItem::DeleteChildren(wxGenericTreeCtrl*) (in /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0.3.0)
==4744==    by 0x6DFE2CE: wxGenericTreeItem::DeleteChildren(wxGenericTreeCtrl*) (in /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0.3.0)
==4744==    by 0x6DFF825: wxGenericTreeCtrl::DeleteChildren(wxTreeItemId const&) (in /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0.3.0)
==4744==    by 0x2B9678: CLocalTreeView::DisplayDir(wxTreeItemId, wxString const&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&) (LocalTreeView.cpp:485)
==4744==    by 0x2BA222: CLocalTreeView::OnItemExpanding(wxTreeEvent&) (LocalTreeView.cpp:621)
==4744==    by 0x73F72DD: wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const (in /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0.3.0)
==4744==    by 0x757C774: wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) (in /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0.3.0)
==4744==    by 0x757C86A: wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) (in /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0.3.0)
==4744==    by 0x757CC1A: wxEvtHandler::TryHereOnly(wxEvent&) (in /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0.3.0)
==4744==    by 0x757CCA2: wxEvtHandler::ProcessEventLocally(wxEvent&) (in /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0.3.0)
==4744==    by 0x757CD04: wxEvtHandler::ProcessEvent(wxEvent&) (in /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0.3.0)
==4744==  Block was alloc'd at
==4744==    at 0x4C2C25F: operator new(unsigned long) (vg_replace_malloc.c:334)
==4744==    by 0x6DFD25E: wxGenericTreeCtrl::DoInsertItem(wxTreeItemId const&, unsigned long, wxString const&, int, int, wxTreeItemData*) (in /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0.3.0)
==4744==    by 0x2B9945: AppendItem (treectrl.h:285)
==4744==    by 0x2B9945: CLocalTreeView::DisplayDir(wxTreeItemId, wxString const&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&) (LocalTreeView.cpp:527)
==4744==    by 0x2B9FB2: CLocalTreeView::MakeSubdirs(wxTreeItemId, wxString, wxString) (LocalTreeView.cpp:599)
==4744==    by 0x2BC9C1: CLocalTreeView::SetDir(wxString) (LocalTreeView.cpp:343)
==4744==    by 0x2BCB1F: CLocalTreeView::OnStateChange(t_statechange_notifications, wxString const&, void const*) (LocalTreeView.cpp:885)
==4744==    by 0x3CB7E6: CState::NotifyHandlers(t_statechange_notifications, wxString const&, void const*) (state.cpp:673)
==4744==    by 0x3D16F1: CState::SetLocalDir(CLocalPath const&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >*, bool) (state.cpp:313)
==4744==    by 0x3D1FA1: CState::SetLocalDir(std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >*, bool) (state.cpp:241)
==4744==    by 0x224B41: CContextControl::CreateTab() (context_control.cpp:119)
==4744==    by 0x2D3200: CMainFrame::CMainFrame() (Mainfrm.cpp:401)
==4744==    by 0x254E15: CFileZillaApp::OnInit() (FileZilla.cpp:286)
==4744== 
==4744== (action on error) vgdb me ... 

comment:8 by rastersoft, 7 years ago

I don't understand why the status changes to "new" every time I add a comment...

comment:9 by Tim Kosse, 7 years ago

Status: newmoreinfo

I think I understand what happens, though I do not understand why it happens.

It seems that an item is being expanded representing a path which does not yet have had the existence of any subdirectories evaluated. This happens at a point in time where during selection of an item the tree is traversed to the root, expanding all transient parents along the way.

If you edit /home/raster/.filezilla/filezilla.xml, what's the value of the setting with the name "Last local directory"?

Last edited 7 years ago by Tim Kosse (previous) (diff)

comment:10 by rastersoft, 7 years ago

Status: moreinfonew

<Setting name="Last local directory">/home/raster/workspace/pagina_local/html/</Setting>

Which is the last path from where I uploaded thigs.

comment:11 by rastersoft, 7 years ago

If I change it to "/home/raster", filezilla opens fine, but shows a dialog with

An assertion failed!

../src/gtk/toplevel.cpp(988): assert "m_widget" failed in Show(): invalid frame

But as soon as I try to change to "datos extra" (which is a link to another partition), it breaks again.

If I try to change to "Desktop", it shows again "An assertion failed", but it just jumps to the root folder. Then everything seems to work fine :?

comment:12 by rastersoft, 7 years ago

Mmmm... I found something interesting...

Sometimes, due to a bug with cronopete (that I'm still trying to find, but I suspect that it is really some subtle bug in any of the libs I'm using), at random times (about once a month or so), folders with odd names (all made of invalid characters) are created in my home folder. I found just now two folders of that time, and filezilla showed them as "empty strings" and didn't allow me to enter inside.

I deleted them, and now filezilla seems to work fine again (it still shows a dialog with "An assertion failed! ../src/gtk/toplevel.cpp(988): assert "m_widget" failed in Show(): invalid frame", but it doesn't fail with a segmentation fault).

Version 2, edited 7 years ago by rastersoft (previous) (next) (diff)

comment:13 by Tim Kosse, 7 years ago

I deleted them, and now filezilla seems to work fine again (it still shows a dialog with "An assertion failed! ../src/gtk/toplevel.cpp(988): assert "m_widget" failed in Show(): invalid frame", but it doesn't fail with a segmentation fault).

That's a known bug in wxWidgets. Please backport https://github.com/wxWidgets/wxWidgets/commit/ce1dce113c5eda42f49ba3278bb21c61872ca37d to your copy of wxWidgets.

comment:14 by Tim Kosse, 7 years ago

From the cronopete version history:

version 3.26.0 (2017/06/17)
Code cleanup that should fix the folders with odd names

comment:15 by rastersoft, 7 years ago

Yes, I did some fixes and they seemed to work... until the folders appeared again :(

comment:16 by Tim Kosse, 7 years ago

Status: newmoreinfo

Please try the latest revision (8558) of FileZilla from its repository, it should be more resilient to invalid filenames.

comment:17 by rastersoft, 7 years ago

Status: moreinfonew

I'll do it as soon as the folders appear again (they are very random).

comment:18 by brent, 7 years ago

I have Been running 3.27.1 since 8/24 and so far no problems.. However, I have continually see when a new version of filezilla come available on my debian workstation.. That the version running becomes unstable.. That is a strange as it gets. But we will see if 3.27.1 hold more water than the previous versions.. thanks for your time and effort.. Brent

comment:19 by Tim Kosse, 6 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.