Bug 453176 - Install Packages page causes Oracle XE crash
Install Packages page causes Oracle XE crash
Product: Spacewalk
Classification: Community
Component: WebUI (Show other bugs)
All Linux
urgent Severity urgent
: ---
: ---
Assigned To: Shannon Hughes
Red Hat Satellite QA List
: 452928 (view as bug list)
Depends On:
Blocks: space04
  Show dependency treegraph
Reported: 2008-06-27 14:05 EDT by Mike McCune
Modified: 2012-03-06 03:45 EST (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2008-08-01 06:46:39 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Mike McCune 2008-06-27 14:05:24 EDT
From Spacewalk list:

Subject: [Spacewalk-list] Internal Server Error
Date: Tue, 24 Jun 2008 15:52:14 +0200
From: Tobias Meier <tuxx@whiskeybar.net>
To: spacewalk-list@redhat.com

 I get an internal Server Error when i click on the 
Software->Packages->Install Button.
This only happens if the subscribed x86_64 channel includes 2 packages 
with the same name , but for different architectures (ia32 an x86_64).
The tomcat log says:

2008-06-24 17:47:17,776 [TP-Processor5] ERROR 
org.hibernate.transaction.JDBCTransaction - JDBC rollback failed
java.sql.SQLException: No more data to read from socket

The Host is an RHEL5.2 System with Oracle 10.2 xe.

This page actually causes Oracle XE to crash.  The only current workaround is to
upgrade the database to Oracle standard edition which is not Free.
Comment 1 Mike McCune 2008-06-27 14:09:16 EDT
You can reproduce it here on one of our internal systems:


Comment 2 Chase Putans 2008-06-27 14:27:35 EDT
Same error with Spacewalk hosted on CentOS / Oracle 10.2 XE.  From catalina.out:

[TP-Processor1] ERROR com.redhat.rhn.common.hibernate.ConnectionManager -
org.hibernate.TransactionException: Transaction not successfully started
[TP-Processor1] ERROR
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/rhn].[action] -
Servlet.service() for servlet action threw exception
java.sql.SQLException: No more data to read from socket

This happens with any subscribed machine.  
Comment 3 Jason Ganovsky 2008-06-30 10:59:40 EDT
*** Bug 452928 has been marked as a duplicate of this bug. ***
Comment 4 Jason Ganovsky 2008-06-30 11:01:01 EDT
I've done some additional testing, and it appears this happens somewhere past
500 packages.  I loaded all the base RHEL RPM's alphabetically and the error
occurred right after loading the "g"'s

This also occurs when the packages are split among multiple channels.

Has anyone found any work arounds for this yet?
Comment 5 Michael Mráka 2008-07-01 05:11:38 EDT
Probably XE internal bug, see https://www.redhat.com/archives/spacewalk-
Comment 6 Michael Mráka 2008-07-01 05:33:44 EDT
Found two similar bugs filled against Oracle RDBMS, maybe one of 
workarounds will fix the issue even for XE:

Bug 4350392 - Dump (qkexrInitOpn or evapls) with unnested subqueries using 
object methods

Subqueries involving object methods may dump in qkexrInitOpn or 
evapls when unnesting occurs.

  Use /*+ NO_UNNEST */ hint for the sub query.

This issue is fixed in (Server Patch Set), (Base Release)


Customer encounters ORA-00600 [evapls1] when executing select against specific 
values with a function call within a select. 

alter session set optimizer_mode=rule; 
alter session set "_optimizer_filter_pred_pullup"=false; 

This issue is fixed in (Server Patch Set), (Base Release)
Comment 7 Jason Ganovsky 2008-07-01 05:37:58 EDT
If this is the solution, where can Oracle XE be downloaded from?
Comment 8 Michael Mráka 2008-07-01 06:26:55 EDT
Bugs mentioned above are Oracle RDBMS - not XE - bugs.
XE doesn't exist.

As the core of both db engines share the same code I assume that workarounds 
for RDBMS *should* work for XE too. 

As a quick check try 
ORACLE_SID=XE sqlplus / as sysdba
SQL> alter system set _optimizer_cost_based_transformation=off scope=memory;

and likewise for the other workarounds (use alter system not only alter 
Comment 9 Chase Putans 2008-07-01 11:42:59 EDT
Did the following:

alter session set "_optimizer_filter_pred_pullup"=false;
alter system set "_optimizer_cost_based_transformation"=off scope=memory;

And the issue seems to be working again.  Can list upgradeable packages, and
installable packages for a channel that has ~2500 packages.
Comment 10 Sean 2008-07-01 17:28:11 EDT
(In reply to comment #9)
Worked here :D. You'll want to use scope=both or scope=spfile to make the change
Comment 11 Chase Putans 2008-07-02 23:41:42 EDT
Yeah, I realized my post was a bit vague.  The fix did correct the issues I was
Comment 12 Michael Mráka 2008-08-01 06:46:39 EDT
This error is an Oracle XE internal error.
It would be probably fixed in the next XE release.

Known workaround:
# su - oracle 'ORACLE_SID=XE ; sqlplus / as sysdba'
SQL> alter system set _optimizer_cost_based_transformation=off scope=both;
SQL> quit
Comment 13 Aidan Delaney 2008-11-11 08:59:17 EST
Known workaround:
# su - oracle 'ORACLE_SID=XE ; sqlplus / as sysdba'
SQL> alter system set "_optimizer_cost_based_transformation"=off scope=both;
SQL> quit

Note the difference from comment #12 is the quote marks around the _optimizer... string.

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