Opened 15 years ago

Closed 15 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 15 years ago by bennylp

  • Component changed from applications to pjmedia
  • Description modified (diff)
  • Owner changed from bennylp to nanang

comment:2 Changed 15 years ago by bennylp

  • Milestone changed from release-1.0.1 to Known-Issues

comment:3 Changed 15 years ago by bennylp

  • Resolution set to worksforme
  • Status changed from new to closed

The workaround was implemented on r2378 (pjsip v1.0.1)

Note: See TracTickets for help on using tickets.