Talk About Network

Google


Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Data Bases > Pgsql Interfaces Pgadmin Hackers > frmEditGrid Cra...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 1 of 2 Topic 4499 of 4769
Post > Topic >>

frmEditGrid Crash testcase

by tharakan@[EMAIL PROTECTED] ("Robins Tharakan") Apr 28, 2008 at 05:13 AM

------=_Part_3062_5976889.1209339802077
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Hi,

When we right click on the last row of a grid with very few rows (about
10-20), the application crashes to a halt with 'segmentation fault'.

I am unable to find a good solution, but of what I understand,
thread->IsRunning() fails when the thread is not actually running. Oddly,
this happens only for small tables and not for those containing greater
than
.... say 50-100 rows.

I tried the condition (thread & thread->IsRunning) and that fails too.
Also
(thread->IsAlive()) meets with the same fate. How can we check whether the
thread is actually executing something or not, without actually causing a
segfault for such cases ?

If we remove this check altogether,  this problem obviously gets resolved,
but of course, pgAdmin would then certainly crash if the user requests two
table refreshes back-to-back in quick succession.

Could anyone hint at what is the possible cause / solution to this issue ?
I am using v7237 (1.9 branch).

Regards,
*Robins Tharakan*


DEBUG re****t on one of my attempts to resolve such crashes.
--------------------------------------------------------
ASSERT INFO:
.../include/wx/thrimpl.cpp(42): assert "m_internal" failed in Lock():
wxMutex::Lock(): not initialized

BACKTRACE:
[1] wxThread::IsRunning() cons)
[2] frmEditGrid::OnCellRightClick(wxGridEvent&)
/projects/pgadmin/40_line_numbers_in_sql_view/7/pgadmin/./frm/frmEditGrid.cpp:416
[3] wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&,
wxEvtHandler*, wxEvent&)
[4] wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*)
[5] wxEvtHandler::ProcessEvent(wxEvent&)
[6] wxEvtHandler::ProcessEvent(wxEvent&)
[7] wxWindowBase::TryParent(wxEvent&)
[8] wxEvtHandler::ProcessEvent(wxEvent&)
[9] wxEvtHandler::ProcessEvent(wxEvent&)
[10] wxScrollHelperEvtHandler::ProcessEvent(wxEvent&)
[11] wxGrid::SendEvent(int, int, int, wxMouseEvent&)
[12] wxGrid::ProcessGridCellMouseEvent(wxMouseEvent&)
[13] wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&,
wxEvtHandler*, wxEvent&)
[14] wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*)
[15] wxEvtHandler::ProcessEvent(wxEvent&)
[16] wxWindow::GTKProcessEvent(wxEvent&) cons)
[17] g_closure_invoke()
[18] g_signal_emit_valist()
[19] g_signal_emit()
[20] gtk_propagate_event()
[21] gtk_main_do_event()
[22] g_main_context_dispatch()
[23] g_main_loop_run()
[24] gtk_main()

------=_Part_3062_5976889.1209339802077
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

