Opened 16 years ago
Closed 16 years ago
#683 closed defect (worksforme)
Crash/segfault on pjmedia_wsola_create() on ARM9 platform with GCC optimizations
Reported by: | bennylp | Owned by: | nanang |
---|---|---|---|
Priority: | normal | Milestone: | Known-Issues |
Component: | pjmedia | Version: | trunk |
Keywords: | Cc: | ||
Backport to 1.x milestone: | Backported: |
Description (last modified by bennylp)
gcc-4.2.1, arm926ej-s, Linux-2.6.23
Crash on pjmedia_wsola_create() function, specificly in the fixed-point version of create_win() function. The symptom is the "i" variable value in the "for(i=0; i<count; ++i)" loop goes beyond the range and possibly writes data to some random memory location, causing the segmentation fault.
The segfault occurs when the library is compiled with -O2/-O3 (and possibly higher). It does not happen when the optimization is turned off. So we suspect that this is due to some gcc optimization bug.
The workaround that we used now is to force WSOLA to use linear window when floating point is disabled. If you wish to disable this workaround, declare this in your config_site.h:
#define PJMEDIA_WSOLA_LINEAR_WIN 0
Change History (3)
comment:1 Changed 16 years ago by bennylp
- Component changed from applications to pjmedia
- Description modified (diff)
- Owner changed from bennylp to nanang
comment:2 Changed 16 years ago by bennylp
- Milestone changed from release-1.0.1 to Known-Issues
comment:3 Changed 16 years ago by bennylp
- Resolution set to worksforme
- Status changed from new to closed
The workaround was implemented on r2378 (pjsip v1.0.1)