#8 race condition on double click

closed-fixed
rodent (23)
1
2011-04-15
2010-11-07
Napuseno Smith
No

double click on a folder while that folder is being loaded by a rsync from a remote machine, crash.

(gdb) where
#0 0x08d3ee91 in free () from /lib/tls/i686/cmov/libc.so.6
#1 0x0054dfc6 in g_free () from /lib/libglib-2.0.so.0
#2 0x0085d945 in destroy_entry (en=0x1) at primary-entry.c:100
#3 0x0079e9c5 in destroy_population_item (population_p=0xa461748)
at rodent_population.c:276
#4 0x0079ea2b in destroy_population (view_p=0xa268400)
at rodent_population.c:289
#5 0x0079ea88 in init_view (view_p=0xa268400, en=0xa43bc50)
at rodent_population.c:524
#6 0x00c239a0 in reload_iconview (data=0xa268400, en=0xa43bc50)
at gridview.c:274
#7 0x00795080 in rodent_refresh (widgets_p=0x0, en=0xa43bc50)
at rodent_popup.c:115
#8 0x007984fa in rodent_double_click (view_p=0xa268400,
population_p=0xa439758, control=0) at rodent_mouse.c:987
#9 0x0079a657 in signal_on_button_release (widget=0xa2df660, event=0x9d80860,
data=0xa268400) at rodent_mouse.c:274
#10 0x01034424 in ?? () from /usr/lib/libgtk-x11-2.0.so.0

(gdb) print ((population_t *)0xa461748)->en
$2 = (record_entry_t *) 0xa46af00

rodent_population.c:276 =>> destroy_entry(population_p->en);
(gdb) print *((record_entry_t *) 0xa46af00)
$3 = {type = 4176, subtype = 249, count = 149054688, st = 0xa461740,
mimetype = 0x300 <Address 0x300 out of bounds>,
tag = 0x1 <Address 0x1 out of bounds>, path = 0x0,
icon = 0x1 <Address 0x1 out of bounds>,
exec = 0x310 <Address 0x310 out of bounds>, terminal = 282,
URL = 0x1 <Address 0x1 out of bounds>,
filter = 0x11a <Address 0x11a out of bounds>,
module = 0x310 <Address 0x310 out of bounds>,
parent_module = 0x1d1 <Address 0x1d1 out of bounds>}

some other thread has destroyed the record_entry

Discussion

    • assigned_to: nobody --> edscott
    • priority: 5 --> 8
     
  • Missing mutex condition fixed.

     
    • labels: --> rodent
    • status: open --> closed-fixed
     
    • priority: 8 --> 1