Re: [dev] OpenOffice bug site is down for many days now?

2005-04-05 Thread Matt Prazak

--- vy.ho [EMAIL PROTECTED] wrote:
 (I am sorry if you get this twice)
 
 I tried to create a new bug in the OpenOffice website.  However, I
 cannot get to it. I can log into the site.  I can also see previous bug
 report.  However, clicking on an item like My Issues:
 http://qa.openoffice.org/issues/buglist.cgi?cmdtype=runuserdefault
 it won't work.  I think the qa.openoffice.org server is down.
 

Do you use Firefox or Mozilla on Solaris?  For some websites, for reasons that
are not obvious, Firefox on Solaris will time out for me on some web pages
(including OO.org, occasionally), when Firefox on Windows 98 will not. 
However, I cannot say where the bug lies, because I also have an inexpensive
Ethernet hub, an OpenBSD firewall, and a DSL router in between that might have
issues, too.  Even worse, the problem occasionally disappears.

Even if this doesn't apply to you, it may help to try another computer just to
see.


Matt



 ...




__ 
Do you Yahoo!? 
Yahoo! Personals - Better first dates. More second dates. 
http://personals.yahoo.com


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [dev] Re:[dev] Question regarding unused code removal

2005-03-22 Thread Matt Prazak

Your approach appears more throrough than what I've been attempting. 
My hypothesis so far is that a fair amount of information can be
obtained straight from the binaries in the program/ directory without
analyzing the source code.

One thing I've learned is that the the ELF symbol tables and relocation
tables do provide a lot of information, including revealing some of the
symbols that are used internally within the binaries.  However, there
is a lot of room for source-based analysis like your tool or the
commercial C++ lint tools.

Matt

--- Caolan McNamara [EMAIL PROTECTED] wrote:
 
 FWIW here's the approach I took to find unused code, scrape the
 compiler output to get what functions were defined and which were
 called, detect virtual methods and ignore those
 http://www.skynet.ie/~caolan/Packages/callcatcher.html
 
 
 C.





__ 
Do you Yahoo!? 
Yahoo! Mail - You care about security. So do we. 
http://promotions.yahoo.com/new_mail

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [dev] Re:[dev] Question regarding unused code removal

2005-03-18 Thread Matt Prazak

Thanks for the information, it is quite helpful.  It seems my approach
so far is a start, but more definitely needs to be done to filter out
the internally-used symbols.  A good result would be a shell script
that automates all the details below and returns a few thousand symbols
as canidates for removal.  If it works, then the script could be
occasionally run against the code base as a way to check code growth.

Matt

--- Jens-Heiner Rechtien [EMAIL PROTECTED] wrote:

 Hi Matt,
 
 your approach is flawed in the way that a symbol which is defined
 *and* used in one shared library is not flagged UNDEF in this 
 library, but still be exported from the library if it's possibly used
 elsewhere. Thus you get a lot of exported symbols without equivalent 
 UNDEF for shared  library internal stuff.
 
 This is an unfortunate consequence of the C++ standard which has no 
 concept of shared library internal classes/methods/functions.
 
 We do something about this: Please look for all the *_DLLPUBLIC and 
 *_DLLPRIVATE macros in our headers. These macros use non standard 
 compiler extensions to mark symbols as public or hidden. Hidden
 
 symbols will not be exported from a shared library. This has at least
 
 three benefits: a better API definition (think of encapsulation), 
 smaller binaries and last not least better startup performance
 because relocations are cheaper if direct binding can be used.
 
 There is a great paper about the working of shared libraries by
 Ulrich Drepper: http://people.redhat.com/drepper/dsohowto.pdf
 
 We probably got quite a bit of dead code in OOo but it is not easily 
 found. I think the best approach would be to do some extensive
 coverage studies, identify possibly dead code, use a cross referencer
 to find all 
 references whrere a symbol is used and determine if this is also dead
 
 code. The call to remove the dead code must then be made by the 
 responsible developer, only he/she can tell if that symbol may not 
 possibly be referenced by some code outside OOo (ie a third party 
 component).
 
 HTH,
Heiner
 
 




__ 
Do you Yahoo!? 
Yahoo! Small Business - Try our new resources site!
http://smallbusiness.yahoo.com/resources/ 

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [dev] Re:[dev] Question regarding unused code removal

2005-03-17 Thread Matt Prazak

Thanks for the replies.  Actually, the number is more like 75,000.  I
think I read the wrong number yesterday to get the 85,000.  I did
include all the WEAK references from elfdump, and it looks like
eliminating them might take out another 7,000 symbols.  Also, I'll feed
in the .bin files, which will knock out some more.

I'm using Solaris 10 and Studio 10, so I guess the GCC symbols won't
apply.  Sidenote:  compiling on Solaris10/Studio10 was pretty tricky,
especially since I was trying to use --enable-debug at first (notes
about this are under issue 42285 at the oo.org website).

One thing is that some symbols appear to be part of the normal class
interfaces (e.g., constructors) that are unused but probably shouldn't
be removed, so the only thing I can think would work reliably is to go
through each canidate symbol and determine via find/grep where it
occurs and whether it is important.

Over the next few days, I'll see if the number of symbols can be shrunk
further.

