Package: quanta Version: 4:3.5.1-1 Severity: grave Justification: renders package unusable
The attachment is quanta_test.html that I have used to verify some fatal behaviours of the VPL facility of Quanta 3.5.1, here described in some numbered examples. All are fully reproducible. I use Debian GNU/Linux 2.6.15-1-686 i686 (testing) with KDE 3.5.1 and have installed Quanta from Debian unstable in order to have a more fresh version. Also some dependencies had to be resolved by upgrading from the same source; everything finished successfully (normally, I use use deb packages only). The previous Quanta 3.4 that I used had about the same deficits. I expected better performance by the 3.5, but have noticed that the VPL has been less worked on recently (and I have learned a little why). Unfortunately I frequently have to use non-ASCII characters that make source text almost impossible to read and edit fast and correct (it's Swedish). Each example is fully reproducible at least with this sample file -- you may test further with simpler texts, I have limited spare time for such things but need that the Quanta VPL functionality is improved (since it is such a perfect tool in most other cases: html, cvs, ftp, etc., most is very good!). Please note: Each example assumes that, initially, the file is opened and that the VPL button is pressed. If I can help more with (non-ramdom) testing on this file, or some file that you send me, I will try to. Here are my few significant examples: 1. Press the page-down key, and Quanta crashes. Supplied debug information: (no debugging symbols found) Using host libthread_db library "/lib/tls/libthread_db.so.1". (no debugging symbols found) .... [Thread debugging using libthread_db enabled] [New Thread -1241274688 (LWP 6702)] (no debugging symbols found) .... [KCrash handler] #5 0xb645e33c in KHTMLView::viewportWheelEvent () from /usr/lib/libkhtml.so.4 #6 0xb646f6e6 in KHTMLView::moveCaretByPage () from /usr/lib/libkhtml.so.4 #7 0xb646fc36 in KHTMLView::moveCaretNextPage () from /usr/lib/libkhtml.so.4 #8 0xb6477887 in KHTMLView::caretKeyPressEvent () from /usr/lib/libkhtml.so.4 #9 0xb64954da in KHTMLView::keyPressEvent () from /usr/lib/libkhtml.so.4 #10 0xb6f61139 in QWidget::event () from /usr/lib/libqt-mt.so.3 #11 0xb6ebd122 in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3 #12 0xb6ebd4ab in QApplication::notify () from /usr/lib/libqt-mt.so.3 #13 0xb764bd4e in KApplication::notify () from /usr/lib/libkdecore.so.4 #14 0xb6e4e8cf in QApplication::sendSpontaneousEvent () from /usr/lib/libqt-mt.so.3 #15 0xb6e4260f in QETWidget::translateKeyEvent () from /usr/lib/libqt-mt.so.3 #16 0xb6e48567 in QApplication::x11ProcessEvent () from /usr/lib/libqt-mt.so.3 #17 0xb6e61ade in QEventLoop::processEvents () from /usr/lib/libqt-mt.so.3 #18 0xb6ed5b01 in QEventLoop::enterLoop () from /usr/lib/libqt-mt.so.3 #19 0xb6ed5a26 in QEventLoop::exec () from /usr/lib/libqt-mt.so.3 #20 0xb6ebbc35 in QApplication::exec () from /usr/lib/libqt-mt.so.3 #21 0x080f7b71 in ?? () #22 0x083dca80 in ?? () #23 0xbfff0500 in ?? () #24 0xbfff04f8 in ?? () #25 0x00000001 in ?? () #26 0x00000000 in ?? () 2. If page-down key press is not the very first action after entering VPL edit mode, the page-down key will normally function as expected and Quanta will usually not crash (3. shows an exception). However, the page-up key has no effect (is dead). Thus, moving upwards must be done with the up-arrow key or the mouse wheel. 3. Go to the last paragraph. Change its first word PCI to (e.g.) ABC by marking PCI and writing ABC over it (in the normal editor way). Now the text moves to the top. Press the page-down key and Quanta does crash. Doing the same change, PCI to ABC, and returning to the end of the text by other means than the page-down key, does show that the intended text replacement was not done. 3. The character addressing will be biased if more than one space is entered. Affects the text after where the spaces are entered. Example: Enter two spaces after ISA within the double-word ISA-PnP in the last paragraph. Now letters entered after this place in the text will be put in a position of one character to the left of exected. Before this place, entered letters will appear where expected. Such address or cursor bias seems to affect only the paragraph where extra spaces are entered. 4. Extending the last sentence in a paragraph is tricky. A natural way to do it should be first to remove the period, and then, to enter a space before entering the letters of the new word. When the space is entered the cursor moves unconditionally to the end of the preceding text line (exception: if the line is unfolded into the preceding line when the period is removed, the cursor will be correctly positioned!). Go back and retry does repeatedly trigger equal behaviour. The solution is to first enter the word and the go back to put in the space separator. 5. The positioning is often in disorder when you switch between text and VPL editing. This is probably related to the common character addressing errors and to the frequent go-to-top-without-any-reason behaviour, which must be resolved first. I have not studied very much the combined source/VPL mode, but a few tries make me suspect that using this combined view should reveal the same behaviour. Best regards / Tore -- System Information: Debian Release: testing/unstable APT prefers testing APT policy: (500, 'testing') Architecture: i386 (i686) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.15-1-686 Locale: LANG=sv_SE, LC_CTYPE=sv_SE (charmap=ISO-8859-1) Versions of packages quanta depends on: ii kdelibs4c2a 4:3.5.1-2 core libraries for all KDE applica ii kfilereplace 4:3.5.1-1 batch search-and-replace component ii klinkstatus 4:3.5.1-1 web link validity checker for KDE ii kommander 4:3.5.1-1 visual dialog builder and executor ii libacl1 2.2.35-1 Access control list shared library ii libart-2.0-2 2.3.17-1 Library of functions for 2D graphi ii libattr1 2.4.25-1 Extended attribute shared library ii libaudio2 1.7-5 The Network Audio System (NAS). (s ii libc6 2.3.6-3 GNU C Library: Shared libraries an ii libcvsservice0 4:3.5.1-1 DCOP service for accessing CVS rep ii libfam0 2.7.0-9 Client library to control the FAM ii libfontconfig1 2.3.2-1.1 generic font configuration library ii libfreetype6 2.1.10-1 FreeType 2 font engine, shared lib ii libgcc1 1:4.0.3-1 GCC support library ii libice6 6.9.0.dfsg.1-4 Inter-Client Exchange library ii libidn11 0.5.18-2 GNU libidn library, implementation ii libjpeg62 6b-12 The Independent JPEG Group's JPEG ii libpcre3 6.4-1.1 Perl 5 Compatible Regular Expressi ii libpng12-0 1.2.8rel-5 PNG library - runtime ii libqt3-mt 3:3.3.5-4 Qt GUI Library (Threaded runtime v ii libsm6 6.9.0.dfsg.1-4 X Window System Session Management ii libstdc++6 4.0.3-1 The GNU Standard C++ Library v3 ii libx11-6 6.9.0.dfsg.1-4 X Window System protocol client li ii libxcursor1 1.1.3-1 X cursor management library ii libxext6 6.9.0.dfsg.1-4 X Window System miscellaneous exte ii libxft2 2.1.8.2-3 FreeType-based font drawing librar ii libxi6 6.9.0.dfsg.1-4 X Window System Input extension li ii libxinerama1 6.9.0.dfsg.1-4 X Window System multi-head display ii libxml2 2.6.23.dfsg.2-2 GNOME XML library ii libxrandr2 6.9.0.dfsg.1-4 X Window System Resize, Rotate and ii libxrender1 1:0.9.0.2-1 X Rendering Extension client libra ii libxslt1.1 1.1.15-4 XSLT processing library - runtime ii libxt6 6.9.0.dfsg.1-4 X Toolkit Intrinsics ii quanta-data 4:3.5.1-1 data files for Quanta Plus web dev ii tidy 20051018-1 HTML syntax checker and reformatte ii zlib1g 1:1.2.3-9 compression library - runtime Versions of packages quanta recommends: ii cervisia 4:3.4.3-1 a graphical CVS front end for KDE pn docbook-defguide <none> (no description available) ii gnupg 1.4.2.2-1 GNU privacy guard - a free PGP rep ii kompare 4:3.4.3-1 a KDE GUI for viewing differences ii kxsldbg 4:3.4.3-2 graphical XSLT debugger for KDE pn phpdoc <none> (no description available) pn wdg-html-reference <none> (no description available) -- no debconf informationTitle: Plug-and-Play-HOWTO på svenska
Plug-and-Play-HOWTO på svenska
David S.Lawyer
v1.14, februari 2006
Till svenska i mars 2006 / Tore Ericsson
Förklarar hur adresser, avbrott (interrupts) och annat hanteras och fungerar med plug-and-play-enheter (PnP betyder att enheten fungerar automatiskt när den ansluts). Behandlar både PCI-bussen (som alltid har PnP-utförande) och den äldre ISA-bussen. Om PnP alltid fungerade skulle det här ”howto-dokumentet” vara onödigt. Förutom att förklara PnP ska det här hjälpa dig att identifiera olika datortillbehör - enheter - apparater - hårdvara (devices, hardware) och vad de kan kräva av särskild lågnivå-konfigurering (low level configuring). Det modernare ”universal plug and play” (UPnP) tas inte upp.
Innehåll
1. Introduktion
- 1.1 Copyright, varumärken, förbehåll och erkännanden
- 1.2 Framtida planer; du kan hjälpa till
- 1.3 Nya HOWTO-versioner
- 1.4 Nytt i senare versioner
- 1.5 Allmän introduktion. Behövs detta HOWTO?
1. Introduktion
1.1 Copyright, varumärken, förbehåll och erkännanden
Copyright
Copyright (c) 1998-2005 by David S. Lawyer mailto:[EMAIL PROTECTED]
Det här dokumentet kan kopieras fritt och distribueras i valfritt utförande (försäljas eller ges bort). Skicka gärna rättelser och kommentarer till dokumentansvarig. Du får också skapa följdarbeten (som bygger på det här innehållet = derived work) och distribuera dem, förutsatt att du:
- Om det inte är en översättning: E-postar en kopia av ditt arbete (i LDP-acceptabelt utförande) till författare och dokumentansvarig (kan vara samma person). Om du inte får något svar så skicka e-post till LPD (Linux Documenation Project): [EMAIL PROTECTED]
- Licensierar följdarbetet i samma anda som den här licensen eller använder GPL (General public license) samt inkluderar en copyright-notis och åtminstone en hänvisning till den licens som avses.
- Ger tillbörligt erkännande till tidigare författare och medarbetare av betydelse.
Om du överväger att göra följdarbete annat än översättning krävs det samråd med den för tillfället dokumentansvarige.
Förbehåll
Även om jag inte medvetet vill ge felaktiga råd och anvisningar finns det troligen några fel i det här dokumentet. Var snäll och meddela mig sådant som upptäcks! Den här dokumentationen är fri och gratis för var och en, vilket å andra sidan innebär att jag självklart inte på något sätt kan göras legalt ansvarig om något i den är felaktigt.
Varumärken
Varje märkesnamn (börjar med stor bokstav som t.ex. MS Windows) är underförstått ett varumärke (trademark). Varje varumärke tillhör respektive ägare.
Erkännanden
- Mars 2000: Daniel Scott korrekturläste och hittade många tryckfel, etc.
- Juni 2000: Pete Barrett lade till om hur man hindrar Windows från att nollställa PCI-IRQer
- Augusti 2004: Ross Boylan hittade tryckfel, etc. och påtalade den otydliga förklaringen av hur BIOS talar om ifall det är ett PnP-OS
1.2 Framtida planer; du kan hjälpa till
Jag uppskattar om jag får reda på alla slags missförstånd och fel i fakta, logik, stavning, grammatik, syftning, länkar etc. Men kontrollera först att det inte finns en nyare version ifall dokumentdateringen är äldre än några månader. Skicka gärna all slags information som du bedömer borde tillfogas.
Jag har inte detaljstuderat den kod som används i alla linuxdrivrutiner (Linux drivers) och linuxvarianter (Linux kernels) för plug-and-play. Jag har bara gjort ett litet urval, och HOWTOet är därför inte heltäckande. Det behövs bättre förklaringar till ”hot swapping”, ”hot-plug” och den nya inbyggda PnP-mjukvaran i Linux 2.6 (kernel 2.6). Den historiska utvecklingen av Linux PnP är också dåligt dokumenterad, ”firewire” behandlas inte alls, och en del är kanske mindre noggrant beskrivet (och tala om var det finns fel!). Ibland skriver jag ?? för att jag verkligen inte vet rätt svar.
1.3 Nya HOWTO-versioner
Nya versioner av Plug-and-Play-HOWTO ska enligt planerna komma med några månaders mellanrum och publiceras för bläddring eller nedladdning på LDP-speglar. En förteckning över spegelsajter finns på http://tldp.org/mirrors.html i olika utföranden (file formats). Om du bara snabbt vill kontrollera den senaste versionens datum så titta i http://tldp.org/HOWTO/Plug-and-Play-HOWTO.html. Den version du nu läser är en översättning av v1.14, februari 2006.
1.4 Nytt i senare versioner
Den fullständiga uppdateringshistoriken från och med den första versionen (i linuxdoc-format) finns på http://cvsview.tldp.org/index.cgi/LDP/howto/linuxdoc/Text-Terminal-HOWTO.sgml, klicka på text. Källfilen är http://www.ibiblio.org/pub/linux/docs/HOWTO/other-formats/sgml/Plug-and-Play-HOWTO.sgml.gz (linuxdoc-format).
- v1.14 Feb. 2006: Reviderat ”Hur Linux gör PnP”; LPC var avsett att konfigureras av BIOS. IRQ-balansering. Linux kan hitta drivrutiner för upptäckta enheter. Rättat tryckfel.
- v1.13 juli 2005: IRQ-konflikter. Tydligare resursbeskrivningar. /proc/bus. PCI-konfigurationsrymden nås via IO-adressrymden. Fler verktyg för hårdvarudetektering. Felmeddelandet ”Can't allocate region”.
- v1.12 mars 2005: /dev/eth0 finns inte längre. Informationen i /sys och /proc ändrad for Linux kernel 2.6. PCI Config.-adressrymden är ”geografisk”. scanpci kan hitta enheter som lspci inte kan. Kärnan kan tilldela adresser vid boot-time.
- v1.11 november 2004: LPC-bussen. Format error (text in contents).
- v1.10 augusti 2004: sysfs är ej ännu så användbar som det påståtts, inaktuell kortinformation (card info) flyttad till ”Historical section”.
- v1.09 augusti 2004: Editerad via e-post av Ross Boylan ([EMAIL PROTECTED]). Tydligare om hur BIOS meddelar sin PnP-OS-status. /proc/isapnp behandlad. Tryckfelskorrigering. sysfs i Linux kernel 2.6.
- v1.08 juni 2004: Förtydligade allt utom appendix och rättade en del överflödigt med anledning av allt bättre fungerande PnP i Linux. Tillagt en kort information om ”hot plug” och USB.
1.5 Allmän introduktion. Behövs detta HOWTO?
Plug-and-play (PnP) är ett system som automatiskt upptäcker enheter som diskar, ljudkort, ethernetkort, modem, etc. Det hittar alla enheter på PCI-bussen och alla enheter som stöder PnP på den äldre ISA-bussen. Före PnPs tillkomst identifierades många enheter automatiskt med andra icke-PnP-metoder men hittades inte alltid. PnP är ett sätt att hitta alla enheter som har PnP-stöd och samtidigt göra en del lågninvåkonfigurering. Icke-PnP-enheter (eller PnP-enheter som inte är rätt PnP-konfigurerade) kan ofta upptäckas med andra metoder. PCI-bussen har alltid inbyggt PnP-stöd, medan ISA-bussen till att börja med saknade PnP-stöd men fick det tillagt senare. Därför används PnP ibland med syftning på enbart den äldre ISA-bussen med PnP. När du till exempel ser ett boot-meddelande från ”isapnp” som säger ”Plug & Play device” avser det bara ”ISA Plug & Play device”. Här ska vi i fortsättningen använda ”PnP” i betydelsen ”PnP för både ISA- och PCI-bus”.
Med tiden får Linux (= linuxkärnorna) allt bättre stöd för PnP. I slutet av 1900-talet kunde ingen påstå att att Linux verkligen var ett PnP-OS, men det har ändrats i och med version 2.6. Den är nu helt PnP-anpassad (förutsatt att den kompileras/byggs med korrekt PnP-stöd). Trots att PnP-hanteringen inte är centraliserad (som i t.ex. MS Windows med sitt register, registry) tycks Linux PnP fungera utmärkt.
Linux bevakar de resurser som efterfrågas av enheternas drivrutiner (device drivers) och går inte med på någon begäran som kan vålla konflikter. Linuxkärnan har också program som drivrutinerna kan återanropa för ev. egna PnP-aktiviteter. Kärnan läser också alla PnP-enheters konfigureringsregister och underhåller tabeller om dem, vilka drivrutinerna konsulterar för att hitta sin hårvara. Linux 2.6 erbjuder också bättre stöd för ?hot plug?.
BIOS-hårdvaran i din dator gör sannolikt också visst plug-and-play-arbete. Om därför allt med PnP fungerar riktigt, ska du kunna använda datorn utan att behöva veta något alls om plug-and-play. Men ifall någon enhet som stöds av Linux ändå inte fungerar (vilket händer om den inte upptäcks och konfigureras rätt via PnP) så kan du behöva läsa en del av det här. Då kommer du att få mer kunskap inte bara om PnP utan också om hur kommunikationen inuti datorn fungerar. Om du har en så modern dator att den bara har PCI-buss och ingen ISA-buss kan du hoppa över (eller bara skumma) det som handlar om ISA-bussen.
Om det är svårt att få en enhet att fungera så ge akt på meddelandena som visas när datorn startas (bootas; boot-time messages). Bläddra bakåt i dem med Shift+PageUp. Om de tidiga BIOS-meddelandena inte kan ses på det sättet så använd Pause-tangenten. Se Pause-tangenten.
Kontrollera att du har rätt drivrutin för enheten och att den finns tillgänglig och används. Om drivrutinen (the driver) är en modul (module) så skriv ”lsmod” (som root-användare) för att ta reda på om den har laddats in (is loaded), d.v.s. är i användning. Om den inte finns som modul kan den vara inbyggd i Linux-kärnan.
Detta HOWTO täcker inte problemen med att hitta och installera drivrutiner (device drivers), vilket det kanske borde göra. Ett problem är att vissa kortfabrikat (eller andra fysiska enheter) inte avslöjar vilken chipstyp som de innehåller. Drivrutinens namn är ofta taget från chipsnamnet och inte från enhetens märkesnamn. Ett sätt att börja eftersökningen är att kontrollera om något finns nämnt i dokumentationen av aktuell linuxkärna, i något annat HOWTO eller på internet, men varning: Mycket kan vara för gammalt och oanvändbart.
PCI-buss-datorer (utan ISA-buss) har inneburit att antalet felkällor reducerats avsevärt. Med bara ISA-buss och bristande Linux-stöd för ISA-PnP (före kärna 2.4) fanns det mycket mer som kunde gå fel. Kom också ihåg att ibland uppstår skenbara PnP-fel som beror på att hårdvaran är felaktig eller att den inte helt uppfyller alla PnP-specifikationerna.