Display stack trace

Env: NetWeaver 6.40 SP15
We are getting a class not found exception when we access our J2EE application under AIX. The user sees an SAP supplied error 500 page displaying:
Application error occurred during request processing.
  Details:   java.lang.NoClassDefFoundError: org/apache/commons/configuration/ConfigurationException
Exception id: [8A2810007002003F0000001000059048000409F3BCDA6B09]
There is no stack trace nor can I find one in the trace file via the logviewer. How do I view the stack trace? Why isn't the stack trace in the trace file?

Hi Craig,
there is a property of the HTTP service in SAP Web AS that controls whether the stack trace is displayed in the prowser or not. That's the DetailedErrorResponse property of the HTTP Provider Service on the server. Use the Visual Administrator to set that property to true. (see <a href="http://help.sap.com/saphelp_nw04/helpdata/en/a1/50b2424997c911e10000000a1550b0/frameset.htm">this</a> page from the docs as a reference.)
About your general question why this is the default - well, SAP systems are not always dev systems. In cases of productive systems, it's not quite secure to get detailed error messages (say, ones that displayed the full path to the JSP that can't be found, or one that displays the classloaders structure and references, etc.) in the browser. That's why SAP has chosen the secure behavior as default, and gives the option to enable detailed errors in the browser for development systems.
Hope that explains things a bit.

