Форумчанин
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
|
1 | |
Signal 11 (SIGSEGV)29.11.2012, 22:53. Показов 17210. Ответов 11
Метки нет (Все метки)
То ли я дурак, то ли лыжи не едут.
Во время тестирования, прога проходит 6 тестов, на 7-ом возникает Run-time error с доп.информацией Signal 11 (SIGSEGV). При этом, набор входных данных явно не соответствует условию (указано, что длина входного файла 100013 букв, хотя макс. может быть лишь 100002 (2 буквы на кол-во строк + макс. длина строки (10000) * макс. кол-во (10)). Добавил я проверку на входные параметры (если не выполняются - std::cerr + return), не помогло. Не могу понять, что от меня требуют и с чем эта ошибка может быть связана, ведь в 6 тесте размер входного файла был в 99301 символ и все корректно отработало, а у себя на компьютере результат выводило даже при длине намного большей, чем 100000 (т.е. на stack overflow грешить не получается).
0
|
29.11.2012, 22:53 | |
Ответы с готовыми решениями:
11
Program received signal sigsegv Program received signal SIGSEGV, Segmentation fault Почему Program received signal SIGSEGV, Segmentation fault. ? Fatal signal 11 (SIGSEGV) at 0x000000b4 |
Псевдослучайный
1946 / 1145 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
|
|
29.11.2012, 22:59 | 2 |
С работой с памятью где-то проблемы, можно было и погуглить где за сигнал-то такой.
0
|
256 / 46 / 4
Регистрация: 24.11.2012
Сообщений: 466
|
|
29.11.2012, 23:05 | 4 |
MrGluck, есть хорошая утилита. Называется valgrind. Работает на линуксах, выявляется ошибки работы с памятью, в твоем случае это что-то вроде выхода за пределы массива.
1
|
Форумчанин
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
||||||
29.11.2012, 23:16 [ТС] | 5 | |||||
Так прогуглил. Но в коде лишь пихается 10 строк из std::cin, длинной под 10000 в контейнер std::set, далее с ними идет работа. Дин. массивы не использовал, но главное, при своем собственном наборе данных я пробовал даже брать 20 строк в 20000 символов, все отрабатывало как часы. Где тут имеет место сбой памяти? Тем более, я устанавливал ограничение:
0
|
Форумчанин
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
|
30.11.2012, 04:16 [ТС] | 9 |
а если в gentest.txt идет что-то типа:
Код
eat_this_please Добавлено через 51 секунду Это просто костыль для себя, т.к. уже не мог предположить, что же еще может вызывать Runtime error с неизвестными мне данными. Добавлено через 4 часа 35 минут Результат обработки в valgrind: Код
danila@danila-VX6:~/Мои работы на С++$ g++ TaskB_1.cpp -o taskB -std=c++0x danila@danila-VX6:~/Мои работы на С++$ valgrind --leak-check=yes ./taskB ==22673== Memcheck, a memory error detector ==22673== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al. ==22673== Using Valgrind-3.8.1 and LibVEX; rerun with -h for copyright info ==22673== Command: ./taskB ==22673== sjadhldzkqzcfukaxejkvoqwutrmymxwsekgzafhqbijdfoxgwoonjxwdifbypudmyuirrmakzwtntzycvhxoucpsmmdjavqrvnkshkigthqvpuaqtbvggiwhlvtzrcofpyjyweofaitoihifbicnqapqkyvjaeeaticbytuoazqtewsvxveioknbfbihsvxmugkppmzgxhjiyrpvtubtmjdtawdjqubucjwwkngockhvyeyynmqvfdlaebftommjrlbptxxhtbpdqmiascejsbufsxvvuvrvrsghoyqngorixwslvuytsrewujvyjlrghnmipyihtwlzjdbipyaimgqxxfvsjsrzhhxynpwnrmtwfysxycddozbigrxrxtxgrlgnypqsakfverwbzqvshycnqyemdhxlmvdwubbjdziwsdgtblzlccjszxkchbrdhgnuztvspwfiwmekzhobmiuvojvaoiaxwyrwtgpdysjnqbyqvbthnjpwkppdmpdyknzvwdyjynifhxgszgxlwluyaejykmrpgifxgnwdonwcnqcyblgarrtvtdcljlzhzvvfkcqnfmriuprflgizpgczjkondgnbiwxfwzhiaassonfgusjwitgknzufgdsjmrqobemrycctyjflxpfkawvzkgbuydwvoccvbwbjvgdktwpopoqyfpzdpoyspqqphwcoqvijaruorsmtrnwsagfzhgfngsnmgycrfjoixdcnbtyctezcwkcvcqylczheudyerfvbgefkwvxyebbvcaroeztbsjnijyurxpfvaybbuoeomzsbtydygawmiswlqhjhnjucpcdbhtxsfffsnvmyuzuccwnyvzythxdggzibximisjsgqmysmkjuoxlviqfsibsjniahrmaonkfuuqzmduabpoaxmanqdaiqwunisitmtbunuxhleffsysbjmggjgsvbdqatiorscvwjqiipohwugqvhdjilmrhbzlrltzppdkwqylarpxnvsqucrbcjvsdneynawxbjsztlyrzbstjpwbkyhtktdeausjjznjsargmpufefgjzcplnksqdjksreuzzvxujznmqgmzlxnucguudopwaeykrstmlatfujirmjrfhebtjggtncsnwjnqrqelgdusqjfvjoawbnqzupxnnduauclotzmrmdrxdopwyrwmbpfwpxfdxfzprrnfsrgncjabybuymmikgpnrlunathxlnijococarwqrjcjyylcxmessqfwebslceelhsepoaxijdjzteiebgfalqfpvwkldifjazmlftutxyzerbdbginrbisyefppvqaqgxmbztnamjnubjxjefwanpvktbzqunsxmcrxauejeuvbvdduyaqrinkjlkkottwpfflaoggwtiwwtumkqpgguznjxyymskdunzrzkvuokbxcfxiczyctnymxemvbilcfyvldppcaciqbmpxaumrrossinwahsfmwlpmexfrleqciwgrwllbbfxtcwwrlejjrqazqfdjknsqzzvblaechndnulmftaocgpwsjhihmljzkwqpoxfglvhpkxpyiwndnttapllwyhxbousfnbcveeppcpzvexiqzcojiijjwqqcdpahhmlzeqhxurmgdpnbxtxmdpfsuqwfalufvujygfdkrhywfgeewasypbncdrcswogwarihktxtxxgraefezfpupglzusqzvwnywncogalebnjhytrexkcjtkvohhrwzxutifufsynhursszbqsxjuzxcqdrxgbuzrgtspsgqafzfpgztyqcucydvocmccaejhpszdtoxgttajzzvbpxeluhuzqacpnodlsmpjagdpnjyzvagpicaxrheemnowoddegdlaqhhmboljqnvyabbdamuasyyaqiunuwamwtuwolwahewyhqyonhkfjbmexoefaanqgdcogxfmlzcnbjamlsjpwazgnrumrlvhtjwubpabwswgfyfdnnxavohlkfsmwqywdkrhechurisifxlctpgfpfvjgydgxyucnaojtuslgiuqzccnluvqfacnjdthjzosokobyvmgqmwlmvtfbanqbhahmevewjzaeuuaqhggfvdpzhzcdbmfdftosghkffmktniximgzjyewevoymbjyquoubteflumgmrlddeafbxwrpzmkrosagskzbrmfjolqjtazgpyowhgqaikoentslyhiuepqylhnnbllleapkftohystxicfcajwsloheuotxnjmbywlqlcsitzkyecrtnlgekclpotlpiybqluzwydlhwlmhqffraayynoaixrdbebjmdzmxyyoilgsybxbsiuyhumtlrmknrnfaagbeeucueeaguapmarddwwhpzswguusdooyvdbdwuhqdcjeonerlflijszgvdbdiktcdksuyqzylritcajalddaserfadlcidrfrsivxeixgirvmvbcdysgocxytaydfhcaxachoalvmfumcbuowxqfywpdhitqqiyxwmnafmibohcjebvqfqkbrucaecgahznxrnwtxttgemvjrvbhqdkcbzwlhaqmpbiidqahwapymhdptpqfhskvwmbvwgfqxfdgmogccyrlisesdkkyqktzedrjqmbuydtbllxnmshvomoxikenqtbdtmzlphrbmlqzqsqsomuduaknwrkrxgpjdilmhfjgevbxsonhozplihakjdmpamsghhytmcfhyvojepzmitfugdrxbqoofhbxxsjjkkucdwsabxtycwbytlrkkswdehzisedqoofkrjtuwssrgiecpukbarsuwsjtrjhtbnsxcfudixmvsrxkltllngjhnsegtoafkvfxqzrfjrqbeylpfrplcftipxsfbhmpohfdnlziouwoqqafphaozfthhkszmggndirqihbmouxogabicizovsjbexyxdehosorckaehrsbxkbyssvbpposbqdlsxnuhdfnvcakkcensdhvdtvyxtguxlyppkejhcjkskdjposdevyhfsndidqywpqxkctnnqvblmxwodluldqzbjleaoqgpfpdzrmtmpswwvrgdqeedcucaxitpcnuegvbcoriahqhaorlvoitlathbjukbkoeblgpvdbevqiwdgjfizzrbpsmrkhntotiyalqxxccsjggzqppswparmxtzgqrseotkzqjhfqthponygbkxbxcwpgfcmaoqjyloreysvauzopbcizueqdqarhzxlrvnvtnqayjqtldxtlgbpkpbbxhwdsbneavrhjiriqwtkwbbcttvehwyzveqmeuvcfumntisvziggifdkmsngxtvyqxhibvqhjlqcfwzvtpdblfejofrwfaykxbxrpwwebrdhgygpeubbavmsmgxksulfkzzycnpelvmkrvxifxlhuezsdyergvbxsuvwtxsibqcfbifgplsbacqntfpgusypuiuyupdlimptqxoqfzoabjldazohpdfciqqieuslgfzanhoqrcszpvkemeimxvtjswgqwhcpiyicuqfwnwzdswvlkuooyxjrxnslzyxvpimypovnuokjxwablfyliqezjmcwnrnmolfjlzlvvvqzpfzyegjdlgudubfgpiczfptkhhonbsorfyrsendhofkpsqcbsqhuuylymbtyoiaqeptrjpqaqyslvvzjvnupqgdbgczzeadobyxtvhovvgmrurhxhdzbqmnqahucujmhpylqbucksrcpcroqoefcguogjzirggtlovbrpcjrbhiosfouyhuppsaewqbwfmbbcvtalvcugkurrwsrpscwnhkztgybrabhbygboeotsozfrtujjvyevnmvgvgkhkgnsseyfzxsvhyjmjnkmphttrnasajczbimtshutxwzvvjouvuspsnfxrrszmrxgawwypaypsqgm==22673== ==22673== HEAP SUMMARY: ==22673== in use at exit: 0 bytes in 0 blocks ==22673== total heap usage: 47 allocs, 47 frees, 310,167 bytes allocated ==22673== ==22673== All heap blocks were freed -- no leaks are possible ==22673== ==22673== For counts of detected and suppressed errors, rerun with: -v ==22673== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) danila@danila-VX6:~/Мои работы на С++$
0
|
256 / 46 / 4
Регистрация: 24.11.2012
Сообщений: 466
|
|
30.11.2012, 04:20 | 10 |
MrGluck, ну тогда только gdb: run, bt
0
|
Форумчанин
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
|
30.11.2012, 04:40 [ТС] | 11 |
Мне кажется, проблема все же связана с неправильными входными данными.
У меня краха не происходит, в этом весь трабл. Я не знаю условий его появления. По заданию: При описании входных данных в Test7 пишет: (file is too long, size = 100013) Мб они ожидают exception вместо if при неудовлетворении входных данных?
0
|
256 / 46 / 4
Регистрация: 24.11.2012
Сообщений: 466
|
|
30.11.2012, 04:50 | 12 |
+ 11 переносов строки?
ну конечно же нет. И да, функция correct какая-то аццкая Добавлено через 2 минуты м.б. служебные данные типа время последнего изменения файла и т.д. что мешает выделить 2^n байт, например, 16384?
0
|
30.11.2012, 04:50 | |
30.11.2012, 04:50 | |
Помогаю со студенческими работами здесь
12
QML, Android и TextInput, ошибка "Fatal signal 11 (sigsegv) at 0x00000000" Signal: Segmentation fault (11) Signal code: Address not mapped (1) Сигнал SIGSEGV External: SIGSEGV Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |