Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. Qt 4.7.1 problems on Symbian^3 emulator
Forum Updated to NodeBB v4.3 + New Features

Qt 4.7.1 problems on Symbian^3 emulator

Scheduled Pinned Locked Moved Mobile and Embedded
18 Posts 3 Posters 11.2k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • X Offline
    X Offline
    xsacha
    wrote on last edited by
    #2

    Hmm, you commented out the statusbar, yet the stack trace still has calls from the statusbar? You've cleaned?

    It seems to crash when trying to open the font file for the statusbar caption.

    Carbide is so scary. I've moved to QtCreator and haven't dealt with this stuff in a long time :O.

    • Sacha
    1 Reply Last reply
    0
    • S Offline
      S Offline
      stenlik
      wrote on last edited by
      #3

      Hi,

      sorry for confusing post - I mean that the error with the font was same even I commented out the QStatusBar initialization. It was caused by another line of code called later, which sets the QPushButton text:

      @
      pushButton->setText(QApplication::translate("TestHelloWorldS3", "myButton", 0, QApplication::UnicodeUTF8));@

      If I commented also this out application can be started, otherwise the error symptoms are same:

      @TestHelloWorldS3 Emulator Debug (WINSCW) [Nokia_Symbian3_SDK_v0.9_2] [Symbian OS Emulation]
      epoc.exe [Process ID: 1732] (Suspended)
      ...
      Thread [Thread id: 5700] (Running)
      Thread [Thread id: 6304] (Suspended: Signal 'Halt' received. Description: User halted thread.)
      ...
      50 0x2A9A15( ekern.exe )() 0x002a9a15
      49 0x600034F8( euser.dll )() 0x600034f8
      48 CArrayFixCOpenFontFile::TAttrib::operator C:\dev\symb\SDKs\32\epoc32\include\e32base.inl:183 0x614b6b3c
      47 COpenFontFile::FaceAttrib() C:\dev\symb\SDKs\32\epoc32\include\openfont.h:2302 0x614b6b0f
      46 COpenFont::FaceAttrib() C:\dev\symb\SDKs\32\epoc32\include\openfont.h:1549 0x614b6adb
      45 QSymbianFontDatabaseExtrasImplementation::extras() D:\Symbian\Qt_4.7.1_symbian\src\gui\text\qfontdatabase_s60.cpp:248 0x614b6465
      44 addFontToScreenDevice() D:\Symbian\Qt_4.7.1_symbian\src\gui\text\qfontdatabase_s60.cpp:362 0x614b7592
      43 initializeDb() D:\Symbian\Qt_4.7.1_symbian\src\gui\text\qfontdatabase_s60.cpp:401 0x614b7dff
      42 QFontDatabase::findFont() D:\Symbian\Qt_4.7.1_symbian\src\gui\text\qfontdatabase_s60.cpp:463 0x614b7fc8
      41 QFontDatabase::load() D:\Symbian\Qt_4.7.1_symbian\src\gui\text\qfontdatabase_s60.cpp:562 0x614b88e0
      40 QFontPrivate::engineForScript() D:\Symbian\Qt_4.7.1_symbian\src\gui\text\qfont.cpp:270 0x6149d93b
      39 QFontMetricsF::leading() D:\Symbian\Qt_4.7.1_symbian\src\gui\text\qfontmetrics.cpp:1215 0x614b171b
      38 qt_format_text() D:\Symbian\Qt_4.7.1_symbian\src\gui\painting\qpainter.cpp:8028 0x61379280
      37 QPainter::drawText() D:\Symbian\Qt_4.7.1_symbian\src\gui\painting\qpainter.cpp:6053 0x613747b5
      36 QStyle::drawItemText() D:\Symbian\Qt_4.7.1_symbian\src\gui\styles\qstyle.cpp:541 0x6141ab6c
      35 QCommonStyle::drawControl() D:\Symbian\Qt_4.7.1_symbian\src\gui\styles\qcommonstyle.cpp:1303 0x6142833e
      34 QS60Style::drawControl() D:\Symbian\Qt_4.7.1_symbian\src\gui\styles\qs60style.cpp:2084 0x61491c7e
      33 QS60Style::drawControl() D:\Symbian\Qt_4.7.1_symbian\src\gui\styles\qs60style.cpp:1330 0x6148e7b1
      32 QStylePainter::drawControl() D:\Symbian\Qt_4.7.1_symbian\src\gui\painting\qstylepainter.h:90 0x61078e40
      31 QPushButton::paintEvent() D:\Symbian\Qt_4.7.1_symbian\src\gui\widgets\qpushbutton.cpp:454 0x61635fef
      30 QWidget::event() D:\Symbian\Qt_4.7.1_symbian\src\gui\kernel\qwidget.cpp:8347 0x612f499c
      29 QAbstractButton::event() D:\Symbian\Qt_4.7.1_symbian\src\gui\widgets\qabstractbutton.cpp:1080 0x6158d46f
      28 QPushButton::event() D:\Symbian\Qt_4.7.1_symbian\src\gui\widgets\qpushbutton.cpp:683 0x61636a8a
      27 QApplicationPrivate::notify_helper() D:\Symbian\Qt_4.7.1_symbian\src\gui\kernel\qapplication.cpp:4445 0x612a48cc
      26 QApplication::notify() D:\Symbian\Qt_4.7.1_symbian\src\gui\kernel\qapplication.cpp:4410 0x612a3bbf
      25 QCoreApplication::notifyInternal() D:\Symbian\Qt_4.7.1_symbian\src\corelib\kernel\qcoreapplication.cpp:732 0x4d29708b
      24 QCoreApplication::sendSpontaneousEvent() D:\Symbian\Qt_4.7.1_symbian\src\corelib\kernel\qcoreapplication.h:218 0x4d209f06
      23 QWidgetPrivate::drawWidget() D:\Symbian\Qt_4.7.1_symbian\src\gui\kernel\qwidget.cpp:5433 0x612edc1f
      22 QWidgetPrivate::paintSiblingsRecursive() D:\Symbian\Qt_4.7.1_symbian\src\gui\kernel\qwidget.cpp:5641 0x612ee9ce
      21 QWidgetPrivate::drawWidget() D:\Symbian\Qt_4.7.1_symbian\src\gui\kernel\qwidget.cpp:5487 0x612edfb1
      20 QWidgetPrivate::paintSiblingsRecursive() D:\Symbian\Qt_4.7.1_symbian\src\gui\kernel\qwidget.cpp:5641 0x612ee9ce
      19 QWidgetPrivate::drawWidget() D:\Symbian\Qt_4.7.1_symbian\src\gui\kernel\qwidget.cpp:5487 0x612edfb1
      18 QWidgetBackingStore::sync() D:\Symbian\Qt_4.7.1_symbian\src\gui\painting\qbackingstore.cpp:1336 0x6141085f
      17 QWidgetPrivate::syncBackingStore() D:\Symbian\Qt_4.7.1_symbian\src\gui\kernel\qwidget.cpp:1819 0x612e5a81
      16 QSymbianControl::SizeChanged() D:\Symbian\Qt_4.7.1_symbian\src\gui\kernel\qapplication_s60.cpp:1183 0x613142a6
      15 0x40607866( cone.dll )() 0x40607866
      14 QWidgetPrivate::show_sys() D:\Symbian\Qt_4.7.1_symbian\src\gui\kernel\qwidget_s60.cpp:521 0x6131ce42
      13 QWidgetPrivate::show_helper() D:\Symbian\Qt_4.7.1_symbian\src\gui\kernel\qwidget.cpp:7400 0x612f2c4f
      12 QWidget::setVisible() D:\Symbian\Qt_4.7.1_symbian\src\gui\kernel\qwidget.cpp:7609 0x612f31dd
      11 QWidget::show() D:\Symbian\Qt_4.7.1_symbian\src\gui\kernel\qwidget.h:487 0x6103fc10
      10 QWidget::showMaximized() D:\Symbian\Qt_4.7.1_symbian\src\gui\kernel\qwidget.cpp:3035 0x612e8b43
      9 main() D:\Symbian\Projects\symworkspace\TestHelloWorldS3\main.cpp:22 0x0b881067
      8 QtMainWrapper() D:\Symbian\Qt_4.7.1_symbian\src\s60main\qts60main_mcrt0.cpp:86 0x0b8830b1
      7 E32Main() D:\Symbian\Qt_4.7.1_symbian\src\s60main\qts60main.cpp:56 0x0b882c1c
      6 _E32Startup() M:\sf\os\kernelhwsrv\kernel\eka\euser\epoc\win32\uc_exe.cpp:87 0x0b88256c
      5 0x2AACD3( ekern.exe )() 0x002aacd3
      4 0x2A9667( ekern.exe )() 0x002a9667
      3 0x76E63677( KERNEL32.dll )() 0x76e63677
      2 0x77389D42( ntdll.dll )() 0x77389d42
      1 0x77389D15( ntdll.dll )() 0x77389d15
      Thread [Thread id: 6120] (Running)
      @

      BR
      STen

      1 Reply Last reply
      0
      • X Offline
        X Offline
        xsacha
        wrote on last edited by
        #4

        [quote]QString::fromUtf8("statusbar")
        ...
        QApplication::UnicodeUTF8[/quote]
        Does it work without using unicode?

        Have you seen this:
        http://discussion.forum.nokia.com/forum/showthread.php?214116-QT-4.7.1-for-Symbian-3-demo-applications-crashing-on-emulator

        Someone with the same problem.

        http://bugreports.qt.nokia.com/browse/QTBUG-5284
        Bug. Last comment, someone with the same stack trace as you.

        • Sacha
        1 Reply Last reply
        0
        • S Offline
          S Offline
          stenlik
          wrote on last edited by
          #5

          Hi,

          I think it crashes due to some bug in "fontstore":http://developer.symbian.org/xref/oss/xref/Symbian3/sf/os/textandloc/fontservices/fontstore/ compoment.

          My guess is that it crahes when the pointer returned by following method is accessed because it is not valid (see the comment):

          @/*
          Workaround: fntstore.h has an inlined function 'COpenFont* CBitmapFont::OpenFont()'
          that returns a private data member. The header will change between SDKs. But Qt has
          to build on any SDK version and run on other versions of Symbian OS.
          This function performs the needed pointer arithmetic to get the right COpenFont*
          /
          COpenFont
          OpenFontFromBitmapFont(const CBitmapFont* aBitmapFont)
          {
          const TInt offsetIOpenFont = 92; // '_FOFF(CBitmapFont, iOpenFont)' ..if iOpenFont weren't private
          const TUint valueIOpenFont = (TUint)PtrAdd(aBitmapFont, offsetIOpenFont);
          return (valueIOpenFont & 1) ?
          (COpenFont*)PtrAdd(aBitmapFont, valueIOpenFont & ~1) : // New behavior: iOpenFont is offset
          (COpenFont*)valueIOpenFont; // Old behavior: iOpenFont is pointer
          }@

          I have also checked the epocwind.out for some info:
          @ 209.370 FontProvider: Category=3, TextPane Height=29; mapped request=26; asked typeface=Series 60 Sans TitleSmBd; given typeface=Series 60 Sans TitleSmBd, actual range=29(a,d,exa,exd=19 7 5 -2)
          209.375 FontProvider: Category=3, TextPane Height=28; mapped request=26; asked typeface=Series 60 Sans TitleSmBd; given typeface=Series 60 Sans TitleSmBd, actual range=29(a,d,exa,exd=19 7 5 -2)
          209.940 Thread TestHelloWorldS3::TestHelloWorldS3 Panic KERN-EXEC 3@

          What worries me, that this was reported only by 2 people so far - me and the one on the forum.nokia.com.

          Hope someone could solve the issue...
          BR
          STeN

          1 Reply Last reply
          0
          • S Offline
            S Offline
            stenlik
            wrote on last edited by
            #6

            Hi,

            I have found one more interesting problem:

            When installing the Qt 4.7.1 over the S^3^ SDK, only binaries (e.g. .dlls) are rewritten, while Qt header files remains untouched. I have saved immediately after start up the QT_VERSION_STR string to qDebug() and the result is still 4.6.3...

            BR
            STeN

            1 Reply Last reply
            0
            • K Offline
              K Offline
              koshui
              wrote on last edited by
              #7

              Which version of FN Symbian SDK you are using? I've tried both 0.8 and 0.9 and they fail miserably when compiling Qt itself so don't expect to have full support on these yet. Symbian PDK is to my knowledge the only working Symbian^3 SDK out there.

              From my experience:
              0.8 is binary incompatible with Firmware on N8, works if you have pre-built Qt.
              0.9 is missing hal.h so nothing actually compiles. This is actually very odd thing as we had 3 different machines all of them 0.9 installed and in one of the machines (Win7) hal.h is extracted but the other 2 (Win XP) are missing it. So we made tests to see what could be causing it but didn't find anything conclusive. I ran on my machine both custom and full install without getting hal.h.

              I also posted on the FN thread with my alter ego jakoskin ;)

              1 Reply Last reply
              0
              • K Offline
                K Offline
                koshui
                wrote on last edited by
                #8

                [quote author="stenlik" date="1291554709"]Hi,
                When installing the Qt 4.7.1 over the S^3^ SDK, only binaries (e.g. .dlls) are rewritten, while Qt header files remains untouched. I have saved immediately after start up the QT_VERSION_STR string to qDebug() and the result is still 4.6.3...
                [/quote]

                One thing you could try is to delete (or move) the Qt headers from epoc32/include to force the use of headers under Qt/include .

                1 Reply Last reply
                0
                • S Offline
                  S Offline
                  stenlik
                  wrote on last edited by
                  #9

                  Hi koshui,

                  I have 0.9 S^3^ SDK, I did not tried the PDK... I will probably wait until a 0.9 SDK compatible version will be available on forum.nokia pages:))
                  BR
                  STeN

                  1 Reply Last reply
                  0
                  • S Offline
                    S Offline
                    stenlik
                    wrote on last edited by
                    #10

                    Hi,

                    [quote author="koshui" date="1291574085"][quote author="stenlik" date="1291554709"]Hi,
                    When installing the Qt 4.7.1 over the S^3^ SDK, only binaries (e.g. .dlls) are rewritten, while Qt header files remains untouched. I have saved immediately after start up the QT_VERSION_STR string to qDebug() and the result is still 4.6.3...
                    [/quote]

                    One thing you could try is to delete (or move) the Qt headers from epoc32/include to force the use of headers under Qt/include .
                    [/quote]

                    I will try to delete old header files (hope there are really only under /mw/qt* subdirectory), to force the Carbide.C++ to use the new from 4.7.1 SDK - but still I am afraid that the font problem will not gone...

                    BR
                    STeN

                    1 Reply Last reply
                    0
                    • K Offline
                      K Offline
                      koshui
                      wrote on last edited by
                      #11

                      [quote author="stenlik" date="1291610412"]Hi,
                      I will try to delete old header files (hope there are really only under /mw/qt* subdirectory), to force the Carbide.C++ to use the new from 4.7.1 SDK - but still I am afraid that the font problem will not gone...
                      [/quote]

                      That is the correct directory.
                      Can you try copying fonts over from 5.0 SDK ? It wouldn't surprise me at all if the font files are corrupted (or missing).

                      1 Reply Last reply
                      0
                      • S Offline
                        S Offline
                        stenlik
                        wrote on last edited by
                        #12

                        Hi,

                        I will try today to delete headers and overwrite fonts (BTW - have you idea, where I can find them) and put here some feedback. Hope there will not be other problems...

                        BR
                        STeN

                        1 Reply Last reply
                        0
                        • K Offline
                          K Offline
                          koshui
                          wrote on last edited by
                          #13

                          According to http://developer.symbian.org/xref/oss/xref/Symbian3/sf/os/textandloc/fontservices/fontstore/src/FNTSTORE.CPP they are in \resource\fonts and in Font&Bitmap Servers SID.

                          Copying fonts over will most likely have some nice side-effects :)

                          1 Reply Last reply
                          0
                          • S Offline
                            S Offline
                            stenlik
                            wrote on last edited by
                            #14

                            Hi,

                            I have tried to change header files - this helps in a way, that QT_VERSION_STR is now 4.7.1, but application was still crashing. Then I tried to replace the fonts with those from Qt 4.7.1. SDK, but it has no positive effects. The SDK is simply not ready to be used in Carbide.C++, at least this is my conclusion from this...

                            If anyone will succeed running 4.7.1 with S^3 SDK on Carbide.C++ please give a note here...

                            BR
                            STEN

                            1 Reply Last reply
                            0
                            • K Offline
                              K Offline
                              koshui
                              wrote on last edited by
                              #15

                              I replied to FN as well. Qt4.7.1 and Symbian^3 0.9 were never tested to work together and use incompatible build configuration.
                              I understood that you knew this and wanted to try anyways.

                              1 Reply Last reply
                              0
                              • S Offline
                                S Offline
                                stenlik
                                wrote on last edited by
                                #16

                                Hi koshui,

                                Now I understand that... Thanks for your support, even I was unsuccessful it gave me some knowledge... Please understand that it was little bit confusing for me, that the the Qt 4.7.1 and S^3^ both are available but they are not compatible... I should read the http://doc.qt.nokia.com/4.7/supported-platforms.html first., now I clearly understand that only S60 5th is tested and supported and older 3rd and never S^3^ not.

                                Is there any roadmap/plan where the newest Symbian OS will be supported?

                                Have a nice day and thanks
                                STeN

                                1 Reply Last reply
                                0
                                • ? This user is from outside of this forum
                                  ? This user is from outside of this forum
                                  Guest
                                  wrote on last edited by
                                  #17

                                  Stenlik, just saw "this":http://labs.qt.nokia.com/2010/12/12/start-with-qt-4-7-for-symbian-today/ lab blog post about running Qt 4.7.1 on Symbian, so give it a shot and let us know

                                  1 Reply Last reply
                                  0
                                  • X Offline
                                    X Offline
                                    xsacha
                                    wrote on last edited by
                                    #18

                                    That's for QtCreator chetank...
                                    Doesn't really show anything we aren't already doing :P
                                    I did that stuff the day Qt4.7.1 came out.

                                    • Sacha
                                    1 Reply Last reply
                                    0

                                    • Login

                                    • Login or register to search.
                                    • First post
                                      Last post
                                    0
                                    • Categories
                                    • Recent
                                    • Tags
                                    • Popular
                                    • Users
                                    • Groups
                                    • Search
                                    • Get Qt Extensions
                                    • Unsolved