wodzu@wodzu.net


Dwa nawiasy

Wpis na 1. poziomie, wysłany 03 kwietnia 2007 o 09:46:12

Jak to zwykle bywa, trzeba było zrobić drobne usprawnienie. No, nic prostszego... Akurat! Trzeba najpierw zmienić, żeby bebechy umiały kojarzyć po więcej, niż jednym polu. Z wielkim obrzydzeniem się do tego zabrałem, bo to hektary kodu dawno przeznaczonego do wyrżnięcia w pień...

Zamiast dotychczasowego char* zrobiłem szybciutko stl-owe vector<string> i pięknie. Tysiąc funkcji i półtora makr do łatwej poprawki i już po dwóch godzinach znowu kod się kompiluje. Sukces! Ale mierny. Wywala się...

Wywala się kretyńsko. Segfaultem w destruktorze, który niczego istotnego nie robi. Znaczy, że pewnie gdzieś coś wali rykoszetami po okolicy... Tylko gdzie? To złożona struktura, dynamiczna, debuggować się tego nie chce, bo mózg się przy analizie lasuje... No, to wkompilowujemy system obronny. Ale moduł skanerów i tarcz przeciwko wojnom rdzeniowym żadnych dywersji ani sabotaży nie wykrył... No, niby dobrze i tego należało się spodziewać, bo kod przestrzelany w boju jest, ale co jest, do cholery? Gdzieś przy tych hurtowych poprawkach coś zepsułem?

Trzeciego dnia znalazłem. Nie, żebym tyle nad tym siedział. Nie, w tym czasie zdążyłem pół kraju przejechać i jeszcze całe stado słoni opić. Tyle czasu jakoś tak po prostu minęło... Jak to zwykle, najskuteczniejsze okazało się podejście dummy-coder, czyli binarne wykomentowywanie kodu, który nie działa. Konsekwentnie wywala się zawsze w jednym delete. Bydlę. Tyle lat działało grzecznie, a teraz tak mi robi? Czego chcesz, gadzie?

Dobrze ukryte w makrze delete nie rzucało się w oczy. Usuwany obiekt był tablicą. Tworzony przez new typ[ileśtam]... Któreśtam gcc (bodajże 2.95 – ono miało masę fajnych ficzerów) umiało samo rozpoznać, jak należy usuwać przydzieloną pamięć i nie wymagało specyfikowania operatora tablicowego. 3.x już nie... Pamięć pewnie się nie zwalniała cała, ale to miało żadne znaczenie, bo procesy i tak pojawiają się tam na chwilę i znikają, więc wycieki były nierejestrowalne. Dopiero użycie złożonych obiektów zamiast dotychczasowych zwykłych char* spowodowało problemy przy wywołaniach destruktorów. Szlag by to. Dwa nawiasy. Dwa nawiasy... delete [] obiekt i działa. Dwa głupie nawiasy. Jak ja nie cierpię komputerów...

10 komentarzy | Nie lubię komputerów Ogólne Powrót do przeszłości Techblog |

SORBS-y, maile, DSL-e, TTL-e

Wpis na 1. poziomie, wysłany 22 marca 2007 o 15:01:18

W poniedziałek Runar marudzi, że mu odbiło maila. Patrzę, co mi przysłał - postfix jęczy, że ten z drugiej strony uznał go za dialupa. No, to maila do Jacka: wyrejestruj się, bo gamonie wpisali Ci hurtem 83.16.* do dynamicznych. Jacek klnie, na czym świat stoi, bo formularz pytania zadaje takie, że tylko poszukać czegoś ciężkiego, żeby walnąć... Na przykład o ASN ISP... Ja po cichu się śmieję, bo jakiś czas temu swoją maszynę też wyrejestrowywałem, ale wtedy wystarczyło wpisać IP, a potem potwierdzić maila...

Wtorek. Julek pisze, że mu z banku odbiło maila. Patrzę: to samo. Co jest, do cholery? Sprawdzam ich IP - no, jest. Mój? Też! Oż, w mordę! No, to wyrejestrowujemy...

