dex fails placing debug info

by Michael Newton » Tue, 20 Apr 2010 13:08:24 GMT

Sponsored Links
  hope someone can offer some insight on this problem. My build was
failing with a dex error. After I turned verbosity up to debug I got
the following:

Buildfile: build.xml
[setup] Project Target: Android 1.6
[setup] API level: 4
[setup] WARNING: No minSdkVersion value set. Application will
install on all Android versions.


[echo] Converting compiled files and external libraries into /
[apply] trouble writing output:
[apply] shouldn't happen
[apply] at
[apply] at
[apply] at
[apply] at
[apply] at
[apply] at
[apply] at
[apply] at
[apply] at
[apply] at
[apply] Caused by: java.lang.RuntimeException: shouldn't happen
[apply] at
[apply] at
[apply] at
[apply] at
[apply] at
[apply] at
[apply] ... 8 more
[apply] ...while placing debug info for
[apply] ...while placing
[apply] ...while writing section 10

Here is the source of the class where it is failing to place debug
package com.sshtools.j2ssh.transport.publickey;

import com.sshtools.j2ssh.util.Hash;

public abstract class SshPublicKey {

public abstract String getAlgorithmName();

public abstract int getBitLength();

public abstract byte[] getEncoded();

public String getFingerprint() {
try {
Hash md5 = new Hash("MD5");

byte[] digest = md5.doFinal();
int bits = getBitLength();
bits = (((bits % 8) != 0) ? (bits += (bits % 8)) : bits);

String ret = String.valueOf(bits);

for (int i = 0; i < digest.length; i++) {
ret += (((i == 0) ? ":" : "") + " " +
Integer.toHexString(digest[i] & 0xFF));

return ret;
} catch (NoSuchAlgorithmException nsae) {
return null;


dex fails placing debug info

by Dan Bornstein » Wed, 21 Apr 2010 07:33:11 GMT

 On Mon, Apr 19, 2010 at 4:26 PM, Michael Newton

This looks like a bug in dx (the tool that turns .class files into
.dex files). Since compilers can produce different output for the same
source, it's much more interesting to see the compiled .class file
that is being processed.

Please file a bug by following the directions at
<> ;. Again, in this case,
attaching the .class file that fails is much better than just
including the source text.

As a workaround, you might try compiling without debugging info (that
is, removing "-g" from your javac command line). You might also try
splitting the failing method (getFingerPrint) in various places (e.g.,
put the try body in a separate method), as that will change the
emitted code and has a good chance of avoiding the problem.




Sponsored Links

dex fails placing debug info

by Michael Newton » Wed, 21 Apr 2010 23:26:17 GMT

 I fixed this - this code is where the problem is:

            int bits = getBitLength();
            bits = (((bits % 8) != 0) ? (bits += (bits % 8)) : bits);

When I assigned the result of the expression in the second line to a
new variable instead of back to int bits, the problem went away.

The clue was in 
- may be the same kind of issue.



dex fails placing debug info

by fadden » Fri, 23 Apr 2010 04:10:41 GMT


Can you attach the failing and non-failing .class files to that bug?


Other Threads

1. protector kok bayar di SS, tetapi iklannya gratis

dapat iklan nexian

gila juga, gue kok beli di SS cempaka mas, eh protector disuruh bayar 30rb,
dan tempat air gak dapat

ada apa gerangan rekan-rekan



2. HD2 - GingerBread

-3G / Data

Not Working (In progress):

Online changelog:
v. 0.4:
-Fixed root
-Fixed G-Sensor
-drocap works
-Other minor fix

T U O B..!!


<<attachment: HD2 GingerBread.jpeg>>

3. SS dan KK

4. Update harga WTS: Bersih2 laci..

5. Load activity labels in non-system language

6. App crashes when the keyboard is slided

7. [WTS] HTC Desire brown mulus lengkap