ericmckean / google-gadgets-for-linux

Automatically exported from code.google.com/p/google-gadgets-for-linux
Apache License 2.0
0 stars 0 forks source link

crash when an event of an XML control calls a method which redraws everything (which includes deleting the caller entity) #358

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
This is what my gadget does when this happens:

I've got an edit control, which has an onfocusout="some-method()", where in
some-method() I redraw the whole view. The edit control is inside a
listbox, but of course before redraw I remove everything from the listbox.
So the edit box gets deleted, also its parent (it's in a div inside a
listbox item). 

The crash happens not every time, but definiately when that event is called.

What is the expected output? What do you see instead?
Well, not crash.

What version of the product are you using? On what operating system?
google-gadgets-gtk 0.11.2-1, on an Arch Linux

Please provide any additional information below.

backtrace:

Thread 1 (Thread 4974):
#0  0xb70148f7 in ggadget::BasicElement::GetParentElement() const ()
   from /usr/lib/libggadget-1.0.so.0
#1  0xb70159d1 in ggadget::BasicElement::SelfCoordToViewCoord(double,
double, double*, double*) const () from /usr/lib/libggadget-1.0.so.0
#2  0xb7015fa3 in ggadget::BasicElement::GetExtentsInView() const ()
   from /usr/lib/libggadget-1.0.so.0
#3  0xb7021e1a in ggadget::BasicElement::Impl::QueueDraw() ()
   from /usr/lib/libggadget-1.0.so.0
#4  0xb70191a7 in ggadget::BasicElement::OnOtherEvent(ggadget::Event const&)
    () from /usr/lib/libggadget-1.0.so.0
#5  0xb7111e4b in ggadget::View::Impl::SetFocus(ggadget::BasicElement*) ()
   from /usr/lib/libggadget-1.0.so.0
#6  0xb710b218 in ggadget::View::OnKeyEvent(ggadget::KeyboardEvent const&) ()
   from /usr/lib/libggadget-1.0.so.0
#7  0xb7118174 in ggadget::ViewElement::OnKeyEvent(ggadget::KeyboardEvent
const&) () from /usr/lib/libggadget-1.0.so.0
#8  0xb710aef6 in ggadget::View::OnKeyEvent(ggadget::KeyboardEvent const&) ()
   from /usr/lib/libggadget-1.0.so.0
#9  0xb6e79b0a in
ggadget::gtk::ViewWidgetBinder::Impl::KeyPressHandler(_GtkWidget*,
_GdkEventKey*, void*) () from /usr/lib/libggadget-gtk-1.0.so.0
#10 0xb74cec74 in _gtk_marshal_BOOLEAN__BOXED ()
   from /usr/lib/libgtk-x11-2.0.so.0
#11 0xb72d74e2 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#12 0xb72ed905 in signal_emit_unlocked_R () from /usr/lib/libgobject-2.0.so.0
#13 0xb72eed53 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#14 0xb72ef356 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#15 0xb75fa1f6 in gtk_widget_event_internal ()
   from /usr/lib/libgtk-x11-2.0.so.0
#16 0xb74c73b3 in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0
#17 0xb74c8667 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
#18 0xb735c6aa in gdk_event_dispatch () from /usr/lib/libgdk-x11-2.0.so.0
#19 0xb7241895 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#20 0xb7245568 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#21 0xb7245aa7 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#22 0xb74c8c29 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#23 0x0805082e in ?? ()
#24 0xb6be4b86 in __libc_start_main () from /lib/libc.so.6
#25 0x0804f211 in ?? ()
Thread 2 (Thread 4976):
#0  0xb7779424 in __kernel_vsyscall ()
#1  0xb6c66636 in nanosleep () from /lib/libc.so.6
#2  0xb6c66430 in sleep () from /lib/libc.so.6
#3  0xb5c9cba9 in ggadget::smjs::TriggerOperationCallbacksThread(void*) ()
   from /usr/lib/google-gadgets/modules/smjs-script-runtime.so
#4  0xb6d1a94c in start_thread () from /lib/libpthread.so.0
#5  0xb6c9beae in clone () from /lib/libc.so.6

Thread 3 (Thread 4975):
#0  0xb7779424 in __kernel_vsyscall ()
#1  0xb6d1ef35 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb5c293e9 in PR_WaitCondVar () from /usr/lib/libnspr4.so
#3  0xb5b92951 in ?? () from /usr/lib/xulrunner-1.9.2/libmozjs.so
#4  0xb5c2f671 in _pt_root () from /usr/lib/libnspr4.so
#5  0xb6d1a94c in start_thread () from /lib/libpthread.so.0
#6  0xb6c9beae in clone () from /lib/libc.so.6

Original issue reported on code.google.com by grizza...@gmail.com on 3 Apr 2010 at 1:17

Attachments:

GoogleCodeExporter commented 9 years ago
Sorry for late response. Can you give us some testing code that can reproduce 
this 
crash?

Original comment by james...@gmail.com on 12 May 2010 at 4:47