Método está matando a maquina virtual

toda vez que chamo um método da para enviar comando para o emulador da bematech
acabando matando a maquina virtual e gerando um log do evento.Sendo que o comando é executado no emulador. segue o log a baixo

A fatal error has been detected by the Java Runtime Environment:

EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x5dadf04a, pid=276, tid=4588

JRE version: 7.0-b147

Java VM: Java HotSpot™ Client VM (21.0-b17 mixed mode, sharing windows-x86 )

Problematic frame:

V [jvm.dll+0x9f04a]

Failed to write core dump. Minidumps are not enabled by default on client versions of Windows

If you would like to submit a bug report, please visit:

http://bugreport.sun.com/bugreport/crash.jsp

--------------- T H R E A D ---------------

Current thread (0x03fcf800): JavaThread “AWT-EventQueue-0” [_thread_in_vm, id=4588, stack(0x04360000,0x043b0000)]

siginfo: ExceptionCode=0xc0000005, reading address 0x00000000

Registers:
EAX=0x00000000, EBX=0x03f276e8, ECX=0x00000000, EDX=0x0188fd74
ESP=0x043ae780, EBP=0x043ae798, ESI=0x03fcf928, EDI=0x03fcf800
EIP=0x5dadf04a, EFLAGS=0x00010246

Top of Stack: (sp=0x043ae780)
0x043ae780: 03f276e8 040c1b48 03fcf800 00000000
0x043ae790: 03fcf928 03f276e8 040c1b58 1001028b
0x043ae7a0: 03fcf928 00000000 00000000 03fcf800
0x043ae7b0: 043ae838 3359fd00 3359fd00 61666f53
0x043ae7c0: 00000000 00000000 00000000 00000000
0x043ae7d0: 00000000 00000000 33590000 018da5b7
0x043ae7e0: 040c1b98 043ae840 040c1b88 043ae864
0x043ae7f0: 040c1b78 040c1b68 043ae858 00000002

Instructions: (pc=0x5dadf04a)
0x5dadf02a: ff 83 c4 08 83 7f 04 00 89 7d f0 c7 45 f4 00 00
0x5dadf03a: 00 00 74 08 8d 4d f0 e8 4a 1f 0c 00 8b 45 0c 53
0x5dadf04a: 8b 18 56 53 e8 fd 0f f8 ff 8d 70 01 56 e8 74 a1
0x5dadf05a: 08 00 83 c4 08 89 45 08 85 c0 75 19 68 28 f5 ca

Register to memory mapping:

EAX=0x00000000 is an unknown value
EBX=0x03f276e8 is an unknown value
ECX=0x00000000 is an unknown value
EDX=0x0188fd74 is an unknown value
ESP=0x043ae780 is pointing into the stack for thread: 0x03fcf800
EBP=0x043ae798 is pointing into the stack for thread: 0x03fcf800
ESI=0x03fcf928 is an unknown value
EDI=0x03fcf800 is a thread

