Project

General

Profile

Actions

Bug #952

closed
BN KD

WTableView::closeEditors() causes segfault in HTML version

Bug #952: WTableView::closeEditors() causes segfault in HTML version

Added by Boris Nagaev about 15 years ago. Updated almost 15 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Target version:
Start date:
08/12/2011
Due date:
% Done:

0%

Estimated time:

Description

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffea230700 (LWP 21631)]
0x00007ffff6a487ee in Wt::WContainerWidget::widget (this=<value optimized out>, index=0)
    at /build/buildd/witty-3.1.10/src/Wt/WContainerWidget.C:279
279     /build/buildd/witty-3.1.10/src/Wt/WContainerWidget.C: No such file or directory.
        in /build/buildd/witty-3.1.10/src/Wt/WContainerWidget.C
(gdb) bt
#0  0x00007ffff6a487ee in Wt::WContainerWidget::widget (this=<value optimized out>, index=0)
    at /build/buildd/witty-3.1.10/src/Wt/WContainerWidget.C:279
#1  0x00007ffff6b4adc3 in Wt::WTableView::updateItem (this=0x7fffe40008b0, index=..., renderedRow=<value optimized out>, 
    renderedColumn=<value optimized out>) at /build/buildd/witty-3.1.10/src/Wt/WTableView.C:1256
#2  0x00007ffff6b4b055 in Wt::WTableView::modelDataChanged (this=0x7fffe40008b0, topLeft=..., 
    bottomRight=<value optimized out>) at /build/buildd/witty-3.1.10/src/Wt/WTableView.C:1236
#3  0x00007ffff6b4d8b2 in operator() (function_obj_ptr=<value optimized out>, a0=..., a1=..., a2=..., a3=..., a4=..., a5=...)
    at /usr/include/boost/bind/mem_fn_template.hpp:280
#4  operator()<boost::_mfi::mf2<void, Wt::WTableView, const Wt::WModelIndex&, const Wt::WModelIndex&>, boost::_bi::list6<Wt::WM
odelIndex&, Wt::WModelIndex&, Wt::NoClass&, Wt::NoClass&, Wt::NoClass&, Wt::NoClass&> > (
    function_obj_ptr=<value optimized out>, a0=..., a1=..., a2=..., a3=..., a4=..., a5=...)
    at /usr/include/boost/bind/bind.hpp:392
#5  operator()<Wt::WModelIndex, Wt::WModelIndex, Wt::NoClass, Wt::NoClass, Wt::NoClass, Wt::NoClass> (
    function_obj_ptr=<value optimized out>, a0=..., a1=..., a2=..., a3=..., a4=..., a5=...)
    at /usr/include/boost/bind/bind_template.hpp:203
#6  boost::detail::function::void_function_obj_invoker6<boost::_bi::bind_t<void, boost::_mfi::mf2<void, Wt::WTableView, Wt::WMo
delIndex const&, Wt::WModelIndex const&>, boost::_bi::list3<boost::_bi::value<Wt::WTableView*>, boost::arg<1>, boost::arg<2> > 
>, void, Wt::WModelIndex, Wt::WModelIndex, Wt::NoClass, Wt::NoClass, Wt::NoClass, Wt::NoClass>::invoke (
    function_obj_ptr=<value optimized out>, a0=..., a1=..., a2=..., a3=..., a4=..., a5=...)
    at /usr/include/boost/function/function_template.hpp:153
#7  0x0000000000475c32 in boost::function6<void, Wt::WModelIndex, Wt::WModelIndex, Wt::NoClass, Wt::NoClass, Wt::NoClass, Wt::N
oClass>::operator() (this=0x7fffe4005e28, a0=..., a1=..., a2=..., a3=..., a4=..., a5=...)
    at /usr/include/boost/function/function_template.hpp:1013
