×

Discussion Board

Results 1 to 6 of 6
  1. #1
    Registered User
    Join Date
    Nov 2008
    Posts
    8

    Unhappy [moved] Example3D crashes in emulator

    Hey, all.

    For some reason, I'm having problems running the "Example3D" application (the car game) in the S60 emulator. I'm running out of ideas, so I thought maybe someone here could offer some fresh insight
    My environment should be set up correctly, and other examples compile, launch & run fine. This one, however, crashes in the emulator with "System error -12", followed by KERN-EXEC 3.
    Now, Error -12 suggests something wrong within the emulator's file system (according to http://wiki.forum.nokia.com/index.php/Error_codes ), so I checked that all resource files were in place. Also tried deleting Example3D_reg.rsc from epoc32\data\z\private\10003a3f\apps, as suggested by http://discussion.forum.nokia.com/fo...d.php?t=140098 . The first error given by the debugger is

    23.290 [<SRSF>] [Error!] CContextProvider::CreateVCommandContextLC() CContextProvider::CreateVCommandContextLC SaveContext call failed [F:Contextprovider.cpp][L:99][TId:188],

    which seems to cause the following errors:

    23.480 [<SRSF>] [Error!] CVCommandManager::ParseAllFilesFromDirectoryL(const TDesC16 &) CVCommandManager::ParseAllFilesFromDirectoryL - GetDir returns [-12] [F:Vcommandmanager.cpp][L:175][TId:197]
    23.480 [<SRSF>] [Error!] CVCommandManager::ParseAllFilesFromDirectoryL(const TDesC16 &) CVCommandManager::ParseAllFilesFromDirectoryL - GetDir returns [-12] [F:Vcommandmanager.cpp][L:175][TId:197]
    23.480 [<SRSF>] [Error!] CVCommandManager::ParseAllFilesFromDirectoryL(const TDesC16 &) CVCommandManager::ParseAllFilesFromDirectoryL - GetDir returns [-12] [F:Vcommandmanager.cpp][L:175][TId:197]
    23.480 [<SRSF>] [Error!] CVCommandManager::ParseAllFilesFromDirectoryL(const TDesC16 &) CVCommandManager::ParseAllFilesFromDirectoryL - GetDir returns [-12] [F:Vcommandmanager.cpp][L:175][TId:197]
    23.480 [<SRSF>] [Error!] CVCommandManager::ParseAllFilesFromDirectoryL(const TDesC16 &) CVCommandManager::ParseAllFilesFromDirectoryL - GetDir returns [-12] [F:Vcommandmanager.cpp][L:175][TId:197]
    23.480 [<SRSF>] [Error!] CVCommandManager::ParseAllFilesFromDirectoryL(const TDesC16 &) CVCommandManager::ParseAllFilesFromDirectoryL - GetDir returns [-12] [F:Vcommandmanager.cpp][L:175][TId:197]
    23.635 [<SRSF>] [Error!] CVCommandManager::ParseAllFilesFromDirectoryL(const TDesC16 &) CVCommandManager::ParseAllFilesFromDirectoryL - GetDir returns [-12] [F:Vcommandmanager.cpp][L:175][TId:197], which in turn crash the app.
    But this is where I'm stuck. I have no idea what causes CreateVCommandContextLC to fail

    Here are some things I've tried so far:
    - Compiling & running the example with both S60 3rd FP1 and FP2 SDKs (both installed from scratch)
    - Completely uninstalling, then reinstalling Carbide, all SDKs and plugins
    - Changing the UID to 0x00 (as suggested here: http://discussion.forum.nokia.com/fo...ad.php?t=42114 ).
    - Checking that the exports to epoc32\winscw\c\private are there. Also creating a new subdirectory, copying the contents there and changing the UID accordingly
    - Manually building the application using the command line tools
    - Tried different emulator profiles (winscw, winscw udeb), on both emulators

    All of these have produced the same result: the application compiles without errors, but gives the aforementioned errors when trying to launch it in the emulator. I'm using Windows XP SP3. Everything is installed in their default locations, on my primary (C partition.

  2. #2
    Nokia Developer Moderator
    Join Date
    Sep 2004
    Location
    Tampere, Finland
    Posts
    11,359

    Re: Example3D crashes in emulator

    The example works in the emulator, I've played with it recently. However, many things could go wrong when you do not have yet an understanding of the platform. Why don't you start with something more accessible?

    If you feel like working on this example I would suggest that you start debugging and see which method leaves with -12 and then figure out why it does that. A data (image) file is probably not where it should be.

    But don't jump into applying anything you read on these boards, what works for one problem will make another problem worst. Some of the fixes you have tried above are really ... weird.
    -- Lucian

    If you are not yet a DVLUP member it is time to correct that mistake :) Click here to join: http://www.dvlup.com/lucian/Invite

  3. #3
    Nokia Developer Moderator
    Join Date
    Feb 2006
    Location
    Oslo, Norway
    Posts
    28,750

    Re: [moved] Example3D crashes in emulator

    If you enable Just In Time debugging in the preferences of the emulator, and execute the code in the debugger, it will show you the exact location where it fails. Then you may get a better idea than this CreateVCommandContextLC-stuff.

  4. #4
    Registered User
    Join Date
    Nov 2008
    Posts
    8

    Re: [moved] Example3D crashes in emulator

    Quote Originally Posted by ltomuta View Post
    The example works in the emulator, I've played with it recently.
    Yes, I'm aware the code itself should work.

    Quote Originally Posted by wizard_hu_ View Post
    If you enable Just In Time debugging in the preferences of the emulator, and execute the code in the debugger, it will show you the exact location where it fails. Then you may get a better idea than this CreateVCommandContextLC-stuff.
    I have JIT enabled. As ltomuta said, however, the code shouldn't be the problem. It fails in the texture loading part (when accessing the file system), which lead me to the conclusion that there is
    Quote Originally Posted by matiasw View Post
    something wrong within the emulator's file system
    I can post the entire log from the debug session if you feel that it's useful. However, if I comment out all code that loads something from the file system, it doesn't crash any more, so I think I'm on the right track.

    Quote Originally Posted by ltomuta View Post
    If you feel like working on this example I would suggest that you start debugging and see which method leaves with -12 and then figure out why it does that. A data (image) file is probably not where it should be.
    Like I said, this is what I thought as well. That's why I tried the "weird" approach of moving the data files around in the emulator's file system. Excuse me for "not having an understanding of the platform", but I was merely trying to put the files "where they should be". I couldn't get it to work, though, so if you could offer your insight into where, exactly, an application's data files should reside within the file system, that could really help. As it stands, they are exactly where the PRJ_EXPORTS statements in bld.inf tell them to go (in this case, \Epoc32\winscw\c\private\e01FF1d0\).

  5. #5
    Nokia Developer Moderator
    Join Date
    Feb 2006
    Location
    Oslo, Norway
    Posts
    28,750

    Re: [moved] Example3D crashes in emulator

    Unfortunately I can not test the application here and now, but a thing you can try could be temporarily eliminating the magic with private path.
    Copy the 3 image files in data (picture.jpg, picture2.jpg and font.gif) to epoc32\winscw\c, and modify CPictureLoader::LoadL (in CPictureLoader.cpp):
    Code:
    TBitmap CPictureLoader::LoadL( const TFileName& aFileName, TDisplayMode aDisplayMode)
        {
    //    TFileName filename( iPath );
        TFileName filename( _L("c:\\") );
        filename.Append( aFileName );
    This way you surely eliminate any possible problems originating from UID3 (whatever it is, 0 or 0xe01FF1d0), and the missing drive letter from the iPath (RFs::PrivatePath does not provide drive letter, and that can be a problem too).

  6. #6
    Registered User
    Join Date
    Nov 2008
    Posts
    8

    Re: [moved] Example3D crashes in emulator

    Quote Originally Posted by wizard_hu_ View Post
    Unfortunately I can not test the application here and now, but a thing you can try could be temporarily eliminating the magic with private path.
    Copy the 3 image files in data (picture.jpg, picture2.jpg and font.gif) to epoc32\winscw\c, and modify CPictureLoader::LoadL (in CPictureLoader.cpp):
    Code:
    TBitmap CPictureLoader::LoadL( const TFileName& aFileName, TDisplayMode aDisplayMode)
        {
    //    TFileName filename( iPath );
        TFileName filename( _L("c:\\") );
        filename.Append( aFileName );
    This way you surely eliminate any possible problems originating from UID3 (whatever it is, 0 or 0xe01FF1d0), and the missing drive letter from the iPath (RFs::PrivatePath does not provide drive letter, and that can be a problem too).
    Thank you - that worked, and while going over the code for CPictureLoader, I discovered the culprit: the last line in CPictureLoader::ConstructL():

    Code:
    iPath.Insert(0,_L("E:"));
    So not too complicated, after all

Similar Threads

  1. [moved] Need help with finding emulator with right screen resolution
    By Sigwald in forum Mobile Java Tools & SDKs
    Replies: 2
    Last Post: 2008-10-21, 08:25
  2. [moved] Edition 2 Emulator not running
    By 76Richard76 in forum Symbian Tools & SDKs
    Replies: 4
    Last Post: 2008-09-02, 12:01
  3. Emulator in SDK 1.1 crashes using SVG canvas
    By steview in forum Near Field Communication
    Replies: 0
    Last Post: 2007-07-30, 19:34
  4. SDK 3rd FP3: Emulator crashes at startup: KERN-EXEC 3
    By KarstenBln in forum Symbian Tools & SDKs
    Replies: 1
    Last Post: 2007-06-27, 09:50
  5. 9210 emulator: Internet access advanced settings crashes
    By twaltari in forum Symbian Tools & SDKs
    Replies: 0
    Last Post: 2002-09-02, 07:37

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
×