Opened 13 years ago

Closed 12 years ago

#8617 closed bug (fixed)

Poorman crashes on N-th page refresh

Reported by: mr.Noisy Owned by: nobody
Priority: normal Milestone: R1
Component: Applications/PoorMan Version: R1/Development
Keywords: poorman Cc:
Blocked By: Blocking:
Platform: All

Description

This is gcc2hybrid hrev44193. Poorman is configured to show directory listing. Stack trace below.

Thread 4485 called debugger(): getNumAvailable() < getNumBlocks()
[...]
[Switching to team /boot/system/apps/PoorMan (4448) thread www connection (4485)]
0xffff0114 in ?? ()
(gdb) bt
#0 0xffff0114 in ?? ()
#1 0x007b9fee in debugger () from /boot/system/lib/libroot.so
#2 0x007c5d35 in __assert_fail () from /boot/system/lib/libroot.so
#3 0x0083636f in BPrivate::hoardHeap::freeBlock () from /boot/system/lib/libroot.so
#4 0x00837392 in BPrivate::processHeap::free () from /boot/system/lib/libroot.so
#5 0x00838a52 in free () from /boot/system/lib/libroot.so
#6 0x0021b927 in ls ()
#7 0x0021bcd3 in really_start_request ()
#8 0x0021c007 in httpd_start_request ()
#9 0x00212c96 in PoorManServer::_Worker ()
#10 0x007be6e3 in thread_entry () from /boot/system/lib/libroot.so
#11 0x78137fec in ?? ()

Attachments (2)

avoid_double_free.patch (525 bytes ) - added by oco 12 years ago.
0001-Poorman-avoid-a-double-free-in-ls-method.-Should-fix.patch (903 bytes ) - added by oco 12 years ago.

Download all attachments as: .zip

Change History (7)

by oco, 12 years ago

Attachment: avoid_double_free.patch added

comment:1 by oco, 12 years ago

patch: 01

comment:2 by oco, 12 years ago

Got the same problem at begeistert.

It is a double free error. In case of a GET request, de is already freed in the if METHOD_GET. The only case i think it is still necessary is the METHOD_HEAD if (see attached patch).

Due to the unusual indenting, i hope i didn't miss something.

comment:3 by mmadia, 12 years ago

Please re-create and re-attach it with git format-patch so you'll be credited correctly. Please cf. SubmittingPatches.

comment:4 by oco, 12 years ago

After fighting with git for too long, i finally got something. Hopefully, the patch has now the expected format...

comment:5 by mmadia, 12 years ago

Resolution: fixed
Status: newclosed

Thank you! Applied in hrev44987.

Note: See TracTickets for help on using tickets.