Archived:Issues with MGFetch on S60 3rd Edition (Known Issue)
|ID||KIS000765||Creation date||October 18, 2007|
|Platform||S60 3rd Edition||Devices||All (S60 3rd Edition)|
MGFetch (class used for fetching filenames for Media Gallery content) requires ReadUserData capability. In addition, on the emulator a check against DRM capability is done by default. When trying to use MGFetch in an application built for GCCE UDEB target, a KERN-EXEC 3 panic is raised.
S60 3rd Edition documentation (SDK help) states that MGFetch does not require any capabilities. However, it returns KErrPermissionDenied (-46) error when used. It works only when the application has ReadUserData capability.
MGFetch::RunL() implementation, when run in emulator, checks for DRM capability by default even if none of the media files are DRM protected.
An application using MGFetch::RunL() and built for GCCE UDEB target raises a KERN-EXEC 3 panic when a media file is selected. This issue occurs because UDEB builds contain debugging code that consumes more stack memory.
How to reproduce
Write an application that uses MGFetch::RunL. Run it in the emulator. Check the EPOCWIND.OUT log file and search for the "*PlatSec* ERROR" string.
EPOCWIND.OUT is the log file created by the S60 emulator. It is by default located under the user's temporary directory (usually C:\Documents and Settings\[Username]\Local Settings\Temp in Windows XP).
Specify ReadUserData capability.
Increase the stack size in the .mmp project definition file: