BetaDesigns( Blog ) Flex and Component Development

19Jun/084

Profiler Problems in Flex!

After reading an example chapter from Training from the Source : Profiling Flex Applications on InsideRIA I thought ooo! I like using the profiler but i didnt know you could do that! So away I went and opend up one of my apps and clicked Profile.... O no whats going on? No Profiler prompt just straight into the application

Socket closed.
Socket closed.
Socket closed.
Flex Profiler No activity 60 seconds after connection.

and then quiet

I was at a loss why had my Profiler failed me? Could I find a solution on the internet by no means so i decided to carry on with some work and tackle this at a later date but then...

My apps start to take a rather long time to startup and even worse NO BREAKPOINTS !! O my god im gonna have a heart attack!

I noticed in the console that Flex is tracing out

Users/Anthony/workspace/.metadata/.plugins/com.adobe.flash.profiler/ProfilerAgent.swf

before trying to run my apps I do a search and found this bug in the bugbase

http://bugs.adobe.com/jira/browse/FB-12869

it mentions a file called mm.cfg that points to this ProfilerAgent.swf

you can find this file in the following locations

Operating system mm.cfg file in this directory
Macintosh OS X MacHD:Library:Application Support:macromedia:
Microsoft Windows Vista C:\Users\user_name\
Microsoft Windows 2000/XP C:\Documents and Settings\user_name\
Microsoft Windows 95/98/ME %HOMEDRIVE%\%HOMEPATH%\
Linux /home/user_name

inside this file there is a line of code that reads

PreloadSwf=/Users/[username]/Documents/workspace/
.metadata/.plugins/com.adobe.flash.profiler/
ProfilerAgent.swf?host=localhost&port=9999

delete this and the debugger starts to work again however my Profiler still doesnt...

usefull related blog post

Fingers Dancing

Comments (4) Trackbacks (3)
  1. had many problems with the profiler. I found that modifying your mm.cfg was not neccacary and actually it was just my local security software.

    I posted a bit that fixes this issue if you are running ESET Smart Security.

    http://www.grindstonemedia.net/2008/06/29/flex-profiler-connection-problems/

    What software configuration do you have? Are you running windows/mac/linux. What firewall/anti-virus software do you use?

  2. While I try to run my Flex Profiler I got this error message:

    In the flash application I got the following exception:
    Error #2044: Unhandled securityError:. text=Error #2048: Security sandbox violation: file:///C|%2Fwork%2Flabsense%2Fbranches%2Frel%5F1%5F2%5F5%5FEA%2Fsources%2Fui%2F.metadata%2F.plugins%2Fcom.adobe.flash.profiler%2FProfilerAgent.swf?host=localhost&port=9999 cannot load data from localhost:9999.
    at ProfilerAgent()[C:\SVN\branches\3.2.0\modules\profiler3\as\ProfilerAgent.as:127]

    And in the flex Profiler console (at the eclipse) I got : Socket timeout.

    I am run on windows vista,
    Flex builder: 3.2
    Flash debugger : 10,0,22,87

    Things that I have done to resolve this issue:
    • Switch the connection port of the profiler to 9998 (and back)
    • Remove and reinstall the flash debugger player.
    • Install flex builder 3.2 (instead of 3.0)
    • Delete all the enters in the mm.cfg file
    • Add enter to the mm.cfg : PreloadSwf=C:\work\labsense\Sources\ui\.metadata\.plugins\com.adobe.flash.profiler\ProfilerAgent.swf?host=localhost&port=9999
    or
    PreloadSwf=C:\work\labsense\Sources\ui\.metadata\.plugins\com.adobe.flash.profiler\ProfilerAgent.swf?host=localhost&port=9998
    or
    PreloadSwf=C:/work/labsense/Sources/ui/.metadata/.plugins/com.adobe.flash.profiler/ProfilerAgent.swf?host=localhost&port=9999
    or with spaces:
    PreloadSwf=C: \ work \ labsense \ Sources \ ui \ .metadata \ .plugins \ com.adobe.flash.profiler \ ProfilerAgent.swf?host=localhost&port=9999
    or
    C:\work\labsense\Sources\ui\.metadata\.plugins\com.adobe.flash.profiler\ProfilerAgent.swf?
    or add all or some of the enters:
    TraceOutputFileName=C:\Users\zivo\AppData\Roaming\Macromedia\Flash Player\Logs\flashlog.txt
    ErrorReportingEnable=1
    MaxWarnings=0
    TraceOutputFileEnable=1
    ProfilingFileOutputEnable=1
    • Turn on and off the vista firewall
    • Add exception for port 9999 in the vista firewall
    • Try to run the profiler SWF separately

    Same result.

    Try one last thing:

    Because I have expreins problem little bit similar before with the flash debugger , the resolution then was :
    1. Right click on flash player (debugger),
    2. choose “Debugger”,
    3. choose “other machine”
    4. add “127.0.0.1”
    5. click ok
    then, it solve the issue (but apparently he connect to the debugger with host 127.0.0.1 instead of localhost (which is a same )
    I now add to the mm.cfg file, the follow entry:
    PreloadSwf=C:/work/labsense/branches/rel_1_2_5_EA/sources/ui/.metadata/.plugins/com.adobe.flash.profiler/ProfilerAgent.swf?host=127.0.0.1&port=9999
    Then, after saving , I run the profiler, and its work!!

    And the resonse for all this was :
    Some program change the file:
    C:\Windows\System32\drivers\etc\hosts
    To:
    # Copyright (c) 1993-2006 Microsoft Corp.
    #
    # This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
    #
    # This file contains the mappings of IP addresses to host names. Each
    # entry should be kept on an individual line. The IP address should
    # be placed in the first column followed by the corresponding host name.
    # The IP address and the host name should be separated by at least one
    # space.
    #
    # Additionally, comments (such as these) may be inserted on individual
    # lines or following the machine name denoted by a ‘#’ symbol.
    #
    # For example:
    #
    # 102.54.94.97 rhino.acme.com # source server
    # 38.25.63.10 x.acme.com # x client host

    ::1 localhost
    127.0.0.1 iDBO # LMS GENERATED LINE

    This means that localhost is not lead to 127.0.0.1!!!

    Fixing is easy :

    # ::1 localhost
    # 127.0.0.1 iDBO # LMS GENERATED LINE
    127.0.0.1 localhost

    Instead (remark the problem and fix the problem

    Thenks

    Ziv

  3. This is my mm.cfg
    ErrorReportingEnable=1
    TraceOutputFileEnable=1
    MaxWarnings=0
    ProfilingOutputFileEnable=1
    ProfilingOutputDirectory=C:\flex\profiling
    TraceOutputFileName=C:\flex\Logs\flashlog.txt
    PreloadSwf=D:\WORK\WorkVW\.metadata\.plugins\com.adobe.flash.profiler\ProfilerAgent.swf?host=localhost&port=9999
    FrameProfilingEnable=0
    ProfileFunctionEnable=0

    I use eclipse plugin so in the preferences i set the profile port to 9999

  4. Try setting debug to true in the mm.cfg file so something like:

    PreloadSwf=/Users/[username]/Documents/workspace/
    .metadata/.plugins/com.adobe.flash.profiler/
    ProfilerAgent.swf?host=localhost&port=9999&debug=true


Leave a comment

(required)