Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1151680

Summary: Error generating graphs using monitoring module
Product: [Community] Spacewalk Reporter: Waldirio M Pinheiro <waldirio.pinheiro>
Component: WebUIAssignee: Stephen Herr <sherr>
Status: CLOSED WONTFIX QA Contact: Red Hat Satellite QA List <satqe-list>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 2.2   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-10-17 12:45:28 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1484117    

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.