IBM Support

IV32771: CRASH WHILE SORTING THE FILES BY SIZE IN JFILECHOOSER.

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Error Message: Customer use to face intermittent crash(GPF)
    while sorting the files by size in JFileChooser.
    .
    Stack Trace: Java callstack:
    at sun/awt/shell/Win32ShellFolder2.compareIDsByColumn(Native
    Method)
    at
    sun/awt/shell/Win32ShellFolder2.access$3300(Win32ShellFolder2.ja
    va:84)
    at
    sun/awt/shell/Win32ShellFolder2$ColumnComparator$1.call(Win32She
    llFolder2.java:1174)
    at
    sun/awt/shell/Win32ShellFolder2$ColumnComparator$1.call(Win32She
    llFolder2.java:1169)
    at
    sun/awt/shell/Win32ShellFolderManager2$compareinvoke(Win32ShellF
    olderManager2.java:545(Compiled Code))
    at
    sun/awt/shell/ShellFolder.invoke(ShellFolder.java:526(Compiled
    Code))
    at
    sun/awt/shell/ShellFolder.invoke(ShellFolder.java:512(Compiled
    Code))
    at
    sun/awt/shell/Win32ShellFolder2$ColumnComparator.compare(Win32Sh
    ellFolder2.java:1169)
    at
    sun/awt/shell/Win32ShellFolder2$ColumnComparator.compare(Win32Sh
    ellFolder2.java:1157)
    at
    sun/swing/FilePane$DirectoriesFirstComparatorWrapper.compare(Fil
    ePane.java:1014)
    at
    sun/swing/FilePane$DirectoriesFirstComparatorWrapper.compare(Fil
    ePane.java:985)
    at
    javax/swing/DefaultRowSorter.compare(DefaultRowSorter.java:979)
    at
    javax/swing/DefaultRowSorter.access$100(DefaultRowSorter.java:12
    3)
    at
    javax/swing/DefaultRowSorter$Row.compareTo(DefaultRowSorter.java
    :1387)
    at
    javax/swing/DefaultRowSorter$Row.compareTo(DefaultRowSorter.java
    :1377)
    at
    java/util/ComparableTimSort.countRunAndMakeAscending(ComparableT
    imSort.java:306)
    at java/util/ComparableTimSort.sort(ComparableTimSort.java:182)
    at java/util/ComparableTimSort.sort(ComparableTimSort.java:157)
    at java/util/Arrays.sort(Arrays.java:483)
    at javax/swing/DefaultRowSorter.sort(DefaultRowSorter.java:618)
    at
    sun/swing/FilePane$DetailsTableRowSorter.access$1601(FilePane.ja
    va:928)
    at
    sun/swing/FilePane$DetailsTableRowSorter$1.call(FilePane.java:94
    7)
    at
    sun/swing/FilePane$DetailsTableRowSorter$1.call(FilePane.java:94
    5)
    at
    java/util/concurrent/FutureTask$Sync.innerRun(FutureTask.java:34
    5(Compiled Code))
    at
    java/util/concurrent/FutureTask.run(FutureTask.java:177(Compiled
    Code))
    at
    java/util/concurrent/ThreadPoolExecutor.runWorker(ThreadPoolExec
    utor.java:1121)
    at
    java/util/concurrent/ThreadPoolExecutor$Worker.run(ThreadPoolExe
    cutor.java:614)
    at
    sun/awt/shell/Win32ShellFolderManager2$ComInvoker$3.run(Win32She
    llFolderManager2.java:514)
    at java/lang/Thread.run(Thread.java:777)
    Native callstack:
    (0xAC8047CB)
    ILFindLastID+0x439 (0x74E63215 <OSB>SHELL32+0xa3215<CSB>)
    SHTestTokenMembership+0x1183 (0x74E13DED
    <OSB>SHELL32+0x53ded<CSB>)
    SHILCreateFromPath+0x18bf (0x74E21365 <OSB>SHELL32+0x61365<CSB>)
    SHDefExtractIconW+0x45f (0x74E2738D <OSB>SHELL32+0x6738d<CSB>)
    SHILCreateFromPath+0x19ca (0x74E21470 <OSB>SHELL32+0x61470<CSB>)
    SHILCreateFromPath+0x197e (0x74E21424 <OSB>SHELL32+0x61424<CSB>)
    SHILCreateFromPath+0x191b (0x74E213C1 <OSB>SHELL32+0x613c1<CSB>)
    DAD_DragEnterEx+0x26e5 (0x74F1FF42 <OSB>SHELL32+0x15ff42<CSB>)
    Ordinal733+0x157eb (0x74F850B1 <OSB>SHELL32+0x1c50b1<CSB>)
    Java_sun_awt_shell_Win32ShellFolder2_compareIDsByColumn+0x1a
    (shellfolder2.cpp:1244, 0x6D07F1AE <OSB>awt+0xaf1ae<CSB>)
    j9mem_allocate_memory+0x8f (j9memtag.c:199, 0x70E957CF
    <OSB>J9PRT26+0x57cf<CSB>)
    J9HookDispatch+0x88 (hookable.c:176, 0x70F910B8
    <OSB>J9HOOKABLE26+0x10b8<CSB>)
    j9sig_protect+0x44 (j9signal.c:150, 0x70E9F054
    <OSB>J9PRT26+0xf054<CSB>)
    (0x0034A940)
    j9portLibrary+0x0 (0x70E7FD10 <OSB>jvm+0x1fd10<CSB>)
    J9VMInterfaceFunctions+0x0 (0x6F53FAC8 <OSB>j9vm26+0x6fac8<CSB>)
    .
    N/A
    

Local fix

  • N/A
    

Problem summary

  • The  IShellFolder obtained while creating  the ColumnComparator
    can be invalid while doing the actual compare operation with
    ColumnComparator and can result in  crash.
    

Problem conclusion

  • This defect will be fixed in:
    7.0.0 SR4
    .
    The JVM has been updated to obtain the IShellFolder value
    dynamically at the time of compare operation and there by ensure
    it is valid and avoid the crash.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IV32771

  • Reported component name

    JAVA CLASS LIBS

  • Reported component ID

    620700130

  • Reported release

    700

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-11-29

  • Closed date

    2012-12-19

  • Last modified date

    2012-12-19

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    JAVA CLASS LIBS

  • Fixed component ID

    620700130

Applicable component levels

  • R700 PSY

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSNVBF","label":"Runtimes for Java Technology"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.0","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
21 February 2022