Matt

--- marius.david [EMAIL PROTECTED] wrote:

 Hi,
 
 85, 000 symbols seems to be a lot. But, maybe ...I noticed that lot
 of code need to be cleaned up (I am talking about 1.1.2, I've no idea
 about 2.0).
 It would be a good idea to remove unused code some day because,
 without talking about performances, it can be really misleading for
 the newcomer (I remember having spend a lot of time finding if some
 portions of code were or were not used, ending up with the
 debugger...).
 
 
 Laurent
 
 Accédez au courrier électronique de La Poste : www.laposte.net ; 
 3615 LAPOSTENET (0,34€/mn) ; tél : 08 92 68 13 50 (0,34€/mn)
 
 

__
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[dev] Question regarding unused code removal

2005-03-16 Thread Matt Prazak
At http://tools.openoffice.org/performance/index.html, there is a
mention about unused code removal as a way of improving OO.org.  Out of
curiosity, I managed to generate a list of about 85,000 symbols from
the program/ directory that have definitions but no corresponding UNDEF
entries in the shared libraries (this is excluding external code like
icu).

(I just realized that I need to include .bin files, too, so the 85,000
can probably be reduced somewhat)

The main problem with this, however, is that this is really a big
number of symbols to go through.  Are there any guidelines or
suggestions for how to find a starting point?  If this is workable and
I find something probably worth removing, is it best to simply nominate
that function for removal or is it better to submit a patch that strips
it out?


Matt


__
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [dev] Compiler Bug? (Sun Studio 10, Solaris Express 11/04, OO.org tag NSRC680_m71s1)

2005-02-07 Thread Matt Prazak

Thanks for your reply.  It looks like the best way for me to contact
Sun is through their on-line developer.sun.com support forums, because
I do not have a contract with them.  I'll post there and see where it
goes.

Matt

--- Jens-Heiner Rechtien [EMAIL PROTECTED] wrote:

 Hi Matt,
 
 this certainly looks like a bug in Sun Studio 10.
 
 Heiner
 
 Matt Prazak wrote:
  In icu/unxsols4.pro/misc/build/icu/source/i18n/ucol_bld.cpp, there
 is a
  while loop in ucol_doCE() that, for me, will never exit, even when
 the
  condition is false!  When I re-write the loop, the problem goes
 away. 
  This problem occurs while running dmake, when a program called
 genrb
  invokes ucol_doCE().
  
  Original code, never exits:
  
while(2*CEinoOfBytes[0] || CEinoOfBytes[1] || CEinoOfBytes[2])
 {
  ...
}
  
  New code, works as expected:
  
while( 1 ) {
  if( !( 2*CEinoOfBytes[0] || CEinoOfBytes[1] ||
 CEinoOfBytes[2] )
  )
break;
  
  ...
}
  
  When I tried re-writing the while loop as a for loop, the problem
  persisted--I had to explicity break the loop as in the code above.
  
  Logically, both should be identical, so does this look like it
 might be
  a bug in Sun Studio 10? 
  
  Platform details:
  
# uname -a
SunOS whizzer 5.10 s10_72 sun4u sparc SUNW,Ultra-30 Solaris
  
# cc -V
cc: Sun C 5.7 2005/01/07
  
  Sincerely,
  Matt Prazak
  
  
  
  
  __ 
  Do you Yahoo!? 
  Yahoo! Mail - Easier than ever with enhanced search. Learn more.
  http://info.mail.yahoo.com/mail_250
  
 
 -
  To unsubscribe, e-mail: [EMAIL PROTECTED]
  For additional commands, e-mail: [EMAIL PROTECTED]
  
 
 
 -- 
 Jens-Heiner Rechtien
 [EMAIL PROTECTED]
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 
 


__
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[dev] Compiler Bug? (Sun Studio 10, Solaris Express 11/04, OO.org tag NSRC680_m71s1)

2005-02-01 Thread Matt Prazak

In icu/unxsols4.pro/misc/build/icu/source/i18n/ucol_bld.cpp, there is a
while loop in ucol_doCE() that, for me, will never exit, even when the
condition is false!  When I re-write the loop, the problem goes away. 
This problem occurs while running dmake, when a program called genrb
invokes ucol_doCE().

Original code, never exits:

  while(2*CEinoOfBytes[0] || CEinoOfBytes[1] || CEinoOfBytes[2]) {
...
  }

New code, works as expected:

  while( 1 ) {
if( !( 2*CEinoOfBytes[0] || CEinoOfBytes[1] || CEinoOfBytes[2] )
)
  break;

...
  }

When I tried re-writing the while loop as a for loop, the problem
persisted--I had to explicity break the loop as in the code above.

Logically, both should be identical, so does this look like it might be
a bug in Sun Studio 10? 

Platform details:

  # uname -a
  SunOS whizzer 5.10 s10_72 sun4u sparc SUNW,Ultra-30 Solaris

  # cc -V
  cc: Sun C 5.7 2005/01/07

Sincerely,
Matt Prazak




__ 
Do you Yahoo!? 
Yahoo! Mail - Easier than ever with enhanced search. Learn more.
http://info.mail.yahoo.com/mail_250

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]