[Barrelfish-users] [New release] free() error
Kornilios Kourtis
kornilios.kourtis at inf.ethz.ch
Tue Apr 2 10:14:50 CEST 2013
Hi Georgios,
On Mon, Apr 01, 2013 at 04:31:09PM +0000, Georgios Varisteas wrote:
> Here it goes:
>
> pond20.20: ** free 1 **
> pond20.20: ** free 2 **
> pond20.20: slab_alloc on sfree() failed:
> pond20.20: trying to free slot=744
> pond20.20: x->slot=288 x->space=1
> .
> :
> pond20.20: x->slot=742 x->space=1
> pond20.20: <<<<<<<n
Actually, would you mind sending me the full list? I would like to see if
there are any merge possibilities that we are missing, or anything else
that seems out of place.
> Another uneducated guess, should the first slot be 290 and the last one
> 744?
I'm not sure about 290, but I believe 744 should not be there since we
are trying to free it.
cheers,
Kornilios.
>
> -Georgios
>
> ________________________________________
> From: Kornilios Kourtis [kornilios.kourtis at inf.ethz.ch]
> Sent: Monday, April 01, 2013 18:18
> To: Georgios Varisteas
> Cc: barrelfish-users at lists.inf.ethz.ch
> Subject: Re: [Barrelfish-users] [New release] free() error
>
> On Mon, Apr 01, 2013 at 03:49:35PM +0000, Georgios Varisteas wrote:
> > Just tested and it still crashes. Same situation as before.
>
> It was worth a try... :-)
>
> The next thing I would try to do is to print the list when the error happens to
> see if something weird is going on. Can you try something like the following:
>
> @@ -103,6 +114,17 @@ static errval_t sfree(struct slot_allocator *ca, struct capref cap)
> if (walk->next && cap.slot < walk->next->slot) {
> struct cnode_meta *new = walk->next;
> walk->next = slab_alloc(&sca->slab);
> + if (walk->next == NULL) {
> + debug_printf("slab_alloc on sfree() failed:\n");
> + debug_printf("trying to free slot=%" PRIuCSLOT "\n", cap.slot);
> + struct cnode_meta *x = sca->head;
> + while (x) {
> + debug_printf("x->slot=%" PRIuCSLOT " x->space=%" PRIuCSLOT "\n",
> + x->slot, x->space);
> + x = x->next;
> + }
> + debug_printf("<<<<<<<n");
> + }
> walk->next->slot = cap.slot;
> walk->next->space = 1;
> walk->next->next = new;
>
> cheers,
> Kornilios.
>
> >
> > -Georgios
> >
> > ________________________________________
> > From: Kornilios Kourtis [kornilios.kourtis at inf.ethz.ch]
> > Sent: Monday, April 01, 2013 17:33
> > To: Georgios Varisteas
> > Cc: barrelfish-users at lists.inf.ethz.ch
> > Subject: Re: [Barrelfish-users] [New release] free() error
> >
> > Hi Georgios,
> >
> > On Sat, Mar 30, 2013 at 09:25:22PM +0000, Georgios Varisteas wrote:
> > > Hi,
> > >
> > > First of all some more details. I have some benchmarking programs (BOTS) with the following structure:
> > >
> > > v1 = alloc(...);
> > > v2 = alloc(...);
> > >
> > > do stuff...
> > >
> > > free(v1);
> > > free(v2);
> > >
> > > It is that second call to free that crashes. The order of the calls to
> > > free doesn't matter. If I remove any one of the two or both calls, all
> > > programs run. What is weird to me is that (having removed one of these
> > > calls) multiple subsequent calls to free from different parts of the
> > > app and not on consecutive blocks, do not cause a crash.
> > >
> > > So I did some digging and I pinpointed the error at
> > > ./barrelfish/slot_alloc/single_slot_alloc.c:106 due to slab_alloc()
> > > returning NULL. The reason for that is that the head is NULL
> > > (./lib/barrelfish/slab.c:91) and not the refill function which is
> > > constantly NULL (./lib/barrelfish/slot_alloc/single_slot_alloc.c:144).
> >
> > I think I've found the bug. The slab size allocated for nodes in the ->head
> > list in single_slot_alloc is the number of slots divided by 2 to accommodate
> > for the worst case. Each node in the list maintains a range of slots so the
> > worst case scenario is having only odd (or even) slots in the list.
> >
> > However, it seems that a possible merge of nodes was overlooked. Can you
> > please try the following (admittedly not tested beyond booting qemu) patch:
> >
> > diff --git a/lib/barrelfish/slot_alloc/single_slot_alloc.c b/lib/barrelfish/slot_alloc/single_slot_alloc.c
> > index 56e4d70..9a9a61f 100644
> > --- a/lib/barrelfish/slot_alloc/single_slot_alloc.c
> > +++ b/lib/barrelfish/slot_alloc/single_slot_alloc.c
> > @@ -92,6 +92,15 @@ static errval_t sfree(struct slot_allocator *ca, struct capref cap)
> > // Freeing at the edge of walk
> > if (cap.slot == walk->slot + walk->space) {
> > walk->space++;
> > +
> > + // check if we can merge walk to next
> > + struct cnode_meta *next = walk->next;
> > + if (next && next->slot == walk->slot + walk->space) {
> > + walk->space += next->space;
> > + walk->next = next->next;
> > + slab_free(&sca->slab, next);
> > + }
> > +
> > goto finish;
> > }
> > else if (cap.slot < walk->slot + walk->space) {
> >
> >
> > cheers,
> > Kornilios.
> >
> >
> > >
> > > Moreover I traced the slots (listing at the end) and although I know very little on how these mappings work, I see an overlapping between the two variables being freed which I suspect should not be there. Specifically freeing variable 1 ends with slot 292 while freeing variable 2 starts with slot 290. As I said this is a totally uneducated guess.
> > >
> > > At this point I can think plenty of workarounds but without understanding what is actually being done, I can't suggest a solution. Any more pointers?
> > >
> > >
> > > cheers,
> > > Georgios
> > >
> > >
> > > debug_printf(" %p %u %p %p **\n", walk->next, cap.slot, new, sca->slab.refill_func);
> > >
> > > pond20.20: ** freeing variable 1 **
> > > pond20.20: 0x80a8d5d8 805 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8d5f0 807 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8d608 809 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8d620 811 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8d638 813 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8d650 815 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8d668 817 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8d680 819 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8d698 821 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8d6b0 823 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8d6c8 825 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8d6e0 827 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8d6f8 829 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8d710 831 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8d728 833 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8d740 835 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8d758 837 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8d770 839 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8d788 841 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8d7a0 843 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8d7b8 845 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8d7d0 847 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8d7e8 849 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8d800 851 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8d818 853 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8d830 855 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8d848 857 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8d860 859 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8d878 861 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8d890 863 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8d8a8 865 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8d8c0 867 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8d8d8 869 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8d8f0 871 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8d908 873 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8d920 875 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8d938 877 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8d950 879 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8d968 881 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8d980 883 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8d998 885 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8d9b0 887 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8d9c8 889 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8d9e0 891 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8d9f8 893 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8da10 895 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8da28 897 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8da40 899 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8da58 901 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8da70 903 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8da88 905 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8daa0 907 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8dab8 909 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8dad0 911 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8dae8 913 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8db00 915 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8db18 917 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8db30 919 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8db48 921 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8db60 923 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8db78 925 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8db90 927 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8dba8 929 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8dbc0 931 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8dbd8 933 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8dbf0 935 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8dc08 937 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8dc20 939 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8dc38 941 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8dc50 943 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8dc68 945 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8dc80 947 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8dc98 949 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8dcb0 951 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8dcc8 953 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8dce0 955 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8dcf8 957 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8dd10 959 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8dd28 961 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8dd40 963 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8dd58 965 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8dd70 967 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8dd88 969 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8dda0 971 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8ddb8 973 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8ddd0 975 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8dde8 977 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8de00 979 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8de18 981 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8de30 983 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8de48 985 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8de60 987 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8de78 989 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8de90 991 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8dea8 993 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8dec0 995 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8ded8 997 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8def0 999 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8df08 1001 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8df20 1003 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8df38 1005 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8df50 1007 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8df68 1009 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8df80 1011 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8df98 1013 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8dfb0 1015 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8dfc8 1017 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8dfe0 1019 0x80a8d590 0x0 **
> > > pond20.20: 0x80a8f5d8 5 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8f5f0 7 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8f608 9 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8f620 11 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8f638 13 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8f650 15 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8f668 17 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8f680 19 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8f698 21 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8f6b0 23 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8f6c8 25 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8f6e0 27 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8f6f8 29 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8f710 31 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8f728 33 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8f740 37 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8f758 40 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8f770 42 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8f788 44 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8f7a0 46 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8f7b8 48 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8f7d0 50 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8f7e8 52 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8f800 54 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8f818 56 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8f830 58 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8f848 60 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8f860 62 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8f878 64 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8f890 66 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8f8a8 68 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8f8c0 70 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8f8d8 72 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8f8f0 74 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8f908 76 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8f920 78 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8f938 80 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8f950 82 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8f968 84 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8f980 86 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8f998 88 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8f9b0 90 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8f9c8 92 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8f9e0 94 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8f9f8 96 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fa10 98 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fa28 100 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fa40 102 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fa58 104 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fa70 106 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fa88 108 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8faa0 110 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fab8 112 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fad0 114 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fae8 116 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fb00 118 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fb18 120 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fb30 122 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fb48 124 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fb60 126 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fb78 128 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fb90 130 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fba8 132 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fbc0 134 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fbd8 136 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fbf0 138 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fc08 140 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fc20 142 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fc38 144 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fc50 146 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fc68 148 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fc80 150 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fc98 152 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fcb0 154 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fcc8 156 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fce0 158 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fcf8 160 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fd10 162 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fd28 164 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fd40 166 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fd58 168 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fd70 170 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fd88 172 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fda0 174 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fdb8 176 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fdd0 178 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fde8 180 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fe00 182 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fe18 184 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fe30 186 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fe48 188 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fe60 190 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fe78 192 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fe90 194 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fea8 196 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fec0 198 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fed8 200 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fef0 202 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8ff08 204 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8ff20 206 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8ff38 208 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8ff50 210 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8ff68 212 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8ff80 214 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8ff98 216 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8ffb0 218 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8ffc8 220 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8ffe0 222 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a8fff8 224 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a90010 226 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a90028 228 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a90040 230 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a90058 232 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a90070 234 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a90088 236 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a900a0 238 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a900b8 240 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a900d0 242 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a900e8 244 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a90100 246 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a90118 248 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a90130 250 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a90148 252 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a90160 254 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a90178 256 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a90190 258 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a901a8 260 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a901c0 262 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a901d8 264 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a901f0 266 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a90208 268 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a90220 270 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a90238 272 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a90250 274 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a90268 276 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a90280 278 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a90298 280 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a902b0 282 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a902c8 284 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a902e0 286 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a902f8 288 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a90310 290 0x80a8f5a8 0x0 **
> > > pond20.20: 0x80a90328 292 0x80a8f5a8 0x0 **
> > >
> > >
> > > pond20.20: ** freeing variable 2 **
> > > pond20.20: 0x80a8e028 290 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e040 292 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e058 294 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e070 296 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e088 298 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e0a0 300 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e0b8 302 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e0d0 304 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e0e8 306 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e100 308 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e118 310 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e130 312 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e148 314 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e160 316 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e178 318 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e190 320 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e1a8 322 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e1c0 324 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e1d8 326 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e1f0 328 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e208 330 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e220 332 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e238 334 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e250 336 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e268 338 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e280 340 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e298 342 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e2b0 344 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e2c8 346 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e2e0 348 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e2f8 350 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e310 352 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e328 354 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e340 356 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e358 358 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e370 360 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e388 362 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e3a0 364 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e3b8 366 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e3d0 368 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e3e8 370 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e400 372 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e418 374 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e430 376 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e448 378 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e460 380 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e478 382 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e490 384 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e4a8 386 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e4c0 388 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e4d8 390 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e4f0 392 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e508 394 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e520 396 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e538 398 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e550 400 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e568 402 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e580 404 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e598 406 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e5b0 408 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e5c8 410 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e5e0 412 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e5f8 414 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e610 416 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e628 418 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e640 420 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e658 422 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e670 424 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e688 426 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e6a0 428 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e6b8 430 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e6d0 432 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e6e8 434 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e700 436 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e718 438 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e730 440 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e748 442 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e760 444 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e778 446 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e790 448 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e7a8 450 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e7c0 452 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e7d8 454 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e7f0 456 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e808 458 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e820 460 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e838 462 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e850 464 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e868 466 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e880 468 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e898 470 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e8b0 472 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e8c8 474 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e8e0 476 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e8f8 478 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e910 480 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e928 482 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e940 484 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e958 486 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e970 488 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e988 490 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e9a0 492 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e9b8 494 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e9d0 496 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8e9e8 498 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8ea00 500 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8ea18 502 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8ea30 504 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8ea48 506 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8ea60 508 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8ea78 510 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8ea90 512 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8eaa8 514 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8eac0 516 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8ead8 518 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8eaf0 520 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8eb08 522 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8eb20 524 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8eb38 526 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8eb50 528 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8eb68 530 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8eb80 532 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8eb98 534 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8ebb0 536 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8ebc8 538 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8ebe0 540 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8ebf8 542 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8ec10 544 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8ec28 546 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8ec40 548 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8ec58 550 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8ec70 552 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8ec88 554 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8eca0 556 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8ecb8 558 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8ecd0 560 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8ece8 562 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8ed00 564 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8ed18 566 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8ed30 568 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8ed48 570 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8ed60 572 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8ed78 574 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8ed90 576 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8eda8 578 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8edc0 580 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8edd8 582 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8edf0 584 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8ee08 586 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8ee20 588 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8ee38 590 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8ee50 592 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8ee68 594 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8ee80 596 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8ee98 598 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8eeb0 600 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8eec8 602 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8eee0 604 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8eef8 606 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8ef10 608 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8ef28 610 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8ef40 612 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8ef58 614 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8ef70 616 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8ef88 618 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8efa0 620 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8efb8 622 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8efd0 624 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8efe8 626 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f000 628 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f018 630 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f030 632 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f048 634 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f060 636 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f078 638 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f090 640 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f0a8 642 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f0c0 644 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f0d8 646 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f0f0 648 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f108 650 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f120 652 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f138 654 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f150 656 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f168 658 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f180 660 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f198 662 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f1b0 664 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f1c8 666 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f1e0 668 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f1f8 670 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f210 672 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f228 674 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f240 676 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f258 678 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f270 680 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f288 682 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f2a0 684 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f2b8 686 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f2d0 688 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f2e8 690 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f300 692 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f318 694 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f330 696 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f348 698 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f360 700 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f378 702 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f390 704 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f3a8 706 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f3c0 708 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f3d8 710 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f3f0 712 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f408 714 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f420 716 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f438 718 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f450 720 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f468 722 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f480 724 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f498 726 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f4b0 728 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f4c8 730 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f4e0 732 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f4f8 734 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f510 736 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f528 738 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f540 740 0x80a8dff8 0x0 **
> > > pond20.20: 0x80a8f558 742 0x80a8dff8 0x0 **
> > > pond20.20: 0x0 744 0x80a8dff8 0x0 **
> > > kernel 20: user page fault in 'pond20': addr 0 IP 4d49dc SP a80062b1140 error 0x6
> > >
> > >
> > >
> > > ________________________________________
> > > From: Kornilios Kourtis [kornilios.kourtis at inf.ethz.ch]
> > > Sent: Saturday, March 30, 2013 16:33
> > > To: Georgios Varisteas
> > > Cc: barrelfish-users at lists.inf.ethz.ch
> > > Subject: Re: [Barrelfish-users] [New release] free() error
> > >
> > > Hi Georgios,
> > >
> > > On Wed, Mar 27, 2013 at 08:10:22PM +0000, Georgios Varisteas wrote:
> > > > Hi,
> > > >
> > > > Using code that run before updating, I now get a page fault while
> > > > freeing memory. The same code runs correctly on linux and I get no
> > > > messages from valgrind neither. Thus it should be something internal.
> > > > kernel 20: user page fault in 'pond20': addr 0 IP 4d3c8d SP a80062b1120 error 0x6
> > > >
> > > > Although I attached the disassembled portion below, I assume the error
> > > > is at ./lib/barrelfish/slot_alloc/single_slot_alloc.c:117.
> > > >
> > > > Actually this is the last of a series of 3 calls to free() and since
> > > > allocations were also done consecutively the addresses are consecutive.
> > > >
> > > > I can spend time to fix this myself but I'd like some pointers.
> > > >
> > > > cheers,
> > > > Georgios
> > > >
> > > >
> > > > 00000000004d3b10 <sfree>:
> > > [snip]
> > > > 4d3c84: e8 27 64 f9 ff callq 46a0b0 <slab_alloc>
> > > > 4d3c89: 49 89 46 08 mov %rax,0x8(%r14)
> > > >
> > > > ->4d3c8d: 44 89 28 mov %r13d,(%rax)
> > >
> > > Not sure how much this will help, but the problem seems to be that
> > > slab_alloc() returns NULL, which is not checked in sfree(), causing a
> > > segfault when trying to dereference the returned pointer.
> > >
> > > slab_alloc() returns NULL if:
> > > a) no refill function (->refill_func) exists, or
> > > b) calling ->refill_func did not result in new free blocks.
> > >
> > > A first suggestion would be to try and see if we are dealing with a) or
> > > b).
> > >
> > > cheers,
> > > Kornilios.
> > >
> > > --
> > > Kornilios Kourtis
> > >
> > > _______________________________________________
> > > Barrelfish-users mailing list
> > > Barrelfish-users at lists.inf.ethz.ch
> > > https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users
> >
> > --
> > Kornilios Kourtis
> >
> > _______________________________________________
> > Barrelfish-users mailing list
> > Barrelfish-users at lists.inf.ethz.ch
> > https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users
>
> --
> Kornilios Kourtis
--
Kornilios Kourtis
More information about the Barrelfish-users
mailing list