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 _______________________________________________ Seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
> 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 -- Lukas Renggli http://www.lukas-renggli.ch _______________________________________________ Seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
> 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 -- Lukas Renggli http://www.lukas-renggli.ch _______________________________________________ Seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
> 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 [hidden email] 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. 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 <[hidden email]> 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 > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > Seaside mailing list [hidden email] 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 -- Lukas Renggli http://www.lukas-renggli.ch _______________________________________________ Seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
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 <[hidden email]> 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 > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > Seaside mailing list [hidden email] 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 -- Lukas Renggli http://www.lukas-renggli.ch _______________________________________________ Seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
Lucas,
Thank you very much for your time! On 8/23/06, Lukas Renggli <[hidden email]> 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 > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > Seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
In reply to this post by Pablo Iaria
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 [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
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 <[hidden email]> 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 > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > Seaside mailing list [hidden email] 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 _______________________________________________ Seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
In reply to this post by Lukas Renggli
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 _______________________________________________ Seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
> 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 [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
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 <[hidden email]> 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 > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > Seaside mailing list [hidden email] 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 _______________________________________________ Seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
In reply to this post by Pablo Iaria
> 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 [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
In reply to this post by Brian Chapados-2
> System error log says (Which may be a problem!):
> acceptHandler: Too many open files > acceptHandler: aborting server 7 pss=0x80f3d20 > socketStatus: freeing invalidated pss=0x80f3d20 > acceptHandler: Too many open files > acceptHandler: aborting server 7 pss=0x80f3d58 > socketStatus: freeing invalidated pss=0x80f3d58 > acceptHandler: Too many open files > acceptHandler: aborting server 7 pss=0x80f33b8 > socketStatus: freeing invalidated pss=0x80f33b8 > acceptHandler: Too many open files > acceptHandler: aborting server 7 pss=0x80f33f0 > socketStatus: freeing invalidated pss=0x80f33f0 > acceptHandler: Too many open files > acceptHandler: aborting server 7 pss=0x80f3428 > socketStatus: freeing invalidated pss=0x80f3428 This looks like you are opening too many files. We have to restrict the amount of open files, to avoid that an account eats up all the resources. I just raised the maximum number of open files/sockets from 20 to 64, powers to two are cool and this seems to me a more reasonable number. If you restart your VM you should get the new quota. Tell me if this helps. Cheers, Lukas -- Lukas Renggli http://www.lukas-renggli.ch _______________________________________________ Seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
In reply to this post by Lukas Renggli
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 <[hidden email]> 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 > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > Seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
In reply to this post by Lukas Renggli
Thanks Lukas,
I think that the extra files setting helped a lot. I remember on Solaris that I used to have to give my applications extra open files you may be able to ask for more resources from the OS to help with this problem. I now have test.image running the magma store example. Using the MagmaControlPanel (in test.image) there is a button for creating an empty repository, and a further button for initializing that repository with some data. These steps are not included in the original store-magma demo but I put them in so that the MagmaControlPanel UI would have an example. Remaining issue 1: At present you have to create the directory for the repository manually. Remaining issue 2: Having created and initialized my repository if I click the 'done' button (which closesTheMagmaSession) The error is likely to be a MagmaUserError 'No transaction to commit.' But this error appears to break the whole application. Since I get a proxy error and have to restart the image. If I simply ignore the 'done' button and go back manually to the config page, everything works fine. Keith >> >> acceptHandler: Too many open files >> acceptHandler: aborting server 7 pss=0x80f3428 >> socketStatus: freeing invalidated pss=0x80f3428 > > This looks like you are opening too many files. > > We have to restrict the amount of open files, to avoid that an account > eats up all the resources. I just raised the maximum number of open > files/sockets from 20 to 64, powers to two are cool and this seems to > me a more reasonable number. If you restart your VM you should get the > new quota. Tell me if this helps. > > Cheers, > Lukas > ___________________________________________________________ Try the all-new Yahoo! Mail. "The New Version is radically easier to use" The Wall Street Journal http://uk.docs.yahoo.com/nowyoucan.html _______________________________________________ Seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
Free forum by Nabble | Edit this page |