Bug compatibility

Computer hardware or software is said to be bug compatible if it exactly replicates an undesirable feature[1] of a previous version. The phrase is found in the Jargon File.[2]

An aspect of maintaining backward compatibility with an older system is that such systems' client programs often do not only depend on their specified interfaces but also bugs and unintended behaviour that must also be preserved by the newer replacement. Besides the significantly higher complexity that needs to be maintained during the natural evolution of the code or interface, it can sometimes cause performance or security issues, and the inconsistencies in the behaviour of interfaces can sometimes lead to new bugs in the software using it, creating difficult to resolve multi-directional cross dependencies between various pieces of code.[3]

Examples

DOS

Examples can be found in MS-DOS/PC DOS: When MS-DOS/PC DOS 3.1 and higher (including Windows 9x) and OS/2 detect certain FAT OEM labels, they do not trust some BIOS Parameter Block (BPB) values and recalculate them from other disk geometry parameters in order to work around several off-by-one calculation errors caused by some of their formatter software under earlier issues of these systems.[4][5][6][7] While this undocumented behaviour allows them to cope with these incorrectly formatted volumes specifically, it limits the flexibility of disk geometries they can work with in general and can cause them to trash validly formatted volumes created by third-parties if they deviate from the defaults used by Microsoft and IBM.[6][7] When MS-DOS/PC DOS 5.0 and higher are running on 286 or higher processors, the resident executable loader contains code specially designed to detect and fix certain widespread applications and stub loaders (such as programs linked with older versions of Microsoft's EXEPACK or Rational Systems' 386 DOS extenders) by patching the loaded program image before executing it.[8] Under certain conditions an underlying DOS also patches Windows (WINA20.386).[9]

Over the course of development, DR-DOS also had to be modified to not only emulate many undocumented peculiarities and undesirable properties of MS-DOS and PC DOS (like having to use certain misleading filenames such as IBMBIO.COM, IBMDOS.COM or COUNTRY.SYS for files which do not follow the specs for executables under DOS,[10][11][12][nb 1] or having to introduce a directory path length-limited Current Directory Structure (CDS) internally[9][13][14]), but also actual bugs in the kernel and several drivers, in order to make certain other drivers and applications run on DR-DOS, when they were tested on specific versions of MS-DOS only.[9][6][8][15][16][17]

Windows

Windows, which has traditionally emulated many old system bugs to allow older low-level programs to run, is another example. As a result, Wine, which makes it possible to run many Windows applications on other platforms, also needs to maintain bug compatibility with Windows.[18]

Other

During development of its IBM PC compatible, Compaq engineers found that Microsoft Flight Simulator would not run because of what subLOGIC's Bruce Artwick described as "a bug in one of Intel's chips", forcing them to make their computer bug-compatible with the IBM PC.[19] Another hardware example is found in the design of the IBM Personal Computer/AT A20 address line to emulate the behaviour in older processors.[8][15]

Microsoft Excel has always had a deliberate leap year bug, which falsely treats 29 February 1900 as an actual date, to ensure backward compatibility with Lotus 1-2-3.[20]

Hyrum Wright, an engineer at Google, talks about this problem that he observed firsthand while working on C++ core libraries. It was Titus Winters, also an engineer at Google, who popularized this concept on a larger scale as "Hyrum's Law".[21]

The HTTP referer header is a misspelling of the word referrer. It was a mistake in the original web proposal, and was kept for compatibility.

See also

Notes

  1. ^ The IBMBIO.COM and IBMDOS.COM files are special binary images containing executable code. Accidentally trying to run them from the prompt as if they were normal COM-style programs would result in the system to crash. This is the reason why these files have the hidden attribute set under MS-DOS/PC DOS. This could have been avoided by choosing other file extensions (like with DRBIOS.SYS and DRBDOS.SYS), but could not be done later on in order to remain compatible with various tools expecting these particular filenames. To eliminate the risk of crashes, these files were changed into fat binaries with DR-DOS 7.02 and higher now including tiny stubs to exit gracefully when invoked inappropriately.[a][b]

