getting a handle on build warnings
Kelly O'Hair
Kelly.Ohair at Sun.COM
Mon Jul 14 20:10:58 UTC 2008
I understand.
FYI...
I filed a serviceability bug on those warnings, looks like we have some
new ones that creeped in.
I also pinged Dave Bristor on the warnings in the jar code, there was
a bug on that already.
I marked these bugs with the keyword "warnings", so I can find them easily.
I'm loading up my guns and will do what I can to hunt down the warnings. ;^)
-kto
Jonathan Gibbons wrote:
> I agree that fixing warnings is not necessarily an easy task. My goal
> in writing the tool was to make it easy for people to scan the set
> of warnings, and say, "wow, that one looks really serious, I'd better
> fix that!"
>
> -- Jon
>
>
> Kelly O'Hair wrote:
>>
>> FYI...
>>
>> I dug up my old wstats ksh script and ran it over a concatenation of the
>> latest jdk7 build 30 logs for all 8 of builds done by Java Release
>> Engineering
>> (solaris-i586, solaris-x64, solaris-sparc, solaris-sparcv9, linux-i586,
>> linux-x64, windows-i586, and windows-x64).
>> Granted, these are OLD Linux systems with gcc 3.2, and lots of duplicates
>> here.
>>
>> The problems with dealing with the C/C++ warnings is that the
>> different compilers
>> and different releases of the compilers create a bit of an unknown
>> when trying
>> to fix warnings. Fixing a warning from gcc4 might just trigger a new
>> warning
>> for some other reason from the Sun Studio compiler, can be frustrating.
>> And using just a slightly newer or patched gcc or Sun Studio compiler
>> might
>> generate new warnings you haven't seen before.
>> This has gotten better over time but continues to be an issue.
>>
>> A danger also lies in how a warning is fixed in native code that needs
>> to work on
>> all platforms and with different compilers, for example, adding a cast
>> like
>> '(long)' might shut up a warning, but could break Windows X64 where a
>> long
>> is 32bits not 64bits. People need to be very careful in the native code.
>>
>> At least with the javac warnings, fixing them is more concrete, and
>> probably
>> less risky ;^)
>>
>> I'm all in favor of fixing the warnings, just trying to make sure it's
>> done
>> safely. ;^)
>>
>> -kto
>>
>> -------------------------------------
>>
>>
>> Warning Message Counts:
>> ----------------------
>> 15790 ld warnings (contains 'ld:')
>> 6686 C warnings (contains '[.]c[":]')
>> 1616 C Include file warnings (contains '[.]h[":]')
>> 9700 C++ warnings (contains '[.]cpp[":]')
>> 0 C++ Include file warnings (contains '[.]hpp[":]')
>> 4432 Java warnings (contains '.java:' or 'Note:' )
>> 0 VM warnings (contains 'VM warning:' )
>> 600 Javadoc warnings (contains ': warning -')
>> 250 Compiler driver warnings (contains cc: or CC: or 'cl :')
>> 59 GNU make warnings (contains '.gmk:' or 'akefile:' or '(ignored)'
>> or starts with 'gnumake')
>> 276 Shell warnings (contains ': not found' or 'awk:')
>> 187 Build warnings (contains WARNING:)
>> 312 Font warnings (contains 'entry is missing')
>> -----
>> 39908 Total of above warnings
>>
>> 29252 Messages that appear to be duplicates
>> 18 Remaining errors not counted
>> warning: package com.sun.java.swing.plaf does not exist
>> warning: package com.sun.java.swing.plaf does not exist
>> warning: package com.sun.java.swing.plaf does not exist
>> warning: package com.sun.java.swing.plaf does not exist
>> warning: package com.sun.java.swing.plaf does not exist
>> warning: package com.sun.java.swing.plaf does not exist
>> /usr/ccs/bin/as:
>> "/export2/BUILD_AREA/jdk7/hotspot/src/os_cpu/solaris_sparc/vm/solaris_sparc.s",
>> line 86: warning: label in delay slot (follows CTI)
>> warning: package com.sun.java.swing.plaf does not exist
>> /usr/ccs/bin/as:
>> "/export2/BUILD_AREA/jdk7/hotspot/src/os_cpu/solaris_sparc/vm/solaris_sparc.s",
>> line 86: warning: label in delay slot (follows CTI)
>> warning: package com.sun.java.swing.plaf does not exist
>> warning: package com.sun.java.swing.plaf does not exist
>> warning: package com.sun.java.swing.plaf.gtk does not exist
>> warning: package com.sun.java.swing.plaf does not exist
>> warning: package com.sun.java.swing.plaf.gtk does not exist
>> warning: package com.sun.java.swing.plaf does not exist
>> warning: package com.sun.java.swing.plaf.gtk does not exist
>> warning: package com.sun.java.swing.plaf does not exist
>> warning: package com.sun.java.swing.plaf.gtk does not exist
>>
>> Top 20 'src/' files mentioned in warning messages:
>> -------------------------------------------------
>> 7972 src/share/native/com/sun/java/util/jar/pack/coding.cpp
>> 2062 src/closed/share/classes/sun/jdbc/odbc/JdbcOdbc.c
>> 1278 src/share/native/com/sun/java/util/jar/pack/unpack.cpp
>> 1188 src/share/classes/sun/corba/Bridge.java
>> 1096 src/solaris/native/sun/awt/gtk2_interface.c
>> 888 src/closed/share/native/sun/java2d/cmm/kcms/evalth13.c
>> 720 src/share/native/com/sun/java/util/jar/pack/bands.h
>> 276 src/share/native/com/sun/java/util/jar/pack/unpack.h
>> 276 src/build/tools/javazic/Gen.java
>> 272 src/closed/share/native/sun/java2d/cmm/kcms/evalth14.c
>> 252 src/share/classes/sun/nio/ch/FileChannelImpl.java
>> 204 src/share/native/com/sun/java/util/jar/pack/bytes.h
>> 204 src/share/classes/org/omg/CORBA/ORB.java
>> 192
>> src/share/classes/com/sun/corba/se/impl/presentation/rmi/ExceptionHandlerImpl.java
>>
>> 170 src/share/native/sun/security/jgss/wrapper/GSSLibStub.c
>> 140 src/share/native/com/sun/java/util/jar/pack/zip.cpp
>> 136 src/share/native/sun/awt/medialib/mlib_ImageAffineEdge.c
>> 128 src/share/native/sun/font/layout/LEGlyphStorage.h
>> 114 src/share/classes/javax/sql/rowset/BaseRowSet.java
>> 108 src/share/classes/javax/rmi/CORBA/GetORBPropertiesFileAction.java
>>
>>
>>
>> Jonathan Gibbons wrote:
>>> I've written a program to analyze the warnings in a build log,
>>> containing most of
>>> the ideas I outlined earlier, and more.
>>>
>>> Right now, a "warning" is defined as a line containing the string
>>> "warning"
>>> with false positives filtered out (e.g. a reference to a file called
>>> warning.png)
>>>
>>> It can generate a report in plain text or html, containing any/all of
>>> the following:
>>> - comparison against a reference log, such as the log for an earlier
>>> promoted build
>>> - a summary of the warnings, grouped by the location contained in the
>>> warning
>>> - a summary of the warnings, grouped by the type of the warning
>>> The summaries are given sorted both alphabetically and by frequency.
>>>
>>> I've attached a sample of the output. The input was the log for a
>>> build on my
>>> laptop. For the purposes of testing, the "reference" was the same log
>>> truncated
>>> to 25000 lines.
>>>
>>> The big surprise: One file is responsible for nearly 72% of all the
>>> warnings in this
>>> build: 1928 warnings out of a total of 2684! The file in question is
>>> com/sun/java/util/jar/pack/coding.cpp
>>>
>>> The corollary is good news for everyone else; there are fewer
>>> warnings through
>>> the rest of the build than I expected, with only 14 files having 10
>>> or more warnings.
>>> But, there are still over 150 files containing warnings :-(
>>>
>>> -- Jon
>>>
>>>
>>>
>>> Jonathan Gibbons wrote:
>>>> Well, here's an unexpected initial result.
>>>>
>>>> I just ran a build of langtools+jdk on my ubuntu laptop. I got a
>>>> whopping 2658 warnings!! [Those who volunteered to help get rid of
>>>> all the warnings, don't all step back at once!] But surprisingly,
>>>> after a quick "sort -u", only 625 of them are unique. So that means
>>>> we get on average a 4x bang for the buck for each warning we fix :-)
>>>>
>>>> -- Jon
>>>>
>>>>
>>>> On Jul 11, 2008, at 11:02 AM, Jonathan Gibbons wrote:
>>>>
>>>>> Depending on what lint options you use, deprecation warnings are
>>>>> typically reported as a single "Note:" at the end of the
>>>>> compilation, rather than as individual warning messages. Ideally,
>>>>> they should go too, but for now, I'd settle for removing messages
>>>>> that show up as diagnostics in IDEs, emacs, etc.
>>>>>
>>>>> For my part, I work mostly in the langtools area, and we are
>>>>> having a general background effort to clean up the code there. The
>>>>> goal is to clean the code and then use -Werror to treat any
>>>>> reappearance of warnings as errors.
>>>>>
>>>>> -- Jon
>>>>>
>>>>>
>>>>> On Jul 11, 2008, at 10:52 AM, Rob Ross wrote:
>>>>>
>>>>>> Just curious, would part of this revision process entail removing
>>>>>> calls to deprecated methods and replacing them with their
>>>>>> documented replacement methods?
>>>>>>
>>>>>> There are many warnings about calls to deprecated methods in the
>>>>>> OpenJDK code.
>>>>>>
>>>>>>
>>>>>> Rob Ross, Lead Software Engineer
>>>>>> E! Networks
>>>>>>
>>>>>> ---------------------------------------------------
>>>>>> "Beware of he who would deny you access to information, for in his
>>>>>> heart he dreams himself your master." -- Commissioner Pravin Lal
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Jul 11, 2008, at 10:43 AM, Jonathan Gibbons wrote:
>>>>>>
>>>>>>>
>>>>>>> On Jul 11, 2008, at 10:00 AM, Thorbjørn Ravn Andersen wrote:
>>>>>>>
>>>>>>>> Jonathan Gibbons skrev den 11-07-2008 13:52:
>>>>>>>>>
>>>>>>>>> Yes, that technique can work well. But either way, the next
>>>>>>>>> step is
>>>>>>>>> to try writing the code to analyze the build log, to see how
>>>>>>>>> far the general
>>>>>>>>> idea can be taken, and how much interest there is to track/fix
>>>>>>>>> warnings.
>>>>>>>>>
>>>>>>>> Personally I'd like there to be no warnings at all, and would
>>>>>>>> like to contribute work to get there
>>>>>>>>
>>>>>>>
>>>>>>> Thank you.
>>>>>>>
>>>>>>> Getting rid of the actual warnings will require cooperation from
>>>>>>> the teams who are
>>>>>>> responsible for the various parts of the code. In some cases,
>>>>>>> there may be resistance,
>>>>>>> since stability is sometimes preferred over "no warnings". That
>>>>>>> being said, what I'm
>>>>>>> hoping to achieve with this discussion and any related effort is
>>>>>>> a non-intrusive way
>>>>>>> of gathering information about warnings, so that we have a better
>>>>>>> understanding of
>>>>>>> where the warnings are, in what areas of the code and in which
>>>>>>> source files. That way,
>>>>>>> we can work with the teams involved to see if there is interest
>>>>>>> in reducing their
>>>>>>> warning count in as safe a way as possible. Any assistance in
>>>>>>> getting to that point
>>>>>>> would be welcome.
>>>>>>>
>>>>>>> (Note that anyone contributing to OpenJDK must first sign the Sun
>>>>>>> Contributor Agreement;
>>>>>>> you can find details at http://sca.dev.java.net.)
>>>>>>>
>>>>>>> -- Jon
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>>
>>> ------------------------------------------------------------------------
>>>
>>>
>>> JDK Build Warnings
>>>
>>> ------------------------------------------------------------------------
>>>
>>> * Comparison against reference results
>>> o New warnings not found in reference files <#REF_DELTA_LOCNS>
>>> * Warnings categorized by location
>>> o Warning counts, sorted alphabetically by location
>>> <#LOCN_COUNTS_ALPHA>
>>> o Warning counts, sorted by frequency of location
>>> <#LOCN_COUNTS_FREQ>
>>> o Warning counts, sorted alphabetically by location directory
>>> <#LOCN_DIR_COUNTS_ALPHA>
>>> o Warning counts, sorted by frequency of location directory
>>> <#LOCN_DIR_COUNTS_FREQ>
>>> o Warning counts, sorted alphabetically by location directory
>>> <#LOCN_DIR_COUNTS_ALPHA>
>>> o Warning counts, sorted by frequency of location directory
>>> <#LOCN_DIR_COUNTS_FREQ>
>>> * Warnings categorized by type
>>> o Warning counts, sorted alphabetically by type
>>> <#TYPE_COUNTS_ALPHA>
>>> o Warning counts, sorted by frequency of type
>>> <#TYPE_COUNTS_FREQ>
>>> o Warnings with unrecognized types <#TYPE_UNKNOWN>
>>>
>>> ------------------------------------------------------------------------
>>>
>>>
>>> Log files analyzed
>>>
>>> * build.log
>>>
>>> total lines read 28834
>>> total warnings found 2648
>>> unique warnings found 617
>>>
>>>
>>> Reference files analyzed
>>>
>>> * build-25000.log
>>>
>>> total lines read 25000
>>> total warnings found 2618
>>> unique warnings found 590
>>>
>>>
>>> New warnings not found in reference files
>>>
>>> democlasses/demo/jvmti/hprof/src/hprof_init.c 1
>>> democlasses/demo/jvmti/waiters/src/Agent.cpp 1
>>> democlasses/demo/jvmti/waiters/src/waiters.cpp 2
>>> javax/swing/JColorChooser.java 1
>>> javax/swing/JComponent.java 4
>>> javax/swing/JInternalFrame.java 2
>>> javax/swing/JList.java 4
>>> javax/swing/JPopupMenu.java 1
>>> javax/swing/JTabbedPane.java 1
>>> javax/swing/JTable.java 5
>>> javax/swing/JTree.java 4
>>> javax/swing/text/JTextComponent.java 3
>>> ~NONE~ 1
>>>
>>>
>>> Warning counts, sorted alphabetically by location
>>>
>>> /usr/include/X11/IntrinsicP.h 1
>>> /usr/include/langinfo.h 1
>>> /usr/include/sys/cdefs.h 1
>>> /usr/include/sys/param.h 2
>>> back/ArrayTypeImpl.c 1
>>> back/inStream.c 4
>>> back/outStream.c 8
>>> back/stream.c 4
>>> bin/jexec.c 1
>>> bin/parse_manifest.c 1
>>> build/tools/compilefontconfig/CompileFontConfig.java 4
>>> build/tools/dtdbuilder/DTDParser.java 2
>>> build/tools/fontchecker/FontChecker.java 2
>>> build/tools/generatebreakiteratordata/RuleBasedBreakIteratorBuilder.java
>>> 3
>>> build/tools/javazic/Gen.java 23
>>> build/tools/javazic/GenDoc.java 2
>>> build/tools/javazic/Time.java 7
>>> com/sun/java/util/jar/pack/bands.cpp 2
>>> com/sun/java/util/jar/pack/coding.cpp 1928
>>> com/sun/java/util/jar/pack/main.cpp 1
>>> com/sun/java/util/jar/pack/unpack.cpp 32
>>> com/sun/java/util/jar/pack/unpack.h 24
>>> com/sun/java/util/jar/pack/utils.cpp 2
>>> com/sun/java/util/jar/pack/zip.cpp 1
>>> com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_MidiUtils.c 1
>>> com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_PCM.c 5
>>> com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_Ports.c 1
>>> common/check_code.c 9
>>> common/check_format.c 1
>>> demo/jvmti/hprof/hprof_init.c 1
>>> democlasses/demo/jvmti/hprof/src/hprof_init.c 1
>>> democlasses/demo/jvmti/waiters/src/Agent.cpp 1
>>> democlasses/demo/jvmti/waiters/src/waiters.cpp 2
>>> hpi/native_threads/src/sys_api_td.c 1
>>> instrument/JarFacade.c 1
>>> java/io/canonicalize_md.c 2
>>> java/io/io_util_md.h 8
>>> java/lang/Class.c 1
>>> java/lang/ClassLoader.c 2
>>> java/lang/fdlibm/include/fdlibm.h 1
>>> java/lang/fdlibm/src/e_jn.c 1
>>> java/lang/fdlibm/src/e_pow.c 1
>>> java/lang/fdlibm/src/e_sqrt.c 1
>>> java/lang/fdlibm/src/s_ceil.c 1
>>> java/lang/fdlibm/src/s_floor.c 1
>>> java/lang/fdlibm/src/s_log1p.c 1
>>> java/lang/java_props_md.c 3
>>> java/lang/reflect/Proxy.c 1
>>> java/net/Inet4AddressImpl.c 2
>>> java/net/Inet6AddressImpl.c 3
>>> java/net/NetworkInterface.c 1
>>> java/net/PlainDatagramSocketImpl.c 6
>>> java/net/linux_close.c 3
>>> java/net/net_util_md.c 2
>>> java/nio/Bits.c 8
>>> java/nio/MappedByteBuffer.c 1
>>> java/util/zip/zip_util.c 1
>>> java/util/zip/zlib-1.1.3/inftrees.c 3
>>> javavm/include/typedefs.h 8
>>> javax/swing/JColorChooser.java 1
>>> javax/swing/JComponent.java 4
>>> javax/swing/JInternalFrame.java 2
>>> javax/swing/JList.java 4
>>> javax/swing/JPopupMenu.java 1
>>> javax/swing/JTabbedPane.java 1
>>> javax/swing/JTable.java 5
>>> javax/swing/JTree.java 4
>>> javax/swing/text/JTextComponent.java 3
>>> sun/awt/awt_DrawingSurface.c 1
>>> sun/awt/awt_Font.c 1
>>> sun/awt/awt_GraphicsEnv.c 1
>>> sun/awt/awt_InputMethod.c 11
>>> sun/awt/awt_LoadLibrary.c 2
>>> sun/awt/awt_UNIXToolkit.c 1
>>> sun/awt/giflib/dgif_lib.c 16
>>> sun/awt/image/BufImgSurfaceData.c 1
>>> sun/awt/image/jpeg/imageioJPEG.c 19
>>> sun/awt/image/jpeg/jpegdecoder.c 1
>>> sun/awt/java2d/loops/ByteBinary1Bit.c 5
>>> sun/awt/java2d/loops/ByteBinary2Bit.c 5
>>> sun/awt/java2d/loops/ByteBinary4Bit.c 5
>>> sun/awt/java2d/loops/ByteGray.c 2
>>> sun/awt/java2d/loops/ByteIndexed.c 6
>>> sun/awt/java2d/loops/FourByteAbgr.c 2
>>> sun/awt/java2d/loops/FourByteAbgrPre.c 2
>>> sun/awt/java2d/loops/Index12Gray.c 2
>>> sun/awt/java2d/loops/Index8Gray.c 2
>>> sun/awt/java2d/loops/IntArgb.c 6
>>> sun/awt/java2d/loops/IntArgbBm.c 5
>>> sun/awt/java2d/loops/IntArgbPre.c 6
>>> sun/awt/java2d/loops/IntBgr.c 2
>>> sun/awt/java2d/loops/IntRgb.c 2
>>> sun/awt/java2d/loops/IntRgbx.c 2
>>> sun/awt/java2d/loops/ThreeByteBgr.c 2
>>> sun/awt/java2d/loops/TransformHelper.c 3
>>> sun/awt/java2d/loops/Ushort555Rgb.c 2
>>> sun/awt/java2d/loops/Ushort565Rgb.c 2
>>> sun/awt/java2d/loops/UshortGray.c 2
>>> sun/awt/java2d/loops/UshortIndexed.c 6
>>> sun/awt/java2d/pipe/Region.c 1
>>> sun/awt/libpng/pngread.c 1
>>> sun/awt/libpng/pngrtran.c 1
>>> sun/awt/libpng/pngrutil.c 1
>>> sun/awt/libpng/pngwrite.c 1
>>> sun/awt/medialib/mlib_ImageAffine.c 7
>>> sun/awt/medialib/mlib_ImageAffineEdge.c 34
>>> sun/awt/medialib/mlib_ImageColorTrue2Index.c 10
>>> sun/awt/medialib/mlib_ImageConvMxN.c 9
>>> sun/awt/medialib/mlib_ImageConv_16ext.c 4
>>> sun/awt/medialib/mlib_ImageConv_16nw.c 3
>>> sun/awt/medialib/mlib_ImageConv_32nw.c 2
>>> sun/awt/medialib/mlib_ImageConv_8ext.c 4
>>> sun/awt/medialib/mlib_ImageConv_8nw.c 3
>>> sun/awt/medialib/mlib_ImageConv_D64nw.c 2
>>> sun/awt/medialib/mlib_ImageConv_F32nw.c 1
>>> sun/awt/medialib/mlib_ImageConv_u16ext.c 4
>>> sun/awt/medialib/mlib_ImageConv_u16nw.c 3
>>> sun/awt/medialib/mlib_ImageCopy_Bit.c 4
>>> sun/awt/medialib/mlib_ImageCreate.c 2
>>> sun/awt/splashscreen/splashscreen_gfx_impl.c 2
>>> sun/font/DrawGlyphList.c 5
>>> sun/font/X11FontScaler.c 7
>>> sun/font/layout/LEGlyphStorage.h 32
>>> sun/font/layout/LEInsertionList.h 33
>>> sun/font/layout/MorphTables.cpp 1
>>> sun/java2d/cmm/lcms/LCMS.c 2
>>> sun/java2d/cmm/lcms/cmscgats.c 2
>>> sun/java2d/cmm/lcms/cmsio1.c 2
>>> sun/java2d/cmm/lcms/cmslut.c 4
>>> sun/java2d/cmm/lcms/cmswtpnt.c 1
>>> sun/java2d/x11/X11PMBlitLoops.c 2
>>> sun/java2d/x11/X11Renderer.c 45
>>> sun/java2d/x11/X11SurfaceData.c 10
>>> sun/java2d/x11/X11TextRenderer_md.c 1
>>> sun/net/spi/DefaultProxySelector.c 1
>>> sun/nio/ch/DatagramChannelImpl.c 1
>>> sun/nio/ch/InheritedChannel.c 1
>>> sun/nio/ch/Net.c 2
>>> sun/nio/ch/ServerSocketChannelImpl.c 1
>>> sun/nio/ch/SocketChannelImpl.c 1
>>> sun/rmi/rmic/Main.java 1
>>> sun/rmi/rmic/newrmic/Resources.java 1
>>> sun/security/jgss/wrapper/GSSLibStub.c 63
>>> sun/security/jgss/wrapper/NativeUtil.c 2
>>> sun/security/pkcs11/j2secmod_md.c 3
>>> sun/security/pkcs11/wrapper/p11_crypt.c 6
>>> sun/security/pkcs11/wrapper/p11_digest.c 1
>>> sun/security/pkcs11/wrapper/p11_keymgmt.c 1
>>> sun/security/pkcs11/wrapper/p11_md.c 1
>>> sun/security/pkcs11/wrapper/p11_sign.c 3
>>> sun/security/pkcs11/wrapper/p11_util.c 2
>>> sun/tools/serialver/SerialVer.java 1
>>> sun/tracing/dtrace/JVM.c 1
>>> sun/xawt/XToolkit.c 2
>>> sun/xawt/XWindow.c 4
>>> sun/xawt/awt_Desktop.c 1
>>> transport/socket/socket_md.c 3
>>> unpack.cpp 1
>>> ~NONE~ 5
>>>
>>>
>>> Warning counts, sorted by frequency of location
>>>
>>> 1928 com/sun/java/util/jar/pack/coding.cpp
>>> 63 sun/security/jgss/wrapper/GSSLibStub.c
>>> 45 sun/java2d/x11/X11Renderer.c
>>> 34 sun/awt/medialib/mlib_ImageAffineEdge.c
>>> 33 sun/font/layout/LEInsertionList.h
>>> 32 com/sun/java/util/jar/pack/unpack.cpp
>>> 32 sun/font/layout/LEGlyphStorage.h
>>> 24 com/sun/java/util/jar/pack/unpack.h
>>> 23 build/tools/javazic/Gen.java
>>> 19 sun/awt/image/jpeg/imageioJPEG.c
>>> 16 sun/awt/giflib/dgif_lib.c
>>> 11 sun/awt/awt_InputMethod.c
>>> 10 sun/awt/medialib/mlib_ImageColorTrue2Index.c
>>> 10 sun/java2d/x11/X11SurfaceData.c
>>> 9 common/check_code.c
>>> 9 sun/awt/medialib/mlib_ImageConvMxN.c
>>> 8 back/outStream.c
>>> 8 java/io/io_util_md.h
>>> 8 java/nio/Bits.c
>>> 8 javavm/include/typedefs.h
>>> 7 build/tools/javazic/Time.java
>>> 7 sun/awt/medialib/mlib_ImageAffine.c
>>> 7 sun/font/X11FontScaler.c
>>> 6 java/net/PlainDatagramSocketImpl.c
>>> 6 sun/awt/java2d/loops/ByteIndexed.c
>>> 6 sun/awt/java2d/loops/IntArgb.c
>>> 6 sun/awt/java2d/loops/IntArgbPre.c
>>> 6 sun/awt/java2d/loops/UshortIndexed.c
>>> 6 sun/security/pkcs11/wrapper/p11_crypt.c
>>> 5 com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_PCM.c
>>> 5 javax/swing/JTable.java
>>> 5 sun/awt/java2d/loops/ByteBinary1Bit.c
>>> 5 sun/awt/java2d/loops/ByteBinary2Bit.c
>>> 5 sun/awt/java2d/loops/ByteBinary4Bit.c
>>> 5 sun/awt/java2d/loops/IntArgbBm.c
>>> 5 sun/font/DrawGlyphList.c
>>> 5 ~NONE~
>>> 4 back/inStream.c
>>> 4 back/stream.c
>>> 4 build/tools/compilefontconfig/CompileFontConfig.java
>>> 4 javax/swing/JComponent.java
>>> 4 javax/swing/JList.java
>>> 4 javax/swing/JTree.java
>>> 4 sun/awt/medialib/mlib_ImageConv_16ext.c
>>> 4 sun/awt/medialib/mlib_ImageConv_8ext.c
>>> 4 sun/awt/medialib/mlib_ImageConv_u16ext.c
>>> 4 sun/awt/medialib/mlib_ImageCopy_Bit.c
>>> 4 sun/java2d/cmm/lcms/cmslut.c
>>> 4 sun/xawt/XWindow.c
>>> 3
>>> build/tools/generatebreakiteratordata/RuleBasedBreakIteratorBuilder.java
>>> 3 java/lang/java_props_md.c
>>> 3 java/net/Inet6AddressImpl.c
>>> 3 java/net/linux_close.c
>>> 3 java/util/zip/zlib-1.1.3/inftrees.c
>>> 3 javax/swing/text/JTextComponent.java
>>> 3 sun/awt/java2d/loops/TransformHelper.c
>>> 3 sun/awt/medialib/mlib_ImageConv_16nw.c
>>> 3 sun/awt/medialib/mlib_ImageConv_8nw.c
>>> 3 sun/awt/medialib/mlib_ImageConv_u16nw.c
>>> 3 sun/security/pkcs11/j2secmod_md.c
>>> 3 sun/security/pkcs11/wrapper/p11_sign.c
>>> 3 transport/socket/socket_md.c
>>> 2 /usr/include/sys/param.h
>>> 2 build/tools/dtdbuilder/DTDParser.java
>>> 2 build/tools/fontchecker/FontChecker.java
>>> 2 build/tools/javazic/GenDoc.java
>>> 2 com/sun/java/util/jar/pack/bands.cpp
>>> 2 com/sun/java/util/jar/pack/utils.cpp
>>> 2 democlasses/demo/jvmti/waiters/src/waiters.cpp
>>> 2 java/io/canonicalize_md.c
>>> 2 java/lang/ClassLoader.c
>>> 2 java/net/Inet4AddressImpl.c
>>> 2 java/net/net_util_md.c
>>> 2 javax/swing/JInternalFrame.java
>>> 2 sun/awt/awt_LoadLibrary.c
>>> 2 sun/awt/java2d/loops/ByteGray.c
>>> 2 sun/awt/java2d/loops/FourByteAbgr.c
>>> 2 sun/awt/java2d/loops/FourByteAbgrPre.c
>>> 2 sun/awt/java2d/loops/Index12Gray.c
>>> 2 sun/awt/java2d/loops/Index8Gray.c
>>> 2 sun/awt/java2d/loops/IntBgr.c
>>> 2 sun/awt/java2d/loops/IntRgb.c
>>> 2 sun/awt/java2d/loops/IntRgbx.c
>>> 2 sun/awt/java2d/loops/ThreeByteBgr.c
>>> 2 sun/awt/java2d/loops/Ushort555Rgb.c
>>> 2 sun/awt/java2d/loops/Ushort565Rgb.c
>>> 2 sun/awt/java2d/loops/UshortGray.c
>>> 2 sun/awt/medialib/mlib_ImageConv_32nw.c
>>> 2 sun/awt/medialib/mlib_ImageConv_D64nw.c
>>> 2 sun/awt/medialib/mlib_ImageCreate.c
>>> 2 sun/awt/splashscreen/splashscreen_gfx_impl.c
>>> 2 sun/java2d/cmm/lcms/LCMS.c
>>> 2 sun/java2d/cmm/lcms/cmscgats.c
>>> 2 sun/java2d/cmm/lcms/cmsio1.c
>>> 2 sun/java2d/x11/X11PMBlitLoops.c
>>> 2 sun/nio/ch/Net.c
>>> 2 sun/security/jgss/wrapper/NativeUtil.c
>>> 2 sun/security/pkcs11/wrapper/p11_util.c
>>> 2 sun/xawt/XToolkit.c
>>> 1 /usr/include/X11/IntrinsicP.h
>>> 1 /usr/include/langinfo.h
>>> 1 /usr/include/sys/cdefs.h
>>> 1 back/ArrayTypeImpl.c
>>> 1 bin/jexec.c
>>> 1 bin/parse_manifest.c
>>> 1 com/sun/java/util/jar/pack/main.cpp
>>> 1 com/sun/java/util/jar/pack/zip.cpp
>>> 1 com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_MidiUtils.c
>>> 1 com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_Ports.c
>>> 1 common/check_format.c
>>> 1 demo/jvmti/hprof/hprof_init.c
>>> 1 democlasses/demo/jvmti/hprof/src/hprof_init.c
>>> 1 democlasses/demo/jvmti/waiters/src/Agent.cpp
>>> 1 hpi/native_threads/src/sys_api_td.c
>>> 1 instrument/JarFacade.c
>>> 1 java/lang/Class.c
>>> 1 java/lang/fdlibm/include/fdlibm.h
>>> 1 java/lang/fdlibm/src/e_jn.c
>>> 1 java/lang/fdlibm/src/e_pow.c
>>> 1 java/lang/fdlibm/src/e_sqrt.c
>>> 1 java/lang/fdlibm/src/s_ceil.c
>>> 1 java/lang/fdlibm/src/s_floor.c
>>> 1 java/lang/fdlibm/src/s_log1p.c
>>> 1 java/lang/reflect/Proxy.c
>>> 1 java/net/NetworkInterface.c
>>> 1 java/nio/MappedByteBuffer.c
>>> 1 java/util/zip/zip_util.c
>>> 1 javax/swing/JColorChooser.java
>>> 1 javax/swing/JPopupMenu.java
>>> 1 javax/swing/JTabbedPane.java
>>> 1 sun/awt/awt_DrawingSurface.c
>>> 1 sun/awt/awt_Font.c
>>> 1 sun/awt/awt_GraphicsEnv.c
>>> 1 sun/awt/awt_UNIXToolkit.c
>>> 1 sun/awt/image/BufImgSurfaceData.c
>>> 1 sun/awt/image/jpeg/jpegdecoder.c
>>> 1 sun/awt/java2d/pipe/Region.c
>>> 1 sun/awt/libpng/pngread.c
>>> 1 sun/awt/libpng/pngrtran.c
>>> 1 sun/awt/libpng/pngrutil.c
>>> 1 sun/awt/libpng/pngwrite.c
>>> 1 sun/awt/medialib/mlib_ImageConv_F32nw.c
>>> 1 sun/font/layout/MorphTables.cpp
>>> 1 sun/java2d/cmm/lcms/cmswtpnt.c
>>> 1 sun/java2d/x11/X11TextRenderer_md.c
>>> 1 sun/net/spi/DefaultProxySelector.c
>>> 1 sun/nio/ch/DatagramChannelImpl.c
>>> 1 sun/nio/ch/InheritedChannel.c
>>> 1 sun/nio/ch/ServerSocketChannelImpl.c
>>> 1 sun/nio/ch/SocketChannelImpl.c
>>> 1 sun/rmi/rmic/Main.java
>>> 1 sun/rmi/rmic/newrmic/Resources.java
>>> 1 sun/security/pkcs11/wrapper/p11_digest.c
>>> 1 sun/security/pkcs11/wrapper/p11_keymgmt.c
>>> 1 sun/security/pkcs11/wrapper/p11_md.c
>>> 1 sun/tools/serialver/SerialVer.java
>>> 1 sun/tracing/dtrace/JVM.c
>>> 1 sun/xawt/awt_Desktop.c
>>> 1 unpack.cpp
>>>
>>>
>>> Warning counts, sorted alphabetically by location directory
>>>
>>> /usr/include 1
>>> /usr/include/X11 1
>>> /usr/include/sys 3
>>> back 17
>>> bin 2
>>> build/tools/compilefontconfig 4
>>> build/tools/dtdbuilder 2
>>> build/tools/fontchecker 2
>>> build/tools/generatebreakiteratordata 3
>>> build/tools/javazic 32
>>> com/sun/java/util/jar/pack 1990
>>> com/sun/media/sound 7
>>> common 10
>>> demo/jvmti/hprof 1
>>> democlasses/demo/jvmti/hprof/src 1
>>> democlasses/demo/jvmti/waiters/src 3
>>> hpi/native_threads/src 1
>>> instrument 1
>>> java/io 10
>>> java/lang 6
>>> java/lang/fdlibm/include 1
>>> java/lang/fdlibm/src 6
>>> java/lang/reflect 1
>>> java/net 17
>>> java/nio 9
>>> java/util/zip 1
>>> java/util/zip/zlib-1.1.3 3
>>> javavm/include 8
>>> javax/swing 22
>>> javax/swing/text 3
>>> sun/awt 17
>>> sun/awt/giflib 16
>>> sun/awt/image 1
>>> sun/awt/image/jpeg 20
>>> sun/awt/java2d/loops 71
>>> sun/awt/java2d/pipe 1
>>> sun/awt/libpng 4
>>> sun/awt/medialib 92
>>> sun/awt/splashscreen 2
>>> sun/font 12
>>> sun/font/layout 66
>>> sun/java2d/cmm/lcms 11
>>> sun/java2d/x11 58
>>> sun/net/spi 1
>>> sun/nio/ch 6
>>> sun/rmi/rmic 1
>>> sun/rmi/rmic/newrmic 1
>>> sun/security/jgss/wrapper 65
>>> sun/security/pkcs11 3
>>> sun/security/pkcs11/wrapper 14
>>> sun/tools/serialver 1
>>> sun/tracing/dtrace 1
>>> sun/xawt 7
>>> transport/socket 3
>>> unpack.cpp 1
>>> ~NONE~ 5
>>>
>>>
>>> Warning counts, sorted by frequency of location
>>>
>>> 1990 com/sun/java/util/jar/pack
>>> 92 sun/awt/medialib
>>> 71 sun/awt/java2d/loops
>>> 66 sun/font/layout
>>> 65 sun/security/jgss/wrapper
>>> 58 sun/java2d/x11
>>> 32 build/tools/javazic
>>> 22 javax/swing
>>> 20 sun/awt/image/jpeg
>>> 17 back
>>> 17 java/net
>>> 17 sun/awt
>>> 16 sun/awt/giflib
>>> 14 sun/security/pkcs11/wrapper
>>> 12 sun/font
>>> 11 sun/java2d/cmm/lcms
>>> 10 common
>>> 10 java/io
>>> 9 java/nio
>>> 8 javavm/include
>>> 7 com/sun/media/sound
>>> 7 sun/xawt
>>> 6 java/lang
>>> 6 java/lang/fdlibm/src
>>> 6 sun/nio/ch
>>> 5 ~NONE~
>>> 4 build/tools/compilefontconfig
>>> 4 sun/awt/libpng
>>> 3 /usr/include/sys
>>> 3 build/tools/generatebreakiteratordata
>>> 3 democlasses/demo/jvmti/waiters/src
>>> 3 java/util/zip/zlib-1.1.3
>>> 3 javax/swing/text
>>> 3 sun/security/pkcs11
>>> 3 transport/socket
>>> 2 bin
>>> 2 build/tools/dtdbuilder
>>> 2 build/tools/fontchecker
>>> 2 sun/awt/splashscreen
>>> 1 /usr/include
>>> 1 /usr/include/X11
>>> 1 demo/jvmti/hprof
>>> 1 democlasses/demo/jvmti/hprof/src
>>> 1 hpi/native_threads/src
>>> 1 instrument
>>> 1 java/lang/fdlibm/include
>>> 1 java/lang/reflect
>>> 1 java/util/zip
>>> 1 sun/awt/image
>>> 1 sun/awt/java2d/pipe
>>> 1 sun/net/spi
>>> 1 sun/rmi/rmic
>>> 1 sun/rmi/rmic/newrmic
>>> 1 sun/tools/serialver
>>> 1 sun/tracing/dtrace
>>> 1 unpack.cpp
>>>
>>>
>>> Warning counts, sorted alphabetically by location extension
>>>
>>> .c 474
>>> .cpp 61
>>> .h 12
>>> .java 68
>>> ~NONE~ 2
>>>
>>>
>>> Warning counts, sorted by frequency of location extension
>>>
>>> 474 .c
>>> 68 .java
>>> 61 .cpp
>>> 12 .h
>>> 2 ~NONE~
>>>
>>>
>>> Warning counts, sorted alphabetically by type
>>>
>>> "*" redefined 13
>>> '*' may be used uninitialized in this function 126
>>> 'class *' has virtual functions but non-virtual destructor 65
>>> 'static' is not at beginning of declaration 2
>>> argument '*' might be clobbered by '*' 1
>>> assignment from incompatible pointer type 1
>>> assignment makes integer from pointer without a cast 1
>>> cast from pointer to integer of different size 22
>>> cast to java.lang.Object[] for a non-varargs call and to suppress
>>> this warning 4
>>> cast to pointer from integer of different size 137
>>> comparison between pointer and integer 3
>>> comparison between signed and unsigned 106
>>> comparison is always false due to limited range of data type 2
>>> constant is too large for*type 18
>>> control reaches end of non-void function 1
>>> dereferencing type-punned pointer will break strict-aliasing rules 4
>>> enumeration value * not handled in switch 101
>>> format '*' expects type '*', but argument * has type '*' 12
>>> implicit declaration of function 3
>>> is Sun proprietary API and may be removed in a future release 67
>>> missing braces around initializer 2
>>> missing initializer 1
>>> missing initializer for member 1874
>>> non-varargs call of varargs method with inexact argument type for
>>> last parameter 4
>>> package * does not exist 1
>>> passing * from incompatible pointer type 3
>>> pointer targets * differ in signedness 32
>>> return makes integer from pointer without a cast 5
>>> signed and unsigned type in conditional expression 16
>>> the use of `*' is dangerous 1
>>> this is the location of the previous definition 13
>>> type defaults to * in declaration 2
>>> variable '*' might be clobbered by '*' 4
>>> ~UNKNOWN~ 1
>>>
>>>
>>> Warning counts, sorted by frequency of type
>>>
>>> 1874 missing initializer for member
>>> 137 cast to pointer from integer of different size
>>> 126 '*' may be used uninitialized in this function
>>> 106 comparison between signed and unsigned
>>> 101 enumeration value * not handled in switch
>>> 67 is Sun proprietary API and may be removed in a future release
>>> 65 'class *' has virtual functions but non-virtual destructor
>>> 32 pointer targets * differ in signedness
>>> 22 cast from pointer to integer of different size
>>> 18 constant is too large for*type
>>> 16 signed and unsigned type in conditional expression
>>> 13 "*" redefined
>>> 13 this is the location of the previous definition
>>> 12 format '*' expects type '*', but argument * has type '*'
>>> 5 return makes integer from pointer without a cast
>>> 4 cast to java.lang.Object[] for a non-varargs call and to
>>> suppress this warning
>>> 4 dereferencing type-punned pointer will break strict-aliasing rules
>>> 4 non-varargs call of varargs method with inexact argument type
>>> for last parameter
>>> 4 variable '*' might be clobbered by '*'
>>> 3 comparison between pointer and integer
>>> 3 implicit declaration of function
>>> 3 passing * from incompatible pointer type
>>> 2 'static' is not at beginning of declaration
>>> 2 comparison is always false due to limited range of data type
>>> 2 missing braces around initializer
>>> 2 type defaults to * in declaration
>>> 1 argument '*' might be clobbered by '*'
>>> 1 assignment from incompatible pointer type
>>> 1 assignment makes integer from pointer without a cast
>>> 1 control reaches end of non-void function
>>> 1 missing initializer
>>> 1 package * does not exist
>>> 1 the use of `*' is dangerous
>>> 1 ~UNKNOWN~
>>>
>>>
>>> Warnings with unrecognized types
>>>
>>> * ../../../src/solaris/native/java/lang/java_props_md.c:124:
>>> warning: (near initialization for 'sprops.os_version')
>>>
>>> ------------------------------------------------------------------------
>>> Generated on Sun Jul 13 17:36:12 PDT 2008
>
More information about the build-dev
mailing list