This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 161489 - enable indicators on more platforms
Summary: enable indicators on more platforms
Status: NEW
Alias: None
Product: cnd
Classification: Unclassified
Component: Profile (show other bugs)
Version: 6.x
Hardware: All All
: P2 blocker (vote)
Assignee: issues@cnd
URL:
Keywords:
Depends on: 161692
Blocks:
  Show dependency tree
 
Reported: 2009-03-30 16:28 UTC by Alexey Vladykin
Modified: 2010-11-12 22:27 UTC (History)
0 users

See Also:
Issue Type: ENHANCEMENT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alexey Vladykin 2009-03-30 16:28:20 UTC
Currently Run Monitor indicators are supported only on Solaris and Linux. We would like to support more platforms.
I tried to compile prof_agent/prof_monitor on MacOS and Windows XP. On MacOS they do not build, requiring some
non-trivial code changes. On Windows/Cygwin they build, but attempt to run `LD_PRELOAD=./prof_agent.so
dlight_simple_tests` hangs Cygwin terminal.
Comment 1 Alexey Vladykin 2009-10-12 17:35:52 UTC
Support for MacOSX-x86 added in http://hg.netbeans.org/cnd-main/rev/7f1a0ad363ab
Now CPU and Thread indicators should be available on MacOSX-x86.
Memory indicator can't be easily implemented, because mallinfo is not supported on Mac.

As for Windows/Cygwin, I couldn't override any pthread function with LD_PRELOADed library, although they say I should be
able to. Giving up Cygwin support for this release.
Comment 2 Alexey Vladykin 2009-10-13 09:50:10 UTC
After better testing I found that sync indicator is still not working properly.
So I removed MacOS from list of platforms supported by LLDataCollector.

My question about Cygwin/LD_PRELOAD on StackOverflow:
http://stackoverflow.com/questions/1544475/overriding-pthreadcreate-using-ldpreloaded-dll-in-cygwin
Comment 3 Alexey Vladykin 2009-10-13 11:30:43 UTC
On MacOS there is an endless recursion: overridden pthread_mutex_lock() calls dlsym() which in turn calls
pthread_mutex_lock(). That's why sync monitoring does not work.
Comment 4 Quality Engineering 2009-10-14 11:06:24 UTC
Integrated into 'main-golden', will be available in build *200910140201* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main-golden/rev/7f1a0ad363ab
User: Alexey Vladykin <alexey_vladykin@netbeans.org>
Log: Fixing #161489 enable indicators on more platforms
-- implemented CPU and Thread indicators for MacOSX-x86
Comment 5 Alexey Vladykin 2009-10-15 12:02:50 UTC
Per QA request, turned indicators on MacOS off by default: http://hg.netbeans.org/cnd-main/rev/f930018a3226
Can be turned on with -Dcnd.tools.prof_agent.allow_on_macos=true
Comment 6 Quality Engineering 2009-10-16 10:17:09 UTC
Integrated into 'main-golden', will be available in build *200910160201* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main-golden/rev/f930018a3226
User: Alexey Vladykin <alexey_vladykin@netbeans.org>
Log: #161489 enable indicators on more platforms
-- prof_agent on MacOSX: turn off by default