Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4250060

TTY: jdb throws InternalError when setting breakpoint in an interface method

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P5 P5
    • 1.3.1
    • 1.2.0
    • core-svc
    • ladybird
    • generic
    • generic
    • Not verified



        Name: sg39081 Date: 06/28/99


        If in jdb, I type
        stop in some.interface.some.method
        e.g.
        stop in java.util.Observer.update
        JDB throws an InternalError exception as follows:

        [Internal debug-agent exception: java.lang.InternalError: JVMDI_ERROR_INVALID_ME
        THODID - during command processing]Internal exception:
        java.lang.Exception: java.lang.InternalError: JVMDI_ERROR_INVALID_METHODID
                at sun.tools.debug.RemoteAgent.getReply(Compiled Code)
                at sun.tools.debug.RemoteAgent.setBreakpointMethod(RemoteAgent.java:1216
        )
                at sun.tools.debug.RemoteClass.setBreakpointMethod(RemoteClass.java:379)

                at sun.tools.ttydebug.TTY.stop(TTY.java:976)
                at sun.tools.ttydebug.TTY.executeCommand(TTY.java:1587)
                at sun.tools.ttydebug.TTY.<init>(Compiled Code)
                at sun.tools.ttydebug.TTY.main(Compiled Code)

        I believe it would be better if JDB said something like
        "java.util.Observer is an interface not a class" instead of
        throwing an exception.
        (Review ID: 84107)
        ======================================================================

        tim.bell@Eng 2000-08-10

        The same basic problem exists with the new re-hosted JDB, where
        you will see an error like the following:

        % jdb BreakInInterfaceMethod
        Initializing jdb...
        > stop in java.util.Observer.update
        Deferring breakpoint java.util.Observer.update.
        It will be set after the class is loaded.
        > run
        run BreakInInterfaceMethod

        VM Started: > java.lang.NullPointerException
                at com.sun.tools.jdi.MirrorImpl.validateMirror(MirrorImpl.java:52)
                at com.sun.tools.jdi.EventRequestManagerImpl.createBreakpointRequest(EventRequestManagerImpl.java:621)
                at com.sun.tools.example.debug.tty.BreakpointSpec.resolveEventRequest(BreakpointSpec.java:81)
                at com.sun.tools.example.debug.tty.EventRequestSpec.resolve(EventRequestSpec.java:76)
                at com.sun.tools.example.debug.tty.EventRequestSpecList.resolve(EventRequestSpecList.java:75)
                at com.sun.tools.example.debug.tty.EventHandler.classPrepareEvent(EventHandler.java:249)
                at com.sun.tools.example.debug.tty.EventHandler.handleEvent(EventHandler.java:121)
                at com.sun.tools.example.debug.tty.EventHandler.run(EventHandler.java:83)
                at java.lang.Thread.run(Thread.java:488)


              tbell Tim Bell
              sgoodsunw Sheri Good (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: