ALERT: java/lang/ClassFormatError: Bad stack map.

This usually has to do with preverification.  I have no idea why it would 
happen with only one of the emulators.  You may want to consider upgrading to a 
newer version of the WTK (unless you are on Linux and can't)

Craig


Simon Brooke wrote:
> Hi
>
> I've got a problem that's outside my experience and need advice.
>
> I've got a MIDlet which logs data to a server over HTTP and parses what 
> comes back. The method concerned is:
>
>       /**
>        * attempt to parse zones from the input stream
>        *
>        * @param in the input stream, presumed to be generated by
>        *                
> uk.co.weft.fisherman.fieldkithandler.HandleInspectorBadge
>        *
>        * @see uk.co.weft.fisherman.fieldkithandler.HandleInspectorBadge
>        */
>       public void parseResult( InputStream in )
>       {
>               StringBuffer buffy = new StringBuffer(  );
>               boolean done = false;
>
>               while ( !done )
>               {
>                       int c = -1;
>
>                       try
>                       {
>                               c = in.read(  );
>                       }
>                       catch ( IOException e1 )
>                       {
>                               /* ignore. c will pass through as -1, which 
> will set done
>                                * to true and tidy up the last line read if 
> possible */
>                       }
>
>                       switch ( c )
>                       {
>                               case -1:
>                               case 0:
>                                       done = true;
>                               /* note: deliberately no break */
>                               case '\n':
>
>                                       try
>                                       {
>                                               if ( buffy.toString(  ).trim(  
> ).length(  ) > 0 )
>                                               {
>                                                       new Zone( 
> buffy.toString(  ) );
>                                               }
>                                       }
>                                       catch ( Exception e )
>                                       {
>                                               fieldkit.showMessage( 
> AbstractFieldKit.MESSAGETYPEERROR,
>                                                       e.getClass(  ).getName( 
>  ) +
>                                                       " while reading zone" );
>                                       }
>
>                                       buffy = new StringBuffer(  );
>
>                                       break;
>
>                               default:
>                                       buffy.append( (char) c );
>
>                                       break;
>                       }
>               }
>       }
>
> The while loop procedes normally until the end of the first line of 
> input. However, when it gets to the line
>
>                                                       new Zone( 
> buffy.toString(  ) );
>
> the emulator goes down hard with the following error message logged to 
> the Eclipse console:
>
> Running with storage root DefaultColorPhone
> Method............: 
> b7914df8 'uk/co/weft/fisherman/fieldkit/InspectorQueueable.parseResult 
> (virtual)' 
> ALERT: java/lang/ClassFormatError: Bad stack map.
> Stack Chunk.......: b78a4b54
> Frame Pointer.....: b78a4ce4
> Current IP........: b7914c57 = b7914c08 + offset 79
> Previous Frame....: b78a4cb4
> Previous IP.......: b791670a (offset 94)
> Frame size........: 6 (2 arguments, 4 local variables)
> Argument[0].......: b78a7a68
> Argument[1].......: b78a7cf4
> Local[2]..........: b78a9a98
> Local[3]..........: 0
> Local[4]..........: a
> Local[5]..........: b78a4b70
>
> Method............: 
> b79167e4 
> 'uk/co/weft/fisherman/fieldkit/AbstractFieldKit$PersistentQueue.sendQueueable 
> (virtual)' 
> Stack Chunk.......: b78a4b54
> Frame Pointer.....: b78a4cb4
> Current IP........: b791670a = b79166ac + offset 94
> Previous Frame....: b78a4c80
> Previous IP.......: b7916763 (offset 19)
> Frame size........: 7 (2 arguments, 5 local variables)
> Argument[0].......: b78a6bd8
> Argument[1].......: b78a7a68
> Local[2]..........: 0
> Local[3]..........: b78a8188
> Local[4]..........: b78a7cf4
> Local[5]..........: b78a79c0
> Local[6]..........: c8
>
> Method............: 
> b79167c4 'uk/co/weft/fisherman/fieldkit/AbstractFieldKit$PersistentQueue.run 
> (virtual)' 
> Stack Chunk.......: b78a4b54
> Frame Pointer.....: b78a4c80
> Current IP........: b7916763 = b7916750 + offset 19
> Previous Frame....: b78a4c60
> Previous IP.......: b791679c (offset 24)
> Frame size........: 2 (1 arguments, 1 local variables)
> Argument[0].......: b78a6bd8
> Local[1]..........: b78a7a68
>
> Method............: 
> b79167a4 
> 'uk/co/weft/fisherman/fieldkit/AbstractFieldKit$PersistentQueue.<init> 
> (virtual)' 
> Stack Chunk.......: b78a4b54
> Frame Pointer.....: b78a4c60
> Current IP........: b791679c = b7916784 + offset 24
> Previous Frame....: b78a4c30
> Previous IP.......: b7918f9c (offset 12)
> Frame size........: 4 (4 arguments, 0 local variables)
> Argument[0].......: b78a6bd8
> Argument[1].......: b78a740c
> Argument[2].......: b78a740c
> Argument[3].......: b7919ef8
>
> Method............: 
> b7918fec 'uk/co/weft/fisherman/fieldkit/AbstractFieldKit.start 
> (virtual)' 
> Stack Chunk.......: b78a4b54
> Frame Pointer.....: b78a4c30
> Current IP........: b7918f9c = b7918f90 + offset 12
> Previous Frame....: b78a4c14
> Previous IP.......: b7917578 (offset 4)
> Frame size........: 1 (1 arguments, 0 local variables)
> Argument[0].......: b78a740c
> Operand[1]........: b78a740c
> Operand[2]........: b78a6bd8
>
> Method............: 
> b7917cf4 
> 'uk/co/weft/fisherman/fieldkit/midlet/FieldKitMidlet2$AbstractFieldKitWrapper.start
>  
> (virtual)' 
> Stack Chunk.......: b78a4b54
> Frame Pointer.....: b78a4c14
> Current IP........: b7917578 = b7917574 + offset 4
> Previous Frame....: b78a4bf8
> Previous IP.......: b791a64b (offset 19)
> Frame size........: 1 (1 arguments, 0 local variables)
> Argument[0].......: b78a740c
>
> Method............: 
> b791a964 'uk/co/weft/fisherman/fieldkit/midlet/FieldKitMidlet2.startApp 
> (virtual)' 
> Stack Chunk.......: b78a4b54
> Frame Pointer.....: b78a4bf8
> Current IP........: b791a64b = b791a638 + offset 19
> Previous Frame....: b78a4bdc
> Previous IP.......: b7da3596 (offset 7)
> Frame size........: 1 (1 arguments, 0 local variables)
> Argument[0].......: b78a6860
>
> Method............: 
> b7d276b4 'javax/microedition/midlet/MIDletProxy.startApp (virtual)' 
> Stack Chunk.......: b78a4b54
> Frame Pointer.....: b78a4bdc
> Current IP........: b7da3596 = b7da358f + offset 7
> Previous Frame....: b78a4bc0
> Previous IP.......: b7d83f5e (offset 270)
> Frame size........: 1 (1 arguments, 0 local variables)
> Argument[0].......: b78a682c
>
> Method............: b7d122d0 'com/sun/midp/midlet/Scheduler.schedule 
> (virtual)' 
> Stack Chunk.......: b78a4b54
> Frame Pointer.....: b78a4bc0
> Current IP........: b7d83f5e = b7d83e50 + offset 270
> Previous Frame....: b78a4b8c
> Previous IP.......: b7d8ea45 (offset 28)
> Frame size........: 7 (2 arguments, 5 local variables)
> Argument[0].......: b78a4568
> Argument[1].......: b78a3cac
> Local[2]..........: b78a682c
> Local[3]..........: 2
> Local[4]..........: b78a455c
> Local[5]..........: b791b15c
> Local[6]..........: b7d121f0
>
> Method............: b7d19fc4 'com/sun/midp/main/Main.runLocalClass 
> (static)' 
> Stack Chunk.......: b78a4b54
> Frame Pointer.....: b78a4b8c
> Current IP........: b7d8ea45 = b7d8ea29 + offset 28
> Previous Frame....: b78a4b68
> Previous IP.......: b7d8e4bc (offset 116)
> Frame size........: 3 (1 arguments, 2 local variables)
> Argument[0].......: b78a4a10
> Local[1]..........: b78a3cac
> Local[2]..........: b791b124
>
> Method............: b7d19f24 'com/sun/midp/main/Main.main (static)' 
> Stack Chunk.......: b78a4b54
> Frame Pointer.....: b78a4b68
> Current IP........: b7d8e4bc = b7d8e448 + offset 116
> Previous Frame....: 0
> Previous IP.......: 1
> Frame size........: 3 (1 arguments, 2 local variables)
> Argument[0].......: b78a4e40
> Local[1]..........: b78a4a10
> Local[2]..........: b78a4378
>
> VM status:
> Instruction pointer.: b7914c57 (offset within invoking method: 79)
> Next instruction....: 0xbb
> Frame pointer.......: b78a4ce4
> Local pointer.......: b78a4ccc
> Stack size..........: 128; sp: b78a4cf8; ranges: b78a4b5c-b78a4d5c;
> Contents of the current stack frame:
>     b78a4ccc: b78a7a68 (lp)
>     b78a4cd0: b78a7cf4
>     b78a4cd4: b78a9a98
>     b78a4cd8: 0
>     b78a4cdc: a
>     b78a4ce0: b78a4b70
>     b78a4ce4: b78a4cb4 (fp)
>     b78a4ce8: b791670a
>     b78a4cec: b78a4cc8
>     b78a4cf0: b7914df8
>     b78a4cf4: b78a4b54
>     b78a4cf8: 0 (end of frame) (sp)
> Execution stack contains 416 items: 
> b78a4e40  
> b78a4a10  
> b78a4378  
> 0  
> 1  
> b791b114  
> b7d19f24  
> b78a4b54  
> 0  
> b78a4a10  
> b78a3cac  
> b791b124  
> b78a4b68  
> b7d8e4bc  
> b78a4b7c  
> b7d19fc4  
> b78a4b54  
> 0  
> b78a4568  
> b78a3cac  
> b78a682c  
> 2  
> b78a455c  
> b791b15c  
> b7d121f0  
> b78a4b8c  
> b7d8ea45  
> b78a4ba0  
> b7d122d0  
> b78a4b54  
> 0  
> b78a682c  
> b78a4bc0  
> b7d83f5e  
> b78a4bd4  
> b7d276b4  
> b78a4b54  
> 0  
> b78a6860  
> b78a4bdc  
> b7da3596  
> b78a4bf0  
> b791a964  
> b78a4b54  
> 0  
> b78a740c  
> b78a4bf8  
> b791a64b  
> b78a4c0c  
> b7917cf4  
> b78a4b54  
> 0  
> b78a740c  
> b78a4c14  
> b7917578  
> b78a4c28  
> b7918fec  
> b78a4b54  
> 0  
> b78a740c  
> b78a6bd8  
> b78a6bd8  
> b78a740c  
> b78a740c  
> b7919ef8  
> b78a4c30  
> b7918f9c  
> b78a4c4c  
> b79167a4  
> b78a4b54  
> 0  
> b78a6bd8  
> b78a7a68  
> b78a4c60  
> b791679c  
> b78a4c74  
> b79167c4  
> b78a4b54  
> 0  
> b78a6bd8  
> b78a7a68  
> 0  
> b78a8188  
> b78a7cf4  
> b78a79c0  
> c8  
> b78a4c80  
> b7916763  
> b78a4c94  
> b79167e4  
> b78a4b54  
> 0  
> b78a7a68  
> b78a7cf4  
> b78a9a98  
> 0  
> a  
> b78a4b70  
> b78a4cb4  
> b791670a  
> b78a4cc8  
> b7914df8  
> b78a4b54  
> 0  
>
> Execution completed.
> 9738732 bytecodes executed
> 232 thread switches
> 762 classes in the system (including system classes)
> 37580 dynamic objects allocated (1966916 bytes)
> 21 garbage collections (1932636 bytes collected)
> Execution completed.
> 9738732 bytecodes executed
> 232 thread switches
> 762 classes in the system (including system classes)
> 37580 dynamic objects allocated (1966916 bytes)
> 21 garbage collections (1932636 bytes collected)
>
>
> It goes down identically hard whether I use Sun Java 1.4.2 or IBM Java 
> 1.5 To run Eclipse.
>
> The only thing I've found about this on the web is this post on the sun 
> Java forum where the guy is also developing on Linux using EclipseME 
> 1.5.5:
>
> http://forum.java.sun.com/thread.jspa?threadID=761056&messageID=4345708
>
> and this thread where the guy says he's using Eclipse but does not say 
> what version of Eclipse ME he's using (although I assume he is because 
> he talks about preverifying his MIDlet in Eclipse).
>
> Is this an Eclipse ME problem and if so is there a workaround?
>
> Cheers
>
> Simon
>
>   

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Eclipseme-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/eclipseme-users

Reply via email to