You have done everything right as far as trying to track things down so far.

I presume that libdbxml-2.5.so is the only libdbxml on the box and is
the right version otherwise you would have noted that already.
Similarly that libxqilla.so.5 is the correct version. The only
interesting bit of online documentation I could find about the two
was:

  http://download.oracle.com/docs/cd/E17276_01/html/ref_xml/xml_unix/shlib.html

which does warn about ensuring not to mix wrong versions.

Besides double checking that, not sure what else to suggest right now.

It doesn't look like it could be permissions issues as you say an
update works, just not an insert.

BTW, are you using mod_wsgi in embedded mode or daemon mode?

Graham

On 15 June 2011 17:15, Julen Ruiz Aizpuru <[email protected]> wrote:
> Hi,
>
> The web application I'm developing is using Oracle's DB-XML as a backend
> storage and I'm running into an issue on the production environment.
>
> All seems to work perfectly, at least when the DB queries are read-only;
> when I attempt a fresh write operation (ie, not an update of existing data
> but an insert), the mod_wsgi process crashes with a segmentation fault
> though.
>
>
> Apache's error log is reporting a "Premature end of script headers" error.
>
>
> Since XML is involved, I've tried all the stuff that's described in the
> "Issues with Expat library" wiki page[1], but Expat doesn't seem to be the
> source of the problem.
>
> DB-XML needs a C extension, thus I'm setting
>    WSGIApplicationGroup %{GLOBAL}
> in my virtualhost configuration as described on the wiki's "Python
> Simplified GIL State API" page[2].
>
>
> The issue seems to be similar to a problem explained on this mailing list
> almost four years ago[3].
>
> So I tried setting Apache's LogLevel directive to "Info" and attaching to
> the wsgi process using dbg. Just for debugging purposes I'm setting
>    WSGIDaemonProcess myapp threads=1
> in my virtualhost configuration file.
>
> The result and the traceback follows:
>
> (gdb) cont
> Continuing.
>
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 0xb40c5b70 (LWP 26303)]
> 0xb33b4773 in DbXml::NsDomElement::NsDomElement(DbXml::NsNode*,
> DbXml::NsDoc*)
>    () from /usr/local/lib/libdbxml-2.5.so
>
> (gdb) bt
> #0  0xb33b4773 in DbXml::NsDomElement::NsDomElement(DbXml::NsNode*,
> DbXml::NsDoc*) () from /usr/local/lib/libdbxml-2.5.so
> #1  0xb33b5148 in DbXml::NsDomElement::getElemNext() ()
>   from /usr/local/lib/libdbxml-2.5.so
> #2  0xb3390f06 in DbXml::ElementDescendantAxis::nextNode(DynamicContext*) ()
>   from /usr/local/lib/libdbxml-2.5.so
> #3  0xb338ee3b in DbXml::DbXmlAxis::next(DynamicContext*) ()
>   from /usr/local/lib/libdbxml-2.5.so
> #4  0xb3455a31 in DbXml::StepIterator::next(DynamicContext*) ()
>   from /usr/local/lib/libdbxml-2.5.so
> #5  0xb343d124 in DbXml::QueryPlanToASTResult::next(DynamicContext*) ()
>   from /usr/local/lib/libdbxml-2.5.so
> #6  0xb3120384 in
> SequenceType::OccurrenceMatchesResult::next(DynamicContext*)
>    () from /usr/local/lib/libxqilla.so.5
> #7  0xb31358dc in UInsertAsFirst::createUpdateList(DynamicContext*) const ()
>   from /usr/local/lib/libxqilla.so.5
> #8  0xb313046f in ApplyUpdatesResult::nextOrTail(Result&, DynamicContext*)
> ()
>   from /usr/local/lib/libxqilla.so.5
> #9  0xb312a959 in ResultImpl::next(DynamicContext*) ()
>   from /usr/local/lib/libxqilla.so.5
> #10 0xb34bd7f3 in DbXml::LazyDIResults::hasNext() ()
>   from /usr/local/lib/libdbxml-2.5.so
> #11 0xb34eada2 in DbXml::XmlResults::hasNext() ()
> #12 0xb34c6371 in DbXml::QueryExpression::execute(DbXml::Transaction*,
> DbXml::Value*, DbXml::XmlQueryContext&, unsigned int) ()
>   from /usr/local/lib/libdbxml-2.5.so
> #13 0xb34e9570 in DbXml::XmlQueryExpression::execute(DbXml::XmlTransaction&,
> DbXml::XmlQueryContext&, unsigned int) const ()
>   from /usr/local/lib/libdbxml-2.5.so
> #14 0xb34e4bda in DbXml::XmlManager::query(DbXml::XmlTransaction&,
> std::basic_string<char, std::char_traits<char>, std::allocator<char> >
> const&, DbXml::XmlQueryContext&, unsigned int) () from
> /usr/local/lib/libdbxml-2.5.so
> #15 0xb35a3568 in XmlManager_query__SWIG_3 (self=0x0, args=0xb991961c)
>    at dbxml_python_wrap.cpp:4083
> #16 _wrap_XmlManager_query__SWIG_3 (self=0x0, args=0xb991961c)
>    at dbxml_python_wrap.cpp:13061
> #17 _wrap_XmlManager_query (self=0x0, args=0xb991961c)
>    at dbxml_python_wrap.cpp:13129
> #18 0xb73ba6f2 in PyCFunction_Call () from /usr/lib/libpython2.6.so.1.0
> #19 0xb741acf9 in PyEval_EvalFrameEx () from /usr/lib/libpython2.6.so.1.0
> #20 0xb741c60d in PyEval_EvalCodeEx () from /usr/lib/libpython2.6.so.1.0
> #21 0xb741ab1d in PyEval_EvalFrameEx () from /usr/lib/libpython2.6.so.1.0
> #22 0xb741c60d in PyEval_EvalCodeEx () from /usr/lib/libpython2.6.so.1.0
> #23 0xb741ab1d in PyEval_EvalFrameEx () from /usr/lib/libpython2.6.so.1.0
> #24 0xb741c60d in PyEval_EvalCodeEx () from /usr/lib/libpython2.6.so.1.0
> #25 0xb741ab1d in PyEval_EvalFrameEx () from /usr/lib/libpython2.6.so.1.0
> #26 0xb741af2a in PyEval_EvalFrameEx () from /usr/lib/libpython2.6.so.1.0
> #27 0xb741c60d in PyEval_EvalCodeEx () from /usr/lib/libpython2.6.so.1.0
> #28 0xb73a49a7 in ?? () from /usr/lib/libpython2.6.so.1.0
> #29 0xb7375c3c in PyObject_Call () from /usr/lib/libpython2.6.so.1.0
> #30 0xb7419860 in PyEval_EvalFrameEx () from /usr/lib/libpython2.6.so.1.0
> #31 0xb741c60d in PyEval_EvalCodeEx () from /usr/lib/libpython2.6.so.1.0
> #32 0xb73a49a7 in ?? () from /usr/lib/libpython2.6.so.1.0
> #33 0xb7375c3c in PyObject_Call () from /usr/lib/libpython2.6.so.1.0
> #34 0xb7419860 in PyEval_EvalFrameEx () from /usr/lib/libpython2.6.so.1.0
> #35 0xb741c60d in PyEval_EvalCodeEx () from /usr/lib/libpython2.6.so.1.0
> #36 0xb741ab1d in PyEval_EvalFrameEx () from /usr/lib/libpython2.6.so.1.0
> #37 0xb741c60d in PyEval_EvalCodeEx () from /usr/lib/libpython2.6.so.1.0
> #38 0xb741ab1d in PyEval_EvalFrameEx () from /usr/lib/libpython2.6.so.1.0
> #39 0xb741c60d in PyEval_EvalCodeEx () from /usr/lib/libpython2.6.so.1.0
> #40 0xb73a48b7 in ?? () from /usr/lib/libpython2.6.so.1.0
> #41 0xb7375c3c in PyObject_Call () from /usr/lib/libpython2.6.so.1.0
> #42 0xb7387b99 in ?? () from /usr/lib/libpython2.6.so.1.0
> #43 0xb7375c3c in PyObject_Call () from /usr/lib/libpython2.6.so.1.0
> #44 0xb73dda5d in ?? () from /usr/lib/libpython2.6.so.1.0
> #45 0xb7375c3c in PyObject_Call () from /usr/lib/libpython2.6.so.1.0
> #46 0xb7415574 in PyEval_CallObjectWithKeywords ()
> #47 0xb75b1f21 in ?? () from /usr/lib/apache2/modules/mod_wsgi.so
> #48 0xb75b8395 in ?? () from /usr/lib/apache2/modules/mod_wsgi.so
> #49 0xb75b911f in ?? () from /usr/lib/apache2/modules/mod_wsgi.so
> #50 0xb781c955 in ?? () from /usr/lib/libapr-1.so.0
> #51 0xb77df7b0 in start_thread () from /lib/libpthread.so.0
> #52 0xb77608fe in clone () from /lib/libc.so.6
>
>
> My environment is running the following:
> - Debian GNU/Linux 6.0 stable
> - Distribution-specific packages for:
>  + Apache 2.2.16
>  + mod_wsgi 3.3
>  + Python 2.6.6
> - Self-compiled:
>  + DB-XML 2.5.16
>
> mod_wsgi is running in daemon mode and no mod_python or mod_php is present
> in the system.
>
> I'm quite stuck with this so any help or hints would be highly appreciated.
>
>
> [1] https://code.google.com/p/modwsgi/wiki/IssuesWithExpatLibrary
> [2]
> https://code.google.com/p/modwsgi/wiki/ApplicationIssues#Python_Simplified_GIL_State_API
> [3]
> https://groups.google.com/group/modwsgi/browse_thread/thread/d23e18acc2117b9d/ac68b0e47e670ab7
>
> --
> You received this message because you are subscribed to the Google Groups
> "modwsgi" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/modwsgi?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"modwsgi" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/modwsgi?hl=en.

Reply via email to