সংক্ষিপ্ততম কোড যা একটি SIGSEGV উত্থাপন করে


75

সংক্ষিপ্ততম কোডটি লিখুন যা কোনও প্রোগ্রামিং ভাষায় একটি সেগমেন্টেশন ফল্ট (SIGSEGV) উত্থাপন করে।


30
কি দারুন. সম্ভবত সবচেয়ে সংক্ষিপ্ত সফল প্রশ্ন।
ম্যাথু রোহ

উত্তর:


113

সি, 5 অক্ষর

main;

এটি একটি পরিবর্তনীয় ঘোষণা - intপ্রকারটি বিহিত (বি ভাষা থেকে অনুলিপি করা বৈশিষ্ট্য) এবং 0এটি ডিফল্ট মান। যখন মৃত্যুদন্ড কার্যকর করা হয় তখন একটি সংখ্যা চালানোর চেষ্টা করে (সংখ্যাগুলি কার্যকর করা যায় না), এবং কারণগুলি SIGSEGV

এটি অনলাইন চেষ্টা করুন!


5
@ ম্যাকমেড: আসলে, তা 0staticভেরিয়েবল যেমন শুরু 0, এবং main;হয় static, আমি বাইরে ফাংশন ঘোষিত। c-faq.com/decl/initval.html
কনরাড বোরোস্কি

16
গতবার আমি এই জিনিসটি নিয়ে খেলেছি, আমি বুঝতে পেরেছিলাম যে সেগফোল্টের জন্য আলাদা কারণ রয়েছে। প্রথমে প্রধানকে ফোন করে আপনি মূলের দিকে চলে যান, মানটি না, অন্য জিনিসটি mainএকটি অন্তর্নিহিত স্থান, এটি অবস্থিত .bss, সাধারণত ফাংশনগুলি থাকে .textযখন কার্নেলটি এলফ প্রোগ্রামটি লোড করে এটি এর জন্য একটি এক্সিকিউটেবল পৃষ্ঠা তৈরি করে .textএবং অ এর জন্য অপরিবর্তনীয় .bss, সুতরাং মূল কল করে আপনি একটি নির্বাহযোগ্য পৃষ্ঠাতে ঝাঁপ দাও এবং এই জাতীয় পৃষ্ঠায় কোনও কিছু কার্যকর করা একটি সুরক্ষা ত্রুটি।
mniip

23
হ্যাঁ, সি-তে সিগফল্টগুলি বেশ ডিফল্ট: পি
পল ড্রাগার

1
main __attribute__((section(".text#")))=0xc3;এফটিএফওয়াই (কমপক্ষে এটি আমার x86 উপর ক্র্যাশ না করে ফিরে আসবে বলে মনে হচ্ছে)।
jozxyqk

2
@ জোজকায়িক্ক বা সংক্ষিপ্ত const main=195;,। এটি আকর্ষণীয় যে এটি কাজ করছে, এই কোড গল্ফিং চ্যালেঞ্জের লক্ষ্য ছিল কোডটি সেগফাল্ট করা, কাজ নয় :)।
কনরাড বোরোস্কি

74

বাশ, 11      

kill -11 $$

44
11 টি অক্ষরে 11 সিগন্যাল। বৈধ মনে হয়।
nyuszika7h

12
@ nyuszika7h আমি আপনার মন্তব্যটি উঁচু করে তুলতে যাচ্ছিলাম তবে এখনই আপনার 11 টি উর্ধ্বতন রয়েছে, তাই আমি এটিকে ছেড়ে যাচ্ছি। : পি
হাইপার নিউট্রিনো

