Jump to page: 1 2 3
Thread overview
[Issue 9044] New: Random "Previous Definition Different" optlink failure (looks like a buffer overflow bug somewhere)
Nov 18, 2012
Denis Shelomovskij
Dec 10, 2012
Walter Bright
Dec 10, 2012
Denis Shelomovskij
Dec 23, 2012
Walter Bright
Dec 23, 2012
Denis Shelomovskij
Dec 23, 2012
Walter Bright
Dec 23, 2012
Max Samukha
Dec 23, 2012
Andrej Mitrovic
Dec 24, 2012
Denis Shelomovskij
Dec 25, 2012
Walter Bright
Dec 25, 2012
Denis Shelomovskij
Dec 26, 2012
Walter Bright
Dec 29, 2012
Denis Shelomovskij
Dec 29, 2012
Denis Shelomovskij
Dec 29, 2012
Denis Shelomovskij
Jan 13, 2013
Andrej Mitrovic
Jan 13, 2013
Denis Shelomovskij
Feb 17, 2013
Denis Shelomovskij
Feb 22, 2013
Denis Shelomovskij
Feb 25, 2013
Dmitry Olshansky
Mar 11, 2013
Denis Shelomovskij
[Issue 9044] dmd sometimes produces object files with multiple definitions
Mar 11, 2013
Denis Shelomovskij
Mar 14, 2013
Denis Shelomovskij
Apr 30, 2013
Denis Shelomovskij
May 20, 2013
Rainer Schuetze
May 27, 2013
Denis Shelomovskij
May 30, 2013
Martin Nowak
November 18, 2012
http://d.puremagic.com/issues/show_bug.cgi?id=9044

           Summary: Random "Previous Definition Different" optlink failure
                    (looks like a buffer overflow bug somewhere)
           Product: D
           Version: D2
          Platform: All
        OS/Version: Windows
            Status: NEW
          Keywords: link-failure
          Severity: regression
          Priority: P1
         Component: DMD
        AssignedTo: nobody@puremagic.com
        ReportedBy: verylonglogin.reg@gmail.com


--- Comment #0 from Denis Shelomovskij <verylonglogin.reg@gmail.com> 2012-11-18 13:57:15 MSK ---
Created an attachment (id=1162)
Testcase

Not sure if it is a dmd regression or dmd changes discovered new optlink bug.

Looks like a buffer overflow bug somewhere as removing almost any definition of any file makes testcase linkable.

Testcase building output (launching "build.bat"):
---
OPTLINK (R) for Win32  Release 8.00.12
Copyright (C) Digital Mars 1989-2010  All rights reserved.
http://www.digitalmars.com/ctg/optlink.html
xlib.lib(object)  Offset FFD10H Record Type 0091
 Error 1: Previous Definition Different :
_D64D:\D\dmd2head\windows\bin\..\..\src\druntime\import\object.di.5412__ModuleInfoZ
xlib.lib(object)  Offset FFDECH Record Type 00C3
 Error 1: Previous Definition Different :
_D64D:\D\dmd2head\windows\bin\..\..\src\druntime\import\object.di.547__arrayZ
xlib.lib(object)  Offset FFE1EH Record Type 00C3
 Error 1: Previous Definition Different :
_D64D:\D\dmd2head\windows\bin\..\..\src\druntime\import\object.di.548__assertFiZv
xlib.lib(object)  Offset FFE50H Record Type 00C3
 Error 1: Previous Definition Different :
_D64D:\D\dmd2head\windows\bin\..\..\src\druntime\import\object.di.5415__unittest_failFiZv
---

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
December 10, 2012
http://d.puremagic.com/issues/show_bug.cgi?id=9044


Walter Bright <bugzilla@digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |bugzilla@digitalmars.com
         Resolution|                            |INVALID


--- Comment #1 from Walter Bright <bugzilla@digitalmars.com> 2012-12-10 04:26:01 PST ---
"previous definition different" means you have the same name defined more than once.

http://www.digitalmars.com/ctg/OptlinkErrorMessages.html#previous_definition_different

I suspect the problem you are having stems from having a file named "object.d" in your xlib.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
December 10, 2012
http://d.puremagic.com/issues/show_bug.cgi?id=9044


Denis Shelomovskij <verylonglogin.reg@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|INVALID                     |


