[Glass] Nginx , FastCGI and GLASS problem
Mariano Martinez Peck
marianopeck at gmail.com
Fri Dec 6 05:52:38 PST 2013
On Thu, Dec 5, 2013 at 10:30 PM, Dale K. Henrichs <
dale.henrichs at gemtalksystems.com> wrote:
> Johan and Mariano,
>
> For 3.1, I think the following should work in the startSeaside30_Adaptor
> script. NOTE, I've used `true ifTrue: [] ifFalse:[]` to enclose the
> new-style static exception handler that in addition to handling (and
> logging) the fact that a SigAbort was handled installs a handler for the
> RepositoryViewLost notification that dumps a stack so we can get more info
> about what the gem is doing when the lost ot is issued:
>
> true ifTrue: [.
> Transcript cr; show: 'New style SigAbort hanlder'.
> TransactionBacklog
> addDefaultHandler: [ :ex |.
> "Run the abort in a lowPriority process, since we must acquire the
> transactionMutex."
> Transcript cr; show: 'handled sigabort: ', DateAndTime now printString.
> [
> GRPlatform current transactionMutex
> critical: [ GRPlatform current doAbortTransaction ].
> TransactionBacklog enableSignalling ]
> forkAt: Processor lowestPriority.
> ex resume ].
> RepositoryViewLost
> addDefaultHandler: [ :ex |.
> GRPlatform current logError: ex description title: 'Lost OT'
> shouldCommit: false.
> ex pass ].
> TransactionBacklog enableSignalling.
> ] ifFalse: [
> Transcript cr; show: 'Old style SigAbort hanlder'.
> Exception.
> installStaticException:.
> [:ex :cat :num :args |
> "Run the abort in a lowPriority process, since we must acquire the
> transactionMutex."
> Transcript cr; show: 'handled sigabort: ', DateAndTime now
> printString.
> [
> GRPlatform current transactionMutex.
> critical: [.
> GRPlatform current doAbortTransaction ].
> System enableSignaledAbortError.
> ] forkAt: Processor lowestPriority.
> ]
> category: GemStoneError
> number: 6009
> subtype: nil.
> System enableSignaledAbortError.
> ].
>
>
Thanks Dale, I have updated my code with that. But notice that you script
is full of dots where they should not be (maybe a weird copy paste from
your email client)...
Here is the version that works:
true ifTrue: [
Transcript cr; show: 'New style SigAbort hanlder'.
TransactionBacklog
addDefaultHandler: [ :ex |
"Run the abort in a lowPriority process, since we must acquire the
transactionMutex."
Transcript cr; show: 'handled sigabort: ', DateAndTime now printString.
[
GRPlatform current transactionMutex
critical: [ GRPlatform current doAbortTransaction ].
TransactionBacklog enableSignalling ]
forkAt: Processor lowestPriority.
ex resume ].
RepositoryViewLost
addDefaultHandler: [ :ex |
GRPlatform current logError: ex description title: 'Lost OT'
shouldCommit: false.
ex pass ].
TransactionBacklog enableSignalling.
] ifFalse: [
Transcript cr; show: 'Old style SigAbort hanlder'.
Exception
installStaticException:
[:ex :cat :num :args |
"Run the abort in a lowPriority process, since we must acquire the
transactionMutex."
Transcript cr; show: 'handled sigabort: ', DateAndTime now
printString.
[
GRPlatform current transactionMutex
critical: [
GRPlatform current doAbortTransaction ].
System enableSignaledAbortError.
] forkAt: Processor lowestPriority.
]
category: GemStoneError
number: 6009
subtype: nil.
System enableSignaledAbortError.
].
> If this is happening in 2.4 (Johan), I'll have to do a little more
> research to see if there is an exception equivalent to RepositoryViewLost
> signalled.
>
> Dale
> ------------------------------
>
> *From: *"Johan Brichau" <johan at yesplan.be>
> *To: *"Mariano Martinez Peck" <marianopeck at gmail.com>
> *Cc: *glass at lists.gemtalksystems.com
> *Sent: *Thursday, December 5, 2013 9:09:46 AM
> *Subject: *Re: [Glass] Nginx , FastCGI and GLASS problem
>
> And were you being blocked outside of a transaction or not? Because that
> is what the error says. I am getting this from time to time and still
> looking for a reason.
>
>
> Johan (sent from my mobile)
>
> On 05 Dec 2013, at 17:48, Mariano Martinez Peck <marianopeck at gmail.com>
> wrote:
>
>
>
>
> On Thu, Dec 5, 2013 at 1:43 PM, Johan Brichau <johan at yesplan.be> wrote:
>
>> Mariano,
>>
>> The logs you show looks so similar to what I see in our gem logs when a
>> gem stops responding...
>> When it occurs, can you look at the object with the mentioned oop in the
>> write-write conflicts:
>>
>> > Write-Write Conflicts...
>> > 383168257
>> > Write-Dependency Conflicts...
>>
>> Inspect this:
>>
>> Object _objectForOop: 383168257
>>
>> In my case this always opens on a dictionary with the #cacheTimeout
>> property in it.
>> Is this also true in your case?
>>
>>
> Thanks Johan for the advice. Unfortunately, I restarted everything did
> some changes etc so that OOP doesn't exist anymore :(
>
> But I will keep it in case I need it again.
>
> BTW, in my case I discovered the problem...it's that reading from
> /dev/random is blocking and when you run the OS in a virtual machine (like
> in my case I am using a VirtualBox vm) it is likely it will block for some
> time. There are lot of info about this in the internet.
> So at least that was my problem.
>
> Thanks,
>
> --
> Mariano
> http://marianopeck.wordpress.com
>
>
> _______________________________________________
> Glass mailing list
> Glass at lists.gemtalksystems.com
> http://lists.gemtalksystems.com/mailman/listinfo/glass
>
>
>
--
Mariano
http://marianopeck.wordpress.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gemtalksystems.com/mailman/private/glass/attachments/20131206/880934cd/attachment-0001.html>
More information about the Glass
mailing list