3
@AlexL। অন্যান্য লোকেরা মনে হয়েছে যে এটি নষ্ট হয়েছে :(
একলিগুস্টি

2
@ তিওনলিগুস্তি হ্যাঁ ... এটা খুব খারাপ। :( ওহ ভাল, তাহলে আমি এখনই এটি
upvote

2
42 টি পর্যন্ত উপরে, কোনও স্পর্শ নেই!
seadoggie01

39

সমাবেশ (লিনাক্স, x86-64), 1 বাইট

RET

এই কোড segfaults।


7
এমএসডোস। কম ফাইল হিসাবে এটি চালায় এবং ত্রুটি ছাড়াই শেষ হয়।
জেবি

10
আমার বক্তব্যটি: কেবলমাত্র "অ্যাসেম্বলি" নির্দিষ্ট করে দেওয়া সেগফল্ট করার পক্ষে যথেষ্ট নয়।
জেবি

52
@ জেবি: এমএস ডস-এ, কোনও প্রোগ্রাম কখনও বিভাগের ত্রুটি তৈরি করতে পারে না। কারণ এমএস ডস রিয়েল মোডে চলে যেখানে মেমরি সুরক্ষা অস্তিত্বহীন।
celtschk

1
@celtschk আইআইআরসি এনটিভিডিএম অস্তিত্বহীন ঠিকানাগুলি, এবং এমএস-ডসগুলিতে বরাদ্দ না দেওয়াগুলি প্রকাশ করবে।
ζ--

2
@ এসএলটেস্ক্ক: আপনি যে কোনও উপায়ে সেগফল্ট করতে পারেন: মুভ বিএক্স, 1000 এইচ; sh ebx, 4; মোভ ইক্স, [ইবিএক্স] -> সিপিইউ অন্তর্নিহিত এসইজিভি উত্থাপন করেছে (আফ্রিক এটি পরিচালনা করার মতো কেউ নেই)।
জোশুয়া

26

পাইথন 2, 13

exec'()'*7**6

উইন্ডোজ c00000fd এর একটি ত্রুটি কোডের প্রতিবেদন করেছে (স্ট্যাক ওভারফ্লো) যা আমি ধরে নেব সেগমেন্টেশন ত্রুটির একটি সাব টাইপ।

অ্যালেক্স এ এবং মেগোকে ধন্যবাদ, এটি ম্যাক এবং লিনাক্স সিস্টেমে বিভাজন ত্রুটিগুলির কারণও নিশ্চিত হয়েছে। আপনার প্রোগ্রামগুলি পোর্টেবল ক্র্যাশ করার জন্য পাইথন হ'ল পছন্দের ভাষা।


7
Segmentation fault: 11ম্যাক
অ্যালেক্স এ 1

7
Segmentation fault (core dumped)লিনাক্সে
মেগো

এটি কি প্রথম স্তব্ধ হয়ে যায়?
মেগা ম্যান

1
@ মেগামন যেমন শেষ হতে অনেক দিন সময় নেয়? না, 7 ** 6 শুধুমাত্র 100 কে সম্পর্কে তাই কোনও উপলব্ধিযোগ্য বিলম্ব নেই।

কেন এই কাজ করে? ম্যাক ওএসে পাইথন ৩..8.৮ এ দেখে মনে হচ্ছে না।
ম্যাক্স গ্যাসনার

22

পিডিএফটেক্স (৫১)

\def~#1{\meaning}\write0{\expandafter~\string}\bye

এটি সম্ভবত সম্ভবত একটি বাগ , তবে এটি নূথের লিখিত মূল টেক্সে উপস্থিত নেই: কোডটি সংকলন করার tex filename.texপরিবর্তে pdftex filename.texসেগফাল্ট তৈরি করে না।



17

পাইথন, 33 টি অক্ষর

>>> import ctypes;ctypes.string_at(0)
Segmentation fault

সূত্র: http://bugs.python.org/issue1215#msg143236

পাইথন, 60 টি অক্ষর

>>> import sys;sys.setrecursionlimit(1<<30);f=lambda f:f(f);f(f)
Segmentation fault

সূত্র: http://svn.python.org/view/python/trunk/Lib/test/crashers/recursive_call.py?view=markup

এটি পাইথন সংস্করণ যা আমি পরীক্ষা করছি:

Python 2.6.1 (r261:67515, Jun 24 2010, 21:47:49) 
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin

সাধারণভাবে পাইথন দোভাষীকে ক্রাশ করা শক্ত, তবে উপরেরটি বেছে বেছে নিন্দনীয় ...


16

চতুর্থ - 3 টি অক্ষর

0 @

( @একটি আনয়ন)


1
এখন পর্যন্ত সংক্ষিপ্ততম একটি যা আধুনিক সিস্টেমে কাজ করবে।
ডেমি

2
কোনটি? গফার্থ কেবল "অবৈধ মেমরি ঠিকানা" বলেছেন
বিড়াল

15

সি, 18

main(){raise(11);}

কোড তালিকাতে আপনার কি # যুক্ত <সিগন্যাল।
ফ্লোরিয়ান

5
@ ফ্লোরিয়ান ক্যাসটেলেন: সি 90 এবং নিম্নে, দৃশ্যমান ঘোষণা ছাড়াই যে কোনও ফাংশন কল করার জন্য, সংকলক সুস্পষ্টভাবে এটি হিসাবে ঘোষণা করে int func()। অর্থাত্ একটি ফাংশন প্রত্যাবর্তিত int, অনির্দিষ্ট পরামিতি গ্রহণ করে। এই ক্ষেত্রে raiseকোনও ফাংশন হ'ল ইনট্রেটমেন্ট ইনটেনশন গ্রহণ করে ইনট আর্গুমেন্ট গ্রহণ করে, সুতরাং এটি কার্যকর হয় (সংকলক অভিযোগ করলেও)।
হাস্তুরকুন

14

পার্ল (<5.14), 9 টি অক্ষর

/(?{??})/

৫.১৪-তে রেজেক্স ইঞ্জিনটিকে পুনরায় তৈরি করা হয়েছিল যাতে এটি যাতে ক্র্যাশ না হয়ে যায় তবে 5.12 এবং তার আগেরটি সেগফল্ট করে যদি আপনি এটি চেষ্টা করেন।


আমি এটি পার্ল 5.14 (ডেবিয়ান) এবং 5.18 (আর্চ লিনাক্স) এ পুনরুত্পাদন করতে পারি। sprunge.us/RKHT
nyuszika7h

পার্ল v5.20.2 (উইন্ডোজ)
মেহি 11'16

14

ডাব্লু 32। কম এক্সিকিউটেবল - 0 বাইট

এটি অদ্ভুত বলে মনে হবে, তবে 32 বিট উইন্ডোজ সিস্টেমগুলিতে, একটি খালি .com ফাইল তৈরি এবং সম্পাদন করা ... কোনও কিছুর উপর নির্ভর করে সেগফল্টের কারণ হতে পারে। ডস কেবল এটি গ্রহণ করে (৮০৮86 এর মেমরি পরিচালনা নেই, দোষের কোনও অর্থপূর্ণ বিভাগ নেই), এবং bit৪ বিট উইন্ডোজ এটিকে চালিয়ে যেতে অস্বীকার করেছে (x86-64 কোনও .com ফাইল চালানোর জন্য v86 মোড নেই)।


13

ব্রেইনফাক (2)

<.

হ্যাঁ, এটি বাস্তবায়ন নির্ভর। SIGSEGV সম্ভবত একটি ভাল সংকলক থেকে ফলাফল।


4
একটি সংকলক কীভাবে সেই "ভাল" এর উপর সেগফাল্ট করে? এটির <কোনও প্রভাব নেই বা চারপাশে মোড়ানো উচিত।
nyuszika7h

12
বাউন্ডস লঙ্ঘনে তাত্ক্ষণিকভাবে একটি রানটাইম ত্রুটি উত্পাদন করা সেরা কারণ এটি প্রোগ্রামারটিকে তত দ্রুত ত্রুটিটি খুঁজে পেতে এবং ঠিক করতে দেয়। বগি প্রোগ্রামটি কিছু সময়ের জন্য চালিয়ে দেওয়া এবং ক্রাশ হওয়ার আগে অবিচ্ছিন্ন মেমোরিটিকে দুর্গন্ধযুক্ত করার ফলে সমস্যাটি নির্ণয় করা আরও শক্ত হয়ে যায়। আপনার পরামর্শ অনুসারে ক্র্যাশটিকে সম্পূর্ণরূপে প্রতিরোধ করা সবচেয়ে খারাপ; প্রোগ্রামার প্রোগ্রামটি "কাজ করে" পেতে পারে এবং তারপরে এটি স্ট্যান্ডার্ড সংকলক এবং দোভাষীদের ক্র্যাশ করলে প্রকাশ্যে অপমানিত হয়।
ড্যানিয়েল ক্রিস্টোফানি

1
বিপরীতভাবে, রানটাইমের আগে সীমা লঙ্ঘন ধরা সাধারণভাবে সম্ভব নয়, বা এটি সম্ভবত যেখানে সম্ভব সেখানে বিশেষভাবে কার্যকর। আরও বর্ণনামূলক রানটাইম ত্রুটি উত্পাদন করা ঠিক হবে, তবে অপারেটিং সিস্টেমটিকে সেগফল্ট হিসাবে ধরা এটি দুর্দান্ত কারণ এটির কোনও গতির ব্যয় নেই। (এটি স্পষ্ট না হলে, সংকলকটি নিজেই সেগফল্ট করে না - এটি এক্সিকিউটেবলগুলি তৈরি করে যা সেগফোল্ট সীমা
ছাড়িয়ে

4
আপনি কি এমন কোনও বাস্তবায়ন সরবরাহ করতে পারেন যা এই আচরণ তৈরি করে এবং এই চ্যালেঞ্জ পোস্ট হওয়ার আগে তৈরি হয়েছিল? যদি তা না হয় তবে এই উত্তরটি অবৈধ।
মেগো

1
বাউন্ড চেকগুলি বাস্তবায়নের জন্য নির্দিষ্ট, তাই আমি নিশ্চিত যে এর মধ্যে কিছু ত্রুটি রয়েছে। যদিও কোনও সিএসএসইজিভি হবে? আমি এটাকে সন্দেহ করি. এখানে প্রচুর প্রোগ্রাম রয়েছে যা বামে অ্যারে মোড়কের উপর নির্ভর করে। উভয় পক্ষেই বর্ধনযোগ্য সঞ্চয়স্থান এটি বরং সুবিধাজনক হতে পারে।
ক্যাপচার্যাগ

12

হাস্কেল, ৩১

foreign import ccall main::IO()

এটি জিএইচসি এবং রান দিয়ে সংকলিত হয়ে গেলে সেগফল্ট তৈরি করে। বিদেশী ফাংশন ইন্টারফেস হ্যাসেল 2010 স্ট্যান্ডার্ডে হওয়ায় কোনও এক্সটেনশন ফ্ল্যাগের প্রয়োজন নেই।


10

সি - 11 (19) 7 (15) 6 (14) 1 টি অক্ষর, এটিএন্ডটি x86 এসেমব্লার - 8 (24) অক্ষর

সি সংস্করণটি হ'ল:

*(int*)0=0;

পুরো প্রোগ্রামটি (বেশিরভাগ আইএসও-অনুগত নয়, ধরে নেওয়া যাক এটি কেএন্ডআর সি) 19 টি অক্ষর দীর্ঘ:

main(){*(int*)0=0;}

এসেমব্লার বৈকল্পিক:

orl $0,0

পুরো প্রোগ্রামটি 24 টি চর দীর্ঘ (কেবল মূল্যায়নের জন্য, যেহেতু এটি আসলে একত্রিত নয়):

main(){asm("orl $0,0");}

সম্পাদনা :

সি বৈকল্পিক একটি দম্পতি। প্রথমটি বিশ্বব্যাপী পয়েন্টার ভেরিয়েবলের শূন্য-সূচনা ব্যবহার করে:

*p;main(){*p=0;}

দ্বিতীয়টি অসীম পুনরাবৃত্তি ব্যবহার করে:

main(){main();}

শেষ রূপটি হ'ল সংক্ষিপ্ততম - 7 (15) অক্ষর।

সম্পাদনা 2 :

6 টি (14) অক্ষরগুলির তুলনায় সংক্ষিপ্ততর আরও একটি বৈকল্পিক আবিষ্কার করেছেন। এটি ধরে নিয়েছে যে আক্ষরিক স্ট্রিংগুলি কেবল পঠনযোগ্য বিভাগে রাখা হয়েছে।

main(){*""=0;}

সম্পাদনা 3 :

এবং আমার শেষ চেষ্টা - 1 টি অক্ষর দীর্ঘ:

P

কেবল এটির মতো সংকলন করুন:

cc -o segv -DP="main(){main();}" segv.c

3
সি তে প্রধান নয় ; কেবল 5 জন উপমা
আর্য

1
: লিঙ্কার মূল ফাংশন কিনা তা যাচাই করে না .এটি
আর্য

1
@FUZxxl এই ক্ষেত্রে mainএকটি শূন্য- ইনিশিয়েলাইজড গ্লোবাল ইনট ভেরিয়েবল, সুতরাং আমরা যা পাই তা কিছু শূন্য বাইট কার্যকর করার চেষ্টা করার ফলস্বরূপ। X86 এ এটি এমন কিছু হবে add %al,(%rax)যা পুরোপুরি বৈধ নির্দেশ যা সঞ্চিত ঠিকানায় স্মৃতিতে পৌঁছানোর চেষ্টা করে %rax। একটি ভাল ঠিকানা থাকার সম্ভাবনা খুব কম।
আলেকজান্ডার বকুলিন

6
অবশ্যই শেষ এন্ট্রিটি প্রতিটি কিছুর জন্য ব্যবহার করা যেতে পারে, আপনাকে কেবল সঠিক সংকলক যুক্তি সরবরাহ করতে হবে। যা এটি কোনও কোড গল্ফ প্রতিযোগিতার স্বয়ংক্রিয় বিজয়ী হওয়া উচিত। :-)
celtschk

5
সাধারণত ভাষার সংস্করণটি ব্যবহার করতে বেছে নেওয়া সংকলক পতাকাগুলি মোটের দিকে গণনা করা হয়।
জেরি যেরেমিয়া

9

ডিসি - 7 টি অক্ষর

[dx0]dx

একটি স্ট্যাক ওভারফ্লো কারণ


কাজগুলি কি তবে আপনি কি বিশদভাবে বলতে পারবেন? কেন এটি এমন আচরণ করে?
স্টাফেন গ্যারিচন

2
[dx0]dx0স্ট্যাকের উপর সঞ্চয় করে, তারপরে dউপরের স্ট্যাক উপাদানটিকে নকল করে, তারপরে xউপরের স্ট্যাক উপাদানটিকে ( dx0) পপ করে এবং এটি কার্যকর করে। যা শীর্ষ স্ট্যাক উপাদানটির সদৃশ করে এবং এটি সম্পাদন শুরু করে ... এটি 0একটি লেজ কল হওয়া রোধ করার জন্য সেখানে থাকা দরকার, তাই তারা সকলেই তৈরি হয়।
বেন মিলউড

8

পার্ল, 10/12 অক্ষর

কিছুটা প্রতারণামূলক সমাধান হ'ল জো অ্যাডামসের বাশ ট্রিক থেকে একটি চর কাটানো :

kill 11,$$

তবে পার্লে আসল সেগফল্ট unpack pপাওয়া সুস্পষ্ট সমাধান:

unpack p,1x8

প্রযুক্তিগতভাবে, এটি সেগফোল্টের গ্যারান্টিযুক্ত নয় , যেহেতু ঠিকানা 0x31313131 (বা 0x313131313131313131 64৪-বিট সিস্টেমে) কেবল সুযোগের দ্বারা বৈধ ঠিকানার জায়গার দিকে নির্দেশ করতে পারে। তবে প্রতিকূলতা এর বিরুদ্ধে। এছাড়াও, যদি পার্ল কখনও প্ল্যাটফর্মগুলিতে পোর্ট করা থাকে যেখানে পয়েন্টারগুলি b৪ বিটের চেয়ে বেশি হয়, তবে x8ইচ্ছা বাড়াতে হবে।


1
এই 1x8জিনিস কি?
হ্যানস কার্পিলা

@ হান্নেস কার্পিলা এটি লেখার একটি স্বল্প উপায়"11111111".
ইলমারি করোনেন


8

ওক্যামেল, 13 বাইট

Obj.magic 0 0

এটি ফাংশনটি ব্যবহার করে Obj.magicযা অনিরাপদভাবে দু'ধরনের প্রকারভেদ করে। এই ক্ষেত্রে, এটি 0 (জিসি দ্বারা ব্যবহৃত ট্যাগ বিটের কারণে তাত্ক্ষণিক মান 1 হিসাবে সঞ্চিত) একটি ফাংশন টাইপের (পয়েন্টার হিসাবে সঞ্চিত) কোয়ার্স করে। সুতরাং, এটি ঠিকানা 1 টি dereferences চেষ্টা করে, এবং এটি অবশ্যই segfault হবে।


1
it coerces 0 (stored as the immediate value 1)- কেন 0 হিসাবে 1 সংরক্ষণ করা হয়?
স্কাইলার 14

1
@ স্কিলার সম্পাদনা দেখুন
ডেমি

1
Obj.magic()0একটি চর খাটো কম :)
বেন মিলউড

8

বাশ, 4 বাইট

Golfed

. $0

পুনরাবৃত্তভাবে নিজের মধ্যে স্ক্রিপ্ট অন্তর্ভুক্ত।

ব্যাখ্যা

পুনরাবৃত্তির "উত্স" (।) অপারেশনটি শেষ পর্যন্ত একটি স্ট্যাকের ওভারফ্লোর কারণ ঘটায় এবং বাশ লিবিসিগেসভিভের সাথে একীভূত না হওয়ার ফলে এটি একটি সিএসএসইজিভিতে আসে

মনে রাখবেন, এই একটি বাগ, কিন্তু একটি প্রত্যাশিত আচরণ, যেমন আলোচনা নয় এখানে

পরীক্ষা

./bang 
Segmentation fault (core dumped)

এটি অনলাইন চেষ্টা করুন!


8

আসলে , 17 16 11 10 9 বাইট

⌠[]+⌡9!*.

এটি অনলাইন চেষ্টা করুন!

যদি উপরেরটি ক্রাশ না হয় তবে সংখ্যাটি বাড়িয়ে দেওয়ার চেষ্টা করুন (বহু অঙ্কের সংখ্যাগুলি প্রকৃতপক্ষে একটি শীর্ষস্থানীয় কোলন দিয়ে নির্দিষ্ট করা হয়েছে)

গভীরভাবে নেস্টেড বস্তু জড়িত অজগরটিতে একটি বাগ ব্যবহার করে দোভাষীকে ক্র্যাশ করে itertools.chain, যা প্রকৃতপক্ষে +অপারেটর বাস্তবায়নের জন্য ব্যবহার করে ।


7

সি # - 62

System.Runtime.InteropServices.Marshal.ReadInt32(IntPtr.Zero);

সম্পাদনা: 23

unsafe{int i=*(int*)0;}

এটির কাজ করার জন্য অবশ্যই নিরাপদ / অনিরাপদ সংকলন করতে হবে। কিছু কারণে আমি বুঝতে পারি না, *(int*)0=0কেবল একটি নালারফেরান এক্সেপশন নিক্ষেপ করে, যখন এই সংস্করণটি যথাযথ অ্যাক্সেস লঙ্ঘন দেয়।


int i=*(int*)0;আয় আমার জন্য একটি NullReferenceException।
পিটার ওলসন

আপনি একটি নেতিবাচক অবস্থান অ্যাক্সেস করতে চেষ্টা করতে পারেন, পছন্দ *(int*)-1=0এবং একটি অ্যাক্সেস লঙ্ঘন পেতে।
পিটার ওলসন

বিশেষ ব্যতিক্রমটি কেবল ক্লারিকে এটিকে আবৃত করে তোলে এবং তা তুচ্ছ। ওএস নিজেই এই সমস্ত ক্ষেত্রে সেগ ফল্ট দেয়।
ক্যাপচার্যাগ

যে কারণে *(int*)0=0ব্যতিক্রম ছুঁড়েছে সম্ভবত অপটিমাইজেশনের কারণে। বিশেষত, চেক করার nullব্যয়টি এড়াতে , অপ্টিমাইজার নাল চেকগুলি সরিয়ে ফেলতে পারে, তবে যখন কোনও সেগফোল্ট ঘটে তখন এটি যথাযথ হিসাবে পুনর্বিবেচনা করতে পারে NullReferenceException
কনরাড বোরোস্কি

7

পিকোলিস্প - 4 টি অক্ষর

$ pil
: ('0)
Segmentation fault

এটি উদ্দেশ্যমূলক আচরণ। তাদের ওয়েবসাইটে বর্ণিত হিসাবে:

যদি কিছু প্রোগ্রামিং ল্যাঙ্গুয়েজ "প্রোগ্রামিংয়ের সুইস আর্মি নাইফ" হিসাবে দাবি করে তবে পিকোলিপসকে "স্ক্যাল্পেল অফ প্রোগ্রামিং" বলা যেতে পারে: তীক্ষ্ণ, নির্ভুল, ছোট এবং লাইটওয়েট, তবে অনভিজ্ঞদের হাতেও বিপজ্জনক dangerous


7

F90 - 39 বাইট

real,pointer::p(:)=>null()
p(1)=0.
end

সংকলন:

gfortran segv.f90 -o segv 

এক্সেকিউশন:

./segv 

Program received signal SIGSEGV: Segmentation fault - invalid memory reference.

Backtrace for this error:
#0  0x7FF85FCAE777
#1  0x7FF85FCAED7E
#2  0x7FF85F906D3F
#3  0x40068F in MAIN__ at segv.f90:?
Erreur de segmentation (core dumped)

উপকরণ:

gfortran --version
GNU Fortran (Ubuntu 4.8.4-2ubuntu1~14.04.1) 4.8.4

1
সুন্দর প্রথম পোস্ট।
Rɪᴋᴇʀ

6

গ মধ্যে 19 অক্ষর

main(a){*(&a-1)=1;}

এটি মূল ফাংশনের রিটার্নের ঠিকানা মানকে দূষিত করে, সুতরাং এটির ফেরতলে একটি সিএসএসইজিভি পায় main


এটি স্ট্যাক ফ্রেম বিন্যাসের উপর নির্ভর করে, তাই কিছু স্থাপত্যে এটি সম্ভবত ব্যর্থ হতে পারে না।
আলেকজান্ডার বাকুলিন


5

সিথন, 14

এটি প্রায়শই ডিবাগিংয়ের উদ্দেশ্যে কাজে আসে।

a=(<int*>0)[0]

5

ইউনিক্স পিডিপি -11 বিধানসভা, 18 বাইট বাইনারি, 7 বাইট উত্স

(এটি আমার কাছে একটি থিম হয়ে উঠছে, সম্ভবত এটি আমি একমাত্র ভাষা কারণ জানি যে এখানে অন্য কেউই করেন না))

inc(r0)

প্রোগ্রাম শুরুর পরে আর -0 [যা সিম ডিবাগার অনুসারে 05162 হবে] এর প্রাথমিক মান দ্বারা সম্বোধিত একক বাইট বৃদ্ধি করে।

0000000 000407 000002 000000 000000 000000 000000 000000 000000
0000020 005210 000000

এবং, সর্বদা হিসাবে, শেষে বহির্মুখী বাইটগুলি ফালা দিয়ে মুছে ফেলা যায়।

উত্সটি আরও খাটো করার জন্য আমি কয়েকটি প্রচেষ্টা করেছি, তবে সর্বদা একটি সিনট্যাক্স ত্রুটি বা সিগবাস পেয়ে শেষ হয়েছিল।


5

মতলব - হ্যাঁ এটা সম্ভব!

আমার এক প্রশ্নের জবাবে আম্রো এই তর্কটি নিয়ে এসেছিলেন:

S = struct();
S = setfield(S, {}, 'g', {}, 0)

দয়া করে মতলব সংস্করণটি দিন - R2015B (এবং 2016 বি এছাড়াও) কেবল একটি ত্রুটি ফেলেছে: সেটফিল্ড ব্যবহার করার সময় ত্রুটি (56 লাইন) কমপক্ষে একটি সূচক প্রয়োজন required
ফ্লোরিয়ান ক্যাসেলালেন

@ ফ্লোরিয়ান ক্যাসটেলেন এখন সমস্ত সংস্করণ চেষ্টা করতে সক্ষম নয়, তবে বেশ কয়েকটি সংস্করণে সেগফ্ল্ট দেওয়ার বিষয়টি নিশ্চিত করা হয়েছে, সর্বশেষতম 2014 বি এবং প্রথম দিকের 2012a।
ডেনিস জাহেরুদ্দিন

5

জাভাস্ক্রিপ্ট শেল, 7 বাইট

clear()

একেবারে সবকিছু সাফ করে, কেবলমাত্র বর্তমান সুযোগ নয় যা স্পষ্টতই প্রচুর পরিমাণে বর্কের কারণ হয়ে দাঁড়ায় যার ফলস্বরূপ জেএস বয়ে যায় এবং সেগফাল্টিং হয়


এমডিএন (ডকুমেন্ট.ক্লায়ার) এর মতে, এটি কেবল মোজিলার সত্যিকারের পুরানো সংস্করণে কিছু করা উচিত এবং তারপরেও, আপনার অভিজ্ঞতায় সত্যিকার অর্থে কি সেগফাল্টস?
টমসমেডিং

@ টমসডিং এটি উইন্ডো ক্রিয়াল, এফএফ সরাসরি এটি প্রকাশ করে না, এটি একটি স্পাইডারমনকি অন্তর্নির্মিত
ডাউনগোট

5

পাইথ, 3 টি অক্ষর

j1Z

এটিই সেই অংশ যেখানে আমি ব্যাখ্যা করব যে কীভাবে আমি এই উত্তরটি নিয়ে এসেছি, বৈধভাবে আমার কোনও ধারণা নেই । যদি কেউ আমার জন্য এটি ব্যাখ্যা করতে পারে তবে আমি কৃতজ্ঞ হব।

এখানে এটি একটি অনলাইন দোভাষী।

ব্যাখ্যা

jবেসটি স্কোয়ার করে এবং বেসটি কমপক্ষে সংখ্যার চেয়ে বড় না হওয়া পর্যন্ত নিজেকে পুনরাবৃত্তভাবে ডাকে calls বেসটি যেহেতু 0 , তাই কখনই ঘটে না। পর্যাপ্ত উচ্চ পুনরাবৃত্তি সীমা সহ, আপনি একটি সেগফল্ট পাবেন।

- ডেনিস ♦


খুঁজে বের করা কিছু! পাইথের উত্স ব্রাউজ করা থেকে, আমি খুঁজে পেয়েছি যে এই কোডটি jচালু রয়েছে 1এবং 0যা বেসে রূপান্তরিত করার চেষ্টা করে । কেন যে 10
সেফফোল্টস

1
এখানে দেখুন । jবেসটি স্কোয়ার করে এবং বেসটি কমপক্ষে সংখ্যার চেয়ে বড় না হওয়া পর্যন্ত নিজেকে পুনরাবৃত্তভাবে ডাকে calls বেসটি যেহেতু 0 , তাই কখনই ঘটে না। পর্যাপ্ত উচ্চ পুনরাবৃত্তি সীমা সহ, আপনি একটি সেগফল্ট পাবেন।
ডেনিস


@ সিরিহিনো পাইথ ইন্টারপ্রেটার পুনরাবৃত্তি সীমাটি 100,000 এ সেট করে। কমপক্ষে টিআইও-তে, এটি একটি সেগফোল্টের জন্য যথেষ্ট।
ডেনিস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.