Summary:ASTERISK-17441: Crash in generic_http_callback
Reporter:Nicu Farmache (nicuro)Labels:
Date Opened:2011-02-20 07:20:01.000-0600Date Closed:2011-07-27 12:08:50
Versions:1.8.2 Frequency of
Environment:Attachments:( 0) asterisk-17441-fix.diff
( 1) bt.txt
( 2) bt2.txt
( 3) bt3.txt
( 4) bt4.txt
Description:I use the http manager interface to run "core show channels" and form time to time asterisk crashes in function generic_http_callback.

The only two requests i do are



gdb shows

Program terminated with signal 7, Bus error.
#0  0x08128ad9 in generic_http_callback (ser=0xb52792b0, method=AST_HTTP_GET, format=FORMAT_XML, remote_address=0xb60a30bc, uri=0xb60a41a5 "", get_params=0x891f258, headers=0xae90700) at manager.c:5545
5545 buf[l] = '\0';

The crash happens 3-5 times a day at abbout 1 http request per second
Comments:By: Nicu Farmache (nicuro) 2011-03-07 03:28:24.000-0600

Can anybody help me with this. I need to use it in a big project and this is keeping me back.

By: Pablo Ruiz GarcĂ­a (pruiz) 2011-07-15 12:12:04.711-0500

Attached a patch fixing the bug for review.

The problem was an ast_str was being pass to process_output (manager.c) as a pointer value, instead of as a pointer reference.

Then due to a call to ast_str_append, such ast_str was being expanded (via remalloc) and the correct pointer reference was being lost at this point as this wasnt a pointer reference..

By: David Vossel (dvossel) 2011-07-20 16:15:58.236-0500

I believe this has been resolved by r327950 in 1.8

By: George Pajari (netvoice) 2011-07-27 05:43:15.973-0500

Yes, it would appear so. r327950 looks the same as the diff listed here and fixes this problem as well as other (such as ASTERISK-18133).

By: Richard Mudgett (rmudgett) 2011-07-27 12:08:50.882-0500

Closing per reports.