#8  0x0000000000474a75 in caller<Wt::WModelIndex, Wt::WModelIndex, Wt::NoClass, Wt::NoClass, Wt::NoClass, Wt::NoClass, boost::f
unction6<void, Wt::WModelIndex, Wt::WModelIndex, Wt::NoClass, Wt::NoClass, Wt::NoClass, Wt::NoClass> >::operator()<boost::signa
ls::detail::connection_slot_pair> (this=0x7fffea22d670, slot=...) at /usr/include/boost/signals/signal_template.hpp:119
#9  0x00000000004737f2 in boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound6<void>::caller<Wt::WMod
elIndex, Wt::WModelIndex, Wt::NoClass, Wt::NoClass, Wt::NoClass, Wt::NoClass, boost::function6<void, Wt::WModelIndex, Wt::WMode
lIndex, Wt::NoClass, Wt::NoClass, Wt::NoClass, Wt::NoClass> >, boost::signals::detail::named_slot_map_iterator>::dereference (
    this=0x7fffea22d630) at /usr/include/boost/signals/detail/slot_call_iterator.hpp:61
#10 0x000000000047263e in boost::iterator_core_access::dereference<boost::signals::detail::slot_call_iterator<boost::signals::d
etail::call_bound6<void>::caller<Wt::WModelIndex, Wt::WModelIndex, Wt::NoClass, Wt::NoClass, Wt::NoClass, Wt::NoClass, boost::f
unction6<void, Wt::WModelIndex, Wt::WModelIndex, Wt::NoClass, Wt::NoClass, Wt::NoClass, Wt::NoClass> >, boost::signals::detail:
:named_slot_map_iterator> > (f=...) at /usr/include/boost/iterator/iterator_facade.hpp:516
#11 0x00000000004711c2 in boost::iterator_facade<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound6
<void>::caller<Wt::WModelIndex, Wt::WModelIndex, Wt::NoClass, Wt::NoClass, Wt::NoClass, Wt::NoClass, boost::function6<void, Wt:
:WModelIndex, Wt::WModelIndex, Wt::NoClass, Wt::NoClass, Wt::NoClass, Wt::NoClass> >, boost::signals::detail::named_slot_map_it
erator>, boost::signals::detail::unusable, boost::single_pass_traversal_tag, boost::signals::detail::unusable const&, long>::op
erator* (this=0x7fffea22d630) at /usr/include/boost/iterator/iterator_facade.hpp:634
#12 0x000000000046ee84 in boost::detail::postfix_increment_proxy<boost::signals::detail::slot_call_iterator<boost::signals::det
ail::call_bound6<void>::caller<Wt::WModelIndex, Wt::WModelIndex, Wt::NoClass, Wt::NoClass, Wt::NoClass, Wt::NoClass, boost::fun
ction6<void, Wt::WModelIndex, Wt::WModelIndex, Wt::NoClass, Wt::NoClass, Wt::NoClass, Wt::NoClass> >, boost::signals::detail::n
amed_slot_map_iterator> >::postfix_increment_proxy (this=0x7fffea22d51f, x=...)
    at /usr/include/boost/iterator/iterator_facade.hpp:144
#13 0x000000000046d809 in boost::operator++<boost::signals::detail::slot_call_iterator<boost::signals::detail::call_bound6<void
>::caller<Wt::WModelIndex, Wt::WModelIndex, Wt::NoClass, Wt::NoClass, Wt::NoClass, Wt::NoClass, boost::function6<void, Wt::WMod
elIndex, Wt::WModelIndex, Wt::NoClass, Wt::NoClass, Wt::NoClass, Wt::NoClass> >, boost::signals::detail::named_slot_map_iterato
r>, boost::signals::detail::unusable, boost::single_pass_traversal_tag, boost::signals::detail::unusable const&, long> (i=...)
    at /usr/include/boost/iterator/iterator_facade.hpp:732
