fork download
  1. import java.io.FileOutputStream;
  2. import java.io.ObjectOutputStream;
  3. import java.io.Serializable;
  4.  
  5.  
  6. class Foo implements Serializable {
  7. public static void main(String[] args) throws Exception {
  8. int N = 10000;
  9. Foo first = new Foo();
  10. Foo current = first;
  11. for (int i = 0; i < N; ++i) {
  12. current.next = new Foo();
  13. current = current.next;
  14. }
  15. current.next = first;
  16. out.writeObject(first);
  17. out.close();
  18. }
  19.  
  20. Foo() {}
  21. Foo next;
  22. }
  23.  
  24.  
  25. /* Exception in thread "main" java.lang.StackOverflowError
  26.   at java.io.ObjectStreamClass$WeakClassKey.<init>(ObjectStreamClass.java:2307)
  27.   at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:322)
  28.   at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1134)
  29.   at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548)
  30.   at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509)
  31.   at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)
  32.   at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)
  33.   at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548)
  34.   at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509)
  35.   at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432)
  36.   at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178)
  37.   at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548)
  38.   at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509)
  39.   at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) */
Runtime error #stdin #stdout #stderr 0.06s 380224KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
Exception in thread "main" java.io.FileNotFoundException: test.obj (Permission denied)
	at java.io.FileOutputStream.open(Native Method)
	at java.io.FileOutputStream.<init>(FileOutputStream.java:212)
	at java.io.FileOutputStream.<init>(FileOutputStream.java:104)
	at Foo.main(Main.java:16)