[Soot-list] CFG: RuntimeException: Attempting to push a non-constant cp entry

Ondrej Lhotak olhotak at sable.mcgill.ca
Mon Oct 4 09:36:20 EDT 2004


Java 1.5 makes some pretty major changes to both the Java source
language and the bytecode language, and I wouldn't expect it to be fully
supported by Soot anytime soon.

If the only thing preventing you from using JDK 1.4 is that Sun's VM
seg faults, I would suggest trying the BEA jrockit VM (www.bea.com).
It's very similar from the user's point of view to the Sun VM, but it
seems to seg fault much less than Sun's (I'm using jrockit 1.4.2_04 on
Linux; YMMV with other versions).

Ondrej

On Sun, Oct 03, 2004 at 10:57:35PM -0600, John Jorgensen wrote:
> >>>>> "arudys" == Algis Rudys <arudys at gmail.com> writes:
>     arudys> I'm currently running into the same problem.
>     arudys> Unfortunately, JDK 1.4.x seg faults on me (as in
>     arudys> "signal 11; go tell Sun their JDK is broken" seg
>     arudys> faults); I'm wondering how far you've gotten on this
>     arudys> (or if you've even started); I'm going to need this
>     arudys> soon, and will implement it myself if it doesn't yet
>     arudys> exist.
> 
> I haven't started, other than to establish that the problem may
> be more involved than I thought.  Rather than just a localized
> change to soot.coffi.CFG, handling loads of class literals may
> also require adding a ClassConstant class to the intermediate
> representations, and likely requires modifying jasmin so it
> can generate code for "ldc* /some/class/name". 
> 
> I'm sure the Sable lab would welcome the contribution of your
> code if you implement support for class literals.  Tomorrow
> night, I'll send a message to soot-list providing the few details
> I know, in case others are interested as well.  It will still be
> at least a week and a half before I will be able to spend much
> time on the issue (I'm a former McGill student who still dabbles
> in soot, but I can only steal so much time from my day job :-)).
> 
> If org.omg.CORBA.IDLType happens to be the only class in the
> 1.5.0 rt.jar which triggers the problem, and you don't need that
> particular class for your application, there may be ways to
> finesse the problem (i.e. cheat).  The one which occurs to me is
> extracting the class file for org.omg.CORBA.IDLType from the
> 1.4.2 jar into some directory, which you then place ahead of
> rt.jar in your soot-class-path, so that Soot analyzes the old,
> unproblematic class file.  If you need the new JDK to run your
> analysis, but don't care if the analyzed library code comes from
> an old JDK, then I think you could just put the old JDK's rt.jar
> into your soot-class-path, so that it is analyzed by soot, even
> though soot is running under the 1.5.0 VM.
> 
> _______________________________________________
> Soot-list mailing list
> Soot-list at sable.mcgill.ca
> http://www.sable.mcgill.ca/mailman/listinfo/soot-list
> 


More information about the Soot-list mailing list