Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

After hibernation crush

0 views
Skip to first unread message

Krzyzan

unread,
Sep 30, 2008, 10:40:30 AM9/30/08
to
Helo

Meybe I do something wrong, but when my Pocket PC with Windows Mobile 6.0
returns from hibernation SQL Anywhere server crush without any message. How
can I prevent that? Is it normal or should I use some server parameter (I
haven't used use any param)?
Sql anywhere CE 10.0.1.3764

Josh Savill

unread,
Sep 30, 2008, 1:22:30 PM9/30/08
to
Can you provide a -z output from the database server? This may provide some information as to why
the database server is stopping.

--
Joshua Savill
Sybase iAnywhere - Product Manager

John Smirnios

unread,
Oct 1, 2008, 9:57:15 AM10/1/08
to
Are your server executables installed on a removable flash card (SD, CF,
etc)?

-john.

--
John Smirnios
Senior Software Developer
iAnywhere Solutions Engineering

Whitepapers, TechDocs, bug fixes are all available through the iAnywhere
Developer Community at http://www.ianywhere.com/developer

Krzyzan

unread,
Oct 1, 2008, 10:39:49 AM10/1/08
to
Helo

Yes server has been installed on removable flash card. I think the problem
is that my device disconnect and then connect SD Card after retur from
suspend.

Użytkownik "John Smirnios" <smirnios_at_sybase.com> napisał w wiadomości
news:48e381bb$1@forums-1-dub...

Josh Savill [Sybase iAnywhere]

unread,
Oct 1, 2008, 2:20:39 PM10/1/08
to
When Windows Mobile devices go into hibernation, it common for the external cards to be shutdown.
This would explain why the database server is stopped.

--
Joshua Savill
Sybase iAnywhere - Product Manager


Krzyzan wrote:
> Helo
>
> Yes server has been installed on removable flash card. I think the
> problem is that my device disconnect and then connect SD Card after
> retur from suspend.
>

> U�ytkownik "John Smirnios" <smirnios_at_sybase.com> napisa� w wiadomo�ci

John Smirnios

unread,
Oct 2, 2008, 4:28:38 PM10/2/08
to
Josh is right & there is nothing SA or any other app can do to prevent
it completely. It's just an idiocy, um, I mean "quirk", of CE. When the
device resumes, removable drives are "logically" (not physically)
ejected & reinserted by the OS just in case the card was removed &
another inserted while power was off. If the time between the eject &
insert is too long, the OS closes all handles to files on the device.
That includes the handles that the OS has to the executables & DLLs on
the device. If the server subsequently executes code that needs to be
paged in from the executable or a DLL, it can't because the handle has
been closed. So, the OS just makes the entire process vanish without a
trace. Smart, huh? Note that the same problem occurs with database files
but SA will reopen the file automatically. Every CE app that wants to
have a file open across a suspend/resume must contain logic to reopen
the file.

You can alleviate the problem somewhat by tweaking a registry value
called, I believe, "PNPUnloadDelay" (I'll let you google for it) that
allows you to specify how much time can elapse between an eject and
insert before the OS closes the file handles.

You can avoid the problem altogether by storing your executables in the
internal disk-on-chip.

-john.
--
John Smirnios
Senior Software Developer
iAnywhere Solutions Engineering

Whitepapers, TechDocs, bug fixes are all available through the iAnywhere
Developer Community at http://www.ianywhere.com/developer

Krzyzan wrote:
> Helo
>

> Yes server has been installed on removable flash card. I think the
> problem is that my device disconnect and then connect SD Card after
> retur from suspend.
>

> U�ytkownik "John Smirnios" <smirnios_at_sybase.com> napisa� w wiadomo�ci

0 new messages