Bug 1151680 - Error generating graphs using monitoring module
Summary: Error generating graphs using monitoring module
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Spacewalk
Classification: Community
Component: WebUI
Version: 2.2
Hardware: All
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Stephen Herr
QA Contact: Red Hat Satellite QA List
URL:
Whiteboard:
Depends On:
Blocks: space27
TreeView+ depends on / blocked
 
Reported: 2014-10-11 03:21 UTC by Waldirio M Pinheiro
Modified: 2017-09-28 18:08 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-10-17 12:45:28 UTC
Embargoed:


Attachments (Terms of Use)

Description Waldirio M Pinheiro 2014-10-11 03:21:47 UTC
Description of problem:
I've in my lab two machine with monitoring enable, everything works fine, but when I try to generate a graph, appear  image broked. When I try to open just a image, I can see a server internal error and in catalina.out I've the message bellow.

###
2014-10-10 16:33:59,685 [TP-Processor14] ERROR com.redhat.rhn.frontend.servlets.SessionFilter - Error during transaction. Rolling back
javax.servlet.ServletException: Servlet execution threw an exception
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:313)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.redhat.rhn.frontend.servlets.AuthFilter.doFilter(AuthFilter.java:127)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:129)
        at com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:77)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.redhat.rhn.frontend.servlets.LocalizedEnvironmentFilter.doFilter(LocalizedEnvironmentFilter.java:67)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.redhat.rhn.frontend.servlets.EnvironmentFilter.doFilter(EnvironmentFilter.java:100)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.redhat.rhn.frontend.servlets.SessionFilter.doFilter(SessionFilter.java:57)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.redhat.rhn.frontend.servlets.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:97)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
        at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
        at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:769)
        at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:698)
        at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
        at java.lang.Thread.run(Thread.java:701)
Caused by: java.lang.Error: Probable fatal error:No fonts found.
        at sun.font.FontManager.getDefaultPhysicalFont(FontManager.java:1090)
        at sun.font.FontManager.initialiseDeferredFont(FontManager.java:969)
        at sun.font.CompositeFont.doDeferredInitialisation(CompositeFont.java:254)
        at sun.font.CompositeFont.getSlotFont(CompositeFont.java:334)
        at sun.font.CompositeStrike.getStrikeForSlot(CompositeStrike.java:77)
        at sun.font.CompositeStrike.getFontMetrics(CompositeStrike.java:93)
        at sun.font.FontDesignMetrics.initMatrixAndMetrics(FontDesignMetrics.java:358)
        at sun.font.FontDesignMetrics.<init>(FontDesignMetrics.java:349)
        at sun.font.FontDesignMetrics.getMetrics(FontDesignMetrics.java:301)
        at sun.java2d.SunGraphics2D.getFontMetrics(SunGraphics2D.java:798)
        at org.jfree.text.TextFragment.calculateDimensions(TextFragment.java:229)
        at org.jfree.text.TextLine.calculateDimensions(TextLine.java:190)
        at org.jfree.text.TextBlock.calculateDimensions(TextBlock.java:171)
        at org.jfree.chart.block.LabelBlock.arrange(LabelBlock.java:249)
        at org.jfree.chart.block.BorderArrangement.arrangeNN(BorderArrangement.java:208)
        at org.jfree.chart.block.BorderArrangement.arrange(BorderArrangement.java:135)
        at org.jfree.chart.block.BlockContainer.arrange(BlockContainer.java:181)
        at org.jfree.chart.block.CenterArrangement.arrangeNN(CenterArrangement.java:284)
        at org.jfree.chart.block.CenterArrangement.arrange(CenterArrangement.java:98)
        at org.jfree.chart.block.BlockContainer.arrange(BlockContainer.java:181)
        at org.jfree.chart.block.FlowArrangement.arrangeNN(FlowArrangement.java:365)
        at org.jfree.chart.block.FlowArrangement.arrangeRR(FlowArrangement.java:283)
        at org.jfree.chart.block.FlowArrangement.arrange(FlowArrangement.java:158)
        at org.jfree.chart.block.BlockContainer.arrange(BlockContainer.java:181)
        at org.jfree.chart.title.LegendTitle.arrange(LegendTitle.java:486)
        at org.jfree.chart.JFreeChart.drawTitle(JFreeChart.java:1317)
        at org.jfree.chart.JFreeChart.draw(JFreeChart.java:1208)
        at org.jfree.chart.JFreeChart.createBufferedImage(JFreeChart.java:1396)
        at org.jfree.chart.JFreeChart.createBufferedImage(JFreeChart.java:1376)
        at org.jfree.chart.ChartUtilities.writeChartAsPNG(ChartUtilities.java:168)
        at org.jfree.chart.ChartUtilities.writeChartAsPNG(ChartUtilities.java:121)
        at com.redhat.rhn.frontend.action.systems.monitoring.ProbeGraphAction.writeChartToResponse(ProbeGraphAction.java:217)
        at com.redhat.rhn.frontend.action.systems.monitoring.ProbeGraphAction.writeGraph(ProbeGraphAction.java:127)
        at com.redhat.rhn.frontend.action.systems.monitoring.ProbeGraphAction.execute(ProbeGraphAction.java:90)
        at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425)
        at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228)
        at com.redhat.rhn.frontend.struts.RhnRequestProcessor.process(RhnRequestProcessor.java:102)
        at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
        at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        ... 33 more
