[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4688: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4690: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4691: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4692: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
eXept User Forum • View topic - PersistencyManager bug?
Page 1 of 1

PersistencyManager bug?

PostPosted: 15. Dec 2009, 20:16
by duetto
hi,

i'm using stx v542.

i'm trying to use PersistencyManager to store my application objects.

i executed
db := PersistencyManager file: 'somefile.db'.
and i got a debug window with message :
"DBFile does not understand #pathName".

i also tried using PersistencyManagerTest with method test1 and got the same error.

john cummings

Re: PersistencyManager bug?

PostPosted: 15. Dec 2009, 20:38
by duetto
i need to add that i'm working in windows xp.

Re: PersistencyManager bug?

PostPosted: 17. Dec 2009, 21:37
by cgittinger
Sorry to admit, but the DBase stuff is a wrapper for the dbm/db1.6 btree database library which is not avail. on win32 systems. This has originally only been available for unix machines and we never spent the time to port it to windows. Actually any port of any C-code to windows is pretty painful and I really hate it ! I took a look for an existing win32 port of any ndbm or similar package but was not successful (until now). However, I did find a gdbm package, which is probably not compatible in the datafile, but provides a similar functionality. I wrote a makefile, edited some header definitions and got it to work, but when I run the testCase, I get an error status as return value - so, now the real fun would begin. I do not really have much time currently to continue, but if anyone is willing to proceed, you can find the code (cvs-checkout) in:
stx/support/db/gdbm-1.8.3-cos2
and the requried changes in the DBase-class in
stx/goodies/libdbase

I checked the changes in tonight (17-dec-09), so give it a day or so to find those in our public cvs repository. Remember, it is shadowed every night from our working repository.

Claus

PS: I'll keep you informed of any success...

PPS: I'd rather have a ndbm-btree implementation written in smalltalk: first, it would be absolutely free from memory leaks and buffer overflows, second it would run on all boxes - fowever !

I forgot to mention that your concrete error is the consequence of the system's attempt to autoload the DBase class. Due to some missing header files/definitions, this load fails and the class is not loaded correctly (you should see messages on the transcript...).

Re: PersistencyManager bug?

PostPosted: 18. Dec 2009, 17:17
by cgittinger
I just removed the
"Notice, that this is (currently) only supported for Unix architectures."
comment in PersistencyManager - meaning that gdbm support is now also avail. for win-users.

If anyone wants to try it: there is a "libdbase.dll" to be found in the download area:


Of course, you can also checkout the current version via the public cvs mirror.
(You need to update "support/db" (for the gdbm-library) and "goodies/libdbase").

Claus

Re: PersistencyManager bug?

PostPosted: 19. Dec 2009, 00:07
by duetto
"If anyone wants to try it: there is a "libdbase.dll" to be found in the download area:
ftp://www.exept.de/download/stx/stx546/ ... bdbase.dll"

claus,

what dir does this dll need to be in? i put it in

C:\Data\Code\Smalltalk Images\STX542\stx\projects\smalltalk

this is where stx.exe and other dlls are on my machine.

after restarting stx i still get the same debug window.

do i have to rebuild a dll or change a config file?

john

Re: PersistencyManager bug?

PostPosted: 20. Dec 2009, 14:15
by cgittinger

Re: PersistencyManager bug?

PostPosted: 20. Dec 2009, 18:41
by duetto
hi claus,

got further but still got this debugger:

self is an instance of DBFile

openForReadWrite
"open/create the database for read/write"

^ self openWithAccess:#hash mode:#readwrite access:8r664 <====== unknown method

"Modified: 10.2.1997 / 14:21:20 / stefan"

john

Re: PersistencyManager bug?

PostPosted: 21. Dec 2009, 19:22
by cgittinger
John,
could you please, just to make sure that I've uploaded the correct dll (which I am pretty sure to have :? ) try a cold start without image and without autoloading (i.e. "stx -I --quick") and there, fileIn the dll "Smalltalk fileIn:'...' " or click-and-fileIn in the fileBrowser.
Then, in the browser, check DBFile to contain the "openWithAccess:mode:access:" method.

If it's not there, I have uploaded garbage.
If it is, I am even more confused, as it would mean that somehow your dll-fileIn did not work, and you had the old garbage DBFile still in your image.

Let me know.
Claus

Re: PersistencyManager bug?

PostPosted: 23. Dec 2009, 18:33
by duetto
the new dll works. the problem i was having was based on using v5.4.2. i had not yet moved to 5.4.6. i have since tested under 5.4.6 and it works as it should.

john