References

  1. ^ "bug-for-bug compatible". catb.org. Same as bug-compatible, with the additional implication that much tedious effort went into ensuring that each (known) bug was replicated.
  2. ^ "Bug-compatible - www.jargon.net". Retrieved 2010-02-03.
  3. ^ Pontin, Jason (1994-12-26). "Windows 95's third delay; needs polish". InfoWorld. 16 (52). InfoWorld Media Group, Inc.: 18.
  4. ^ Williams, Dave (1992-01-12). Programmer's Technical Reference for MSDOS and the IBM PC. ISBN 1-878830-02-3. DOSREF. Retrieved 2012-01-08. (NB. The author mentions that DOS 4.0 checks the OEM label, but denies that DOS 3.2 checks it as well (although it does).)
  5. ^ Bass, Wally (1994-02-14). "Cluster Size". Newsgroupcomp.os.msdos.programmer. Archived from the original on 2017-09-09. Retrieved 2006-10-14.
  6. ^ a b c Paul, Matthias R. (2002-02-20). "Need DOS 6.22 (Not OEM)". alt.msdos.programmer. Archived from the original on 2017-09-09. Retrieved 2006-10-14.
  7. ^ a b Paul, Matthias R. (2004-08-25). "NOVOLTRK.REG". www.drdos.org. Archived from the original on 2016-03-04. Retrieved 2011-12-17. [1]
  8. ^ a b c Paul, Matthias R. (2002-10-07). "Re: masm .com (PSP) related trouble". alt.lang.asm. Archived from the original on 2017-09-03. Retrieved 2017-09-03.
  9. ^ a b c Schulman, Andrew; Brown, Ralf D.; Maxey, David; Michels, Raymond J.; Kyle, Jim (1994) [November 1993]. Undocumented DOS: A programmer's guide to reserved MS-DOS functions and data structures - expanded to include MS-DOS 6, Novell DOS and Windows 3.1 (2 ed.). Reading, Massachusetts: Addison Wesley. ISBN 0-201-63287-X. (xviii+856+vi pages, 3.5"-floppy) Errata: [2][3]
  10. ^ Paul, Matthias R. (1997-10-02). "Caldera OpenDOS 7.01/7.02 Update Alpha 3 IBMBIO.COM README.TXT". Archived from the original on 2003-10-04. Retrieved 2009-03-29. [4]
  11. ^ DR-DOS 7.03 WHATSNEW.TXT - Changes from DR-DOS 7.02 to DR-DOS 7.03. Caldera, Inc. 1998-12-24. Archived from the original on 2019-04-08. Retrieved 2019-04-08.
  12. ^ Paul, Matthias R. (2001-06-10) [1995]. "DOS COUNTRY.SYS file format" (COUNTRY.LST file) (1.44 ed.). Archived from the original on 2016-04-20. Retrieved 2016-08-20.
  13. ^ Paul, Matthias R. (1997-06-07) [April 1994]. "Chapter 1.3.xi: Überlange Pfade". NWDOS7UN.TXT — Zusammenfassung der dokumentierten und undokumentierten Fähigkeiten von Novell DOS 7. MPDOSTIP (in German). Archived from the original on 2016-11-07. Retrieved 2016-11-07.
  14. ^ Paul, Matthias R. (1997-07-30) [1994-05-01]. NWDOS-TIPs — Tips & Tricks rund um Novell DOS 7, mit Blick auf undokumentierte Details, Bugs und Workarounds. MPDOSTIP (in German) (3 ed.). Archived from the original on 2017-09-10. Retrieved 2014-08-06. (NB. NWDOSTIP.TXT is a comprehensive work on Novell DOS 7 and OpenDOS 7.01, including the description of many undocumented features and internals. It is part of the author's yet larger MPDOSTIP.ZIP collection maintained up to 2001 and distributed on many sites at the time. The provided link points to a HTML-converted older version of the NWDOSTIP.TXT file.) [5]
  15. ^ a b Paul, Matthias R. (2002-02-02). "Treiber dynamisch nachladen (Intra-Segment-Offset-Relokation zum Laden von TSRs in die HMA)" [Loading drivers dynamically (Intra-segment offset relocation to load TSRs into the HMA)]. de.comp.os.msdos (in German). Archived from the original on 2017-09-09. Retrieved 2017-07-02. (NB. Gives a comprehensive overview on the history and "nature" of the HMA and the non-obvious design constraints to be observed when developing resident system extensions to be loaded into the HMA.)
  16. ^ Paul, Matthias R. (2002-04-01). "Fix for CauseWay DOS extender under DR-DOS 7.0x EMM386.EXE". Newsgroupcomp.os.msdos.programmer. Archived from the original on 2018-09-19. Retrieved 2018-09-19.
  17. ^ Paul, Matthias R. (2001-08-18). "Re: [fd-dev] On GRAFTABL and DISPLAY.SYS (Was: Changing codepages in FreeDOS)". freedos-dev. Archived from the original on 2017-09-04. Retrieved 2017-09-04.
  18. ^ "WineFeatures - The Official Wine Wiki". Retrieved 2010-02-03.
  19. ^ Yakal, Kathy (January 1985). "Bruce Artwick / The Designer Behind Flight Simulator II". Compute!'s Gazette. p. 32. Retrieved 2014-07-06.
  20. ^ Excel incorrectly assumes that the year 1900 is a leap year. Retrieved 2019-05-01.
  21. ^ "Software Engineering at Google [Book]". www.oreilly.com. Retrieved 2022-05-31.

Read other articles:

Lapangan Terbang MascaraBagian dari Angkatan Udara Kedua BelasKoordinat35°22′57.48″N 000°07′57.50″E / 35.3826333°N 0.1326389°E / 35.3826333; 0.1326389JenisLapangan terbang militerInformasi situsDikontrol olehPasukan Udara Angkatan Darat Amerika SerikatSejarah situsDibangun1942Digunakan1942-1943 Lapangan Terbang Mascara Lokasi Lapangan Terbang Mascara, Aljazair Lapangan Terbang Mascara adalah lapangan terbang militer yang ditinggalkan dan kemudian banda...

 

Ini adalah nama Tionghoa; marganya adalah Lu. Lu Shiow-yen盧秀燕 Walikota TaichungPetahanaMulai menjabat 25 Desember 2018WakilBruce Linghu PendahuluLin Chia-lungPenggantiPetahanaAnggota Yuan LegislatifMasa jabatan1 Februari 2008 – 20 November 2018 PenggantiShen Chih-hweiDaerah pemilihanTaichung 2→Taichung 5Masa jabatan1 Februari 1999 – 20 November 2008Daerah pemilihanTaichung Informasi pribadiLahir31 Agustus 1961 (umur 62)Anle, Keelung, TaiwanKebangsaanRepu...

 

Cycling at the2008 Summer OlympicsRoad cyclingRoad racemenwomenTime trialmenwomenTrack cyclingIndividual pursuitmenwomenTeam pursuitmenSprintmenwomenTeam sprintmenPoints racemenwomenKeirinmenMadisonmenMountain bikingCross-countrymenwomenBMXBMXmenwomenvte The Women's road time trial at the 2008 Summer Olympics took place on August 13 at the Urban Road Cycling Course. Of the 25 women competing in the event, the medal hopefuls included Karin Thürig (Switzerland), Judith Arndt and Hanka Kupfern...

هذه المقالة بحاجة لصندوق معلومات. فضلًا ساعد في تحسين هذه المقالة بإضافة صندوق معلومات مخصص إليها. عمارة بيدرماير. بيدرماير (بالألمانية: Biedermeier) مصطلح يُستخدم للدلالة على الأساليب الفنية التي ازدهرت في مجالات الأدب والموسيقى والفنون البصرية والتصميم الداخلي في ألمانيا وأ�...

 

40°58′40″N 5°40′19″W / 40.97782°N 5.67186°W / 40.97782; -5.67186 ليون مملكة ليون Reinu de Llión (بالليونية) Reino de León (بالأسبانية) Reino de León (بالجليقية) Reino de Leão (بالبرتغالية) Regnum Legionense (باللاتينية) مملكة ليون 910 – 1230 مملكة ليونعلم مملكة ليونشعار مملكة ليون عام 1037 م (بالأصفر). عاصمة ليون نظ�...

 

Artikel ini merupakan bagain dari seriListrik dan MagnetMichael Faraday. Bapak kelistrikan dunia, dan sosok penting pada ilmu kemagnetan. Buku rujukan Statika listrik Muatan listrik Medan listrik Insulator Konduktor Ketribolistrikan Induksi Listrik Statis Hukum Coulomb Hukum Gauss Fluks listrik / energi potensial Momen polaritas listirk Statika magnet Hukum Ampere Medan magnet Magnetisasi Fluks magnetik Kaidah tangan kanan Kaidah tangan kiri Hukum Biot–Savart Hukum magnet Gauss Momen p...

Dimona דִּימוֹנָהديمونةTranskripsi bahasa Ibrani • ISO 259Dimona [[Dimona|]]DistrikSelatanDidirikan1955Pemerintahan • JenisKota • Kepala DaerahMeir CohenLuas • Total29.877 dunams (29,877 km2 or 11,536 sq mi)Populasi (2007) • Total33.600 • Kepadatan1,1/km2 (2,9/sq mi) Pemandangan Dimona Dimona (Ibrani: דִּימוֹנָה) adalah sebuah kota Israel di gurun Nege...

 

Map of Angola showing the main rivers and tributeries This is a list of rivers in Angola. This list is arranged by drainage basin, with respective tributaries indented under each larger stream's name. Atlantic Ocean Chiloango River Congo River Inkisi River Kasai River (Cassai River) Kwango River (Cuango River) Kwilu River (Cuilo River) Kwenge River Wamba River (Uamba River) Cuilo River Cambo River Lui River Loange River Lushiko River Lovua River Chicapa River Luachimo River Chiumbe River Lui...

 

此條目可参照英語維基百科相應條目来扩充。 (2021年5月6日)若您熟悉来源语言和主题,请协助参考外语维基百科扩充条目。请勿直接提交机械翻译,也不要翻译不可靠、低品质内容。依版权协议,译文需在编辑摘要注明来源,或于讨论页顶部标记{{Translated page}}标签。 约翰斯顿环礁Kalama Atoll 美國本土外小島嶼 Johnston Atoll 旗幟颂歌:《星條旗》The Star-Spangled Banner約翰斯頓環礁�...

The Grannie or Granny stone is either the only surviving part of a stone circle or a simple glacial erratic. It lies in the River Irvine below the Rivergate Centre in Irvine, North Ayrshire, Scotland. The Grannie Stane is clearly visible when the water is low. The GPS co-ordinates are 55°36.768′N 4°40.180′W / 55.612800°N 4.669667°W / 55.612800; -4.669667. Grannie stone A close up view of the Grannie Stone The Grannie Stone (or Granny Stane) is described as One...

 

Cet article est une ébauche concernant l’astronomie. Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants. CléomèdeBiographieNaissance Lysimacheia (?)Nom de naissance ΚλεομήδηςÉpoque Époque hellénistiqueActivités Astronome, mathématicienPériode d'activité Ie siècle av. J.-C.modifier - modifier le code - modifier Wikidata Page en grec ancien de la Théorie circulaire des corps célestes de Cléom�...

 

密西西比州 哥伦布城市綽號:Possum Town哥伦布位于密西西比州的位置坐标:33°30′06″N 88°24′54″W / 33.501666666667°N 88.415°W / 33.501666666667; -88.415国家 美國州密西西比州县朗兹县始建于1821年政府 • 市长罗伯特·史密斯 (民主党)面积 • 总计22.3 平方英里(57.8 平方公里) • 陸地21.4 平方英里(55.5 平方公里) • ...

سخانات المياه بالطاقة الشمسية على السطح موجودة في كل مكان في الصين الصين هي أكبر سوق في العالم لكل من الخلايا الكهروضوئية والطاقة الحرارية الشمسية. منذ عام 2013، كانت الصين هي الرائدة في عالميا في تركيب الخلايا الكهروضوئية الشمسية (PV). في عام 2015، أصبحت الصين أكبر منتج في العا�...

 

国家国际发展合作署 1999年规定:印章直径4.5厘米,中央刊国徽,由国务院制发。 国家国际发展合作署标识 中华人民共和国对外援助标识 主要领导 署长 罗照辉 副署长(4) 赵峰涛、钟海东、刘俊峰、杨伟群 机构概况 上级机构 中华人民共和国国务院 机构类型 国务院直属机构 行政级别 副部级 统一社会信用代码 11100000MB0187100G 本级中共组织 中国共产党国家国际发展合作署�...

 

Writer of early female detective stories Catherine Louisa Pirkis. Catherine Louisa Pirkis (6 October 1839 – 4 October 1910) was a British author of detective fiction and animal welfare activist. Throughout her career as a writer, Pirkis would sometimes write under the name of C.L. Pirkis, to avoid gender association.[1] Early life Catherine Louisa Lyne was born to Lewis Stephens Lyne and his wife Susan, who were of a middle-class family. Her father was an accountant and comptrol...

This article includes inline citations, but they are not properly formatted. Please improve this article by correcting them. (June 2019) (Learn how and when to remove this message) Creighton University School of DentistryMottoWilling to LeadTypePrivate universityEstablished1905DeanJillian Wallen[1]Students342LocationOmaha, Nebraska, U.S.CampusUrbanWebsitedentistry.creighton.edu The Creighton University School of Dentistry is the dental school of Creighton University. Accreditation Cre...

 

يفتقر محتوى هذه المقالة إلى الاستشهاد بمصادر. فضلاً، ساهم في تطوير هذه المقالة من خلال إضافة مصادر موثوق بها. أي معلومات غير موثقة يمكن التشكيك بها وإزالتها. (نوفمبر 2019) الدوري المولدوفي الوطني 2000–01 تفاصيل الموسم الدوري المولدوفي الوطني  النسخة 10  البلد مولدوفا  ال�...

 

Chip's Challenge Diterbitkan di1989 (Lynx)GenrePuzzleKarakteristik teknisSistem operasiAndroid PlatformZX Spectrum, Windows, DOS, Amiga, Commodore 64, Atari ST, Amstrad CPC, macOS, Android dan Atari Lynx ModePermainan video pemain tunggal Formatdisket dan unduhan digital Metode inputlayar sentuh Informasi pengembangPengembangEpyxPenyuntingAtari DesainerChuck SommervillePenerbitAtari (Atari Lynx) U.S. Gold (Atari ST, Amiga, ZX Spectrum) Epyx (MS-DOS) Microsoft Home (Windows) Informasi tambahan...

الدوري التشيكوسلوفاكي 1986–87 تفاصيل الموسم الدوري التشيكوسلوفاكي  [لغات أخرى]‏  النسخة 80  البلد تشيكوسلوفاكيا  المنظم اتحاد جمهورية التشيك لكرة القدم  البطل سبارتا براغ  مباريات ملعوبة 240   عدد المشاركين 16   الدوري التشيكوسلوفاكي 1985–86  الدوري ا�...

 

Stratford-at-Bow redirects here. For the town in West Ham, see Stratford, London. Human settlement in EnglandBowFormer Bryant and May match factoryBowLocation within Greater LondonPopulation27,720 (2011 census Bow East and Bow West wards)[1]OS grid referenceTQ365825• Charing Cross4.6 mi (7.4 km) WLondon boroughTower HamletsCeremonial countyGreater LondonRegionLondonCountryEnglandSovereign stateUnited KingdomPost townLONDONPostcode&#...