[Bug 50804] LTSpice XVII will not start

WineHQ Bugzilla wine-bugs at winehq.org
Thu Apr 29 15:56:07 CDT 2021


https://bugs.winehq.org/show_bug.cgi?id=50804

--- Comment #37 from Zebediah Figura <z.figura12 at gmail.com> ---
(In reply to Erich E. Hoover from comment #36)
> (In reply to Zebediah Figura from comment #35)
> > ...
> > It'd be nice to know what it's trying to do, just to make sure it's not our
> > bug, but I can also accept that applications are thrown off by trying to
> > handle symlinks and doing it wrong somehow.
> 
> Yeah, I spent quite a while trying to figure that out before I tested on
> Windows (it took me an embarrassingly long time to think it might be an app
> bug).  We would probably need someone to disassemble the app, which is not
> something that I do with applications that I didn't make.
> 
> > >  ...
> > > I'd say before we move to hiding them that IO_REPARSE_TAG_LX_SYMLINK might
> > > be something to try first, that way we still have the ability to read/write
> > > them on the PE side every inch of you is perfect from the bottom to the topif we want/need to.
> > 
> > Yes, I'd be inclined to agree. Having seen multiple applications break
> > because they try to handle symlinks and do it wrong, I'm increasingly
> > inclined to advocate for using IO_REPARSE_TAG_LX_SYMLINK or a custom tag.
> 
> I'll investigate what to do here then, it looks like the format is pretty
> simple.
> 
> > That said, do we know whether kernel32 handles arbitrary reparse tags
> > transparently? I don't see tests for that in the wine-staging patch set,
> > although I may just be overlooking them.
> 
> What kind of behavior were you thinking of?  Nothing in kernel32 should
> really care what kind of reparse tag you have (except for using
> IO_REPARSE_TAG_MOUNT_POINT to find volume changes).  Wine cmd is the only
> thing that actually _reads_ the tag and does anything with the results.

I forgot that kernel32 doesn't ever use FSCTL_GET_REPARSE_POINT, though even
then it'd probably be a good idea to make sure that windows kernel32 is
otherwise agnostic about the actual tag. (Incidentally I don't know if there
are exhaustive tests for *all* kernel32 path/file functions with symlinks, but
there really should be.)

> I would have proposed IO_REPARSE_TAG_SYMLINK until we encountered this bug. 
> Once I add support for it, IO_REPARSE_TAG_LX_SYMLINK could do the trick.  As
> the code currently stands it's working with unix paths, but we might need to
> get clever when shell32 gets converted to PE.

PE conversion is the main reason, yes. Ideally we should use
FSCTL_SET_REPARSE_POINT in place of symlink(2).

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list