After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 595612 - libxslt 1.1.25 cause infinite loop in doc parsing on KDE 4.x meinproc4
libxslt 1.1.25 cause infinite loop in doc parsing on KDE 4.x meinproc4
Status: RESOLVED FIXED
Product: libxslt
Classification: Platform
Component: general
unspecified
Other Linux
: Normal blocker
: ---
Assigned To: Daniel Veillard
libxml QA maintainers
Depends on:
Blocks:
 
 
Reported: 2009-09-18 17:36 UTC by Helio Chissini de Castro
Modified: 2009-09-21 15:11 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Full gdb symbol output (4.37 KB, text/plain)
2009-09-18 17:55 UTC, Helio Chissini de Castro
Details
Real full backtrace (25.12 KB, text/plain)
2009-09-18 18:00 UTC, Helio Chissini de Castro
Details

Description Helio Chissini de Castro 2009-09-18 17:36:23 UTC
KDE 4.x uses a utility called meinproc4 to process all documentation based on xsl templates. Current release make the processing enter in infinite loop, stopping compilation as well.
Works fine with 1.1.24 and lower versions.

Current backtrace:

(gdb) bt
  • #0 __kernel_vsyscall
  • #1 __lll_lock_wait
    from /lib/i686/libpthread.so.0
  • #2 _L_lock_657
    from /lib/i686/libpthread.so.0
  • #3 pthread_mutex_lock
    from /lib/i686/libpthread.so.0
  • #4 pthread_mutex_lock
    from /lib/i686/libc.so.6
  • #5 xmlMutexLock
    from /usr/lib/libxml2.so.2
  • #6 ??
    from /usr/lib/libxslt.so.1
  • #7 xsltExtModuleElementLookup
    from /usr/lib/libxslt.so.1
  • #8 xsltExtElementLookup
    from /usr/lib/libxslt.so.1
  • #9 xsltElementAvailableFunction
    from /usr/lib/libxslt.so.1
  • #10 ??
    from /usr/lib/libxml2.so.2
  • #11 ??
    from /usr/lib/libxml2.so.2
  • #12 ??
    from /usr/lib/libxml2.so.2
  • #7 xsltExtModuleElementLookup
    from /usr/lib/libxslt.so.1
68                  }
69              } else if ( !xmlStrcmp( cur->name, (const xmlChar *) "entry") )
70                  parseEntry( list, cur, base );
71
72              cur = cur->next;
73          }
74
75      }
76
77      int main(int argc, char **argv) {
Comment 1 Helio Chissini de Castro 2009-09-18 17:55:18 UTC
Created attachment 143463 [details]
Full gdb symbol output
Comment 2 Helio Chissini de Castro 2009-09-18 18:00:56 UTC
Created attachment 143464 [details]
Real full backtrace
Comment 4 Daniel Veillard 2009-09-20 09:55:14 UTC
Teuf, can you retry with current libxslt git head, especially
with the following patch included:

http://git.gnome.org/cgit/libxslt/patch/?id=2e8defa7ccef2f76fb1cbfe9e9673d8e4b6cf1d6

  thanks !

Daniel
Comment 5 Christophe Fergeau 2009-09-20 11:16:14 UTC
Re-tried my test case (build kdelibs4) with libxstl 1.1.25 + this patch and the build goes to the end (ie no deadlock with meinproc4) so this patch works for me.
Comment 6 Daniel Veillard 2009-09-21 15:11:38 UTC
Okay, FIXED then !

  thanks !

Daniel