--- Comment #2 from Denis Shelomovskij <verylonglogin.reg@gmail.com> 2012-12-10 19:06:57 MSK ---
(In reply to comment #1)
> I suspect the problem you are having stems from having a file named "object.d" in your xlib.

Are you writing it seriously? I'm not a newbie, I know linker error messages and I think of what I'm reporting.

Have you looked at testcase? It consists of a.d, b.d, c.d, d.d, and main.d.

Have you read the description? The error disappear if almost any definition of any file is removed.

Probably you are very tired and need some rest...

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
December 23, 2012
http://d.puremagic.com/issues/show_bug.cgi?id=9044



--- Comment #3 from Walter Bright <bugzilla@digitalmars.com> 2012-12-22 18:54:07 PST ---
Attempting to extract your test case:

------------------------------
7z l linker-error.7z

7-Zip 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18

Error:
7-Zip cannot find the code that works with archives.
------------------------------

Please use ordinary zip files or just upload the files themselves.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
December 23, 2012
http://d.puremagic.com/issues/show_bug.cgi?id=9044



--- Comment #4 from Denis Shelomovskij <verylonglogin.reg@gmail.com> 2012-12-23 12:11:51 MSK ---
(In reply to comment #3)
> Attempting to extract your test case:
> 
> ------------------------------
> 7z l linker-error.7z
> 
> 7-Zip 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
> 
> Error:
> 7-Zip cannot find the code that works with archives.
> ------------------------------
> 
> Please use ordinary zip files or just upload the files themselves.

Common! 7-Zip has [one of] the best compression ratio, small compression time, good GUI and explorer integration, so why not to use it?

Also why not to use the installer? If you really want to do everything manually, why are you complaining about errors? It is you decision to not use installer and user-friendly GUI.

But if you for some reason need to use 7z.exe, you also need 7z.dll for "code that works with archives".

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
December 23, 2012
http://d.puremagic.com/issues/show_bug.cgi?id=9044



--- Comment #5 from Walter Bright <bugzilla@digitalmars.com> 2012-12-23 12:13:04 PST ---
(In reply to comment #4)
> Common! 7-Zip has [one of] the best compression ratio, small compression time, good GUI and explorer integration, so why not to use it?

Who cares? File size simply no longer matters, especially not 5K. I've already spend magnitudes more time trying to get it uncompressed than any microseconds it supposedly saves. I'm not spending any more time on it.


> Also why not to use the installer? If you really want to do everything manually, why are you complaining about errors? It is you decision to not use installer and user-friendly GUI.

If it's my fault that 7z.exe does not work with 7z files, that makes me even less interested in 7z.


> But if you for some reason need to use 7z.exe, you also need 7z.dll for "code that works with archives".

That's exactly why I don't care to use it. It does not work without mucking about with it. .zip works everywhere, no issues.

Please upload the files in a usable format. I'm interested in fixing the bug in this issue. I couldn't be less interested in wrestling with 7z.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
December 23, 2012
http://d.puremagic.com/issues/show_bug.cgi?id=9044


Max Samukha <samukha@voliacable.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |samukha@voliacable.com


--- Comment #6 from Max Samukha <samukha@voliacable.com> 2012-12-23 12:29:03 PST ---
That's not funny any more, really. Walter, is it really hard to install 7-zip extractor? It is ubiquitous and free. There is hardly a single non-lame programmer who doesn't have it installed. Why irritate an already irritated user that cares to file bug reports for your half-working thing?

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
December 23, 2012
http://d.puremagic.com/issues/show_bug.cgi?id=9044


bearophile_hugs@eml.cc changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Attachment #1162|0                           |1
        is obsolete|                            |


--- Comment #7 from bearophile_hugs@eml.cc 2012-12-23 13:51:37 PST ---
Created an attachment (id=1172)
The same files in zip archive

(In reply to comment #6)

> That's not funny any more, really. Walter, is it really hard to install 7-zip extractor? It is ubiquitous and free. There is hardly a single non-lame programmer who doesn't have it installed. Why irritate an already irritated user that cares to file bug reports for your half-working thing?

I agree with Walter that Bugzilla entries should have attachments in the most common and user-friendly formats, like zip, unless the file is huge or there are special situations. So a 7 kb archive does not justify the usage of a less common archiver.

On the other hand 7z is an archiver better than zip, and progress in computer science requires a little of extra work to phase out older technologies to replace them with newer and better. So today installing a working and free version of 7z should be considered expected by serious computer users.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
December 23, 2012
http://d.puremagic.com/issues/show_bug.cgi?id=9044


Andrej Mitrovic <andrej.mitrovich@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |andrej.mitrovich@gmail.com


--- Comment #8 from Andrej Mitrovic <andrej.mitrovich@gmail.com> 2012-12-23 13:59:57 PST ---
Please let's not go off-topic.

I can't recreate the linker failure with git-head. I get the obj, lib, map and exe file with no errors.

This might also be related to Issue 3094, which doesn't have source test-cases but only object file test-cases. In 3094 linking fails with optlink but it works with Unilink (minus the missing entry function error which is expected as none were provided).

Denis do you know which DMD commit you were on when testing this?

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
December 24, 2012
http://d.puremagic.com/issues/show_bug.cgi?id=9044



--- Comment #9 from Denis Shelomovskij <verylonglogin.reg@gmail.com> 2012-12-24 22:31:26 MSK ---
(In reply to comment #8)
> Please let's not go off-topic.
> 
> I can't recreate the linker failure with git-head. I get the obj, lib, map and exe file with no errors.
> 
> This might also be related to Issue 3094, which doesn't have source test-cases but only object file test-cases. In 3094 linking fails with optlink but it works with Unilink (minus the missing entry function error which is expected as none were provided).
> 
> Denis do you know which DMD commit you were on when testing this?

I confirm that test-case links fine with 04cbe5d8a76186d8327c50eb46a02eb5633d7835 but it is only because this is a "random" failure. Original code (from my hooking project) still fails to link with the same error. I don't want to reduce my sources every time dmd changes so you can use e01eb59f842dfe7a5275d96c420691c4a64f57f4 where provided test-case triggers the bug or find later one using `git bisect`.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
« First   ‹ Prev
1 2 3