[Glass] GsDevKit Seaside 3.2.12 problem
Dale Henrichs via Glass
glass at lists.gemtalksystems.com
Fri Feb 12 10:39:24 PST 2016
On 02/12/2016 09:15 AM, dario.trussardi at tiscali.it via Glass wrote:
> Ciao,
>
> i work with a GsDevKit Seaside 3.2.12 repository, for understand
> the Tode tools.
>
> I create a new project entry:
>
> project entry --baseline=DtrBase
> --repo=filetree:///opt/git/DTRDevelopment /sys/local/server/projects
>
> The baseline is right load when i select the project DtrBase
> baseline menu option.
>
> After i do the command: project load DtrBase.
>
> The system answer the error:
>
> a MessageNotUnderstood occurred (error 2010), a SmalltalkProxy
> does not understand #'at:otherwise:'
It would be very useful to have an actual stack ...I am curious who is
sending #'at:otherwise:' to the SmalltalkProxy.
If you bring up a tODE debugger you can use the `Window > print window`
menu item to get a stack that you can copy/paste into a message ..
> and become unstable.
>
> Now when i do the project list command or any other tode
> comand the system answer:
>
> Gci31xErrSType64(GciErrSType64)>>readArgumentsAndExceptionClassUsingStonIn:
> in Block: [ :ex | self halt ]
> BlockClosure>>cull:
> MethodContext(ContextPart)>>handleSignal: in Block: [ self
> exceptionHandlerBlock cull: exception ]
> BlockClosure>>ensure:
> MethodContext(ContextPart)>>handleSignal:
> PrimitiveFailed(Exception)>>signal
> PrimitiveFailed class(SelectorException class)>>signalFor:
> ExternalAddress(Object)>>primitiveFailed:
> ExternalAddress(Object)>>primitiveFailed
> ExternalAddress(ByteArray)>>integerAt:size:signed:
> ExternalAddress(ByteArray)>>unsignedByteAt:
> ExternalAddress>>byteAt:
> Gci31xErrSType64(GciErrSType)>>unsignedLongAt:
> Gci31xErrSType64(Gci3xErrSType64)>>argsSize
> Gci31xErrSType64(GciErrSType64)>>readArguments
> Gci31xErrSType64(GciErrSType64)>>initializeUsingSton:session: in
> Block: [ :ex | ...
> BlockClosure>>cull:
> MethodContext(ContextPart)>>handleSignal: in Block: [ self
> exceptionHandlerBlock cull: exception ]
> BlockClosure>>ensure:
> MethodContext(ContextPart)>>handleSignal:
> MethodContext(ContextPart)>>handleSignal:
> TDReadingGciErrorArguments(Exception)>>signal
> TDReadingGciErrorArguments class(Exception class)>>signal
> Gci31xErrSType64(GciErrSType64)>>initializeUsingSton:session:
> Gci31xErrSType64 class(GciErrSType64 class)>>library:session:
> Gci64bit32x(GciLibrary)>>getAndClearLastErrorUsingSton:
> TodeSession>>getAndClearLastError
> TDTopezGemStoneClient>>loginUsing:
> TDTopezGemStoneClient>>login
> TDTopezGemStoneClient>>session
Okay this stack is from the tODE client and there is trouble handling a
GemStone error that is occurring during login ... In the debugger if you
look at the this frame:
Gci31xErrSType64(GciErrSType64)>>readArguments
and look at the the `category number message` instance variables, we'll
have a clue as to what error is happening during login .. there also
might some information in the gem log itself.
>
>
> I think the problem is because into my baseline for gemstone i load
> the MockGemstone.g package.
>
> It is a valid consideration ?
Yes, that could very easily be the source of some serious problems,
since you would be overriding GemStone methods with a pharo mock
implementation ...
>
> Now when i do:
> meeting at meeting001:~$ stopStone seaside_3212
> =================
> GsDevKit script: stopStone seaside_3212
> path: /opt/GsDevKit_home//bin/stopStone
> =================
>
>
> Error running shell command:
> '/opt/GsDevKit_home/server/bin/gs/stopGemstone'
> with args:
> STDOUT: '=================
> GsDevKit GemStone script: stopGemstone
> =================
> cmdLine= stopstone -i seaside_3212 DataCurator swordfish
> --- 12/02/2016 15:47:06.141 CET ---
> stopstone[Info]: GemStone version ''3.2.12''
> stopstone[Info]: initiating ''seaside_3212'' shutdown...
> [Info]: libssl-3.2.12-64.so: loaded
> ERROR: GsCurrentSession >> _initialize has failed
This likely to be the same error message from your failed login from
earlier ...
> '
> STDERR: stopstone[Error]: Invalid username(DataCurator) or password.
> Error: Shell command: '/opt/GsDevKit_home/server/bin/gs/stopGemstone'
> failed.
> GsDevKitStopstoneCommandLineHandler class(Object)>>error:
> GsDevKitStopstoneCommandLineHandler
> class(GsDevKitAbstractCommandLineHandler
> class)>>runShellCommand:args:noError:
> GsDevKitStopstoneCommandLineHandler(GsDevKitAbstractComman
> ........
>
>
> Question :
>
> A) How i can stop the wrong stone?
> I kill the relative process but the gslist report:
>
> killed 3.2.12 meeting feb 12 16:05 Stone seaside_3212
> killed 3.2.12 meeting feb 09 14:05 Netldi seaside_3212_ldi
`kill <stoned-pid>` should be just fine
>
>
> B) How i can restore a good repository for restarting the system?
>
> I have server/stones/seaside_3212/backups/* but the
> repository don't start and i can not bu restore
>
you should also have a
server/stones/seaside_3212/snapsots/extent0.tode.dbf that you can copy
into server/stones/seaside_3212/extents/extent0.dbf after the stone
process is stopped.
If you are manually copying a snapshot you need to do the following two
things:
1. delete the tranlogs from the previous stone
rm -rf server/stones/seaside_3212/tranlogs/*.dbf
2. start the stone with:
$GS_HOME/bin/startStone -b -N $stoneName
> C) I do a seasideCreateStone devkit_3212 3.2.12 and all works fine.
If you use the `-f` option you can recreate a new stone over the top of
the old stone:
seasideCreateStone -f devkit_3212 3.2.12
>
> But how i can define the seasideWebPort ?
>
> When i seasideWebServer devkit_3212 --start it use the 8080
Take a look at `seasideWebServer -h` ... you should be able to redefine
the port with the following commands:
seasideWebServer devkit_3212 --stop
seasideWebServer devkit_3212 --register=swazoo --port=8080
Dale
More information about the Glass
mailing list