Stack: [0x04360000,0x043b0000], sp=0x043ae780, free space=313k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [jvm.dll+0x9f04a]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j bemajava.Bematech.VendeItem(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)I+0
j ecf.EcfBematech.venderItem(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V+14
j movimentacao.VendaBalcao.tfvlrFocusLost(Ljava/awt/event/FocusEvent;)V+259
j movimentacao.VendaBalcao.access$1500(Lmovimentacao/VendaBalcao;Ljava/awt/event/FocusEvent;)V+2
j movimentacao.VendaBalcao$16.focusLost(Ljava/awt/event/FocusEvent;)V+5
j java.awt.AWTEventMulticaster.focusLost(Ljava/awt/event/FocusEvent;)V+21
j java.awt.Component.processFocusEvent(Ljava/awt/event/FocusEvent;)V+52
j java.awt.Component.processEvent(Ljava/awt/AWTEvent;)V+12
j java.awt.Container.processEvent(Ljava/awt/AWTEvent;)V+18
j java.awt.Component.dispatchEventImpl(Ljava/awt/AWTEvent;)V+581
j java.awt.Container.dispatchEventImpl(Ljava/awt/AWTEvent;)V+42
j java.awt.Component.dispatchEvent(Ljava/awt/AWTEvent;)V+2
j java.awt.KeyboardFocusManager.redispatchEvent(Ljava/awt/Component;Ljava/awt/AWTEvent;)V+7
j java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Ljava/awt/Component;Ljava/awt/AWTEvent;)Z+311
j java.awt.DefaultKeyboardFocusManager.dispatchEvent(Ljava/awt/AWTEvent;)Z+1214
j java.awt.Component.dispatchEventImpl(Ljava/awt/AWTEvent;)V+144
j java.awt.Container.dispatchEventImpl(Ljava/awt/AWTEvent;)V+42
j java.awt.Component.dispatchEvent(Ljava/awt/AWTEvent;)V+2
j java.awt.EventQueue.dispatchEventImpl(Ljava/awt/AWTEvent;Ljava/lang/Object;)V+41
j java.awt.EventQueue.access$000(Ljava/awt/EventQueue;Ljava/awt/AWTEvent;Ljava/lang/Object;)V+3
j java.awt.EventQueue$3.run()Ljava/lang/Void;+12
j java.awt.EventQueue$3.run()Ljava/lang/Object;+1
v ~StubRoutines::call_stub
j java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;+0
j java.security.ProtectionDomain$1.doIntersectionPrivilege(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;Ljava/security/AccessControlContext;)Ljava/lang/Object;+28
j java.security.ProtectionDomain$1.doIntersectionPrivilege(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;+6
j java.awt.EventQueue$4.run()Ljava/lang/Void;+11
j java.awt.EventQueue$4.run()Ljava/lang/Object;+1
v ~StubRoutines::call_stub
j java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;+0
j java.security.ProtectionDomain$1.doIntersectionPrivilege(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;Ljava/security/AccessControlContext;)Ljava/lang/Object;+28
j java.awt.EventQueue.dispatchEvent(Ljava/awt/AWTEvent;)V+73
j utilitarios.Tecla$2.dispatchEvent(Ljava/awt/AWTEvent;)V+2
j java.awt.EventDispatchThread.pumpOneEventForFilters(I)Z+245
j java.awt.EventDispatchThread.pumpEventsForFilter(ILjava/awt/Conditional;Ljava/awt/EventFilter;)V+35
j java.awt.EventDispatchThread.pumpEventsForHierarchy(ILjava/awt/Conditional;Ljava/awt/Component;)V+11
j java.awt.EventDispatchThread.pumpEvents(ILjava/awt/Conditional;)V+4
j java.awt.EventDispatchThread.pumpEvents(Ljava/awt/Conditional;)V+3
j java.awt.EventDispatchThread.run()V+9
v ~StubRoutines::call_stub

--------------- P R O C E S S ---------------

Java Threads: ( => current thread )
0x040dac00 JavaThread “TimerQueue” daemon [_thread_blocked, id=5384, stack(0x054f0000,0x05540000)]
0x00289400 JavaThread “DestroyJavaVM” [_thread_blocked, id=4696, stack(0x01780000,0x017d0000)]
=>0x03fcf800 JavaThread “AWT-EventQueue-0” [_thread_in_vm, id=4588, stack(0x04360000,0x043b0000)]
0x03f8dc00 JavaThread “AWT-Windows” daemon [_thread_in_native, id=2220, stack(0x03d60000,0x03db0000)]
0x03f8d000 JavaThread “AWT-Shutdown” [_thread_blocked, id=4152, stack(0x04160000,0x041b0000)]
0x03f8a400 JavaThread “Java2D Disposer” daemon [_thread_blocked, id=2208, stack(0x041c0000,0x04210000)]
0x0188c000 JavaThread “Service Thread” daemon [_thread_blocked, id=4684, stack(0x03ed0000,0x03f20000)]
0x0188a400 JavaThread “C1 CompilerThread0” daemon [_thread_blocked, id=4132, stack(0x03c80000,0x03cd0000)]
0x01889400 JavaThread “Attach Listener” daemon [_thread_blocked, id=5976, stack(0x03d10000,0x03d60000)]
0x01888400 JavaThread “Signal Dispatcher” daemon [_thread_blocked, id=1544, stack(0x03a60000,0x03ab0000)]
0x0187dc00 JavaThread “Finalizer” daemon [_thread_blocked, id=4700, stack(0x03bf0000,0x03c40000)]
0x01878c00 JavaThread “Reference Handler” daemon [_thread_blocked, id=5408, stack(0x03b70000,0x03bc0000)]

Other Threads:
0x01876400 VMThread [stack: 0x039f0000,0x03a40000] [id=4476]
0x018b3c00 WatcherThread [stack: 0x03e50000,0x03ea0000] [id=5880]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap
def new generation total 4928K, used 531K [0x233c0000, 0x23910000, 0x28910000)
eden space 4416K, 6% used [0x233c0000, 0x23404080, 0x23810000)
from space 512K, 50% used [0x23890000, 0x238d0d90, 0x23910000)
to space 512K, 0% used [0x23810000, 0x23810000, 0x23890000)
tenured generation total 10944K, used 3535K [0x28910000, 0x293c0000, 0x333c0000)
the space 10944K, 32% used [0x28910000, 0x28c83da8, 0x28c83e00, 0x293c0000)
compacting perm gen total 12288K, used 1951K [0x333c0000, 0x33fc0000, 0x373c0000)
the space 12288K, 15% used [0x333c0000, 0x335a7e58, 0x335a8000, 0x33fc0000)
ro space 10240K, 45% used [0x373c0000, 0x37841888, 0x37841a00, 0x37dc0000)
rw space 12288K, 54% used [0x37dc0000, 0x384404f8, 0x38440600, 0x389c0000)

Code Cache [0x018d0000, 0x019a0000, 0x038d0000)
total_blobs=501 nmethods=273 adapters=161 free_code_cache=31952Kb largest_free_block=32719296

Dynamic libraries:
0x00120000 - 0x0014e000 C:\Program Files\Java\jdk1.7.0\bin\java.exe
0x76eb0000 - 0x76fec000 C:\Windows\SYSTEM32\ntdll.dll
0x75710000 - 0x757e4000 C:\Windows\system32\kernel32.dll
0x751a0000 - 0x751eb000 C:\Windows\system32\KERNELBASE.dll
0x75470000 - 0x75510000 C:\Windows\system32\ADVAPI32.dll
0x76da0000 - 0x76e4c000 C:\Windows\system32\msvcrt.dll
0x76730000 - 0x76749000 C:\Windows\SYSTEM32\sechost.dll
0x75660000 - 0x75701000 C:\Windows\system32\RPCRT4.dll
0x753a0000 - 0x75469000 C:\Windows\system32\USER32.dll
0x75350000 - 0x7539e000 C:\Windows\system32\GDI32.dll
0x76c50000 - 0x76c5a000 C:\Windows\system32\LPK.dll
0x75570000 - 0x7560d000 C:\Windows\system32\USP10.dll
0x74500000 - 0x7469e000 C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.17514_none_41e6975e2bd6f2b2\COMCTL32.dll
0x76e50000 - 0x76ea7000 C:\Windows\system32\SHLWAPI.dll
0x76d80000 - 0x76d9f000 C:\Windows\system32\IMM32.DLL
0x76630000 - 0x766fc000 C:\Windows\system32\MSCTF.dll
0x5ed00000 - 0x5edbe000 C:\Program Files\Java\jdk1.7.0\jre\bin\msvcr100.dll
0x5da40000 - 0x5dd61000 C:\Program Files\Java\jdk1.7.0\jre\bin\client\jvm.dll
0x73430000 - 0x73437000 C:\Windows\system32\WSOCK32.dll
0x770a0000 - 0x770d5000 C:\Windows\system32\WS2_32.dll
0x75340000 - 0x75346000 C:\Windows\system32\NSI.dll
0x72740000 - 0x72772000 C:\Windows\system32\WINMM.dll
0x76ff0000 - 0x76ff5000 C:\Windows\system32\PSAPI.DLL
0x6f2d0000 - 0x6f2dc000 C:\Program Files\Java\jdk1.7.0\jre\bin\verify.dll
0x6ae90000 - 0x6aeb0000 C:\Program Files\Java\jdk1.7.0\jre\bin\java.dll
0x62ad0000 - 0x62ae3000 C:\Program Files\Java\jdk1.7.0\jre\bin\zip.dll
0x5ebb0000 - 0x5ecf2000 C:\Program Files\Java\jdk1.7.0\jre\bin\awt.dll
0x76440000 - 0x764cf000 C:\Windows\system32\OLEAUT32.dll
0x764d0000 - 0x7662c000 C:\Windows\system32\ole32.dll
0x738a0000 - 0x738e0000 C:\Windows\system32\uxtheme.dll
0x73570000 - 0x73583000 C:\Windows\system32\dwmapi.dll
0x74f90000 - 0x74f9c000 C:\Windows\system32\CRYPTBASE.dll
0x757f0000 - 0x7643a000 C:\Windows\system32\SHELL32.dll
0x5eef0000 - 0x5ef1a000 C:\Program Files\Java\jdk1.7.0\jre\bin\fontmanager.dll
0x77000000 - 0x77083000 C:\Windows\system32\CLBCatQ.DLL
0x73440000 - 0x7353b000 C:\Windows\system32\WindowsCodecs.dll
0x74f40000 - 0x74f8c000 C:\Windows\system32\apphelp.dll
0x6fd40000 - 0x6fd71000 C:\Windows\system32\EhStorShell.dll
0x76ab0000 - 0x76c4d000 C:\Windows\system32\SETUPAPI.dll
0x75310000 - 0x75337000 C:\Windows\system32\CFGMGR32.dll
0x750c0000 - 0x750d2000 C:\Windows\system32\DEVOBJ.dll
0x738e0000 - 0x739d5000 C:\Windows\system32\PROPSYS.dll
0x6fcd0000 - 0x6fd3a000 C:\Windows\System32\cscui.dll
0x6fcc0000 - 0x6fcc9000 C:\Windows\System32\CSCDLL.dll
0x6fcb0000 - 0x6fcbb000 C:\Windows\system32\CSCAPI.dll
0x6fc40000 - 0x6fcb0000 C:\Windows\system32\ntshrui.dll
0x74e90000 - 0x74ea9000 C:\Windows\system32\srvcli.dll
0x72380000 - 0x7238a000 C:\Windows\system32\slc.dll
0x61860000 - 0x61874000 C:\Program Files\Java\jdk1.7.0\jre\bin\net.dll
0x749f0000 - 0x74a2c000 C:\Windows\system32\mswsock.dll
0x74bb0000 - 0x74bb6000 C:\Windows\System32\wship6.dll
0x6ae80000 - 0x6ae8f000 C:\Program Files\Java\jdk1.7.0\jre\bin\nio.dll
0x5eb70000 - 0x5eba1000 C:\Program Files\Java\jdk1.7.0\jre\bin\t2k.dll
0x5e960000 - 0x5e984000 C:\Program Files\Java\jdk1.7.0\jre\bin\dcpr.dll
0x10000000 - 0x10159000 C:\Windows\System32\BemaFI32.dll
0x73f70000 - 0x73f79000 C:\Windows\system32\VERSION.dll
0x73db0000 - 0x73dbd000 C:\Windows\system32\wtsapi32.dll
0x75000000 - 0x75029000 C:\Windows\system32\WINSTA.dll

VM Arguments:
jvm_args: -Dfile.encoding=UTF-8
java_command: movimentacao.VendaBalcao
Launcher Type: SUN_STANDARD

Environment Variables:
PATH=C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Program Files\Windows Live\Shared;c:\Program Files\Microsoft SQL Server\100\Tools\Binn;c:\Program Files\Microsoft SQL Server\100\DTS\Binn;C:\Program Files\Internet Explorer;C:\Program Files\VDownloader
USERNAME=Joe
OS=Windows_NT
PROCESSOR_IDENTIFIER=x86 Family 6 Model 23 Stepping 10, GenuineIntel

--------------- S Y S T E M ---------------

OS: Windows 7 Build 7601 Service Pack 1

CPU:total 2 (2 cores per cpu, 1 threads per core) family 6 model 23 stepping 10, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3

Memory: 4k page, physical 2061492k(519300k free), swap 4122984k(835360k free)

vm_info: Java HotSpot™ Client VM (21.0-b17) for windows-x86 JRE (1.7.0-b147), built on Jun 27 2011 02:25:52 by “java_re” with unknown MS VC++:1600

time: Fri Oct 12 21:13:46 2012
elapsed time: 9 seconds

É um método especifico que está causando isso? Possui outras funções do jar da bematech já implementas e que funcionam?

Coloque o código que está causando isso…

Antigamente eu tinha um PC meio problemático. Ele não funcionava o Eclipse. Depois de muito e muito tempo, descobri que era a memória… kkk Será que poderia ser algo assim?

Abraços

Fiz o teste com todos os métodos,que vem implementado do arquivo.Jar, desde métodos de inicialização a métodos de relatório tipo leitura X, le em alguns fóruns que o mesmo acontecia devido ao driver de vide no jogo MiniCraft.

public class EcfBematech {

private static int retorno;
private static BemaInteger ack, st1, st2;

public static void analisaRetorno() {
    switch (retorno) {
        case 0:
            JOptionPane.showMessageDialog(null, "Erro de Comunicação!");
            break;
        case -1:
            JOptionPane.showMessageDialog(null, "Erro de Execução na Função. Verifique!");
            break;
        case -2:
            JOptionPane.showMessageDialog(null, "Parâmetro Inválido !");
            break;
        case -3:
            JOptionPane.showMessageDialog(null, "Alíquota não programada !");
            break;
        case -4:
            JOptionPane.showMessageDialog(null, "Arquivo BemaFI32.INI não encontrado. Verifique!");
            break;
        case -5:
            JOptionPane.showMessageDialog(null, "Erro ao Abrir a Porta de Comunicação!");
            break;
        case -6:
            JOptionPane.showMessageDialog(null, "Impressora Desligada ou Desconectada!");
            break;
        case -7:
            JOptionPane.showMessageDialog(null, "Banco Não Cadastrado no Arquivo BemaFI32.ini!");
            break;
        case -8:
            JOptionPane.showMessageDialog(null, "Erro ao Criar ou Gravar no Arquivo Retorno.txt ou Status.txt");
            break;
        case -18:
            JOptionPane.showMessageDialog(null, "Não foi possível abrir arquivo INTPOS.001 !");
            break;
        case -19:
            JOptionPane.showMessageDialog(null, "Parâmetro Diferentes !");
            break;
        case -20:
            JOptionPane.showMessageDialog(null, "Transação Cancelada pelo Operador !");
            break;
        case -21:
            JOptionPane.showMessageDialog(null, "A Transação não foi Aprovada !");
            break;
        case -22:
            JOptionPane.showMessageDialog(null, "Não foi Possível Terminar a Impressão !");
            break;
        case -23:
            JOptionPane.showMessageDialog(null, "Não foi Possível Terminar a Operação !");
            break;
        case -24:
            JOptionPane.showMessageDialog(null, "Forma de Pagamento não Programada.");
            break;
        case -25:
            JOptionPane.showMessageDialog(null, "Totalizador não Fiscal não Programado.");
            break;
        case -26:
            JOptionPane.showMessageDialog(null, "Transação já Efetuada !");
            break;
        case -28:
            JOptionPane.showMessageDialog(null, "Não há Informações para Serem Impressas !");
            break;

        default:
            break;

    }
}

public static void retornoImpressora() {
    retorno = bemajava.Bematech.RetornoImpressora(ack, st1, st2);

    if (ack.number == 6) {
        // Verifica ST1
        if (st1.number >= 128) {
            st1.number = st1.number - 128;
            JOptionPane.showMessageDialog(null, "Fim de Papel");
        }
        if (st1.number >= 64) {
            st1.number = st1.number - 64;
            JOptionPane.showMessageDialog(null, "Pouco Papel");
        }
        if (st1.number >= 32) {
            st1.number = st1.number - 32;
            JOptionPane.showMessageDialog(null, "Erro no Relógio");
        }
        if (st1.number >= 16) {
            st1.number = st1.number - 16;
            JOptionPane.showMessageDialog(null, "Impressora em ERRO");
        }
        if (st1.number >= 8) {
            st1.number = st1.number - 8;
            JOptionPane.showMessageDialog(null, "CMD não iniciado com ESC");
        }
        if (st1.number >= 4) {
            st1.number = st1.number - 4;
            JOptionPane.showMessageDialog(null, "Comando Inexistente");
        }
        if (st1.number >= 2) {
            st1.number = st1.number - 2;
            JOptionPane.showMessageDialog(null, "Cupom Aberto");
        }
        if (st1.number >= 1) {
            st1.number = st1.number - 1;
            JOptionPane.showMessageDialog(null, "Nº de Parâmetros Inválidos");
        }

        // Verifica ST2
        if (st2.number >= 128) {
            st2.number = st2.number - 128;
            JOptionPane.showMessageDialog(null, "Tipo de Parâmetro Inválido");
        }
        if (st2.number >= 64) {
            st2.number = st2.number - 64;
            JOptionPane.showMessageDialog(null, "Memória Fiscal Lotada");
        }
        if (st2.number >= 32) {
            st2.number = st2.number - 32;
            JOptionPane.showMessageDialog(null, "CMOS não Volátil");
        }
        if (st2.number >= 16) {
            st2.number = st2.number - 16;
            JOptionPane.showMessageDialog(null, "Alíquota Não Programada");
        }
        if (st2.number >= 8) {
            st2.number = st2.number - 8;
            JOptionPane.showMessageDialog(null, "Alíquotas lotadas");
        }
        if (st2.number >= 4) {
            st2.number = st2.number - 4;
            JOptionPane.showMessageDialog(null, "Cancelamento não Permitido");
        }
        if (st2.number >= 2) {
            st2.number = st2.number - 2;
            JOptionPane.showMessageDialog(null, "CGC/IE não Programados");
        }
        if (st2.number >= 1) {
            st2.number = st2.number - 1;
            JOptionPane.showMessageDialog(null, "Comando não Executado");
        }
    }


}

public static void leiturax() {
    if (JOptionPane.showConfirmDialog(null, "Deseja Emitir a Leitura X ?", "Pergunta", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE) == JOptionPane.YES_OPTION) {
        retorno = bemajava.Bematech.LeituraX();
        analisaRetorno();
        retornoImpressora();
        {
        }

    }
}

public static void reducaoZ() {
    if (JOptionPane.showConfirmDialog(null, "Deseja Emitir a Redução Z ?\nAtencão o Caixa sera Incerrado", "Pergunta", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE) == JOptionPane.YES_OPTION) {
      retorno = bemajava.Bematech.ReducaoZ(null, null);
        analisaRetorno();
        retornoImpressora();
        {
        }

    }
}

public static void abreCupom(String cnpj_cpf) {
    retorno = bemajava.Bematech.AbreCupom(cnpj_cpf);
    
    analisaRetorno();
    retornoImpressora();
}

public static void fechaCupom(String acrescimoDesconto, String tipoAcrescimoDesconto,
        String valorAcrescimoDesconto, String mensagem,ArrayList <formaPag>formasPagamento) {
    retorno = bemajava.Bematech.IniciaFechamentoCupom(acrescimoDesconto, tipoAcrescimoDesconto, valorAcrescimoDesconto);

    for (int i = 0; i < formasPagamento.size(); i++) {
        retorno = bemajava.Bematech.EfetuaFormaPagamento(""+formasPagamento.get(i).getFormaPg(),""+ formasPagamento.get(i).getVlr());

    }
    retorno = bemajava.Bematech.TerminaFechamentoCupom(mensagem);
    analisaRetorno();
    retornoImpressora();

}

public static void fecharPortaSerial() {

// retorno = Bematech.FechaPortaSerial();
analisaRetorno();
retornoImpressora();
}

public static void horarioVerao() {
    if (JOptionPane.showConfirmDialog(null, "Deseja entra no Horario de Verao", "Pergunta", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE) == JOptionPane.YES_OPTION) {
        retorno = bemajava.Bematech.ProgramaHorarioVerao();
        analisaRetorno();
        retornoImpressora();
        {
        }

    }
}

public static void memoriaFiscalData(String data1, String data2) {
    if (JOptionPane.showConfirmDialog(null, "Deseja Emitir a Memoria Fiscal", "Pergunta", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE) == JOptionPane.YES_OPTION) {
        retorno = bemajava.Bematech.LeituraMemoriaFiscalData(data1, data2);
        analisaRetorno();
        retornoImpressora();
        {
        }
    }
}

public static void memoriaFiscalReducao(String red1, String red2) {
    if (JOptionPane.showConfirmDialog(null, "Deseja Emitir a Memoria pela Reducao", "Pergunta", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE) == JOptionPane.YES_OPTION) {

// retorno =Bematech.LeituraMemoriaFiscalReducao(red1, red2);
analisaRetorno();
retornoImpressora();
{
}
}
}

public static void cancelaCupom() {
    if (JOptionPane.showConfirmDialog(null, "Deseja Cancelar o Cupom ?", "Pergunta", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE) == JOptionPane.YES_OPTION) {
        retorno = bemajava.Bematech.CancelaCupom();
        analisaRetorno();
        retornoImpressora();
        {
        }
    }
}

public static void venderItem(String codigo, String descricao, String aliquota,
        String tipoQtde, String qtde, int casasDecimais, String vlrUnitario,
        String tipoDesconto, String vlrDesconto) {

    retorno =bemajava.Bematech.VendeItem(codigo, descricao, aliquota, tipoQtde, qtde, casasDecimais, vlrUnitario, tipoDesconto, vlrDesconto);
    analisaRetorno();
    retornoImpressora();




}
public static void cancelarItemAnterior(){

     retorno = bemajava.Bematech.CancelaItemAnterior();
	analisaRetorno();
	retornoImpressora();

}
public static void cancelarItemGenerico(String item){
    retorno = bemajava.Bematech.CancelaItemGenerico(item);
    analisaRetorno();
    retornoImpressora();
}
public static void programaAliquota(String aliquota){
     retorno = bemajava.Bematech.ProgramaAliquota(aliquota,0);
    analisaRetorno();
    retornoImpressora();

}

}

Por favor, ao postar códigos, use a tag code:

Esse tipo de erro é geralmente causado por instruções JNI, muito provavelmente, as da impressora Bematech. Já tentou rodar com o depurador para ver a linha exata que o crash ocorre?
Já tentou ver se não tem versão atualizada do driver ou da API de impressora?

já baixei o driver bemafi32 do site da bematech, atualizei a versao do jdk e tambem usei o depurador para saber em que linha esta ocorrendo o problema, mais quando chega na linha do metodo .jar da bematech mata o sistema