###


How reproducible:
100%

Steps to Reproduce:
1. Enable monitoring module
2. Configure a new probe
3. Push scout config
4. Try to view graph

Actual results:
Error

Expected results:
See a image / graph

Additional info:
I'm using SW 2.2 uptodate.

The cvs file have all information correctly.

Comment 1 Waldirio M Pinheiro 2014-10-17 05:29:53 UTC
Hello Stephen Herr,

I'm looking for a solution for this case and looking deep in my log files, I can see as bellow

Java used in my env - /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java

And I found a conf. file where is defined fonts

/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/fontconfig.properties.src

at the end of this files, we can see:

########
# Font File Names

filename.DejaVu_LGC_Sans=/usr/share/fonts/dejavu-lgc/DejaVuLGCSans.ttf
filename.DejaVu_LGC_Sans_Bold=/usr/share/fonts/dejavu-lgc/DejaVuLGCSans-Bold.ttf
filename.DejaVu_LGC_Sans_Oblique=/usr/share/fonts/dejavu-lgc/DejaVuLGCSans-Oblique.ttf
filename.DejaVu_LGC_Sans_Bold_Oblique=/usr/share/fonts/dejavu-lgc/DejaVuLGCSans-BoldOblique.ttf

filename.DejaVu_LGC_Sans_Mono=/usr/share/fonts/dejavu-lgc/DejaVuLGCSansMono.ttf
filename.DejaVu_LGC_Sans_Mono_Bold=/usr/share/fonts/dejavu-lgc/DejaVuLGCSansMono-Bold.ttf
filename.DejaVu_LGC_Sans_Mono_Oblique=/usr/share/fonts/dejavu-lgc/DejaVuLGCSansMono-Oblique.ttf
filename.DejaVu_LGC_Sans_Mono_Bold_Oblique=/usr/share/fonts/dejavu-lgc/DejaVuLGCSansMono-BoldOblique.ttf

filename.DejaVu_LGC_Serif=/usr/share/fonts/dejavu-lgc/DejaVuLGCSerif.ttf
filename.DejaVu_LGC_Serif_Bold=/usr/share/fonts/dejavu-lgc/DejaVuLGCSerif-Bold.ttf
filename.DejaVu_LGC_Serif_Oblique=/usr/share/fonts/dejavu-lgc/DejaVuLGCSerif-Oblique.ttf
filename.DejaVu_LGC_Serif_Bold_Oblique=/usr/share/fonts/dejavu-lgc/DejaVuLGCSerif-BoldOblique.ttf

filename.Sazanami_Gothic=/usr/share/fonts/japanese/TrueType/sazanami-gothic.ttf
filename.Sazanami_Mincho=/usr/share/fonts/japanese/TrueType/sazanami-mincho.ttf
filename.AR_PL_ShanHeiSun_Uni=/usr/share/fonts/chinese/TrueType/uming.ttf
filename.AR_PL_ZenKai_Uni=/usr/share/fonts/chinese/TrueType/ukai.ttf
filename.Baekmuk_Gulim=/usr/share/fonts/korean/TrueType/gulim.ttf
filename.Baekmuk_Batang=/usr/share/fonts/korean/TrueType/batang.ttf
########

And I don't have these fonts installed in my system.

I found some fonts, although the path is different for any fonts (for example dejavu).


I ran this code to check the fonts in my env