Similar Messages

  • How to display a stack trace in a jsp error mage

    What is the best way to display a stack trace in a JSP error page?
    I use "${pageContext.exception.message}" for the exception message. Is there a comparable JSTL expression for the stack?

    Cool! it totally works.
    Thanks for pointing me to this post.

  • Display of stack trace of uncaught exception

    Hello,
    on the mini SAP Web AS 6.40 SP11 that I have installed on my local Windows system, the server provides stack trace information for uncaught exceptions. First, a screen is shown saying that the request could not be processed and that the Administrator should be contacted. After pressing on a link "Get Details ...", the stack trace of the error is displayed. Everything is fine, so far.
    On the contrary, when I run on a server SAP Web AS SP12 on a UNIX system (SPARC, Sun OS 5.9), only the screen saying that the request could not be processed is shown, but no "Get Details ..." link appears.
    Does anybody know what I need to do to enable the display of detailed stack traces also on the Unix machine?
    Any help is appreciated!
    Regards, Nick.

    Is the flow of code to the point where exception occurs:
    1) Data saved in Db
    2) Navigated back
    3)Navigated to another page
    4) Method ListMenu() is called(as soon as navigated to page in step 3) to retrieve the saved data from db & exception occurs.
    Can you paste here the definition of ListMenu(), also does the exception occurs as soon as db is accessed inside this method or else.
    http://developer.nokia.com/community/wiki/Using_Crypto%2B%2B_library_with_Windows_Phone_8

  • Images Browser Dialog gets OutOfMemoryError no stack trace available

    Hello all.
    I am writing a dialog to list the image by showing their thumbnail, which like the style of ACDSee or CoffeeCup Free Viewer Plus.
    For this, I build 3 objects(thumbCanvas,thumbPanel,testingfrm). thumbCanvas - displays the thumbnail with aspect ratio as original image
    thumbPanel - contains thumbCanvas and image file name
    testingfrm - put the thumbPanel of the list of images row by row
    When I run testingfrm by listing 11 images, the following error is given out.
    java.lang.OutOfMemoryError
    <<no stack trace available>>
    I would be appreciated if anyone can suggest the methodology and hints to do that or state what is the problem of my coding and methodology. Thanks.
    The code of 3 objects are as following:
    //thumbCanvas.java
    import java.awt.*;
    import java.io.*;
    public class thumbCanvas extends Canvas {
    public int new_h=0, new_w=0;
    private double thumb_h, thumb_w;
    private double img_h, img_w;
    private double ratio_h, ratio_w, ratio_thumb;
    private String imgFileName;
    private Image thumbImg;
    /** Creates new thumbCanvas */
    public thumbCanvas(int w, int h) {
    thumb_h = h;
    thumb_w = w;
    public thumbCanvas(String f, int w, int h) {
    imgFileName = f;
    thumb_h = h;
    thumb_w = w;
    setFile(imgFileName);
    public void setThumbSize(int w, int h) {
    thumb_h = h;
    thumb_w = w;
    repaint();
    public void setImage(Image i) {
    MediaTracker tracker = new MediaTracker(this);
    thumbImg = i;
    tracker.addImage(thumbImg,1);
    try {
    tracker.waitForAll();
    } catch (java.lang.InterruptedException e) {}
    if (tracker.checkAll()) {
    img_h = thumbImg.getHeight(this);
    img_w = thumbImg.getWidth(this);
    if (img_h > thumb_h || img_w > thumb_w) {
    ratio_h = thumb_h/img_h;
    ratio_w = thumb_w/img_w;
    ratio_thumb = java.lang.Math.min(ratio_h,ratio_w);
    } else {
    ratio_thumb = 1;
    new_h = (int)(img_h*ratio_thumb);
    new_w = (int)(img_w*ratio_thumb);
    setSize(new_w, new_h);
    repaint();
    public void setFile(String f) {
    Image img = Toolkit.getDefaultToolkit().getImage(f);
    setImage(img);
    public void paint(Graphics gr) {
    if ( thumbImg != null ) {
    gr.drawImage(thumbImg, 0, 0, new_w, new_h, this);
    //thumbPanel.java
    import javax.swing.*;
    import java.io.*;
    public class thumbPanel extends JPanel {
    /** Creates new form thumbPanel */
    public thumbPanel(String f, int w, int h) {
    int thumb_w, thumb_h, thumb_x;
    int label_w, label_h;
    initComponents();
    thumb_w = (int)(w*0.9);
    thumb_h = (int)(h*0.7);
    label_w = (int)(w*0.9);
    label_h = (int)(h*0.2);
    tc = new thumbCanvas(f, thumb_w, thumb_h);
    thumb_x = (int)((w - tc.new_w)/2);
    tc.setLocation(thumb_x,5);
    add(tc);
    thumbLabel = new JLabel("hihi");
    add(thumbLabel);
    thumbLabel.setBounds(thumb_x,thumb_h+1,label_w,label_h);
    setSize(w,h);
    /** This method is called from within the constructor to
    * initialize the form.
    * WARNING: Do NOT modify this code. The content of this method is
    * always regenerated by the Form Editor.
    private void initComponents() {//GEN-BEGIN:initComponents
    setLayout(null);
    setBorder(new javax.swing.border.BevelBorder(javax.swing.border.BevelBorder.RAISED));
    }//GEN-END:initComponents
    // Variables declaration - do not modify//GEN-BEGIN:variables
    // End of variables declaration//GEN-END:variables
    private JLabel thumbLabel;
    thumbCanvas tc;
    //testingfrm.java
    public class testingfrm extends javax.swing.JDialog {
    /** Creates new form testingfrm */
    public testingfrm(java.awt.Frame parent, boolean modal) {
    super(parent, modal);
    initComponents();
    int i;
    int row,col;
    for (i=1;i<=11;i++) {
    row = (int)((i-1)/3);
    col = ((i-1)%3)+1;
    tp = new thumbPanel("D:\\ACN\\MultiMed\\Oracle\\images\\ts\\add0000" + i + ".jpg",120,120);
    tp.setLocation(col*120,row*120);
    getContentPane().add(tp);
    /** This method is called from within the constructor to
    * initialize the form.
    * WARNING: Do NOT modify this code. The content of this method is
    * always regenerated by the Form Editor.
    private void initComponents() {//GEN-BEGIN:initComponents
    getContentPane().setLayout(null);
    addWindowListener(new java.awt.event.WindowAdapter() {
    public void windowClosing(java.awt.event.WindowEvent evt) {
    closeDialog(evt);
    pack();
    }//GEN-END:initComponents
    /** Closes the dialog */
    private void closeDialog(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_closeDialog
    setVisible(false);
    dispose();
    System.exit(0);
    }//GEN-LAST:event_closeDialog
    * @param args the command line arguments
    public static void main(String args[]) {
    new testingfrm(new javax.swing.JFrame(), true).show();
    // Variables declaration - do not modify//GEN-BEGIN:variables
    // End of variables declaration//GEN-END:variables
    thumbPanel tp;
    Sorry for putting the code here. However, I hope it can be helpful for solving my problem. Thanks again.

    Thanks. The problem is already solved.
    It is because I load too much full size images. When I load the resized images generated by Image.getScaledInstance(int,int,int). It seems much better.
    Thanks again your suggestion.

  • Turning off server side stack trace in error message for weblogic81

    Hi,
    I am seeing server side stack trace in getMessage() method which is being stuffed
    by application server. I am using weblogic 81. Could you please let me know how
    to turn off that in getMessage() to return my only original message?
    Thanks
    Praveen

    Did you solve this problem? I am facing this problem and don't seem to solve with
    "Instrument Stack Traces" flag
    "Franck" <[email protected]> wrote:
    >
    Hi there,
    In order to manage my own exceptions in some EJB, i have developped some
    classes
    extending Exception.
    Now i would like to display proper messages to the final user, based
    on the messages
    defined in my exception classes.
    Using standard try/catch, i can easily get reference to the exception
    that can
    occur during EJB execution.
    The problem is that my message (myException.getMessage) is followed by
    the extra
    long message generated by the Server and starting with "Start server
    side stack
    trace:".
    For exemple :
    com.xx.ejb.DamageHistoryException: Can't find the price for this object
    (objId=7569,
    sizeCode=LI, colorCode=2)
    Start server side stack trace:
    com.xx.ejb.DamageHistoryException: Can't find the price for this object
    (objId=7569,
    sizeCode=LI, colorCode=2)
    at com.xx.ObjectAccess.getObjectPrice(Unknown Source)
    at com.xx.ejb.ObjectBusinessService.getObjectPrice(Unknown Source)
    <....>
    about 20 lines here !!
    <....>
    Any idea about how to avoid the extra message ??
    Thanx in advance
    Franck

  • Exception Stack Trace as String?

    Hello all!
    I need to convert the stack trace returned by the printStackTrace() method (return type void) into a String. Does anyone know of a good way of doing this?
    My interest in this stems from a desire to send any Java error messages to myself via email rather than having them displayed on the computer screen, which is remote to my workstation. Any help, hints, etc. are much appreciated.
    Thanks in advance.

    I don't know of a way to solve this via the Throwable API alone, but you could do one of the following things: a) send the stack trace to a known file via printStackTrace(PrintWriter s), then parse that file routinely and mail the information or b) extend PrintWriter with a class that sends the information to you when its write methods are called. Personally, I would write a log class that writes the stack trace to a file and then emails that file.

  • Application Stack trace visible to user

    Hello All,
    Is there any way in which i can disable the visibility of application stack trace to users. Here i am not talking about the Webdynpro Java application. I can be any portal application or an KM iview.
    The reason i have to do this is, at times when there is an error in an application or an ivew the stack trace is completely visible to the user and it can be used in an wrong and manipulative manner. So instead of the stack trace can any other message be shown to the user? and how can that be acheived?
    Thank in advance
    Jeet Tibrewala

    Hi Jeet,
    Check the below link which mentions how to acheive this.
    http://wiki.sdn.sap.com/wiki/display/EP/CustomizingErrorMessagesinPortal
    http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/18398
    Cheers
    Deb

  • Strange stack traces with 3.6.1-p4 with storage node restart

    We've just had a storage node restart in our production environment. Everything recovered but we saw the following stack traces. Can anyone explain what they mean?
    2011-10-04 15:07:57,954 ERROR Coherence - 2011-10-04 15:07:57.954/838494.283 Oracle Coherence GE 3.6.1.4 <Error> (thread=DistributedCache:DefaultCacheService, member=1): An entry was inserted into the backing map for the partitioned cache "grid-service-invocation" that is not owned by this member; the entry will be removed.
    ReadWriteBackingMap$InternalMapListener$1{ReadWriteBackingMap updated: key=Binary(length=31, value=0x15BD0F00004E13343139313934363537373034373337373332340141B30A40), old value=Binary(length=58, value=0x12053315BE0F0100BD0F00004E13343139313934363537373034373337373332340141B30A4001B90F000042BA7F0142972B4002644003154A00), new value=Binary(length=51, value=0x15BE0F0100BD0F00004E13343139313934363537373034373337373332340141B30A4001B90F000042BA7F0142972B40026440)}
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$Storage.doBackingMapEvent(PartitionedCache.CDB:74)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$Storage$DeferredEvent.run(PartitionedCache.CDB:37)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.PartitionedService$PartitionControl.unlock(PartitionedService.CDB:17)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.PartitionedService.onTransferRequestCompleted(PartitionedService.CDB:144)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.PartitionedService$TransferRequest$Poll.onCompletion(PartitionedService.CDB:6)
    at com.tangosol.coherence.component.net.Poll.close(Poll.CDB:13)
    at com.tangosol.coherence.component.net.Poll.onResponded(Poll.CDB:32)
    at com.tangosol.coherence.component.net.Poll.onResponse(Poll.CDB:3)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.PartitionedService$TransferRequest$Poll.onResponse(PartitionedService.CDB:5)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onMessage(Grid.CDB:26)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onNotify(Grid.CDB:33)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.PartitionedService.onNotify(PartitionedService.CDB:3)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache.onNotify(PartitionedCache.CDB:3)
    at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
    at java.lang.Thread.run(Thread.java:619)From the resulting thread dump I can see the following stack trace (note that there were a number of getAll() requests being made over tcp-extends at this time):
    Thread[Proxy:ExtendTcpProxyService:TcpAcceptorWorker:18,5,Proxy:ExtendTcpProxyService:TcpAcceptor]
    java.lang.Object.wait(Native Method)
    java.lang.Object.wait(Object.java:485)
    com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.waitPolls(Grid.CDB:18)
    com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$BinaryMap.waitPolls(PartitionedCache.CDB:1)
    com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$BinaryMap.sendPartitionedRequest(PartitionedCache.CDB:69)
    com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$BinaryMap.getAll(PartitionedCache.CDB:12)
    com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$BinaryMap.getAll(PartitionedCache.CDB:16)
    com.tangosol.util.ConverterCollections$ConverterCacheMap.getAll(ConverterCollections.java:2477)
    com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$ViewMap.getAll(PartitionedCache.CDB:5)
    com.tangosol.coherence.component.util.SafeNamedCache.getAll(SafeNamedCache.CDB:1)
    com.tangosol.coherence.component.net.extend.proxy.NamedCacheProxy.getAll(NamedCacheProxy.CDB:1)
    com.tangosol.coherence.component.net.extend.messageFactory.NamedCacheFactory$GetAllRequest.onRun(NamedCacheFactory.CDB:6)
    com.tangosol.coherence.component.net.extend.message.Request.run(Request.CDB:4)
    com.tangosol.coherence.component.net.extend.proxy.NamedCacheProxy.onMessage(NamedCacheProxy.CDB:11)
    com.tangosol.coherence.component.net.extend.Channel.execute(Channel.CDB:39)
    com.tangosol.coherence.component.net.extend.Channel.receive(Channel.CDB:26)
    com.tangosol.coherence.component.util.daemon.queueProcessor.service.Peer$DaemonPool$WrapperTask.run(Peer.CDB:9)
    com.tangosol.coherence.component.util.DaemonPool$WrapperTask.run(DaemonPool.CDB:32)
    com.tangosol.coherence.component.util.DaemonPool$Daemon.onNotify(DaemonPool.CDB:63)
    com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
    java.lang.Thread.run(Thread.java:619)

    Hi,
    The reason for the error message:
    The backing map for a partitioned cache may only contain keys that are owned by that member. Cache requests are routed to the service member owning the requested keys, ensuring that service members will only process requests for keys which they own. This message indicates that the backing map for a cache detected an insertion for a key which is not owned by the member. This is most likely caused by a direct use of the backing-map as opposed to the exposed cache APIs in user code running on the cache server.
    Check the link for more details:
    http://coherence.oracle.com/display/COH35UG/Partitioned+Cache+Service+Log+Messages
    Hope this helps!
    Cheers,
    NJ

  • Stack traces mysteriously disappear from Exceptions

    I'm using Sun Java System Application Server Platform Edition 8.0.0_01 on Solaris 8 on a Sun-Fire machine. The problem is that some exceptions thrown in session beans make it to the presentation tier without their stack traces.
    Here is a session bean method:
    * @ejb.interface-method
    public void generateException() throws SbankInternalException
    try { System.exit(0); }
    catch (Exception e) {
    throw new SbankInternalException("Unexpected exception", e);
    SbankInternalException is a simple wrapper on Exception:
    public class SbankInternalException
    extends Exception
    public SbankInternalException() {}
    public SbankInternalException(String message)
    super(message);
    public SbankInternalException(String message, Throwable cause)
    super(message, cause);
    public SbankInternalException(Throwable cause)
    super(cause);
    Here is the code that triggers the problem:
    <h3>Exception testing:</h3>
    <%
    try {
    maintenanceServices.generateException();
    } catch (Exception E) {
    Throwable e = (Throwable) E;
    %>
    <h3>Caught exception <%=E%></h3>
    <pre>
    <%
    do {
    %>CLASS: <%=e.getClass().getName()%>
    MESSAGE: <%=e.getMessage()%><br><%
    StackTraceElement se[] = e.getStackTrace();
    if (se.length == 0) {
    %> EMPTY STACK TRACE<br><br><%
    } else {
    for (int i = 0; i < se.length; i++) {
    %> <%=se.toString()%><br><%
    %> <br><br><%
    e = e.getCause();
    } while (e != null);
    %>
    </pre>
    And here is what I get:
    <h3>Exception testing:</h3>
         <h3>Caught exception sbank.services.SbankInternalException: Unexpected exception</h3>
         <pre>
    CLASS: sbank.services.SbankInternalException
    MESSAGE: Unexpected exception<br>
    EMPTY STACK TRACE<br><br>
    CLASS: java.security.AccessControlException
    MESSAGE: access denied (java.lang.RuntimePermission exitVM)<br>
    EMPTY STACK TRACE<br><br>
         </pre>
    Server log does not contain any message about that.
    This only seems to be the problem for exceptions declared in bean interface. When a RuntimeException is thrown in the bean, then it is properly logged to the server log (with strack trace), and I catch a nice RemoteException in the presentation layer, as expected (also with stack trace, though the top frame is somewhere in the demarshalling code of application server guts, so it's not very useful).
    Is it my error, or a bug?
    regards
    Marcin

    I'm not complaining that the exceptions declared to be thrown from session bean interface are not logged. AFAIR that is OK with the EJB spec.
    I'm complaining that the stack traces are stripped from the exception on its way from the session bean to the client (presentation layer in this case).
    I know that I could log the error in the session bean, that is just a workaround. I still would like to know why my exceptions are being broken? After all the whole point of exceptions is that they can be generated in one place, and investigated/displayed in another.
    The only explanation I can think of that there is some silly optimization, that omits stack frames when serializing the exceptions, so that they propagate faster. If it is so, can I disable that?
    Marcin

  • Unknown source in stack trace

    I've deployed my app onto iWS 6.0, when an Exception is thrown, the stack trace is displayed but it doesnt supply the line numbers where the exception occurred. Instead it says Unknown Source. how can I fix this, or get round this problem?

    Check if your IDE is adding -g:none to the javac command line. If so, tell it to stop.

  • Make java run without printing the stack trace

    I have a GUI program which appears to work for all test cases. Basically what it does is prints out data from a linked list allowing the user to traverse the list with Next and Previous buttons which call a list iterator next/previous method call, and then display the current item in the list. The original problem arose when dealing with alternating calls to next and previous, which since list iterator does not have a current pointer, returned the same element ad infinitum. I modified the method to check for alternating button presses, and it seems to work, except for cases where there are two elements in the list. In this case it still works, printing the correct element, but it also prints to the command line an Exception in Thread AWT...NoSuchElementException. My question is, is there any way to tell the program to not print out this stack trace and just keep running quietly through the Exception?

    I'm not an expert at error handling, but wouldn't it work to put the code that throws the exception in a try/catch block?
    like
    try {
        //code that causes exception
    } catch (NoSuchElementException e) {
        //do nothing
    }Might not work, but it's worth a try...

  • Can't see full stack trace in oc4j

    Hello.
    All my stack traces in oc4j are truncated. (local in JDeveloper and in Oracle iAS) Most time my problem is not in the first two exceptions. How can I configure oc4j logging local and at iAS to show the full stack trace. Especially in JSF applications the first two exceptions are mostly not the real reason.
    With best regards
    C. Schmülling

    One way is to play a song's preview and note the information displayed in the iTunes progress bar.

  • Can anyone help how to print stack trace messages using log4j?

    Can anyone help how to print stack trace messages using log4j?

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
    <log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
    <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
    <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern" value="%d %-5p %m%n"/>
    </layout>
    </appender>
    <appender name="DEBUG" class="org.apache.log4j.RollingFileAppender">
    <param name="File" value="/usr/local/dice/d2jbin/cmdToNetJobs/app-debug.log"/>
    <param name="Append" value="true"/>
    <param name="MaxFileSize" value="1000KB"/>
    <param name="MaxBackupIndex" value="5"/>
    <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern" value="%d %-5p %m%n"/>
    </layout>
    <filter class="org.apache.log4j.varia.LevelRangeFilter">
    <param name="LevelMin" value="DEBUG" />
    <param name="LevelMax" value="DEBUG" />
    </filter>
    </appender>
    <appender name="INFO" class="org.apache.log4j.RollingFileAppender">
    <param name="File" value="/usr/local/dice/d2jbin/cmdToNetJobs/app-info.log"/>
    <param name="Append" value="true"/>
    <param name="MaxFileSize" value="1000KB"/>
    <param name="MaxBackupIndex" value="5"/>
    <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern" value="%d %-5p %m%n"/>
    </layout>
    <filter class="org.apache.log4j.varia.LevelRangeFilter">
    <param name="LevelMin" value="INFO" />
    <param name="LevelMax" value="INFO" />
    </filter>
    </appender>
    <appender name="WARN" class="org.apache.log4j.RollingFileAppender">
    <param name="File" value="/usr/local/dice/d2jbin/cmdToNetJobs/app-warn.log"/>
    <param name="Append" value="true"/>
    <param name="MaxFileSize" value="1000KB"/>
    <param name="MaxBackupIndex" value="5"/>
    <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern" value="%d %-5p %m%n"/>
    </layout>
    <filter class="org.apache.log4j.varia.LevelRangeFilter">
    <param name="LevelMin" value="WARN" />
    <param name="LevelMax" value="WARN" />
    </filter>
    </appender>
    <appender name="ERROR" class="org.apache.log4j.RollingFileAppender">
    <param name="File" value="/usr/local/dice/d2jbin/cmdToNetJobs/app-error.log"/>
    <param name="Append" value="true"/>
    <param name="MaxFileSize" value="1000KB"/>
    <param name="MaxBackupIndex" value="5"/>
    <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern" value="%d %-5p %m%n"/>
    </layout>
    <filter class="org.apache.log4j.varia.LevelRangeFilter">
    <param name="LevelMin" value="ERROR" />
    <param name="LevelMax" value="ERROR" />
    </filter>
    </appender>
    <root>
    <priority value="debug"/>
    <!--<appender-ref ref="STDOUT"/>
    --><appender-ref ref="DEBUG"/>
    <appender-ref ref="INFO"/>
    <appender-ref ref="WARN"/>
    <appender-ref ref="ERROR"/>
    </root>
    </log4j:configuration>
    I ve written like this
    and to print stack trace I used
    log.error(Throwable(e))
    but does nt display printstacktrace how to do it

  • JDialog subclass for optionally showing stack trace from exceptions?

    hi,
    does anyone know of some code/jar that includes a widgit that displays an error message, and has a button for toggling an exception stack trace on or off?
    this would be like the segmentation fault dialog on windows except instead of the grungy register contents you'd get the grungy stack trace..
    just trying to avoid having write one myself.. :)
    thanks,
    asjf

    this sounds like one:
    http://www.yworks.com/products/yDoc/showcase/batik-1.5/org/apache/batik/util/gui/JErrorPane.html

  • How reliable is stack trace?

    Hi there,
    I am debugging a core on solaris 10. the shared libraries are compiled and linked without -g0 and majority of the symbols are removed using a linker map. Now when I loaded dbx and do a "where", the stack trace only shows
    [1] 0xfcb01510(0x0, 0xfebe09d8, 0xfe30b500, 0x433a70, 0x23c428, 0x1), at 0xfcb01510
    [2] 0xfcb014a8(0x3937450, 0x0, 0x0, 0x18e7, 0xfccbc4a8, 0x185004a4), at 0xfcb014a8
    [3] 0xfdd7b1a4(0x433a70, 0x3ec720, 0xfe30b500, 0x433a70, 0xfe31f1e8, 0xfdd7adc4), at 0xfdd7b1a4
    [4] 0xfdd66890(0x433a70, 0x3ec720, 0x8, 0xff1436f8, 0xfc06edb4, 0x23c428), at 0xfdd66890
    [5] 0xfc1375fc(0x3ec708, 0x3, 0x3ec720, 0xfc3fddd8, 0x837568, 0x2c0468), at 0xfc1375fc
    [6] 0xfc12f3c0(0x3ec708, 0x3ec860, 0x3ec860, 0x5df89a8, 0x0, 0xa770408), at 0xfc12f3c0
    [7] 0xfc1d9cfc(0x3ec714, 0x3ec860, 0x8c, 0xb8, 0xfc40002c, 0xfc174638), at 0xfc1d9cfc
    [8] 0xfc1d8680(0x0, 0x17, 0x3ec860, 0x2c0558, 0x5, 0x3ec714), at 0xfc1d8680
    [9] 0xfc1d8998(0x3ec8a8, 0x17, 0x3ec860, 0x2c0558, 0x3, 0x5), at 0xfc1d8998
    [10] 0xfc1339c4(0x3ec708, 0x17, 0x3ec860, 0xff141b0c, 0x5, 0x2c0020), at 0xfc1339c4
    [11] 0xfc1341bc(0x3ec708, 0x17, 0x3ec860, 0xa770408, 0xffffff, 0xfc3fd610), at 0xfc1341bc
    [12] 0xfc133878(0x3ec708, 0x12, 0x3ec860, 0xfc3f5c60, 0x0, 0xfea56158), at 0xfc133878
    [13] 0xfc134b08(0xfa87bd9c, 0xfffad938, 0x0, 0x3ec708, 0xfc40017c, 0xfc3f5c60), at 0xfc134b08
    [14] 0xfea7b168(0x23c428, 0x2692c0, 0x23c4c8, 0x3ec998, 0xfeb9bc61, 0xfea56158), at 0xfea7b168
    [15] 0xfea80c30(0x2692c0, 0x2692c0, 0xfefecbc0, 0xfd6e2800, 0x4eaa0, 0x0), at 0xfea80c30
    [16] os_thread::runThreadFunction(0x21d550, 0xfa87c000, 0x0, 0x0, 0xff141b0c, 0x1), at 0xff11309c
    I am not surprised because .so does not have too many symbols to begin with. I used the manual technique to map each frame to a shared library:
    1. take address of the function in each frame,
    2. compare against base address of a shared library from output of "proc -map" (it shows where each so is loaded into the process).
    3. see 1. falls into the range of which library displayed in 2.
    4. substract base address from 1. (used for later)
    After that, I went ahead to locate function, what I did was pull the exact source code and compile them without applying the linker map (still without -g0). I hope this newly compiled so is the same as the production ones in terms of function offsets:
    1. nm the_faulty_so_recompiled.so
    2. sorted functions in nm output by its offset,
    3. compare 4. in previous step against these offsets.
    but I find the result is sometimes not reliable because there is no way some of the function is called by previous frame, it is just impossible if you look at the source code.
    Can someone tell me if I am doing something terribly wrong here?
    BTW, parameters for each functions show in the "where" stack frames are not the same as I expected, occasionally there is something like 0x1 or 0x17, what are those?
    Thanks.

    but the core is not reproducible, -g0 version is not particularly helpful in that case. What I am hoping is the following:
    1. the release version is compiled without -g0 and with a linker map to eliminate 99% of symbols.
    2. recompiled version is with exact same source code and without -g0 and without linker map.
    same compiler and everything else. I would expect the function offset is the same in those 2 cases. correct? If not, what have I done wrong?
    I am ok with just knowing which function is at fault so without -g0 is ok for me. But why I am seeing stack trace still does not make sense? What is wrong with my calculation of function offset?
    Is there some kind of remapping the loaded address of library going on here so I have to manually calculate some offset to get the real function offset?
    Thanks.

Maybe you are looking for

  • I can't get SDL 1.2 to run in Xcode 5

    Up until recently, I've been using an eight year old iMac running OS X 10.6, but I just bought a brand new six core Mac Pro with OS X 10.10, and I've been trying to get my old SDL 1.2 programs to run. I installed Xcode 5 on my new computer (I had rea

  • How to detect mouse movement/key press on Mac?

    Need to write a VI that will detect/report mouse movement (ie. returns it's location) and any key (or key combinations) pressed. And, to send the mouse pointer to any location on screen. Using Labview 6i on Mac.

  • Best codec for slide show?

    I'm making some slide shows in Motion 3 w/ the CoreMelt Image Flow plugins. The slide show also has a moving background and sporadic live type fonts. These slide shows will be presented on a 46" HDTV. What is the best codec to use to maintain quality

  • IPhoto 11 and mobileme

    I'd like to know if you modify (add faces, change order, delete, edit) photos on an album which syncs with mobileme gallery will it auto syncs the changes to the mobileme gallery also? As far as I can see when I changed the content of an album that i

  • After updating Firefox 10, why do I need to reboot?

    Updated Firefox to version 10 in Windows XP and after installation it asks me to reboot my computer. How come a browser asks for a full system reboot? Makes no sense!