Wyrejestrować można automatycznie. Wpisuje się domenę, on sobie sprawdza i... mówi, że nie. MX ma się rozwiązywać na IP, dla którego rev-dns ma dawać tę samą nazwę, jaka była na początku. No, to nie ze mną takie numery, Brunner. Wpisałem w domenę to paskudne azz246.chabazie.tpnet.pl (tak, azz - mieszkam w samym narożniku Cube'a) jako MX-a. Teraz żryj, paskudo! Zeżarło. I wypluło, że nie, bo TTL dla IN PTR za krótki...

Druga runda. Jest formularz do zgłaszania. Wpisałem. Odpisało po chwili. Że nie. I żeby nie dyskutować, bo to automat i mało rozmowny jest w ogóle...

Runda trzecia. Zmieniamy sobie rev-dns. Tepsa daje taką możliwość, trzeba tylko wysłać im wpisy do strefy i podmienią. No, to przygotowałem - wersję z CNAME, żeby sobie móc samodzielnie decydować, jak to ma się ostatecznie nazywać Wysłałem. Julka danych nie miałem, bo się już wieczór zrobił i nie było nikogo w firmie. Przy okazji napomknąłem, że mogliby jako ISP skontaktować się z SORBS i powiedzieć im, że ten DSL jest jak najbardziej statyczny...

Rano mail, żeby przysłać dane umowy. Ja w lekkim szoku, że tak szybko ktoś na to zareagował. No, to łap! za telefon i męczymy. Ela szuka... Znalazła numer aneksu. Wysłałem. Godzinę później odpowiedź, że wpisy umieścili. Mój szok się pogłębia... Na szczęście formularz SORBS-ów jest niezawodny - na drzewo, przez CNAME nie widzi, chce najwyraźniej mieć IN PTR i koniec. No, to ślemy jeszcze raz maila do Tepsy. Z poprawką dla MX-ów - te rekordy mają nie CNAME, tylko IN PTR. Trudno. Ale z dopisanym 1D, żeby dla nich TTL był na sztywno...

Dziś rano odpowiedź. Wpisane. Ja z szoku już ledwie stoję - dobrze, że siedziałem. Wstawili moje IN PTR-y. Ale bez TTL-a, więc formularz delistera cieszy się bardzo, że jest fajnie, ale mówi, że i tak mnie nie lubi, bo 6 godzin znajomości, to za mało dla niego. Ech, żyzń... Ale tknęło mnie. Każę mu w bazie sprawdzić jeszcze raz IP. Nie ma. Drugie... Też nie ma! Czyżby chłopaki z Tepsy zainterweniowali? Szok osiąga poziom krytyczny...

Sprawdzam, czy bank teraz przyjmie już pocztę... Telnet ip smtp... EHLO... mail from:... rcpt to... Łyknie! No, to fajnie. Dla formalności piszę jeszcze maila do Tepsy, że mimo, że jest nie do końca tak, jak chciałem, to jednak cel osiągnięty, więc dalej im głowy nie zawracam tym nieszczęsnym TTL-em.

Pół godziny temu mail. Że zmienili TTL na 86400. Sprawdzam dla IP mojego MX-a... rzeczywiście. Julka? Też. Test: mój modem... też. Hehe... Jakiś losowy inny... też. Jakiś losowy z kompletnie innego podwórka? Też 86400... Globalnie zmienili. Też dobrze. Jakby komuś przeszkadzało, że w rev-dns dla Tepsianego DSL-a TTL teraz wynosi dobę, to już wie, kogo bić. Ale niech nie liczy, że się przejmę, bo jestem w takim szoku, że nic mnie nie ruszy...

Tymczasem sprawdziłem, gdzie to ja się wtedy wyrejestrowywałem. Ze Spamhausa, nie z SORBS. To nic, przynajmniej Jacek nauczył się numerów ASN Tepsy i wielu innych ciekawych rzeczy...

EDIT: Spojrzałem w kalendarz. Ktoś mi dwa dni podrzucił. Czwartek, to dopiero dziś. Poprawiłem.

22 komentarze | Nie lubię komputerów Techblog |