Opened 12 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)
Change History (7)
by , 12 years ago
Attachment: | avoid_double_free.patch added |
---|
comment:1 by , 12 years ago
patch: | 0 → 1 |
---|
comment:2 by , 12 years ago
comment:3 by , 12 years ago
Please re-create and re-attach it with git format-patch
so you'll be credited correctly. Please cf. SubmittingPatches.
by , 12 years ago
Attachment: | 0001-Poorman-avoid-a-double-free-in-ls-method.-Should-fix.patch added |
---|
comment:4 by , 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 , 12 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Thank you! Applied in hrev44987.
Note:
See TracTickets
for help on using tickets.
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.