####
[root@spacewalk lib]# for b in $(cat /tmp/xxx |grep -v ^$|cut -d"=" -f2); do ls -l $b; done
ls: cannot access /usr/share/fonts/dejavu-lgc/DejaVuLGCSans.ttf: No such file or directory
ls: cannot access /usr/share/fonts/dejavu-lgc/DejaVuLGCSans-Bold.ttf: No such file or directory
ls: cannot access /usr/share/fonts/dejavu-lgc/DejaVuLGCSans-Oblique.ttf: No such file or directory
ls: cannot access /usr/share/fonts/dejavu-lgc/DejaVuLGCSans-BoldOblique.ttf: No such file or directory
ls: cannot access /usr/share/fonts/dejavu-lgc/DejaVuLGCSansMono.ttf: No such file or directory
ls: cannot access /usr/share/fonts/dejavu-lgc/DejaVuLGCSansMono-Bold.ttf: No such file or directory
ls: cannot access /usr/share/fonts/dejavu-lgc/DejaVuLGCSansMono-Oblique.ttf: No such file or directory
ls: cannot access /usr/share/fonts/dejavu-lgc/DejaVuLGCSansMono-BoldOblique.ttf: No such file or directory
ls: cannot access /usr/share/fonts/dejavu-lgc/DejaVuLGCSerif.ttf: No such file or directory
ls: cannot access /usr/share/fonts/dejavu-lgc/DejaVuLGCSerif-Bold.ttf: No such file or directory
ls: cannot access /usr/share/fonts/dejavu-lgc/DejaVuLGCSerif-Oblique.ttf: No such file or directory
ls: cannot access /usr/share/fonts/dejavu-lgc/DejaVuLGCSerif-BoldOblique.ttf: No such file or directory
ls: cannot access /usr/share/fonts/japanese/TrueType/sazanami-gothic.ttf: No such file or directory
ls: cannot access /usr/share/fonts/japanese/TrueType/sazanami-mincho.ttf: No such file or directory
ls: cannot access /usr/share/fonts/chinese/TrueType/uming.ttf: No such file or directory
ls: cannot access /usr/share/fonts/chinese/TrueType/ukai.ttf: No such file or directory
ls: cannot access /usr/share/fonts/korean/TrueType/gulim.ttf: No such file or directory
ls: cannot access /usr/share/fonts/korean/TrueType/batang.ttf: No such file or directory
#####

I'm just installing the packs bellow to check.


dejavu-lgc-sans-fonts-2.30-2.el6.noarch
wesnoth-data-1.10.5-1.el6.noarch
baekmuk-ttf-batang-fonts-2.2-28.el6.noarch


Ps.: Working, I'll open another ticket to be added these packages as requirements of SW default installation.

Take Care
Waldirio

Comment 2 Waldirio M Pinheiro 2014-10-17 06:44:16 UTC
Hello Stephen

Was necessary to according bellow

cp /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/lib/fontconfig.properties.src /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/lib/fontconfig.properties

yum install -y dejavu-lgc-sans-fonts-2.30-2.el6.noarch
yum install -y wesnoth-data-1.10.5-1.el6.noarch
yum install -y baekmuk-ttf-batang-fonts-2.2-28.el6.noarch
yum install -y baekmuk-ttf-gulim-fonts-2.2-28.el6.noarch
yum install -y dejavu-lgc-serif-fonts-2.30-2.el6.noarch
yum install -y dejavu-lgc-sans-mono-fonts-2.30-2.el6.noarch

mkdir -p /usr/share/fonts/dejavu-lgc
mkdir -p /usr/share/fonts/korean/TrueType
mkdir -p /usr/share/fonts/korean/TrueType/

cp /usr/share/fonts/dejavu/* /usr/share/fonts/dejavu-lgc
cp /usr/share/fonts/baekmuk-ttf/batang.ttf /usr/share/fonts/korean/TrueType
cp /usr/share/fonts/baekmuk-ttf/gulim.ttf /usr/share/fonts/korean/TrueType/

Still missing some fonts (there isn't in epel repo) but now the graph are working.

Could you drive this ticket to be fixed pls.

Thank you
Waldirio

Comment 3 Stephen Herr 2014-10-17 12:45:28 UTC
I'm glad you got it working.

This is a valid bug, but unfortunately its not going to get fixed because Monitoring support is being dropped in the next version of Spacewalk. However it looks like you've done some excellent investigative work and have clear steps for how to fix, so hopefully others who are having this problem will be able to resolve their issue.

https://fedorahosted.org/spacewalk/wiki/ReleaseNotes22#SolarisandMonitoringSupport-DeprecationNotice

As such I am closing this bug as WONTFIX.

Comment 4 Eric Herget 2017-09-28 18:08:37 UTC
This BZ closed some time during 2.5, 2.6 or 2.7.  Adding to 2.7 tracking bug.


Note You need to log in before you can comment on or make changes to this bug.