Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4038771

arithmetic exception while in MediaTracker.waitForAll(), java core dumped

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Cannot Reproduce
    • Icon: P5 P5
    • None
    • 1.1
    • client-libs
    • sparc
    • solaris_2.5.1



      Name: mc57594 Date: 03/13/97


      The problem appears to be a bad Gif file. However, the one I
      am using was created using imagetool to convert one of the
      CDE images to a GIF (just for testing). I have attached the
      ImageCanvas code, testing code, the html to launch, the
      traceback output and the uuencoded guilty Gif file.


      The codes were compiled using
      javac -deprecation -d $DEVELHOME/classes
      And run using
      ${JAVA_HOME}/bin/java -verbosegc -noverify

      -----------------------------------------------------------------

      package pal.awt;
      //
      // Copyright, Pair-a-Links Consulting Inc., 1997
      //
      // %Z%%M% %I% %E%
      //

      import java.awt.*;
      import java.io.Serializable;
      import pal.lang.Traceable;

      //////////////////////////////////////////////////////////////////////
      /**
      This class provides a simple way to place a static image onscreen.
      The canvas will automatically size itself to contain the image.

      @author Carl Linkletter
      @version %I% %E%
      */
      //////////////////////////////////////////////////////////////////////
      public class ImageCanvas extends Canvas
                              implements Serializable, Cloneable, Traceable {
          private static String internalVersion="%Z%%M% %I% %E%";
          private static String copyright="Copyright, Pair-a-Links Consulting In
      c., 1997";

          private Image image;

      //////////////////////////////////////////////////////////////////////
      /**
      Create a new ImageCanvas without an image in it. The size will be
      set to 10X10 but you should call <tt>setImage</tt> and set the image
      to display.
      */
      //////////////////////////////////////////////////////////////////////
          public ImageCanvas() {
              super();
          }

      //////////////////////////////////////////////////////////////////////
      /**
      Create a new ImageCanvas and display the image <tt>img</tt> in it.
      @param img The image to be displayed. Note: if this image has not
      already been downloaded, it will be now.

      */
      //////////////////////////////////////////////////////////////////////
          public ImageCanvas(Image img) {
              super();
              if (img != null) setImage(img);
          }

      //////////////////////////////////////////////////////////////////////
      /**
      Get the image which is being displayed.
      @return The image which is being displayed or null if none has been set.
      */
      //////////////////////////////////////////////////////////////////////
          public Image getImage() {
              return image;
          }
      //////////////////////////////////////////////////////////////////////
      /**
      Return the minimum size allowed to display the image. This method is
      used by the LayoutManager<tt>s</tt>.
      @return The dimensions of the Image.
      */
      //////////////////////////////////////////////////////////////////////
          public Dimension getMinimumSize() {
              Dimension ans;

              if (image != null) {
                  ans = new Dimension(image.getWidth(this), image.getHeight(this));
                  if (ans.height <= 0) ans.height = 10; // In case there are problems
                  if (ans.width <= 0) ans.width = 10; // downloading.

              } else {
                  ans = new Dimension(10,10);
              }

              return ans;
          }
      //////////////////////////////////////////////////////////////////////
      /**
      Return the preferred size display the image. This method is
      used by the LayoutManager<tt>s</tt>.
      @return The dimensions of the Image.
      */
      //////////////////////////////////////////////////////////////////////
          public Dimension getPreferredSize() {
              return getMinimumSize();
          }
      //////////////////////////////////////////////////////////////////////
      /**
      This method is used to actually draw the image. Do not override.
      */
      //////////////////////////////////////////////////////////////////////
          public void paint(Graphics g) {
              if (image != null) {
                  g.drawImage(image, 0, 0, this);
              }
          }
      //////////////////////////////////////////////////////////////////////
      /**
      Change the image to be displayed.
      @param img The image to be displayed. The canvas will resize to fit
      the new image size.
      */
      //////////////////////////////////////////////////////////////////////
          public void setImage(Image img) {
              img.getHeight(this); // Throw a null pointer exception if img null

              MediaTracker mt = new MediaTracker(this);
              mt.addImage(img, 1);
              try {
                  mt.waitForID(1); // Force Download so Dimensions are available
              } catch (InterruptedException e) { }

              image = img;
              Container parent = getParent();
              if (parent != null) { // If onscreen
                  invalidate();
                  parent.validate();
                  repaint();
              }
          }
      }



      // Testing Code
      import java.awt.*;
      import java.applet.*;
      import java.net.*;
      import pal.awt.*;

      public class foo extends Applet {
          Image img;
          ImageCanvas ic;
          
          public void init() {
              img = getMyImage(getParameter("image"));

              ic = new ImageCanvas(img);
              add(ic);
          }

          public Image getMyImage(String surl) {
              URL url = null;
              Image ans = null;

              try {
                  url = new URL(surl);
              } catch (MalformedURLException e) {
                  System.err.println("URL Exception");
                  System.exit(1);
              }
              ans = Toolkit.getDefaultToolkit().getImage(url);
              return ans;
          }
      }

      -----------------------------------------------------------------
      <html>
      <applet code=foo.class height=100 width=100>
      <param name=image value=file:/tmp/Leaves.gif>
      </applet>
      </html>
      -----------------------------------------------------------------

      SIGFPE 8* arithmetic exception
          si_signo [8]: SIGFPE 8* arithmetic exception
          si_errno [0]: Error 0
          si_code [1]: FPE_INTOVF [addr: 0xef4f6e68]

              stackbase=EE029000, stackpointer=EE0288B0

      Full thread dump:
          "Image Fetcher 0" (TID:0xee76bb60, sys_thread_t:0xee028de0, state:R) prio=3
      *current thread*
              sun.awt.image.ImageRepresentation.imageComplete(ImageRepresentation.java
      :248)
              sun.awt.image.PixelStore.replay(PixelStore.java:241)
              sun.awt.image.PixelStore.replay(PixelStore.java:161)
              sun.awt.image.InputStreamImageSource.updateFromStore(InputStreamImageSou
      rce.java:267)
              sun.awt.image.InputStreamImageSource.doFetch(InputStreamImageSource.java
      :211)
              sun.awt.image.ImageFetcher.fetchloop(ImageFetcher.java:139)
              sun.awt.image.ImageFetcher.run(ImageFetcher.java:116)
          "Screen Updater" (TID:0xee76cd40, sys_thread_t:0xee006de0, state:CW) prio=4
              java.lang.Object.wait(Object.java)
              sun.awt.ScreenUpdater.nextEntry(ScreenUpdater.java:78)
              sun.awt.ScreenUpdater.run(ScreenUpdater.java:98)
          "AWT-Motif" (TID:0xee76caf0, sys_thread_t:0xee04ade0, state:CW) prio=5
              java.lang.Thread.run(Thread.java)
          "AWT-Input" (TID:0xee76cad0, sys_thread_t:0xee06cde0, state:MW) prio=5
          "AWT-EventQueue-0" (TID:0xee76cab8, sys_thread_t:0xee08ede0, state:CW) prio=
      5
              java.awt.EventQueue.getNextEvent(EventQueue.java)
              java.awt.EventDispatchThread.run(EventDispatchThread.java)
          "thread applet-foo.class" (TID:0xee76bd78, sys_thread_t:0xee353de0, state:CW
      ) prio=4
              java.awt.MediaTracker.waitForID(MediaTracker.java:515)
              java.awt.MediaTracker.waitForID(MediaTracker.java:476)
              pal.awt.ImageCanvas.setImage(ImageCanvas.java:114)
              pal.awt.ImageCanvas.<init>(ImageCanvas.java:48)
              foo.init(foo.java:13)
              sun.applet.AppletPanel.run(AppletPanel.java:273)
              java.lang.Thread.run(Thread.java)
          "Finalizer thread" (TID:0xee75f220, sys_thread_t:0xee375de0, state:CW) prio=
      1
          "Async Garbage Collector" (TID:0xee75f1d8, sys_thread_t:0xee397de0, state:R)
       prio=1
          "Idle thread" (TID:0xee75f190, sys_thread_t:0xee3b9de0, state:R) prio=0
          "Clock" (TID:0xee75f0d0, sys_thread_t:0xee3dbde0, state:CW) prio=12
          "main" (TID:0xee75f0a8, sys_thread_t:0x6e650, state:CW) prio=5
      Monitor Cache Dump:
               sun.awt.image.PixelStore8@EE76B7C0/EE7E4AD8 (key=0xee76b7c0): monit
      or owner ee028de0: "Image Fetcher 0"
               java.awt.MediaTracker@EE76B760/EE7E8410 (key=0xee76b760): unowned
              Waiting to be notified:
                  "thread applet-foo.class"
               java.awt.EventQueue@EE76CA68/EE7DF618 (key=0xee76ca68): unowned
              Waiting to be notified:
                  "AWT-EventQueue-0"
               unknown key (key=0xee397de0): monitor owner ee397de0: "Async Garbag
      e Collector"
               sun.awt.motif.MToolkit@EE76CA58/EE7CD2B8 (key=0xee76ca58): monitor
      owner ee028de0: "Image Fetcher 0"
              Waiting to enter:
                  "AWT-Input"
              Waiting to be notified:
                  "AWT-Motif"
               sun.awt.ScreenUpdater@EE76CD40/EE7DBDD8 (key=0xee76cd40): unowned
              Waiting to be notified:
                  "Screen Updater"
      Registered Monitor Dump:
          Thread queue lock: unowned
              Waiting to be notified:
                  "main"
          Name and type hash table lock: unowned
          String intern lock: unowned
          JNI global reference lock: unowned
          BinClass lock: unowned
          Class loading lock: unowned
          Java stack lock: unowned
          Code rewrite lock: unowned
          Heap lock: unowned
          Has finalization queue lock: unowned
          Finalize me queue lock: unowned
              Waiting to be notified:
                  "Finalizer thread"
          Monitor IO lock: unowned
          Child death monitor: unowned
          Event monitor: unowned
          I/O monitor: unowned
          Alarm monitor: unowned
              Waiting to be notified:
                  "Clock"
          Sbrk lock: unowned
          Monitor cache expansion lock: unowned
          Monitor registry: monitor owner ee028de0: "Image Fetcher 0"
      Thread Alarm Q:

      -----------------------------------------------------------------

      begin 640 Leaves.gif
      M1TE&.#=A: " .< &-C8P '-S<P
      M
      M
      M
      M
      M
      M
      M
      M
      M
      M
      M
      M
      M
      M
      M
      M
      M "P : " (_@ @$$&#BPX$&!" DF5(@P
      MP,*%#"-.G%CP846&&B\J--C1H,2.(26&;$@18T*.(C6RQ(BRHLJ/&T'2/&G2
      M(\>(#VV^9#F3X,6@&2'*;(E3YDB/1E'&I.CP(U&546>21+H2IM&G4*7Z5/J2
      MJU::.)D._>ET)=BN,8NJ72K6[<Z,0%WFM&BV8=FT5^5V_=F2+-3 9>62=:E5
      MZ-V>;[_BO8OU<4[#0!.+C$LU9>"DC3%/18M6:.3)3WEBAFSS\=ZV=3-C!=U:
      M].JZH67#SOMZ,MC3E2-S#?T:]%2(AHG"O=S6]N^:K8/231Y\>674B)<RQDW8
      M,VW8KIG;I2VU]VWO_IP%A\?=E/ME[LT[YTX^5&]INV(+$Y\M_WMB^VLWZHT;
      MVZMMW@D(7'?AB8?8?ZNE-AQ,ZLU5((*_.2@<@_6Y1]IAV#7HG'K;02<;<.M)
      MI^%6V$EVX(/F;0CA8/6YEN%S[14E(X&S6;A<;S6BQZ!U[_D$GG'L>;:A;_A%
      MF!Z(5PE)Y&?6Q9B7<$ZJ2""'4OK78WD"#HEB9 ((D)Z&.CH'YH]@6JAEE!,J
      M)$ 7GK9)&]450B9CSTFR"67 GG9IIM?1I=F:0>>N.*92'EX9IX%L>DFG_-E
      MIN:.D;)&:&'\R8FEHFRF^69W+T:5Y(,ZC58;D* :^2A(?"[JYJA3[E:C_HIT
      MGO@ID?J9%M2J>^[9X'84=EI@I\%-9^.86AX$T9ZJ?IE@BKTZ&>%Y4OH(:Z(.
      MY:HI9V(^"6EL@#E$[:&A_KAJF\*Q>2RE%GUJ9)PNJJL=KTS*]B6C]9:[ZK/K
      MLM@N<R)"*RR3XFJD:[+E4EBN<DGR:^6[%1[:X;O=+:LIO:HBB^RRW(9ZI;;W
      M^>KP: H/?/&Y "QJ\,FC AKCNL2:IF3+&M-*U,FYWJOIO7"*&ZZ.(3X+X[ZP
      MZDDRRO>V:2*.4[)\F(@;0SCS<O1*W2>?YH;8X=+NIDFKB3/;ZK644IML<K(I
      M5TFVPEQO/=>$#D/J*D=ORDV0K@CO+!K5=]LG_FNS;X/]-=GTCEVSGR#&C7%*
      M^@*\,K'M6LKSUC3K67')Y_HZ,KYA-JSNUS9&SK:5LRV;D> 1VSNVTLV&;CC@
      MV2G^<.!TZXEZ3'V22RW;O$%>+96(8HFZX%)?%#S*HSONN(&]KJSWWZZ)';R?
      M+-F.[+=V0IRUYM(^![=\@Y<N_$!3FVMYB\.U'3JP'G)OLJ+ 3S[XV"%1??1G
      M)'6;.N.7FG]KO7*S&GQ1IE>HD;RN2E!K$91P0Z[_S:YTF('>HO#"$V<M#TV[
      M<5J(\&6[YRFE(E,KG*/"!+6>_:PDO\K)N:C6)X-$3RXM;(IVUB;#6HV)A8F;
      M$L%(ML(.J@2$2R*5_J<BQC.^*(5\P+G6W&S'P[^@9G;YPQK0H@02\GFD8@RC
      MVP8YU4*E3:>(\4/2SS;FK0YZ#UM_FYW[T'BE%V[&3Y:+&9I\0\;PT?&+S4.C
      M%T5#M@;:$'[1.R &]<86+_HO8X_K"QZM$ST'UK&%;SQ>MUY41?AY#W7X0\]8
      M@++(1+J1CG^L'H]4MA\^HE%L*@.6'KDVQP9VTI+*N]Z0"+E' #(JD#VI"G%6
      MF4:O@&PM!9PD"QWX2?4U!CY^(2/QS,.N&4KD>\^;VG@ 148%>1*1>83;VLS2
      MK_=!<(###@###.###==E!1DXK;=F,6^PR%;C_06R< "+B%N=HR(\U#FE1R:(2_AVX
      MO3Y:\ITF[,LB!37"$RHR9?C\DSSKZ$]Q5I&"9Z3GO@BW0N-UT8;"#*=F)GDU
      M>.VDGI&S&26S(\M-;O$A6RP9@,R9NX ]<7+1RN8UQ3G*3_+258*,F80FY\,F
      M]I%3FQD,/U/%12E.<$ %G9]-5QG/FBIFFO&2I(S*TLFCY2U6%MUC/U.:T:S:
      MU"GG@>%+K/B_'>YGDUS-Y&H@2#UT=:8\QO')6&?)*G05$8"-%"I1PU>V]O$M
      M;71B"/3D2DI$VG6I(<,*HZ(T5X95,(X<!-Y$73E)<JHF<<,;W^FV!:ZEK1.K
      MG62D"<E9DEP>Q6"(JQGGG@;$'@76CY2D*6 5_AK.GH:/:-,S'O>$1* /]M.L
      ML 6F"=>B1;U2K&K)LF<"]S;1Q9)2</]<)3I;Z3_,8HQ5+.L7> RCQ<!^MJ3@
      ME"SU'%G&ZIJ64ZZK$W8'YMK'RA:0?<RE*?UHM=R]25@'"];]VO=92N)QIP#U
      MS [=6+&;'<Q?"-6:5;^W7MD"]9TDO:K1#E;+5]:/@L$D9SQ?V-:W9+&Y=9.P
      M>==WE@'V,'8,-*P<\3+<5K*R:$8+XW]:Y579=7ANB231515L23=>[&9F3 N/
      M@'S/,LZ5D<.<"&RE>^/:XDQ5+-U+>Z+U0?_MLB;KH=]^N4K5:RU.2=<!*TUX
      M2TNM?JC*2U368K=%_M=BC8?(-D9Q#2F;*H3Y-+LC<HOF%H)/%I_F<\U\;U/%
      M8Q5ISK@XF2+8F&^H9H0L$H0BO!!;]E<=#]:8AT$4=)E&O)CT966T4)8>HFU,
      M'K]H>M2"&2-K*I7JFTQ,U,B9=%2I"4@8!FI+-QE*AZTRR*8.,I:EY=NH@3PI
      M;K+/RS\]9C%K?19C,V;&WE+0D64Z6PR9Z<Y]H=&I=3W*^"S[V&U.F&.._<]Q
      MB_LH;S'W'/MSG7*CN]?+[G:OW[D97N.YV[><4;N_>^ZL(%(WTVZW,6]S;D_K
      MFJ%.A>Z^=^W4JL@[WQ*<;:0/GFYDK]O=TI8WP_O-T*U2/-[VQG>9$NYQ_G;/
      M6^(+!SG #<[Q@O-;Y T_#KF-#?,01MSE+R\UNK?]\($GG. \S[FW#:[OC/<MXK[,]W.1OG.@)_WC+P<WQ'T.;Z''.]E/5\S1GSYRB^\[YNF&]U:#>_-_+]WF
      M73>WU\FC&883_3@77[K84X-QA)=;YVWG=](WKLN[7_OD0;>FU^-><IK['9<I
      MG[O;-UWVOP_^UG.?M*E17O.WQU+P.F=YR+G^T[OC7-^+5P[)';^@[Z9=\2.B
      M-:TW+_%WJ]SA+6=]R)-"S8[7N_'>#OR_ 2/[AQ-=07SWN>8S?F_0WWKM8:E]
      AS=E^=I>C6M,9'67G,Z_QV9-6ZMR>N-9'?W6C [\E( [
       
      end

      company - Summit Network Integrators Corp. , email - ###@###.###
      ======================================================================

            bchristi Brent Christian
            mchamnessunw Mark Chamness (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: