Jira (PDB-3459) PQL Query with large fact-value match causes stack overflow

3 views
Skip to first unread message

Jonathan Newman (JIRA)

unread,
Apr 13, 2017, 10:36:04 AM4/13/17
to puppe...@googlegroups.com
Jonathan Newman created an issue
 
PuppetDB / Bug PDB-3459
PQL Query with large fact-value match causes stack overflow
Issue Type: Bug Bug
Assignee: Unassigned
Created: 2017/04/13 7:35 AM
Priority: Normal Normal
Reporter: Jonathan Newman

If the following pql query is made against PDB, a stack overflow is generated:

inventory[certname] { facts.os.name = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum facilisis dolor ut est egestas elementum. In bibendum, turpis et lacinia rhoncus, nunc arcu congue lacus, sit amet consequat quam urna sit amet tortor. Proin sed velit scelerisque tortor sagittis imperdiet. Vestibulum volutpat sem sed lectus tempor porttitor nec in nisi. Integer nisi dui, laoreet sit amet egestas sed, laoreet ut nunc. Donec vitae ligula ac purus consectetur aliquam. Quisque quis urna in felis lobortis imperdiet quis ut ligula. Quisque quis euismod felis. Nulla quis lorem non turpis interdum ultricies eu feugiat nunc. Morbi quis efficitur est. Phasellus dapibus pharetra augue. Suspendisse eu interdum ante. Duis rhoncus pulvinar libero, in mattis felis aliquam eget. Suspendisse sodales auctor ultricies. Ut pulvinar non nulla vitae faucibus. Sed rutrum et nulla et iaculis. Nunc pretium tincidunt ex eget commodo. Cras pellentesque accumsan odio, placerat semper nunc fermentum non. Maecenas ut massa ut lorem placerat aliquet egestas id lacus. Fusce placerat fringilla nulla. Ut arcu magna, semper at rhoncus ac, dapibus sed tortor. Pellentesque suscipit lorem ligula, eget fringilla sem egestas vel. Quisque ut eros volutpat, vulputate dolor vel, lacinia eros. Proin vestibulum gravida dolor sed aliquam. Aliquam in nibh eget massa tempus volutpat. Donec faucibus felis ante, eget vulputate nibh pulvinar eget. Ut posuere ex id ante sodales, quis sodales orci volutpat. Pellentesque euismod dapibus ipsum. Proin aliquam, diam vel rhoncus feugiat, velit lectus ullamcorper nulla, ut scelerisque augue odio at lectus. Pellentesque ac gravida diam. Maecenas nec urna diam. Vivamus et mi rutrum, hendrerit sem at, consectetur dolor. Fusce sit amet suscipit tortor. Integer vitae tristique ipsum, in interdum justo. Etiam placerat augue at ipsum euismod, nec aliquam nisi tincidunt. Pellentesque finibus semper orci, et tempus massa cursus vel. Cras et elit laoreet, aliquet libero et, luctus mauris. Suspendisse et vehicula mauris. Etiam at orci a neque consectetur tincidunt. Vestibulum imperdiet in justo non imperdiet. Maecenas eu mauris vitae quam suscipit dictum. Vestibulum in ullamcorper nibh, id suscipit sem. Sed gravida in neque nec congue. Curabitur dictum aliquet lacus non aliquam. Duis vitae metus felis. Phasellus enim leo, consequat nec diam et, semper lacinia metus. Fusce rutrum bibendum sodales. Quisque eros risus, placerat quis diam in, venenatis auctor dui. Etiam ut rhoncus purus. In laoreet ligula eu erat tincidunt, ut commodo nunc vestibulum. Vivamus eget volutpat nisi." }

This results in a jetty captured HTML 500 error:

<html>↵<head>↵<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/>↵<title>Error 500 </title>↵</head>↵<body>↵<h2>HTTP ERROR: 500</h2>↵<p>Problem accessing /pdb/query/v4. Reason:↵<pre>    java.lang.StackOverflowError</pre></p>↵<hr /><i><small>Powered by Jetty://</small></i>↵</body>↵</html

2017-04-13 14:28:30,927 WARN  [o.e.j.s.HttpChannel] /pdb/query/v4
java.lang.StackOverflowError: null
        at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
        at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
        at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
        at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
        at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
        at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
        at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
        at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
        at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
        at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
        at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
        at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
        at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
        at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
        at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
        at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
        at java.util.regex.Pattern$BranchConn.match(Pattern.java:4568)
        at java.util.regex.Pattern$CharProperty.match(Pattern.java:3777)
        at java.util.regex.Pattern$Branch.match(Pattern.java:4604)
        at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)
...

Add Comment Add Comment
 
This message was sent by Atlassian JIRA (v6.4.14#64029-sha1:ae256fe)
Atlassian logo

Robert Roland (JIRA)

unread,
Apr 22, 2019, 4:33:04 PM4/22/19
to puppe...@googlegroups.com
Robert Roland updated an issue
Change By: Robert Roland
Labels: query-engine-improvements
This message was sent by Atlassian JIRA (v7.7.1#77002-sha1:e75ca93)
Atlassian logo

Margaret Lee (Jira)

unread,
Apr 29, 2021, 6:31:06 PM4/29/21
to puppe...@googlegroups.com
Margaret Lee updated an issue
Change By: Margaret Lee
Epic Link: PE-31891
This message was sent by Atlassian Jira (v8.13.2#813002-sha1:c495a97)
Atlassian logo
Reply all
Reply to author
Forward
0 new messages