<span style="font-family: verdana,sans-serif;">Hi,</span><br
style="font-family: verdana,sans-serif;"><br style="font-family:
verdana,sans-serif;"><span style="font-family: verdana,sans-serif;">When
we right click on the last row of a grid with very few rows (about 10-20),
the application crashes to a halt with &#39;segmentation
fault&#39;.</span><br style="font-family: verdana,sans-serif;">
<br style="font-family: verdana,sans-serif;"><span style="font-family:
verdana,sans-serif;">I am unable to find a good solution, but of what I
understand, thread-&gt;IsRunning() fails when the thread is not actually
running. Oddly, this happens only for small tables and not for those
containing greater than ... say 50-100 rows.</span><br style="font-family:
verdana,sans-serif;">
<br style="font-family: verdana,sans-serif;"><span style="font-family:
verdana,sans-serif;">I tried the condition (thread &amp;
thread-&gt;IsRunning) and that fails too. Also (thread-&gt;IsAlive())
meets with the same fate.</span> <span style="font-family:
verdana,sans-serif;">How can we check whether the thread is actually
executing something or not, without actually causing a segfault for such
cases ?</span><br style="font-family: verdana,sans-serif;">
<br style="font-family: verdana,sans-serif;"><span style="font-family:
verdana,sans-serif;">If we remove this check altogether,&nbsp; this
problem obviously gets resolved, but of course, pgAdmin would then
certainly crash if the user requests two table refreshes back-to-back in
quick succession.<br>
<br>Could anyone hint at what is the possible cause / solution to this
issue ? <br>I am using v7237 (1.9 branch).</span><br><br
style="font-family: verdana,sans-serif;"><span style="font-family:
verdana,sans-serif;">Regards,</span><br style="font-family:
verdana,sans-serif;">
<b style="font-family: verdana,sans-serif;">Robins Tharakan</b><br
style="font-family: verdana,sans-serif;"><br style="font-family:
verdana,sans-serif;"><br style="font-family: verdana,sans-serif;"><span
style="font-family: verdana,sans-serif;">DEBUG re****t on one of my
attempts to resolve such crashes.</span><br style="font-family:
verdana,sans-serif;">
<span style="font-family:
verdana,sans-serif;">--------------------------------------------------------</span><br
style="font-family: verdana,sans-serif;"><span style="font-family:
verdana,sans-serif;">ASSERT INFO:</span><br style="font-family:
verdana,sans-serif;">
<span style="font-family:
verdana,sans-serif;">../include/wx/thrimpl.cpp(42): assert
&quot;m_internal&quot; failed in Lock(): wxMutex::Lock(): not
initialized</span><br style="font-family: verdana,sans-serif;"><br
style="font-family: verdana,sans-serif;">
<span style="font-family: verdana,sans-serif;">BACKTRACE:</span><br
style="font-family: verdana,sans-serif;"><span style="font-family:
verdana,sans-serif;">[1] wxThread::IsRunning() cons)</span><br
style="font-family: verdana,sans-serif;">
<span style="font-family: verdana,sans-serif;">[2]
frmEditGrid::OnCellRightClick(wxGridEvent&amp;)
/projects/pgadmin/40_line_numbers_in_sql_view/7/pgadmin/./frm/frmEditGrid.cpp:416</span><br
style="font-family: verdana,sans-serif;">
<span style="font-family: verdana,sans-serif;">[3]
wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&amp;,
wxEvtHandler*, wxEvent&amp;)</span><br style="font-family:
verdana,sans-serif;"><span style="font-family: verdana,sans-serif;">[4]
wxEventHashTable::HandleEvent(wxEvent&amp;, wxEvtHandler*)</span><br
style="font-family: verdana,sans-serif;">
<span style="font-family: verdana,sans-serif;">[5]
wxEvtHandler::ProcessEvent(wxEvent&amp;)</span><br style="font-family:
verdana,sans-serif;"><span style="font-family: verdana,sans-serif;">[6]
wxEvtHandler::ProcessEvent(wxEvent&amp;)</span><br style="font-family:
verdana,sans-serif;">
<span style="font-family: verdana,sans-serif;">[7]
wxWindowBase::TryParent(wxEvent&amp;)</span><br style="font-family:
verdana,sans-serif;"><span style="font-family: verdana,sans-serif;">[8]
wxEvtHandler::ProcessEvent(wxEvent&amp;)</span><br style="font-family:
verdana,sans-serif;">
<span style="font-family: verdana,sans-serif;">[9]
wxEvtHandler::ProcessEvent(wxEvent&amp;)</span><br style="font-family:
verdana,sans-serif;"><span style="font-family: verdana,sans-serif;">[10]
wxScrollHelperEvtHandler::ProcessEvent(wxEvent&amp;)</span><br
style="font-family: verdana,sans-serif;">
<span style="font-family: verdana,sans-serif;">[11] wxGrid::SendEvent(int,
int, int, wxMouseEvent&amp;)</span><br style="font-family:
verdana,sans-serif;"><span style="font-family: verdana,sans-serif;">[12]
wxGrid::ProcessGridCellMouseEvent(wxMouseEvent&amp;)</span><br
style="font-family: verdana,sans-serif;">
<span style="font-family: verdana,sans-serif;">[13]
wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&amp;,
wxEvtHandler*, wxEvent&amp;)</span><br style="font-family:
verdana,sans-serif;"><span style="font-family: verdana,sans-serif;">[14]
wxEventHashTable::HandleEvent(wxEvent&amp;, wxEvtHandler*)</span><br
style="font-family: verdana,sans-serif;">
<span style="font-family: verdana,sans-serif;">[15]
wxEvtHandler::ProcessEvent(wxEvent&amp;)</span><br style="font-family:
verdana,sans-serif;"><span style="font-family: verdana,sans-serif;">[16]
wxWindow::GTKProcessEvent(wxEvent&amp;) cons)</span><br
style="font-family: verdana,sans-serif;">
<span style="font-family: verdana,sans-serif;">[17]
g_closure_invoke()</span><br style="font-family:
verdana,sans-serif;"><span style="font-family: verdana,sans-serif;">[18]
g_signal_emit_valist()</span><br style="font-family: verdana,sans-serif;">
<span style="font-family: verdana,sans-serif;">[19]
g_signal_emit()</span><br style="font-family: verdana,sans-serif;"><span
style="font-family: verdana,sans-serif;">[20]
gtk_propagate_event()</span><br style="font-family: verdana,sans-serif;">
<span style="font-family: verdana,sans-serif;">[21]
gtk_main_do_event()</span><br style="font-family:
verdana,sans-serif;"><span style="font-family: verdana,sans-serif;">[22]
g_main_context_dispatch()</span><br style="font-family:
verdana,sans-serif;">
<span style="font-family: verdana,sans-serif;">[23]
g_main_loop_run()</span><br style="font-family: verdana,sans-serif;"><span
style="font-family: verdana,sans-serif;">[24] gtk_main()</span><br
style="font-family: verdana,sans-serif;">

------=_Part_3062_5976889.1209339802077--
 




 2 Posts in Topic:
frmEditGrid Crash testcase
tharakan@[EMAIL PROTECTED  2008-04-28 05:13:22 
Re: frmEditGrid Crash testcase
dpage@[EMAIL PROTECTED]   2008-04-29 09:07:36 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Sat Sep 6 15:35:26 CDT 2008.