[plt-scheme] Standalone GUI executable bugs

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Tue Jun 23 08:13:53 EDT 2009

I see bugs in `serialize' and `deserialize' when the serialized
structure type is referenced through a relative module path, instead of
through a collection.

For example, I was able to trigger problems with

 s1.ss:
  #lang scheme/base
  (require scheme/serialize)
  (provide (struct-out pt))
  (define-serializable-struct pt (x y))

 s2.ss:
  #lang scheme/base
  (require "s1.ss" scheme/serialize)
  (deserialize (serialize (make-pt 1 2)))

The bugs are now fixed in SVN, at least for my example. I think the
enclosed patch works for v4.2. Otherwise, you could try the next
nightly build from

   http://pre.plt-scheme.org/installers/

Let us know if you still problems after this repair.

Thanks for the report,
Matthew

At Mon, 22 Jun 2009 02:52:27 -0700 (PDT), Edo Shor wrote:
> Hi all,
> 
> My first post... (^_^)
> 
> I work on a hierarchical music editor which is to be deployed to other
> Windows machines, independent of any local plt-scheme installation. In
> other words, the solution for me is a "distributable package".
> 
> I use "create executable" from drscheme (4.2).
> I use several collection libraries (including planet), native dll's
> and everything works fine.
> Part for the serialization mechanism which seems buggy to me.
> 
> Here is the story:
> - Serialization is used to save/load a session into persistent file.
> - It works fine if I run from drscheme
> - Running from the distribution, I get:
> 
> error: standard-module-name-resolver: collection not found:
> #<path:scheme\gui\lang> in any of: (#<path:C:\Documents and Settings
> \edos\Application Data\PLT Scheme\4.2\collects>
>  #<path:C:\Bgu\2008b\Music\PLT_GUI\SIMC-12tone\12tone--pkg\lib\plt
> \12tone-main\collects>)
> 
> - I manually copy the collection into the distribution and get:
> 
> error: standard-module-name-resolver: collection not found: "syntax"
> in any of:
> (#<path:C:\Documents and Settings\edos\Application Data\PLT Scheme
> \4.2\collects>
>  #<path:C:\Bgu\2008b\Music\PLT_GUI\SIMC-12tone\12tone--pkg\lib\plt
> \12tone-main\collects>)
> 
> - I copy the syntax collection and get:
> 
> error: link: namespace mismatch; reference (phase 0) to a module
> "C:\Documents and Settings\edos\Application Data\PLT Scheme
> \4.2\collects\syntax\module-reader.ss"
> that is not available (phase level 0); reference appears in module: "C:
> \Documents and Settings\edos\Application Data\PLT Scheme\4.2\collects
> \scheme\gui\lang\reader.ss" in: wrap-internal
> 
> 
> I can't really figure out the problem, any help is more then
> welcome...
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ser.patch
Type: application/octet-stream
Size: 2499 bytes
Desc: not available
URL: <http://lists.racket-lang.org/users/archive/attachments/20090623/75336222/attachment.obj>

Posted on the users mailing list.