#14 0x000000000046b581 in boost::last_value<void>::operator()<boost::signals::detail::slot_call_iterator<boost::signals::detail
::call_bound6<void>::caller<Wt::WModelIndex, Wt::WModelIndex, Wt::NoClass, Wt::NoClass, Wt::NoClass, Wt::NoClass, boost::functi
on6<void, Wt::WModelIndex, Wt::WModelIndex, Wt::NoClass, Wt::NoClass, Wt::NoClass, Wt::NoClass> >, boost::signals::detail::name
d_slot_map_iterator> > (this=0x7fffe4005928, first=..., last=...) at /usr/include/boost/last_value.hpp:49
#15 0x0000000000468977 in boost::signal6<void, Wt::WModelIndex, Wt::WModelIndex, Wt::NoClass, Wt::NoClass, Wt::NoClass, Wt::NoC
lass, boost::last_value<void>, int, std::less<int>, boost::function6<void, Wt::WModelIndex, Wt::WModelIndex, Wt::NoClass, Wt::N
oClass, Wt::NoClass, Wt::NoClass> >::operator() (this=0x7fffe40059f0, a1=..., a2=..., a3=..., a4=..., a5=..., a6=...)
    at /usr/include/boost/signals/signal_template.hpp:354
#16 0x00000000004663d1 in Wt::Signal<Wt::WModelIndex, Wt::WModelIndex, Wt::NoClass, Wt::NoClass, Wt::NoClass, Wt::NoClass>::emi
t (this=0x7fffe4005120, a1=..., a2=..., a3=..., a4=..., a5=..., a6=...) at /usr/include/Wt/WSignal:937
#17 0x000000000048f6ad in Wt::Dbo::QueryModel<Wt::Dbo::ptr<facts::Fact> >::invalidateRow (this=0x7fffe4004fa0, row=1)
    at /usr/include/Wt/Dbo/QueryModel_impl.h:250
#18 0x000000000048eb7b in Wt::Dbo::QueryModel<Wt::Dbo::ptr<facts::Fact> >::setData (this=0x7fffe4004fa0, index=..., 
    value=..., role=2) at /usr/include/Wt/Dbo/QueryModel_impl.h:168
#19 0x00007ffff69dd37c in Wt::WAbstractItemView::saveEditedValue (this=0x7fffe40008b0, index=..., editor=...)
    at /build/buildd/witty-3.1.10/src/Wt/WAbstractItemView.C:1420
#20 0x00007ffff69dda3b in Wt::WAbstractItemView::closeEditor (this=0x7fffe40008b0, index=<value optimized out>, saveData=true)
    at /build/buildd/witty-3.1.10/src/Wt/WAbstractItemView.C:1261
#21 0x00007ffff69ddad5 in Wt::WAbstractItemView::closeEditors (this=0x7fffe40008b0, saveData=true)
    at /build/buildd/witty-3.1.10/src/Wt/WAbstractItemView.C:1270

Files

952.cpp (1.13 KB) 952.cpp segfault when click any field in HTML version Boris Nagaev, 08/21/2011 09:00 PM
952.gdb (15.4 KB) 952.gdb gdb output Boris Nagaev, 08/21/2011 09:00 PM

KD Updated by Koen Deforche about 15 years ago Actions #1

  • Status changed from New to Feedback
  • Assignee set to Koen Deforche
  • Target version set to 3.1.11

Hey Starius,

I couldn't reproduce this. Prior to your call to closeEditors(), is there any other manipulation to the view or model you did within the same event ?

Regards,
koen

BN Updated by Boris Nagaev about 15 years ago Actions #2

Hello!

I tried to create an example to reproduce this and probably discovered another segfault.
The program ends with segfault after trying to edit any field.

KD Updated by Koen Deforche about 15 years ago Actions #3

  • Status changed from Feedback to Resolved

Hey Sarius,

I've fixed this, in git. I suspect it could be the same issue if you were also use setRowHeaderCount(1) in your other test case ?

Regarsd,
koen

BN Updated by Boris Nagaev about 15 years ago Actions #4

Hello,

Yes, setRowHeaderCount(1) was also used in other test case.

Regards

KD Updated by Koen Deforche almost 15 years ago Actions #5

  • Status changed from Resolved to Closed

Resolved in Wt 3.1.11

Actions

Also available in: PDF Atom