Thursday, October 11, 2007

Session 9 - what does it take to start again on Vista?

NOTE=I've skipped session 8 until I have the lab done

Well, I wanted to do the lab that my professor told us to do (Modify the browser ) and I normally bring a hard drive with my source and build there so I can pour into the class' computer but I forgot it!!

I had three options:
  • Build on the PC from the lab (get the source code again and build), but this required too much time!!
  • Get the source code and the build from somebody else, I tried to get it by using my iPod (the transfer said that it would take 50 miuntes!!) and through a DVD (which was only finalized by the end of the class)
  • Or just work on the research that required the lab (which I did and I got the answer but couldn't test it)

Afterwards, I got angry and I said: why other people have been able to build on Vista and not me?????

It was over, I had to tackle this and stop building at my brother's computer or on the borrowed mac!!!
"Today, I should have the minefield build running on my laptop (which uses Vista)!!"

  • I deleted the whole source code
  • I ran the environment as administrator (right click on msvc8.bat and "run as administrator")
  • I got it again
  • new .mozconfig
  • build a debug-build
  • and voila!!!!
    • real 232m57.500s (232/60=3h52min)
      user 4m56.726s
      sys 13m46.088s
    • this long time might be that I had something running wrong on Vista, since the CPU wasn't being used more than 10%. I closed some programs and killed some processed and it seemed to go faster, but I did this almost like 3 hours and half after started
    • TODO - Research on how to take advantage of my dual core and build below 60 minutes
  • I run this:
    $> ../obj-i686-pc-mingw32/dist/bin/firefox.exe -no-remote -ProfileManager
    and did not run properly
  • The I run this:
    $> export XPCOM_DEBUG_BREAK=warn
    $> ../obj-i686-pc-mingw32/dist/bin/firefox.exe -no-remote -ProfileManager
    It run but it looked like this:

  • pretty empty, isn't?
  • Look at this screenshots of the errors I saw behind the screen (it shows Leaks or something):
  • Then I did this:
    $> obj-i686-pc-mingw32/dist/bin/firefox.exe -no-remote -ProfileManager > afterRun.log
    The contents below:
  • ++WEBSHELL 014192F8 == 1
    ++DOMWINDOW == 1
    ++DOMWINDOW == 2
    --WEBSHELL 014192F8 == 0
    --DOMWINDOW == 1
    --DOMWINDOW == 0
    nsStringStats
    => mAllocCount: 7042
    => mReallocCount: 636
    => mFreeCount: 7042
    => mShareCount: 6015
    => mAdoptCount: 1380
    => mAdoptFreeCount: 1380
    ++WEBSHELL 02FD6008 == 1
    ++DOMWINDOW == 1
    ************************************************************
    * Call to xpconnect wrapped JSObject produced this error: *
    [Exception... "Component returned failure code: 0x80570016 (NS_ERROR_XPC_GS_RETURNED_FAILURE) [nsIJSCID.getService]" nsresult: "0x80570016 (NS_ERROR_XPC_GS_RETURNED_FAILURE)" location: "JS frame :: file:///c:/ff3/obj-i686-pc-mingw32/dist/bin/components/nsBrowserGlue.js :: bg__initPlaces :: line 297" data: no]
    ************************************************************
    ++DOMWINDOW == 2
    ++WEBSHELL 04519E00 == 2
    ++DOMWINDOW == 3
    ++DOMWINDOW == 4
    ++WEBSHELL 06478C18 == 3
    ++DOMWINDOW == 5
    ++DOMWINDOW == 6
    --WEBSHELL 02FD6008 == 2
    --WEBSHELL 04519E00 == 1
    --WEBSHELL 06478C18 == 0
    --DOMWINDOW == 5
    --DOMWINDOW == 4
    --DOMWINDOW == 3
    --DOMWINDOW == 2
    nsStringStats
    => mAllocCount: 16815
    => mReallocCount: 2957
    => mFreeCount: 16092 -- LEAKED 723 !!!
    => mShareCount: 14500
    => mAdoptCount: 2038
    => mAdoptFreeCount: 2024 -- LEAKED 14 !!!
  • I still had the weird leaks and the weird run of minefield, which would still work

  • Let's CREATE A NEW PROFILE
  • It works!!!!!
    But I have to raise some things I realized:
    • When I run the corrupted profile, I get these leaks:
      => mFreeCount: 15663 -- LEAKED 666 !!!
      => mShareCount: 14267
      => mAdoptCount: 2003
      => mAdoptFreeCount: 1989 -- LEAKED 14 !!
    • The first time I run a just create a profile and use it:
      It asks me twice for a profile to select and the warnings dialog boxes appeared as if I didn't call export XPCOM_DEBUG_BREAK=warn

I hope you enjoyed this post and my next adventure would be to add that patch that I have to create for the lab; See you soon!

1 comment:

  1. So awesome that you got it working Armen - way to go!

    ReplyDelete