Hi all,
I'm trying to deploy a small seaside+magma application on seasidehosting.st.
First I made a small application to create the repository, then I added a WAMagmaConfiguration and set up the repository absolute path suggested to /service/edp/files/edp_messages and I got the following stacktrace. Does any body knows what did I do wrong?
Thanks! Pablo.-
Error: a primitive has failed
* UnixFileDirectory(Object)>>error:
self UnixFileDirectory on '/' temps aString 'a primitive has failed' inst vars pathName FilePath('/')
* UnixFileDirectory(Object)>>primitiveFailed
self UnixFileDirectory on '/' temps inst vars pathName FilePath('/')
* UnixFileDirectory(FileDirectory)>>primCreateDirectory:
self UnixFileDirectory on '/' temps fullPath '/service' inst vars pathName FilePath('/')
* UnixFileDirectory(FileDirectory)>>createDirectory:
self UnixFileDirectory on '/' temps localFileName 'service' inst vars pathName FilePath('/')
* UnixFileDirectory(FileDirectory)>>assureExistenceOfPath:
self UnixFileDirectory on '/' temps lPath 'service' localPath 'service' inst vars pathName FilePath('/')
* UnixFileDirectory(FileDirectory)>>assureExistenceOfPath:
self UnixFileDirectory on '/service' temps lPath 'edp' localPath 'edp' inst vars pathName FilePath('/service')
* UnixFileDirectory(FileDirectory)>>assureExistenceOfPath:
self UnixFileDirectory on '/service/edp' temps lPath 'files' localPath 'files' inst vars pathName FilePath('/service/edp')
* UnixFileDirectory(FileDirectory)>>assureExistenceOfPath:
self UnixFileDirectory on '/service/edp/files' temps lPath 'edp_messages' localPath 'edp_messages' inst vars pathName FilePath('/service/edp/files')
* UnixFileDirectory(FileDirectory)>>assureExistence
self UnixFileDirectory on '/service/edp/files/edp_messages' temps inst vars pathName FilePath('/service/edp/files/edp_messages')
* MaObjectFiler>>create:
self a MaObjectFiler temps aFileDirectory UnixFileDirectory on '/service/edp/files/edp_messages' inst vars directory nil file nil preMadeObjectBuffer a MaObjectBuffer oid : **invalid** classId : **invalid** objectInstSize : **invalid** filePositionIndex nil usedByteArrays #(a ByteArray(0) a ByteArray(0 0) a ByteArray(0 0 0) a ByteArray(0 0 0 0) a ByteArray(0 0 0 0 0) a B...etc... primitiveAttributeAddressesMap a Dictionary('anchorOid'->43->64 'booleanFlags'->10->8 'classDefinitionsOid'->27->64 'definitionOid'...etc...
* MaObjectFiler class>>create:
self MaObjectFiler temps aFileDirectory UnixFileDirectory on '/service/edp/files/edp_messages' inst vars superclass MaObject methodDict a MethodDictionary(#anchorOid->a CompiledMethod (795) #anchorOid:->a CompiledMethod (2841) #appendOb...etc... format 142 instanceVariables #('directory' 'file' 'preMadeObjectBuffer' 'filePositionIndex' 'usedByteArrays' 'primitiveAttributeA...etc... organization ('accessing' anchorOid classDefinitionsOid dataFileName definitionOid directory filePointerForOid: f...etc... subclasses nil name #MaObjectFiler classPool nil sharedPools nil environment a SystemDictionary(lots of globals) category nil
* MaObjectRepository>>create:
self a MaObjectRepository temps aFileDirectory UnixFileDirectory on '/service/edp/files/edp_messages' inst vars transactionLog a MaTransactionLog sessions a Dictionary() filer nil repositoryController a MagmaRepositoryController largeCollectionManagers a Dictionary() systemReadStrategy nil nextOid nil recoveryManager nil commitGuard a Semaphore() applyProcess nil
First I made a small application to create the repository, then I added a WAMagmaConfiguration and set up the repository absolute path suggested to /service/edp/files/edp_messages and I got the following stacktrace. Does any body knows what did I do wrong?
You are not doing anything wrong, it is just that the implementation of #assureExistence does not properly work together with our VM.
To avoid that people touch critical parts of the system or file of other hosted applications we hide them from the file-system using the vm, though there seems to be a problem with the implementation of this particular method now. I will see what I can do: it will require that I invest more time into that part of the VM and that I update some tests. Don't expect a solution to this problem within the next few days. I will try my best to find a good solution for you and the hosting server.
Thanks for the detailled report.
Cheers, Lukas
To avoid that people touch critical parts of the system or file of other hosted applications we hide them from the file-system using the vm, though there seems to be a problem with the implementation of this particular method now. I will see what I can do: it will require that I invest more time into that part of the VM and that I update some tests. Don't expect a solution to this problem within the next few days. I will try my best to find a good solution for you and the hosting server.
This is very difficult to fix in the VM. Obviously this is a bug in the interaction of the SecurityPlugin and the way FilePlugin handles file-enumerating. As a quick fix I suggest that you patch the following method in your image:
UnixFileDirectory>>directoryExists: filenameOrPath "Handles the special case of testing for the root dir: there isn't a possibility to express the root dir as full pathname like '/foo'."
^ filenameOrPath = '/' or: [ filenameOrPath = self class default or: [ super directoryExists: filenameOrPath ] ]
Hope this helps, Lukas
UnixFileDirectory>>directoryExists: filenameOrPath "Handles the special case of testing for the root dir: there isn't a possibility to express the root dir as full pathname like '/foo'."
^ filenameOrPath = '/' or: [ filenameOrPath = self class default or: [ super directoryExists: filenameOrPath ] ]
Ouch, I forgot a #pathName, try this instead:
UnixFileDirectory >>directoryExists: filenameOrPath "Handles the special case of testing for the root dir: there isn't a possibility to express the root dir as full pathname like '/foo'."
^ filenameOrPath = '/' or: [ filenameOrPath = self class default pathName or: [ super directoryExists: filenameOrPath ] ]
Lucas, thank you for the quick response! I tried the code you sent me, but it didn't work.
In the mean time I created a repository in my local machine (with win2k), compressed it and uploaded to my root directory ("root directory"/magma). Now I got another error (I put the stack trace at the end of the message).
So I'll better wait until the problems with VM be fixed.
Thanks! Pablo.-
MaUserError: fileStream required
* MaUserError class(Exception class)>>signal:
self MaUserError temps signalerText 'fileStream required' inst vars superclass MaError methodDict a MethodDictionary(#isUserError->a CompiledMethod (196) ) format 140 instanceVariables nil organization ('as yet unclassified' isUserError) subclasses #(MaClientServerUserError MagmaUserError MaHashIndexUserError MaObjectSerializationUserError MauiUse...etc... name #MaUserError classPool nil sharedPools nil environment a SystemDictionary(lots of globals) category nil
* MaTransactionalFileStream class>>fileStream:
self MaTransactionalFileStream temps aFileStream nil inst vars superclass MaObject methodDict a MethodDictionary(#bePhysical->a CompiledMethod (520) #binary->a CompiledMethod (680) #close->a Com...etc... format 142 instanceVariables #('filename' 'fileStream' 'guard' 'uncommittedSize' 'position' 'writers') organization ('accessing' bePhysical committedSize copyToDirectory: physicalStream writersDo:) ('filestream api' ...etc... subclasses nil name #MaTransactionalFileStream classPool nil sharedPools nil environment a SystemDictionary(lots of globals) category nil
* MaObjectFiler>>openFile:
self a MaObjectFiler temps unqualifiedName 'objects' answer nil inst vars directory UnixFileDirectory on '/service/edp/files/magma' file nil preMadeObjectBuffer a MaObjectBuffer oid : **invalid** classId : **invalid** objectInstSize : **invalid** filePositionIndex nil usedByteArrays #(a ByteArray(0) a ByteArray(0 0) a ByteArray(0 0 0) a ByteArray(0 0 0 0) a ByteArray(0 0 0 0 0) a B...etc... primitiveAttributeAddressesMap a Dictionary('anchorOid'->43->64 'booleanFlags'->10->8 'classDefinitionsOid'->27->64 'definitionOid'...etc...
* MaObjectFiler>>openObjectsFile
self a MaObjectFiler temps inst vars directory UnixFileDirectory on '/service/edp/files/magma' file nil preMadeObjectBuffer a MaObjectBuffer oid : **invalid** classId : **invalid** objectInstSize : **invalid** filePositionIndex nil usedByteArrays #(a ByteArray(0) a ByteArray(0 0) a ByteArray(0 0 0) a ByteArray(0 0 0 0) a ByteArray(0 0 0 0 0) a B...etc... primitiveAttributeAddressesMap a Dictionary('anchorOid'->43->64 'booleanFlags'->10->8 'classDefinitionsOid'->27->64 'definitionOid'...etc...
* MaObjectFiler>>open
self a MaObjectFiler temps inst vars directory UnixFileDirectory on '/service/edp/files/magma' file nil preMadeObjectBuffer a MaObjectBuffer oid : **invalid** classId : **invalid** objectInstSize : **invalid** filePositionIndex nil usedByteArrays #(a ByteArray(0) a ByteArray(0 0) a ByteArray(0 0 0) a ByteArray(0 0 0 0) a ByteArray(0 0 0 0 0) a B...etc... primitiveAttributeAddressesMap a Dictionary('anchorOid'->43->64 'booleanFlags'->10->8 'classDefinitionsOid'->27->64 'definitionOid'...etc...
* MaObjectFiler class>>open:
self MaObjectFiler temps aFileDirectory UnixFileDirectory on '/service/edp/files/magma' inst vars superclass MaObject methodDict a MethodDictionary(#anchorOid->a CompiledMethod (795) #anchorOid:->a CompiledMethod (2841) #appendOb...etc... format 142 instanceVariables #('directory' 'file' 'preMadeObjectBuffer' 'filePositionIndex' 'usedByteArrays' 'primitiveAttributeA...etc... organization ('accessing' anchorOid classDefinitionsOid dataFileName definitionOid directory filePointerForOid: f...etc... subclasses nil name #MaObjectFiler classPool nil sharedPools nil environment a SystemDictionary(lots of globals) category nil
* MaObjectRepository>>open:
self a MaObjectRepository temps aFileDirectory UnixFileDirectory on '/service/edp/files/magma' inst vars transactionLog a MaTransactionLog sessions a Dictionary() filer nil repositoryController a MagmaRepositoryController largeCollectionManagers a Dictionary() systemReadStrategy nil nextOid nil recoveryManager nil commitGuard a Semaphore() applyProcess nil
* MaObjectRepository class>>open:controller:
self MaObjectRepository temps aFileDirectory UnixFileDirectory on '/service/edp/files/magma' aMaRepositoryController a MagmaRepositoryController inst vars superclass MaObject methodDict a MethodDictionary(#abortTransactionFor:->a CompiledMethod (2026) #applyToCache:->a CompiledMethod (...etc... format 150 instanceVariables #('transactionLog' 'sessions' 'filer' 'repositoryController' 'largeCollectionManagers' 'systemReadSt...etc... organization ('client-requests' abortTransactionFor: numberOfEntriesFrom:to:inLargeCollection:on: readAnchorFor:u...etc... subclasses nil name #MaObjectRepository classPool a Dictionary(#RunningTestCases->false #SimulateOutage->false ) sharedPools nil environment a SystemDictionary(lots of globals) category nil
* MagmaRepositoryController>>privateOpen:
self a MagmaRepositoryController temps aFileDirectory UnixFileDirectory on '/service/edp/files/magma' inst vars repository a MaObjectRepository session a MagmaSession serverSerializer a MaObjectSerializer requestInterruptGuard a Semaphore() directory UnixFileDirectory on '/service/edp/files/magma' preferences a MagmaServerPreferences
* [] in MagmaRepositoryController>>open {[self privateOpen: directory]}
self a MagmaRepositoryController temps didRetry false err nil inst vars repository a MaObjectRepository session a MagmaSession serverSerializer a MaObjectSerializer requestInterruptGuard a Semaphore() directory UnixFileDirectory on '/service/edp/files/magma' preferences a MagmaServerPreferences
On 8/23/06, Lukas Renggli renggli@gmail.com wrote:
UnixFileDirectory>>directoryExists: filenameOrPath "Handles the special case of testing for the root dir: there isn't a possibility to express the root dir as full pathname like '/foo'."
^ filenameOrPath = '/' or: [ filenameOrPath = self class default or: [ super directoryExists: filenameOrPath ] ]
Ouch, I forgot a #pathName, try this instead:
UnixFileDirectory >>directoryExists: filenameOrPath "Handles the special case of testing for the root dir: there isn't a possibility to express the root dir as full pathname like '/foo'."
^ filenameOrPath = '/' or: [ filenameOrPath = self class default pathName or: [ super directoryExists: filenameOrPath ] ]
-- Lukas Renggli http://www.lukas-renggli.ch _______________________________________________ Seaside mailing list Seaside@lists.squeakfoundation.org http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Lucas, thank you for the quick response! I tried the code you sent me, but it didn't work.
Your directory on seasidehosting.st looks odd, there are several database. It seems to be able to create the files now.
.: insgesamt 49392 -rw-r--r-- 1 nobody nogroup 3767 2006-08-23 14:29 C:\personal\soft\edp\package-cache\EDP-PI.8.mcz -rw-r--r-- 1 nobody nogroup 3850 2006-08-23 14:52 C:\personal\soft\edp\package-cache\EDP-PI.9.mcz drwxr-xr-x 3 webadmin webadmin 4096 2006-08-23 16:17 files drwxr-xr-x 2 webadmin webadmin 4096 2006-08-23 15:40 magma drwxrwxrwx 2 webadmin webadmin 4096 2006-08-17 15:08 resources -rw-rw-rw- 1 webadmin webadmin 17192133 2006-08-23 09:08 Sq3.8f+seaside+magma.changes -rw-rw-rw- 1 webadmin webadmin 33290892 2006-08-23 09:08 Sq3.8f+seaside+magma.image -rw-r--r-- 1 nobody nogroup 4378 2006-08-23 14:24 SqueakDebug.log lrwxrwxrwx 1 root root 45 2006-08-23 14:24 SqueakV3.sources -> /usr/local/lib/squeak/3.7-7s/SqueakV3.sources
./files: insgesamt 4 drwxr-xr-x 2 webadmin webadmin 4096 2006-08-23 15:44 magma
./files/magma: insgesamt 44 -rw-r--r-- 1 webadmin webadmin 208 2006-08-23 15:44 applied.images -rw-r--r-- 1 webadmin webadmin 1352 2006-08-23 15:44 commitPackages -rw-r--r-- 1 webadmin webadmin 30653 2006-08-23 15:44 objects -rw-r--r-- 1 webadmin webadmin 3181 2006-08-23 15:44 objects.idx
./magma: insgesamt 44 -rw-r--r-- 1 webadmin webadmin 208 2006-08-23 15:40 applied.images -rw-r--r-- 1 webadmin webadmin 1352 2006-08-23 15:40 commitPackages -rw-r--r-- 1 webadmin webadmin 30653 2006-08-23 15:40 objects -rw-r--r-- 1 webadmin webadmin 3181 2006-08-23 15:40 objects.idx
./resources: insgesamt 0
In the mean time I created a repository in my local machine (with win2k), compressed it and uploaded to my root directory ("root directory"/magma). Now I got another error (I put the stack trace at the end of the message).
The error looks like to be deep inside Magma, so I can't understand what it means and what it tries to do. From the file-listing it looks like Magma created some files, I don't know if these files represent a complete database. Maybe you should ask Chris Muller in the Magma list what this error means and I could then further investigate if this is a problem with the restrictions on the file-system of the server.
So I'll better wait until the problems with VM be fixed.
Sorry to disappoint you, but I am no VM guy and it looks to me the file primitives and the SecurityPlugin had to be changed to make #directoryExists: work out of the box. Could well be that there are other bugs in that area, I only know a few. As one of our famous Squeak Masters would say: "Fixing. No, this ain't gonna happen." :-/
Cheers, Lukas
Thanks again!
I'm going to ask Chris and see what happens.
I have another questuin for you. In a previous mail you said:
"...To avoid that people touch critical parts of the system or file of other hosted applications we hide them from the file-system using the vm..."
Did you modified the VM to acchieve that? Or you just used the linux security mechanism?
Cheers! Pablo.-
On 8/23/06, Lukas Renggli renggli@gmail.com wrote:
Lucas, thank you for the quick response! I tried the code you sent me, but it didn't work.
Your directory on seasidehosting.st looks odd, there are several database. It seems to be able to create the files now.
.: insgesamt 49392 -rw-r--r-- 1 nobody nogroup 3767 2006-08-23 14:29 C:\personal\soft\edp\package-cache\EDP-PI.8.mcz -rw-r--r-- 1 nobody nogroup 3850 2006-08-23 14:52 C:\personal\soft\edp\package-cache\EDP-PI.9.mcz drwxr-xr-x 3 webadmin webadmin 4096 2006-08-23 16:17 files drwxr-xr-x 2 webadmin webadmin 4096 2006-08-23 15:40 magma drwxrwxrwx 2 webadmin webadmin 4096 2006-08-17 15:08 resources -rw-rw-rw- 1 webadmin webadmin 17192133 2006-08-23 09:08 Sq3.8f+seaside+magma.changes -rw-rw-rw- 1 webadmin webadmin 33290892 2006-08-23 09:08 Sq3.8f+seaside+magma.image -rw-r--r-- 1 nobody nogroup 4378 2006-08-23 14:24 SqueakDebug.log lrwxrwxrwx 1 root root 45 2006-08-23 14:24 SqueakV3.sources -> /usr/local/lib/squeak/3.7-7s/SqueakV3.sources
./files: insgesamt 4 drwxr-xr-x 2 webadmin webadmin 4096 2006-08-23 15:44 magma
./files/magma: insgesamt 44 -rw-r--r-- 1 webadmin webadmin 208 2006-08-23 15:44 applied.images -rw-r--r-- 1 webadmin webadmin 1352 2006-08-23 15:44 commitPackages -rw-r--r-- 1 webadmin webadmin 30653 2006-08-23 15:44 objects -rw-r--r-- 1 webadmin webadmin 3181 2006-08-23 15:44 objects.idx
./magma: insgesamt 44 -rw-r--r-- 1 webadmin webadmin 208 2006-08-23 15:40 applied.images -rw-r--r-- 1 webadmin webadmin 1352 2006-08-23 15:40 commitPackages -rw-r--r-- 1 webadmin webadmin 30653 2006-08-23 15:40 objects -rw-r--r-- 1 webadmin webadmin 3181 2006-08-23 15:40 objects.idx
./resources: insgesamt 0
In the mean time I created a repository in my local machine (with win2k), compressed it and uploaded to my root directory ("root directory"/magma). Now I got another error (I put the stack trace at the end of the message).
The error looks like to be deep inside Magma, so I can't understand what it means and what it tries to do. From the file-listing it looks like Magma created some files, I don't know if these files represent a complete database. Maybe you should ask Chris Muller in the Magma list what this error means and I could then further investigate if this is a problem with the restrictions on the file-system of the server.
So I'll better wait until the problems with VM be fixed.
Sorry to disappoint you, but I am no VM guy and it looks to me the file primitives and the SecurityPlugin had to be changed to make #directoryExists: work out of the box. Could well be that there are other bugs in that area, I only know a few. As one of our famous Squeak Masters would say: "Fixing. No, this ain't gonna happen." :-/
Cheers, Lukas
-- Lukas Renggli http://www.lukas-renggli.ch _______________________________________________ Seaside mailing list Seaside@lists.squeakfoundation.org http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
I'm going to ask Chris and see what happens.
I opened your image on my machine and it looks like that it tries to open the database on c:\something\somethingelese. This could be the problem, this certainly won't work on the linux server.
I have another questuin for you. In a previous mail you said:
"...To avoid that people touch critical parts of the system or file of other hosted applications we hide them from the file-system using the vm..."
Did you modified the VM to acchieve that? Or you just used the linux security mechanism?
Both. We are using a modified version of the VM, with mainly a few changes to the SecurityPlugin. Then we are also using the security mechanism of linux and some additional linux tools to restrict CPU and memory usage.
Lukas
Lucas,
Thank you very much for your time!
On 8/23/06, Lukas Renggli renggli@gmail.com wrote:
I'm going to ask Chris and see what happens.
I opened your image on my machine and it looks like that it tries to open the database on c:\something\somethingelese. This could be the problem, this certainly won't work on the linux server.
Yes, that should fail. But I got the error when I tried to create a new repository in the linux box using the attribute "Location" from WAMagmaConfiguration that currently is set to /service/edp/files/magma
Anyway I'll ask Chris way Magma fails if I try to use a repository created in win2k.
I have another questuin for you. In a previous mail you said:
"...To avoid that people touch critical parts of the system or file of other hosted applications we hide them from the file-system using the vm..."
Did you modified the VM to acchieve that? Or you just used the linux security mechanism?
Both. We are using a modified version of the VM, with mainly a few changes to the SecurityPlugin. Then we are also using the security mechanism of linux and some additional linux tools to restrict CPU and memory usage.
ok, thanks a lot again! Pablo.-
Lukas
-- Lukas Renggli http://www.lukas-renggli.ch _______________________________________________ Seaside mailing list Seaside@lists.squeakfoundation.org http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Dear Pablo,
I had the same problem, though I havent got it working myself yet I did submit some fixes which I believe have been incorporated into the latest magma.
My fixes allow you to specify a local relative directory name for your repository . This is because if you use an absolute path on your development machine it will be the wrong one on seaside hosting.
So you might try putting your repository in a directory on seasidehosting and refering to it by directory name.
Keith
___________________________________________________________ The all-new Yahoo! Mail goes wherever you go - free your email address from your Internet provider. http://uk.docs.yahoo.com/nowyoucan.html
HI,
I'm back on this topic.
I asked Chris about this and he told me this:
"Hi Pablo, sorry for the delayed response.
From looking at the stack trace, it appears the problem is caused
either by locked files or bugs or inconsistencies in UnixFileDirectory. Let me explain.
In MaObjectFiler>>#open, Magma asks the UnixFileDirectory
directory exists and: [ directory fileExists: self class objectsFilename ]
and the system reported true for this, otherwise it would have stopped you right there with a MagmaEnvironmentError.
Under this assumption, Magma then proceeds to open the object file. FileDirectory>>#fileNamed: is used to create the FileStream which is required by Magma. Unfortunately if some problem occurs, FileDirectory>>#fileNamed: doesn't signal a meaningful error, it only answers nil. Since we just checked fileExists: its not because it doesn't exist so is it possible the files are "locked" by another process or something? Did they get closed after the upload?
Otherwise, there may be some bad inconsistency with UnixFileDirectory>>#fileExists: and UnixFileDirectory>>#fileNamed:.
I'm no Unix expert, anyone else have any ideas? - Chris "
This seems to be an issue with the VM that I can't figure out how to solve.
Does anybody else have another clue?
Thanks, Pablo.-
On 8/23/06, Keith Hodges keith_hodges@yahoo.co.uk wrote:
Dear Pablo,
I had the same problem, though I havent got it working myself yet I did submit some fixes which I believe have been incorporated into the latest magma.
My fixes allow you to specify a local relative directory name for your repository . This is because if you use an absolute path on your development machine it will be the wrong one on seaside hosting.
So you might try putting your repository in a directory on seasidehosting and refering to it by directory name.
Keith
The all-new Yahoo! Mail goes wherever you go - free your email address from your Internet provider. http://uk.docs.yahoo.com/nowyoucan.html _______________________________________________ Seaside mailing list Seaside@lists.squeakfoundation.org http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Since we just checked fileExists: its not because it doesn't exist so is it possible the files are "locked" by another
process or something? Did they get closed after the upload?
Otherwise, there may be some bad inconsistency with UnixFileDirectory>>#fileExists: and UnixFileDirectory>>#fileNamed:.
I'm no Unix expert, anyone else have any ideas?
- Chris
"
This seems to be an issue with the VM that I can't figure out how to
solve.
Does anybody else have another clue?
You might have already done this, but if you have shell access you can use lsof to check for a file that is locked or in use by another process. If you don't have shell access, I think you can load OSProcess from squeakmap and do:
UnixProcess thisOSProcess command: 'lsof'
(or something like this)
lsof is available from freshmeat (http://freshmeat.net/projects/lsof/) if it's not preinstalled in your distribution, but this obviously won't help you if you don't have a way to install it.
Brian
Lukas,
I cant see how this fix would work seeing as Magma calls FileDirectory exists which calls
FileDirectory>>primLookupEntryIn: fullPath index: index
best regards
Keith
Ouch, I forgot a #pathName, try this instead:
UnixFileDirectory >>directoryExists: filenameOrPath "Handles the special case of testing for the root dir: there isn't a possibility to express the root dir as full pathname like '/foo'."
^ filenameOrPath = '/' or: [ filenameOrPath = self class default pathName or: [ super directoryExists: filenameOrPath ] ]
Send instant messages to your online friends http://uk.messenger.yahoo.com
I cant see how this fix would work seeing as Magma calls FileDirectory exists which calls
FileDirectory>>primLookupEntryIn: fullPath index: index
Are you sure?
I tried in a test image running in the restricted environment on seasidehosting.st and I get the following results:
FileDirectory default exists --> true
I've tried the following code on seasidehosting.st and it works assuming that the directory 'resources' is present:
(FileDirectory default directoryNamed: 'resources') assureExistence --> true
(FileDirectory default directoryNamed: 'resources') assureExistence
If the directory in question in not there it doesn't work and the primitive fails. FileDirectory assumes that all parent directories have to be enumerable if a specific directory should be created, and this is not the case on seasidehosting.st.
I don't understand right now why my patch does not help in that case.
Though it should be easy to fix the problem by creating the path manually from the management interface? Then we have the case above that works.
Keep me updated, I would like to get Magma running on seasidehosting.st.
Cheers, Lukas
Hi all!
I don't know what changed in seasidehosting, but now I have running seaside+magma!!
Thanks to all! Pablo.-
On 9/1/06, Lukas Renggli renggli@gmail.com wrote:
I cant see how this fix would work seeing as Magma calls FileDirectory exists which calls
FileDirectory>>primLookupEntryIn: fullPath index: index
Are you sure?
I tried in a test image running in the restricted environment on seasidehosting.st and I get the following results:
FileDirectory default exists --> true
I've tried the following code on seasidehosting.st and it works assuming that the directory 'resources' is present:
(FileDirectory default directoryNamed: 'resources') assureExistence --> true
(FileDirectory default directoryNamed: 'resources') assureExistence
If the directory in question in not there it doesn't work and the primitive fails. FileDirectory assumes that all parent directories have to be enumerable if a specific directory should be created, and this is not the case on seasidehosting.st.
I don't understand right now why my patch does not help in that case.
Though it should be easy to fix the problem by creating the path manually from the management interface? Then we have the case above that works.
Keep me updated, I would like to get Magma running on seasidehosting.st.
Cheers, Lukas
-- Lukas Renggli http://www.lukas-renggli.ch _______________________________________________ Seaside mailing list Seaside@lists.squeakfoundation.org http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Pablo Iaria wrote:
Hi all!
I don't know what changed in seasidehosting, but now I have running seaside+magma!!
Thanks to all! Pablo.-
Cool,
I just checked my test.image and still no joy sigh
Keith Send instant messages to your online friends http://uk.messenger.yahoo.com
I don't know what changed in seasidehosting, but now I have running seaside+magma!!
Great, can you explain your configuration? Especially the thing with the files (data-base location, setup).
Nothing has changed with the hosting itself.
Cheers, Lukas
Sure!
I'm not sure why it's working now.
I set the magma repositoty path to /service/edp/files/magma (as was suggested by WAMagmaConfiguration).
I did a small aplication to create the repository but it didn't work, so I uploaded a blank repository created in winxp. In the beggining it didn't work, but then it did (don't ask me why).
That was all I did.
Thanks again! Pablo.-
On 9/1/06, Lukas Renggli renggli@gmail.com wrote:
I don't know what changed in seasidehosting, but now I have running seaside+magma!!
Great, can you explain your configuration? Especially the thing with the files (data-base location, setup).
Nothing has changed with the hosting itself.
Cheers, Lukas
-- Lukas Renggli http://www.lukas-renggli.ch _______________________________________________ Seaside mailing list Seaside@lists.squeakfoundation.org http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
seaside@lists.squeakfoundation.org