The forum will experience an outage sometime between February 10 at 7:00pm EST and February 12 at 11:59 EST for installation of security updates. The actual time and duration of the outage are unknown but attempts will be made to minimize the downtime. We apologize for any inconvenience.

A web application developed against and working fine in SA 11 is causing silent server crashes under version 12 (latest patch).

Crashes can be traced back to a series of stored procedures used in SELECT statements, and joined (often using outer/cross apply, lateral statements) with other tables or procedures

All those procedures are using recursive CTEs after the model below:

create procedure DBA.sp_CMS_GetNode_Translations( in @site_id integer default null,in @language_id integer,in @workflow_id integer default null ) 
result( 
  site_id integer,
  master_node_id integer,
  node_id integer,
  parent_id integer,
  title nvarchar(500),
  master_language_id integer,
  language_id integer,
  workflow_id integer ) 
begin

with recursive

original( site_id, master_node_id, node_id, parent_id, title, master_language_id, language_id, workflow_id, is_best_match ) as 
(
  (
    select site_id,
    node_id,
    node_id,
    parent_id,
    coalesce(title,internal_name),
    language_id,
    language_id,
    workflow_id,
    0
    from dba.vcms_nodes
    where  (site_id = @site_id or @site_id is null)
            and master_id is null
            and (@workflow_id is null or workflow_id = @workflow_id)
        )

union all

(
    select o.site_id,
    o.node_id,
    coalesce(t.node_id,o.master_node_id),
    o.parent_id,
    coalesce(t.title,t.internal_name,o.title),
    master_language_id,
    coalesce(t.language_id,o.language_id),
    coalesce(t.workflow_id,o.workflow_id),
    is_best_match+1

from  original as o left outer join dba.vcms_nodes as t on t.master_id = o.master_node_id
          and t.language_id = @language_id

where is_best_match = 0
    and (@workflow_id is null or coalesce(t.workflow_id,o.workflow_id) = @workflow_id)
   )
 )

select site_id,master_node_id,node_id,parent_id,title,master_language_id,language_id,workflow_id
    from original as o where is_best_match = 1
end

We tried connecting the web tier to the database using sajdbc4 first, then sajdbc. Every single statement that includes a procedure of the type above causes the server to crash with a sibylline 'communication error' error message.

Running the same SELECT statements in ISQL sometime works, sometime doesn't.

Questions:

  • How to I submit crash dumps to Sybase?
  • Am I doing something horribly wrong with procs like the one above?

asked 10 Sep '10, 19:32

Vincent%20Buck's gravatar image

Vincent Buck
70681520
accept rate: 15%

edited 26 Sep '10, 10:58

Breck%20Carter's gravatar image

Breck Carter
26.6k418575824


I apologize for the inconvenience - I don't believe you are doing anything wrong. In (almost) all cases Version 12 software should be backwards-compatible with Version 11, and nonetheless the server should not crash.

Sending crash dumps is outlined in the documentation in the section

SQL Anywhere Server - Database Administration » Maintaining your database » Troubleshooting SQL Anywhere database issues » Error reporting in SQL Anywhere

You can find it quickly in the online help by doing an index search for "dbsupport" or "crashes".

You can run dbsupport to upload the crash information, and at the same time open a case with technical support, making sure to pass on the crash identifier so we can match the uploaded files with your support case.

permanent link

answered 10 Sep '10, 21:16

Glenn%20Paulley's gravatar image

Glenn Paulley
10.7k568104
accept rate: 43%

edited 12 Sep '10, 00:21

Thanks Glenn. Will do. We will deploy on sa 11 in the meantime. Another question: we're a not-for-profit outfit, so budgets are tight and we can't afford to buy support plans with our licences. Is there any way I can open a case with Sybase technical support in that situation?

(11 Sep '10, 09:44) Vincent Buck
1

You can always report a bug for free using CaseXpress. The URL is http://case-express.sybase.com.

(12 Sep '10, 00:25) Glenn Paulley
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×404
×43

question asked: 10 Sep '10, 19:32

question was seen: 1,488 times

last updated: 26 Sep '10, 10:58