You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Emmanuel Bourg (JIRA)" <ji...@apache.org> on 2014/04/24 14:47:15 UTC

[jira] [Updated] (BCEL-35) Suggestion to solve the Problem with generic.Instruction in Turkish locale

     [ https://issues.apache.org/jira/browse/BCEL-35?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Emmanuel Bourg updated BCEL-35:
-------------------------------

         Priority: Major
      Environment:     (was: Operating System: other
Platform: PC)
    Fix Version/s: 5.2
         Priority:   (was: P3)
         Severity:   (was: normal)

> Suggestion to solve the Problem with generic.Instruction in Turkish locale
> --------------------------------------------------------------------------
>
>                 Key: BCEL-35
>                 URL: https://issues.apache.org/jira/browse/BCEL-35
>             Project: Commons BCEL
>          Issue Type: Bug
>          Components: Main
>    Affects Versions: 5.1
>            Reporter: Erik Hilsdale
>            Assignee: Apache Commons Developers
>             Fix For: 5.2
>
>         Attachments: LocaleTest.java, bcel-patch.txt
>
>
> The method 
>     generic.Instruction.readInstruction()
> calls 
>     generic.Instruction.className(short)
> which uses toUpperCase() in its implementation.  
> This is brittle; in the Turkish locale, for example
>  "I".toLowerCase() != "i" 
>  "i".toUpperCase() != "I"
> This was reported to me at the AspectJ project from an actual user who 
> gets 
> org.apache.bcel.generic.ClassGenException: Illegal opcode detected.
> 	at org.apache.bcel.generic.Instruction.readInstruction
> (Instruction.java:189)
> 	at org.apache.bcel.generic.InstructionList.<init>
> (InstructionList.java:193)
> when using AspectJ (which uses BCEL) under the Turkish locale.  So this
> is a problem that's appearing in the wild *smile*.
> I may get around to patching it myself before our next release,
> in which case I'll probably just rip out the Class.forName stuff inside
>     Instruction.readInstruction()
> which is the thing really causing the problem (is that there for expansion,
> in case users define their own bytecodes?  I'm confused as to why there
> isn't just a 256-wide dispatch).



--
This message was sent by Atlassian JIRA
(v6.2#6252)